| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 | | <template> |  |   <LoadingLayout :loading="state.loading"> |  |     <AppContainer> |  |       <ProTableQueryFilterBar @on-reset="reset"> |  |         <template #query> |  |           <QueryFilterItem tip-content="余额范围"> |  |             <el-input-number |  |               v-model="extraParamState.balanceMin" |  |               placeholder="余额最小金额" |  |               size="small" |  |               style="width: 150px" |  |               :controls="false" |  |             />~ |  |             <el-input-number |  |               v-model="extraParamState.balanceMax" |  |               placeholder="余额最大金额" |  |               size="small" |  |               style="width: 150px" |  |               :controls="false" |  |             /> |  |           </QueryFilterItem> |  |           <QueryFilterItem> |  |             <SearchInput |  |               v-model="extraParamState.keywords" |  |               style="width: 260px" |  |               placeholder="姓名/手机号/身份证号" |  |               @on-click-search="getList" |  |             > |  |             </SearchInput> |  |           </QueryFilterItem> |  |         </template> |  |       </ProTableQueryFilterBar> |  |       <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |  |       </ProTableV2> |  |     </AppContainer> |  |     <BalanceDetailDialog v-bind="dialogProps" /> |  |   </LoadingLayout> |  | </template> |  |   |  | <script setup lang="ts"> |  | import { |  |   ProTableQueryFilterBar, |  |   OperationBtnType, |  |   ProTableV2, |  |   SearchInput, |  |   LoadingLayout, |  |   AppContainer, |  |   QueryFilterItem, |  |   useTable, |  |   useFormDialog, |  |   FieldSelect, |  | } from '@bole-core/components'; |  | import { useAccess } from '@/hooks'; |  | import * as userServices from '@/services/api/user'; |  | import BalanceDetailDialog from './components/BalanceDetailDialog.vue'; |  |   |  | defineOptions({ |  |   name: 'BalanceManage', |  | }); |  |   |  | const operationBtnMap: Record<string, OperationBtnType> = { |  |   detailBtn: { emits: { onClick: (role) => openDialog(role) } }, |  | }; |  |   |  | const { column, operationBtns } = useAccess({ |  |   operationBtnMap, |  | }); |  |   |  | const router = useRouter(); |  | const BaseState = { |  |   loading: true, |  | }; |  |   |  | const state = reactive({ ...BaseState }); |  |   |  | onMounted(async () => { |  |   await getList(); |  |   state.loading = false; |  | }); |  |   |  | const { |  |   getDataSource: getList, |  |   proTableProps, |  |   paginationState, |  |   extraParamState, |  |   reset, |  | } = useTable( |  |   async ({ pageIndex, pageSize }, extraParamState) => { |  |     try { |  |       let params: API.GetPersonalUserWalletBalancesQuery = { |  |         pageModel: { |  |           rows: pageSize, |  |           page: pageIndex, |  |           orderInput: extraParamState.orderInput, |  |         }, |  |         keywords: extraParamState.keywords, |  |         balanceMin: extraParamState.balanceMin, |  |         balanceMax: extraParamState.balanceMax, |  |       }; |  |   |  |       let res = await userServices.getPersonalUserWalletBalances(params, { |  |         showLoading: !state.loading, |  |       }); |  |       return res; |  |     } catch (error) {} |  |   }, |  |   { |  |     defaultExtraParams: { |  |       keywords: '', |  |       balanceMin: null as number, |  |       balanceMax: null as number, |  |       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |  |     }, |  |     columnsRenderProps: {}, |  |   } |  | ); |  |   |  | const { dialogProps, handleEdit, editForm } = useFormDialog({ |  |   defaultFormParams: { |  |     id: '', |  |   }, |  | }); |  |   |  | function openDialog(row) { |  |   handleEdit({ |  |     id: row.id, |  |   }); |  | } |  | </script> | 
 |