myTask.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. <template>
  2. <PageMain class="vh100">
  3. <el-tabs v-model="activeName" class="demo-tabs h-full" @tab-click="handleClick">
  4. <el-tab-pane name="0" class="h-full">
  5. <template #label>
  6. <el-badge :value="total1">
  7. <span>待付款</span>
  8. </el-badge>
  9. </template>
  10. <el-form v-model="queryInfo" label-width="100">
  11. <el-row :gutter="20">
  12. <el-col :span="8">
  13. <el-form-item label="业务员">
  14. <el-input v-model="queryInfo.salesman" placeholder="请输入" clearable></el-input>
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="8">
  18. <el-form-item label="业务员类型">
  19. <el-select v-model="queryInfo.attrType" placeholder="请选择" clearable>
  20. <el-option label="前线人员" value="1"></el-option>
  21. <el-option label="后线人员" value="2"></el-option>
  22. <el-option label="合伙人" value="3"></el-option>
  23. <el-option label="工作室管理员" value="4"></el-option>
  24. <el-option label="团队" value="5"></el-option>
  25. <el-option label="个代" value="6"></el-option>
  26. <el-option label="电销" value="7"></el-option>
  27. <el-option label="渠道" value="8"></el-option>
  28. </el-select>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="8">
  32. <el-form-item label="提现时间">
  33. <el-date-picker v-model="time1" type="daterange" range-separator="至" start-placeholder="开始时间"
  34. end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
  35. </el-form-item>
  36. </el-col>
  37. <el-col :span="4" :offset="20" style="display: flex; align-items: start; justify-content: flex-end">
  38. <el-button type="primary" @click="handleSearch">搜索</el-button>
  39. <el-button plain>重置</el-button>
  40. </el-col>
  41. </el-row>
  42. </el-form>
  43. <p style="font-size: 14px; color: #606266">应付总额:¥30000.00</p>
  44. <el-table :data="firstData1" height="calc(100% - 196px)" style="width: 100%; margin-top: 20px;">
  45. <el-table-column prop="name" label="业务员"></el-table-column>
  46. <el-table-column prop="attrType" label="业务员类型">
  47. <template #default="scope">
  48. {{ scope.row.attrType === '1' ? '前线人员' : scope.row.attrType === '2' ? '后线人员' : scope.row.attrType === '3' ? '合伙人' : scope.row.attrType === '4' ? '工作室管理员' : scope.row.attrType === '5' ? '团队' : scope.row.attrType === '6' ? '个代' : scope.row.attrType === '7' ? '电销' : scope.row.attrType === '8' ? '渠道' : '' }}
  49. </template>
  50. </el-table-column>
  51. <el-table-column prop="managerName" label="管理人"></el-table-column>
  52. <el-table-column prop="amount" label="提现金额"></el-table-column>
  53. <el-table-column prop="balanceAmount" label="账户余额"></el-table-column>
  54. <el-table-column prop="bankCardNum" label="银行卡号"></el-table-column>
  55. <el-table-column prop="bankName" label="银行"></el-table-column>
  56. <el-table-column prop="accountName" label="姓名"></el-table-column>
  57. <el-table-column prop="bankName" label="开户行"></el-table-column>
  58. <el-table-column label="操作" fixed="right" width="200">
  59. <template #default="scope">
  60. <el-button link type="primary" size="small">领取</el-button>
  61. </template>
  62. </el-table-column>
  63. </el-table>
  64. <div class="pagination">
  65. <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
  66. layout="total, sizes, prev, pager, next, jumper" :total="total1" @size-change="handleSizeChange"
  67. @current-change="handleCurrentChange"></el-pagination>
  68. </div>
  69. </el-tab-pane>
  70. <el-tab-pane name="1" class="h-full">
  71. <template #label>
  72. <el-badge :value="total2">
  73. <span>已付款</span>
  74. </el-badge>
  75. </template>
  76. <el-form v-model="queryInfo" label-width="100">
  77. <el-row :gutter="20">
  78. <el-col :span="8">
  79. <el-form-item label="业务员">
  80. <el-input v-model="queryInfo.salesman" placeholder="请输入" clearable></el-input>
  81. </el-form-item>
  82. </el-col>
  83. <el-col :span="8">
  84. <el-form-item label="业务员类型">
  85. <el-select v-model="queryInfo.attrType" placeholder="请选择" clearable>
  86. <el-option label="前线人员" value="1"></el-option>
  87. <el-option label="后线人员" value="2"></el-option>
  88. <el-option label="合伙人" value="3"></el-option>
  89. <el-option label="工作室管理员" value="4"></el-option>
  90. <el-option label="团队" value="5"></el-option>
  91. <el-option label="个代" value="6"></el-option>
  92. <el-option label="电销" value="7"></el-option>
  93. <el-option label="渠道" value="8"></el-option>
  94. </el-select>
  95. </el-form-item>
  96. </el-col>
  97. <el-col :span="8">
  98. <el-form-item label="提现时间">
  99. <el-date-picker v-model="time1" type="daterange" range-separator="至" start-placeholder="开始时间"
  100. end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
  101. </el-form-item>
  102. </el-col>
  103. <el-col :span="8"></el-col>
  104. <el-col :span="8"></el-col>
  105. <el-col :span="8" style="display: flex; align-items: start; justify-content: flex-end">
  106. <el-button type="primary" @click="handleSearch">搜索</el-button>
  107. <el-button plain>重置</el-button>
  108. </el-col>
  109. </el-row>
  110. </el-form>
  111. <p style="font-size: 14px; color: #606266">应付总额:¥30000.00</p>
  112. <el-table :data="firstData2" height="calc(100% - 144px)" style="width: 100%; margin-top: 20px;">
  113. <el-table-column prop="name" label="业务员"></el-table-column>
  114. <el-table-column prop="attrType" label="业务员类型">
  115. <template #default="scope">
  116. {{ scope.row.attrType === '1' ? '前线人员' : scope.row.attrType === '2' ? '后线人员' : scope.row.attrType === '3' ? '合伙人' : scope.row.attrType === '4' ? '工作室管理员' : scope.row.attrType === '5' ? '团队' : scope.row.attrType === '6' ? '个代' : scope.row.attrType === '7' ? '电销' : scope.row.attrType === '8' ? '渠道' : '' }}
  117. </template>
  118. </el-table-column>
  119. <el-table-column prop="managerName" label="管理人"></el-table-column>
  120. <el-table-column prop="amount" label="提现金额"></el-table-column>
  121. <el-table-column prop="balanceAmount" label="账户余额"></el-table-column>
  122. <el-table-column prop="bankCardNum" label="银行卡号"></el-table-column>
  123. <el-table-column prop="bankName" label="银行"></el-table-column>
  124. <el-table-column prop="accountName" label="姓名"></el-table-column>
  125. <el-table-column prop="bankName" label="开户行"></el-table-column>
  126. <el-table-column label="操作" fixed="right" width="200">
  127. <template #default="scope">
  128. <el-button link type="primary" size="small">领取</el-button>
  129. </template>
  130. </el-table-column>
  131. </el-table>
  132. <div class="pagination">
  133. <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
  134. layout="total, sizes, prev, pager, next, jumper" :total="total2" @size-change="handleSizeChange"
  135. @current-change="handleCurrentChange"></el-pagination>
  136. </div>
  137. </el-tab-pane>
  138. <el-tab-pane name="2" class="h-full">
  139. <template #label>
  140. <el-badge :value="total3">
  141. <span>拒绝付款</span>
  142. </el-badge>
  143. </template>
  144. <el-form v-model="queryInfo" label-width="100">
  145. <el-row :gutter="20">
  146. <el-col :span="8">
  147. <el-form-item label="业务员">
  148. <el-input v-model="queryInfo.salesman" placeholder="请输入" clearable></el-input>
  149. </el-form-item>
  150. </el-col>
  151. <el-col :span="8">
  152. <el-form-item label="业务员类型">
  153. <el-select v-model="queryInfo.attrType" placeholder="请选择" clearable>
  154. <el-option label="前线人员" value="1"></el-option>
  155. <el-option label="后线人员" value="2"></el-option>
  156. <el-option label="合伙人" value="3"></el-option>
  157. <el-option label="工作室管理员" value="4"></el-option>
  158. <el-option label="团队" value="5"></el-option>
  159. <el-option label="个代" value="6"></el-option>
  160. <el-option label="电销" value="7"></el-option>
  161. <el-option label="渠道" value="8"></el-option>
  162. </el-select>
  163. </el-form-item>
  164. </el-col>
  165. <el-col :span="8">
  166. <el-form-item label="提现时间">
  167. <el-date-picker v-model="queryInfo.createTimeStart" type="daterange" range-separator="至"
  168. start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
  169. </el-form-item>
  170. </el-col>
  171. <el-col :span="8"></el-col>
  172. <el-col :span="8"></el-col>
  173. <el-col :span="8" style="display: flex; align-items: start; justify-content: flex-end">
  174. <el-button type="primary" @click="handleSearch">搜索</el-button>
  175. <el-button plain>重置</el-button>
  176. </el-col>
  177. </el-row>
  178. </el-form>
  179. <p style="font-size: 14px; color: #606266">应付总额:¥30000.00</p>
  180. <el-table :data="firstData3" height="calc(100% - 144px)" style="width: 100%; margin-top: 20px;">
  181. <el-table-column prop="name" label="业务员"></el-table-column>
  182. <el-table-column prop="attrType" label="业务员类型">
  183. <template #default="scope">
  184. {{ scope.row.attrType === '1' ? '前线人员' : scope.row.attrType === '2' ? '后线人员' : scope.row.attrType === '3' ? '合伙人' : scope.row.attrType === '4' ? '工作室管理员' : scope.row.attrType === '5' ? '团队' : scope.row.attrType === '6' ? '个代' : scope.row.attrType === '7' ? '电销' : scope.row.attrType === '8' ? '渠道' : '' }}
  185. </template>
  186. </el-table-column>
  187. <el-table-column prop="managerName" label="管理人"></el-table-column>
  188. <el-table-column prop="amount" label="提现金额"></el-table-column>
  189. <el-table-column prop="balanceAmount" label="账户余额"></el-table-column>
  190. <el-table-column prop="bankCardNum" label="银行卡号"></el-table-column>
  191. <el-table-column prop="bankName" label="银行"></el-table-column>
  192. <el-table-column prop="accountName" label="姓名"></el-table-column>
  193. <el-table-column prop="bankName" label="开户行"></el-table-column>
  194. <el-table-column label="操作" fixed="right" width="200">
  195. <template #default="scope">
  196. <el-button link type="primary" size="small">领取</el-button>
  197. </template>
  198. </el-table-column>
  199. </el-table>
  200. <div class="pagination">
  201. <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
  202. layout="total, sizes, prev, pager, next, jumper" :total="total3" @size-change="handleSizeChange"
  203. @current-change="handleCurrentChange"></el-pagination>
  204. </div>
  205. </el-tab-pane>
  206. </el-tabs>
  207. </PageMain>
  208. </template>
  209. <script setup lang="ts">
  210. import api from '@/api'
  211. let activeName = ref('0')
  212. const queryInfo = ref({
  213. salesman: '',//业务员
  214. attrType: '',//业务员类型
  215. createTimeStart: '',//提现时间开始
  216. createTimeEnd: ''//提现时间结束
  217. })
  218. const handleClick = (e) => {
  219. console.log()
  220. pages.value = 1
  221. size.value = 10
  222. queryInfo.value = {}
  223. activeName.value = e.props.name
  224. console.log(activeName.value)
  225. initData(activeName.value)
  226. getMyPaymentTotalWithdrawalAmount()
  227. }
  228. let time1 = ref([])//提现时间
  229. let firstData1 = ref([{}])
  230. let firstData2 = ref([{}])
  231. let firstData3 = ref([{}])
  232. let total1 = ref(0)
  233. let total2 = ref(0)
  234. let total3 = ref(0)
  235. let pages = ref(1)
  236. let size = ref(10)
  237. const handleSizeChange = (size) => {
  238. size.value = size
  239. initData(activeName.value)
  240. }
  241. const handleCurrentChange = (page) => {
  242. pages.value = page
  243. initData(activeName.value)
  244. }
  245. const initData = (type) => {
  246. api.financeApi.myPaymentList({
  247. salesman: queryInfo.value.salesman,
  248. attrType: queryInfo.value.attrType,
  249. createTimeStart: time1.value?.[0],
  250. createTimeEnd: time1.value?.[1],
  251. auditingStatus: type,
  252. pageNo: pages.value,
  253. pageSize: size.value
  254. }).then((res: any) => {
  255. if (type == '0') {
  256. total1.value = res.data.total
  257. firstData1.value = res.data.records
  258. }
  259. if (type == '1') {
  260. total2.value = res.data.total
  261. firstData2.value = res.data.records
  262. }
  263. if (type == '2') {
  264. total3.value = res.data.total
  265. firstData3.value = res.data.records
  266. }
  267. })
  268. }
  269. const handleSearch = () => {
  270. pages.value = 1
  271. size.value = 10
  272. initData(activeName.value)
  273. getMyPaymentTotalWithdrawalAmount()
  274. }
  275. //我的付款-应收总额
  276. const getMyPaymentTotalWithdrawalAmount = () => {
  277. api.financeApi.myPaymentTotalWithdrawalAmount({
  278. salesman: queryInfo.value.salesman,
  279. attrType: queryInfo.value.attrType,
  280. createTimeStart: time1.value?.[0],
  281. createTimeEnd: time1.value?.[1],
  282. auditingStatus: activeName.value,
  283. }).then((res: any) => {
  284. if (res.data) {
  285. total1.value = res.data
  286. }
  287. })
  288. }
  289. onMounted(() => {
  290. initData('0')
  291. initData('1')
  292. initData('2')
  293. getMyPaymentTotalWithdrawalAmount()
  294. })
  295. </script>
  296. <style scoped lang="scss">
  297. .icon_s {
  298. display: flex;
  299. align-items: center;
  300. justify-content: flex-end;
  301. margin-left: 20px;
  302. color: #00a0f4;
  303. cursor: pointer;
  304. .is_icon {
  305. transition: ease 0.2s;
  306. }
  307. .is_down {
  308. transform: rotate(180deg);
  309. }
  310. }
  311. .pagination {
  312. margin-top: 10px;
  313. display: flex;
  314. justify-content: flex-end;
  315. }
  316. </style>