index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <ele-page flex-table>
  3. <page-search @search="reload">
  4. <el-checkbox-group v-model="checkList" v-if="useStatus == 5">
  5. <el-checkbox label="理赔" value="1" />
  6. <el-checkbox label="售后补偿" value="2" />
  7. <el-checkbox label="纸价补贴" value="3" />
  8. </el-checkbox-group>
  9. </page-search>
  10. <common-table ref="pageRef" :pageConfig="pageConfig" :columns="columns">
  11. <template #toolbar>
  12. <el-radio-group @change="handleStatusChange" v-model="useStatus">
  13. <el-radio-button label="全部明细" value="1" />
  14. <el-radio-button label="佣金明细" value="2" />
  15. <el-radio-button label="书款明细" value="3" />
  16. <el-radio-button label="提现明细" value="4" />
  17. <el-radio-button label="其他" value="5" />
  18. </el-radio-group>
  19. </template>
  20. <template #action="{ row }">
  21. <div>
  22. <el-button
  23. type="primary"
  24. link
  25. v-permission="'finance:cashFlow:detail'"
  26. @click="handleDetail(row)"
  27. >
  28. [详情]
  29. </el-button>
  30. </div>
  31. </template>
  32. </common-table>
  33. </ele-page>
  34. </template>
  35. <script setup>
  36. import { ref, reactive } from 'vue';
  37. import CommonTable from '@/components/CommonPage/CommonTable.vue';
  38. import pageSearch from './components/page-search.vue';
  39. import { useDictData } from '@/utils/use-dict-data';
  40. defineOptions({ name: 'withdrawal' });
  41. const checkList = ref([]);
  42. const [useStatusDicts] = useDictData(['use_status']);
  43. const useStatus = ref('1');
  44. function handleStatusChange(value) {
  45. pageRef.value.reload({ useStatus: value });
  46. }
  47. /** 表格列配置 */
  48. const columns = ref([
  49. { label: '交易时间', prop: 'createTime', align: 'center', width: 180 },
  50. { label: '用户UID', prop: 'uid', align: 'center', minWidth: 140 },
  51. {
  52. label: '支付单号/流水号',
  53. prop: 'paymentCode',
  54. align: 'center',
  55. minWidth: 160
  56. },
  57. { label: '对方账户', prop: 'addressDetail', align: 'center' },
  58. { label: '结算金额', prop: 'money', align: 'center' },
  59. {
  60. label: '交易状态',
  61. prop: 'useStatus',
  62. align: 'center',
  63. formatter: (row) =>
  64. useStatusDicts.value.find((d) => d.dictValue == row.useStatus)
  65. ?.dictLabel
  66. },
  67. { label: '订单编号', prop: 'code', align: 'center' },
  68. {
  69. label: '交易类型',
  70. prop: 'paymentType',
  71. align: 'center',
  72. formatter: (row) =>
  73. useStatusDicts.value.find((d) => d.dictValue == row.useStatus)
  74. ?.dictLabel
  75. },
  76. {
  77. columnKey: 'action',
  78. label: '操作',
  79. width: 90,
  80. align: 'center',
  81. slot: 'action',
  82. fixed: 'right'
  83. }
  84. ]);
  85. /** 页面组件实例 */
  86. const pageRef = ref(null);
  87. const pageConfig = reactive({
  88. pageUrl: '/baseinfo/godown/pagelist',
  89. exportUrl: '/baseinfo/godown/export',
  90. fileName: '佣金记录',
  91. cacheKey: 'commissionTable'
  92. });
  93. //刷新表格
  94. function reload(where) {
  95. pageRef.value?.reload(where);
  96. }
  97. //详情
  98. function handleDetail(row) {
  99. console.log(row);
  100. }
  101. </script>