Browse Source

Merge branch 'dev' into v3-5-30

Yansen 5 years ago
parent
commit
4a9c5d563b

+ 2
- 2
config/config.js View File

133
 
133
 
134
   proxy: {
134
   proxy: {
135
     '/api': {
135
     '/api': {
136
-      // target: 'https://dev.fangdeal.cn',
137
-      target: 'http://127.0.0.1:8080/',
136
+      target: 'https://dev.fangdeal.cn',
137
+      // target: 'http://192.168.0.153:8080/',
138
       changeOrigin: true,
138
       changeOrigin: true,
139
       // pathRewrite: { '^/server': '' },
139
       // pathRewrite: { '^/server': '' },
140
     },
140
     },

+ 1
- 2
src/components/uploadImage/Upload.jsx View File

11
   state = {
11
   state = {
12
     previewVisible: false,
12
     previewVisible: false,
13
     previewImage: '',
13
     previewImage: '',
14
-    loadding: false,
14
+    loading: false,
15
   };
15
   };
16
 
16
 
17
   getFileList = () => {
17
   getFileList = () => {
59
       <div className="clearfix">
59
       <div className="clearfix">
60
         <Upload
60
         <Upload
61
           listType="picture-card"
61
           listType="picture-card"
62
-          multiple={true}
63
           fileList={fileList}
62
           fileList={fileList}
64
           onPreview={this.handlePreview}
63
           onPreview={this.handlePreview}
65
           onChange={this.handleChange}
64
           onChange={this.handleChange}

+ 12
- 87
src/pages/fundManagement/AccountDetail.jsx View File

11
 import RechargeOrder from './RechargeOrder';
11
 import RechargeOrder from './RechargeOrder';
12
 import ConsumeOrder from './ConsumeOrder';
12
 import ConsumeOrder from './ConsumeOrder';
13
 import RefundOrder from './RefundOrder';
13
 import RefundOrder from './RefundOrder';
14
+import Base from './Base';
14
 import Recharge from './components/Recharge'
15
 import Recharge from './components/Recharge'
15
 import { regFenToYuan } from '@/utils/money';
16
 import { regFenToYuan } from '@/utils/money';
16
 
17
 
17
 function header(props) {
18
 function header(props) {
18
-    const orgId = props.location.query.id || ''
19
-    const [newsData, setNewsData] = useState({})
20
-    if (orgId) {
21
-        useEffect(() => {
22
-            getDetail(orgId);
23
-        }, [])
19
+    const orgId = props.location.query.orgId || ''
24
 
20
 
25
-        // 查询详情
26
-        const getDetail = (orgId) => {
27
-            request({
28
-                ...apis.fund.accountDetail,
29
-                urlData: { id: orgId }
30
-            }).then((data) => {
31
-                console.log(data)
32
-                setNewsData(data)
33
-            })
34
-        }
35
-    }
36
-    const [tab, changeTab] = useState('basic')
21
+    useEffect(() => {
22
+     
23
+    }, [])
24
+
25
+  
37
 
26
 
38
-    const fields = [
39
-        {
40
-            label: '小程序名',
41
-            name: 'orgName',
42
-            type: FieldTypes.Message,
43
-            value: newsData.miniappName || '',
44
-        },
45
-        {
46
-            label: '公司/组织名称',
47
-            name: 'company',
48
-            type: FieldTypes.Message,
49
-            value: newsData.orgName || '',
50
-        },
51
-        {
52
-            label: '代理商',
53
-            name: 'agent',
54
-            type: FieldTypes.Message,
55
-            value: newsData.channelProxyName || '',
56
-        },
57
-        {
58
-            label: '总充值金额',
59
-            name: 'recharge',
60
-            type: FieldTypes.Message,
61
-            value: regFenToYuan(newsData.totalRechargeAmount) || '0',
62
-            help: '对账请在充值订单中查看充值状态为“已支付”的充值记录',
63
-        },
64
-        {
65
-            label: '已消费金额',
66
-            name: 'consume',
67
-            type: FieldTypes.Message,
68
-            value: regFenToYuan(newsData.purchaseAmount) || '0',
69
-            help: '对账请在充值订单中查看充值状态为“成功”的充值记录',
70
-        },
71
-        {
72
-            label: '已退款金额',
73
-            name: 'refund',
74
-            type: FieldTypes.Message,
75
-            value: regFenToYuan(newsData.totalRefund) || '0',
76
-            help: '对账请在充值订单中查看充值状态为“已退款”的退款记录',
77
-        },
78
-        {
79
-            label: '退款冻结金额',
80
-            name: 'consume',
81
-            type: FieldTypes.Message,
82
-            value: regFenToYuan(newsData.refundBlockedAmount) || '0',
83
-            help: '对账请在充值订单中查看充值状态为“已申请”的退款记录',
84
-        },
85
-        {
86
-            label: '账户余额',
87
-            name: 'consume',
88
-            type: FieldTypes.Message,
89
-            value: regFenToYuan(newsData.realBalance) || '0',
90
-            help: '对账户余额=总充值金额-已消费金额-已退款额-退款冻结额',
91
-        },
92
-    ]
27
+    const [tab, changeTab] = useState('basic')
93
 
28
 
94
 
29
 
95
     return (
30
     return (
104
                 </Radio.Group>
39
                 </Radio.Group>
105
             </div>
40
             </div>
106
             <div>
41
             <div>
107
-                {tab === 'basic' &&
108
-                    <div>
109
-                        <XForm buttonVisible={false} fields={fields}></XForm>
110
-                        <div style={{ paddingLeft: '30%', marginTop: '30px' }}>
111
-                            <Button htmlType="submit" type="primary" style={{ marginRight: '10%' }}>
112
-                                <Recharge orgId={newsData.orgId || ''} onClick={() => getDetail(orgId)} accountId={newsData.accountId || ''} />
113
-                            </Button>
114
-                            <Button onClick={() => router.go(-1)}>返回</Button>
115
-                        </div>
116
-                    </div>
117
-                }
118
-                {tab === 'recharge' && <RechargeOrder orgId={orgId} />}
119
-                {tab === 'consume' && <ConsumeOrder orgId={orgId} />}
120
-                {tab === 'refund' && <RefundOrder orgId={orgId} />}
42
+                {tab === 'basic' && <Base orgId={orgId} />}
43
+                {tab === 'recharge' && <RechargeOrder organize="hidden" orgId={orgId} />}
44
+                {tab === 'consume' && <ConsumeOrder organize="hidden" orgId={orgId} />}
45
+                {tab === 'refund' && <RefundOrder organize="hidden" orgId={orgId} onToDetail={() => changeTab('basic')} />}
121
             </div>
46
             </div>
122
         </>
47
         </>
123
     )
48
     )

+ 25
- 4
src/pages/fundManagement/AccountManagement.jsx View File

10
 import request from '../../utils/request';
10
 import request from '../../utils/request';
11
 import AuthButton from '@/components/AuthButton';
11
 import AuthButton from '@/components/AuthButton';
12
 import Recharge from './components/Recharge'
12
 import Recharge from './components/Recharge'
13
-import Refund from './components/Refund'
13
+
14
 import { regFenToYuan } from '@/utils/money';
14
 import { regFenToYuan } from '@/utils/money';
15
 
15
 
16
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
16
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
108
             render: (x, row) => (
108
             render: (x, row) => (
109
                 <>
109
                 <>
110
                     <span style={{ color: '#FF925C', cursor: 'pointer', marginRight: '16px', display: 'inline-block' }}><Recharge onClick={handleReset} orgId={row.orgId} accountId={row.accountId} /></span>
110
                     <span style={{ color: '#FF925C', cursor: 'pointer', marginRight: '16px', display: 'inline-block' }}><Recharge onClick={handleReset} orgId={row.orgId} accountId={row.accountId} /></span>
111
-                    <span style={{ color: '#FF925C', cursor: 'pointer', display: 'inline-block' }} >
111
+                    {/* <span style={{ color: '#FF925C', cursor: 'pointer', display: 'inline-block' }} >
112
                         <Refund orgId={row.orgId} accountId={row.accountId} onClick={handleReset} realBalance={row.realBalance || '0'} />
112
                         <Refund orgId={row.orgId} accountId={row.accountId} onClick={handleReset} realBalance={row.realBalance || '0'} />
113
-                    </span>
113
+                    </span> */}
114
                 </>
114
                 </>
115
             ),
115
             ),
116
         },
116
         },
121
         getList({ pageNum: 1, pageSize: 10 })
121
         getList({ pageNum: 1, pageSize: 10 })
122
     }
122
     }
123
 
123
 
124
+    // 导出
125
+    const exportList = () => {
126
+        let { LocalDate, ...submitValue } = props.form.getFieldsValue()
127
+        
128
+        request({ ...apis.fund.accountExport, params: { ...submitValue } }).then(data => {
129
+            if (!data) {
130
+                return
131
+            }
132
+            const url = window.URL.createObjectURL(new Blob([data]))
133
+            const link = document.createElement('a')
134
+            link.style.display = 'none'
135
+            link.href = url
136
+            link.setAttribute('download', '账户列表.xlsx')
137
+            document.body.append(link)
138
+            link.click()
139
+        }).catch()
140
+    }
141
+
124
     const toDeatil = (row) => {
142
     const toDeatil = (row) => {
125
         router.push({
143
         router.push({
126
             pathname: '/fundManagement/AccountDetail',
144
             pathname: '/fundManagement/AccountDetail',
127
             query: {
145
             query: {
128
-                id: row.orgId
146
+                orgId: row.orgId
129
             },
147
             },
130
         });
148
         });
131
     }
149
     }
153
                     </Button>
171
                     </Button>
154
                 </Form.Item>
172
                 </Form.Item>
155
             </Form>
173
             </Form>
174
+            <div>
175
+                <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
176
+            </div>
156
             <Table rowKey={r => r.accountId} dataSource={data.records} columns={columns} pagination={false} />
177
             <Table rowKey={r => r.accountId} dataSource={data.records} columns={columns} pagination={false} />
157
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
178
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
158
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
179
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />

+ 102
- 0
src/pages/fundManagement/Base.jsx View File

1
+import React, { useState, useEffect } from 'react';
2
+import { Button, Icon, message } from 'antd';
3
+import router from 'umi/router';
4
+import { fetch, apis } from '../../utils/request';
5
+import request from '../../utils/request';
6
+import XForm, { FieldTypes } from '../../components/XForm';
7
+import Recharge from './components/Recharge'
8
+import { regFenToYuan } from '@/utils/money';
9
+
10
+function header(props) {
11
+    const orgId = props.orgId || ''
12
+    const [newsData, setNewsData] = useState({})
13
+
14
+    useEffect(() => {
15
+        if (orgId) {
16
+            getDetail(orgId);
17
+        }
18
+    }, [])
19
+
20
+    // 查询详情
21
+    const getDetail = (orgId) => {
22
+        request({
23
+            ...apis.fund.accountDetail,
24
+            urlData: { id: orgId }
25
+        }).then((data) => {
26
+            console.log(data)
27
+            setNewsData(data)
28
+        })
29
+    }
30
+
31
+    const fields = [
32
+        {
33
+            label: '小程序名',
34
+            name: 'orgName',
35
+            type: FieldTypes.Message,
36
+            value: newsData.miniappName || '',
37
+        },
38
+        {
39
+            label: '公司/组织名称',
40
+            name: 'company',
41
+            type: FieldTypes.Message,
42
+            value: newsData.orgName || '',
43
+        },
44
+        {
45
+            label: '代理商',
46
+            name: 'agent',
47
+            type: FieldTypes.Message,
48
+            value: newsData.channelProxyName || '',
49
+        },
50
+        {
51
+            label: '总充值金额',
52
+            name: 'recharge',
53
+            type: FieldTypes.Message,
54
+            value: regFenToYuan(newsData.totalRechargeAmount) || '0',
55
+            help: '对账请在充值订单中查看充值状态为“已支付”的充值记录',
56
+        },
57
+        {
58
+            label: '已消费金额',
59
+            name: 'consume',
60
+            type: FieldTypes.Message,
61
+            value: regFenToYuan(newsData.purchaseAmount) || '0',
62
+            help: '对账请在充值订单中查看充值状态为“成功”的充值记录',
63
+        },
64
+        {
65
+            label: '已退款金额',
66
+            name: 'refund',
67
+            type: FieldTypes.Message,
68
+            value: regFenToYuan(newsData.totalRefund) || '0',
69
+            help: '对账请在充值订单中查看充值状态为“已退款”的退款记录',
70
+        },
71
+        {
72
+            label: '退款冻结金额',
73
+            name: 'consume',
74
+            type: FieldTypes.Message,
75
+            value: regFenToYuan(newsData.refundBlockedAmount) || '0',
76
+            help: '对账请在充值订单中查看充值状态为“已申请”的退款记录',
77
+        },
78
+        {
79
+            label: '账户余额',
80
+            name: 'consume',
81
+            type: FieldTypes.Message,
82
+            value: regFenToYuan(newsData.realBalance) || '0',
83
+            help: '对账户余额=总充值金额-已消费金额-已退款额-退款冻结额',
84
+        },
85
+    ]
86
+
87
+
88
+    return (
89
+
90
+        <>
91
+            <div>
92
+                <XForm buttonVisible={false} fields={fields}></XForm>
93
+                <div style={{ paddingLeft: '30%', marginTop: '30px' }}>
94
+                    <Recharge orgId={newsData.orgId || ''} onClick={() => getDetail(newsData.orgId)} accountId={newsData.accountId || ''} />
95
+                    <Button onClick={() => router.go(-1)}>返回</Button>
96
+                </div>
97
+            </div>
98
+        </>
99
+    )
100
+}
101
+
102
+export default header

+ 31
- 26
src/pages/fundManagement/ConsumeOrder.jsx View File

21
     const [personInfo, setPersonInfo] = useState({})
21
     const [personInfo, setPersonInfo] = useState({})
22
     const orgId = props.orgId || ''
22
     const orgId = props.orgId || ''
23
     useEffect(() => {
23
     useEffect(() => {
24
-        getList({ pageNum: 1, pageSize: 10, orderType: 'redPacket' });
24
+        getList({ pageNum: 1, pageSize: 10, orderType: 'RedPacket' });
25
     }, [])
25
     }, [])
26
 
26
 
27
     // 查询列表
27
     // 查询列表
41
                 let { LocalDate, ...submitValue } = values
41
                 let { LocalDate, ...submitValue } = values
42
                 if (null != LocalDate && LocalDate.length > 0) {
42
                 if (null != LocalDate && LocalDate.length > 0) {
43
                     const [startDate, endDate] = LocalDate
43
                     const [startDate, endDate] = LocalDate
44
-                    submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
45
-                    submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
44
+                    submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
45
+                    submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
46
                 } else {
46
                 } else {
47
                     submitValue.startDate = null
47
                     submitValue.startDate = null
48
                     submitValue.endDate = null
48
                     submitValue.endDate = null
49
                 }
49
                 }
50
-                getList({ pageNum: 1, pageSize: 10, orderType: 'redPacket', ...submitValue })
50
+                getList({ pageNum: 1, pageSize: 10, orderType: 'RedPacket', ...submitValue })
51
             }
51
             }
52
         });
52
         });
53
     }
53
     }
56
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
56
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
57
         if (null != LocalDate && LocalDate.length > 0) {
57
         if (null != LocalDate && LocalDate.length > 0) {
58
             const [startDate, endDate] = LocalDate
58
             const [startDate, endDate] = LocalDate
59
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
60
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
59
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
60
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
61
         } else {
61
         } else {
62
             submitValue.startDate = null
62
             submitValue.startDate = null
63
             submitValue.endDate = null
63
             submitValue.endDate = null
64
         }
64
         }
65
-        getList({ pageNum: pageNumber, pageSize: 10, orderType: 'redPacket', ...submitValue })
65
+        getList({ pageNum: pageNumber, pageSize: 10, orderType: 'RedPacket', ...submitValue })
66
     }
66
     }
67
 
67
 
68
     /**
68
     /**
89
             key: 'amount',
89
             key: 'amount',
90
             align: 'center',
90
             align: 'center',
91
             render: (x, row) => <span>{regFenToYuan(x)}</span>
91
             render: (x, row) => <span>{regFenToYuan(x)}</span>
92
-
93
         },
92
         },
94
         {
93
         {
95
             title: '消费方式',
94
             title: '消费方式',
96
             dataIndex: 'consumeType',
95
             dataIndex: 'consumeType',
97
             key: 'consumeType',
96
             key: 'consumeType',
98
             align: 'center',
97
             align: 'center',
98
+            render: (x, row) => <><span>{row.consumeType == 'RedPacket' ? '红包' : ''}</span></>
99
         },
99
         },
100
         {
100
         {
101
             title: '活动名称',
101
             title: '活动名称',
122
             dataIndex: 'tradingStatus',
122
             dataIndex: 'tradingStatus',
123
             key: 'tradingStatus',
123
             key: 'tradingStatus',
124
             align: 'center',
124
             align: 'center',
125
-            render: (x, row) => <><span>{row.tradingStatus == '1' ? '成功' : '失败'}</span></>
125
+            render: (x, row) => <><span>{row.tradingStatus == 'success' ? '成功' : '失败'}</span></>
126
         },
126
         },
127
 
127
 
128
     ];
128
     ];
135
 
135
 
136
     function handleReset() {
136
     function handleReset() {
137
         props.form.resetFields();
137
         props.form.resetFields();
138
-        getList({ pageNum: 1, pageSize: 10, orderType: 'redPacket' })
138
+        getList({ pageNum: 1, pageSize: 10, orderType: 'RedPacket' })
139
     }
139
     }
140
     // 导出
140
     // 导出
141
     const exportList = () => {
141
     const exportList = () => {
142
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
142
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
143
         if (null != LocalDate && LocalDate.length > 0) {
143
         if (null != LocalDate && LocalDate.length > 0) {
144
             const [startDate, endDate] = LocalDate
144
             const [startDate, endDate] = LocalDate
145
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
146
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
145
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
146
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
147
         } else {
147
         } else {
148
             submitValue.startDate = null
148
             submitValue.startDate = null
149
             submitValue.endDate = null
149
             submitValue.endDate = null
150
         }
150
         }
151
-        request({ ...apis.fund.consumeOrderExport, params: { orderType: 'redPacket', orgId, ...submitValue } }).then(data => {
151
+        request({ ...apis.fund.consumeOrderExport, params: { orderType: 'RedPacket', orgId, ...submitValue } }).then(data => {
152
             if (!data) {
152
             if (!data) {
153
                 return
153
                 return
154
             }
154
             }
162
         }).catch()
162
         }).catch()
163
     }
163
     }
164
     const { getFieldDecorator } = props.form
164
     const { getFieldDecorator } = props.form
165
+
166
+    const lastColumns = props.organize == 'hidden' ? columns.filter(x => x.title != '消费组织') : columns
165
     return (
167
     return (
166
 
168
 
167
         <>
169
         <>
174
                 <div style={{ paddingLeft: '36%' }}>
176
                 <div style={{ paddingLeft: '36%' }}>
175
                     <p>昵称:{personInfo.nickname || ''}</p>
177
                     <p>昵称:{personInfo.nickname || ''}</p>
176
                     <p>头像:<img src={personInfo.avatarurl || ''} className={styles.touxiang} /></p>
178
                     <p>头像:<img src={personInfo.avatarurl || ''} className={styles.touxiang} /></p>
177
-                    <p>姓名:{personInfo.name || ''}</p>
179
+                    <p>姓名:{personInfo.name || personInfo.nickname}</p>
178
                     <p>手机号:{personInfo.phone || ''}</p>
180
                     <p>手机号:{personInfo.phone || ''}</p>
179
                 </div>
181
                 </div>
180
 
182
 
188
                         />,
190
                         />,
189
                     )}
191
                     )}
190
                 </Form.Item>
192
                 </Form.Item>
191
-                <Form.Item>
192
-                    {getFieldDecorator('miniAppName')(
193
-                        <Input
194
-                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
195
-                            placeholder="消费组织"
196
-                        />,
197
-                    )}
198
-                </Form.Item>
193
+                {
194
+                    props.organize != 'hidden' &&
195
+                    <Form.Item>
196
+                        {getFieldDecorator('miniAppName')(
197
+                            <Input
198
+                                prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
199
+                                placeholder="消费组织"
200
+                            />,
201
+                        )}
202
+                    </Form.Item>
203
+                }
199
                 <Form.Item>
204
                 <Form.Item>
200
                     <span style={{ marginRight: '10px' }}>消费时间段:</span>
205
                     <span style={{ marginRight: '10px' }}>消费时间段:</span>
201
                     {getFieldDecorator('LocalDate')(
206
                     {getFieldDecorator('LocalDate')(
206
                     {getFieldDecorator('itemType')(
211
                     {getFieldDecorator('itemType')(
207
                         <Select style={{ width: '180px' }} placeholder="消费方式">
212
                         <Select style={{ width: '180px' }} placeholder="消费方式">
208
                             <Select.Option value="">全部</Select.Option>
213
                             <Select.Option value="">全部</Select.Option>
209
-                            <Select.Option value="redPacket">红包</Select.Option>
214
+                            <Select.Option value="RedPacket">红包</Select.Option>
210
                         </Select>,
215
                         </Select>,
211
                     )}
216
                     )}
212
                 </Form.Item>
217
                 </Form.Item>
214
                     {getFieldDecorator('tradingStatus')(
219
                     {getFieldDecorator('tradingStatus')(
215
                         <Select style={{ width: '180px' }} placeholder="消费状态">
220
                         <Select style={{ width: '180px' }} placeholder="消费状态">
216
                             <Select.Option value="">全部</Select.Option>
221
                             <Select.Option value="">全部</Select.Option>
217
-                            <Select.Option value="1">成功</Select.Option>
218
-                            <Select.Option value="2">失败</Select.Option>
222
+                            <Select.Option value="success">成功</Select.Option>
223
+                            <Select.Option value="fail">失败</Select.Option>
219
                         </Select>,
224
                         </Select>,
220
                     )}
225
                     )}
221
                 </Form.Item>
226
                 </Form.Item>
239
             <div>
244
             <div>
240
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
245
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
241
             </div>
246
             </div>
242
-            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={columns} pagination={false} />
247
+            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={lastColumns} pagination={false} />
243
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
248
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
244
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
249
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
245
             </div>
250
             </div>

+ 3
- 3
src/pages/fundManagement/Finance.jsx View File

23
 
23
 
24
     // 查询列表
24
     // 查询列表
25
     const getList = (params) => {
25
     const getList = (params) => {
26
-        request({ ...apis.fund.contactList, params: { ...params } }).then((data) => {
26
+        request({ ...apis.fund.contactList, params: { ...params, contentType: 'finance' } }).then((data) => {
27
             console.log(data)
27
             console.log(data)
28
             setData(data)
28
             setData(data)
29
         })
29
         })
182
                     </Button>
182
                     </Button>
183
                 </Form.Item>
183
                 </Form.Item>
184
             </Form>
184
             </Form>
185
-            <div style={{ margin: '10px 0 16px 0' }}>
186
-                <Button type="danger" className={styles.addBtn} ><SelectContact onClick={() => getList({ pageNum: 1, pageSize: 10 })} /></Button>
185
+            <div style={{ margin: '10px 0 16px 0', display: 'flex' }}>
186
+                <SelectContact type="danger" onClick={() => getList({ pageNum: 1, pageSize: 10 })} />
187
                 <Button type="primary" className={styles.addBtn} onClick={() => toDel()} style={{ marginLeft: '30px' }} >删除</Button>
187
                 <Button type="primary" className={styles.addBtn} onClick={() => toDel()} style={{ marginLeft: '30px' }} >删除</Button>
188
             </div>
188
             </div>
189
             <Table rowSelection={rowSelection} rowKey={r => r.contactId} dataSource={data.records} columns={columns} pagination={false} />
189
             <Table rowSelection={rowSelection} rowKey={r => r.contactId} dataSource={data.records} columns={columns} pagination={false} />

+ 30
- 28
src/pages/fundManagement/RechargeOrder.jsx View File

41
                 let { LocalDate, ...submitValue } = values
41
                 let { LocalDate, ...submitValue } = values
42
                 if (null != LocalDate && LocalDate.length > 0) {
42
                 if (null != LocalDate && LocalDate.length > 0) {
43
                     const [startDate, endDate] = LocalDate
43
                     const [startDate, endDate] = LocalDate
44
-                    submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
45
-                    submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
44
+                    submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
45
+                    submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
46
                 } else {
46
                 } else {
47
                     submitValue.startDate = null
47
                     submitValue.startDate = null
48
                     submitValue.endDate = null
48
                     submitValue.endDate = null
52
         });
52
         });
53
     }
53
     }
54
 
54
 
55
-    const changePageNum = (pageNumber) => {
56
-        let { LocalDate, ...submitValue } = props.form.getFieldsValue()
57
-        if (null != LocalDate && LocalDate.length > 0) {
55
+    const changePageNum = pageNumber => {
56
+        const { LocalDate, ...submitValue } = props.form.getFieldsValue()
57
+        if (LocalDate != null && LocalDate.length > 0) {
58
             const [startDate, endDate] = LocalDate
58
             const [startDate, endDate] = LocalDate
59
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
60
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
59
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
60
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
61
         } else {
61
         } else {
62
             submitValue.startDate = null
62
             submitValue.startDate = null
63
             submitValue.endDate = null
63
             submitValue.endDate = null
65
         getList({ pageNum: pageNumber, pageSize: 10, orderType: 'recharge', ...submitValue })
65
         getList({ pageNum: pageNumber, pageSize: 10, orderType: 'recharge', ...submitValue })
66
     }
66
     }
67
     const look = (list) => {
67
     const look = (list) => {
68
-        // setSwiperList([
69
-        //     'https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1591688474&di=85bb9a6a9736e51c63a7bac09601f1e7&src=http://a3.att.hudong.com/14/75/01300000164186121366756803686.jpg',
70
-        //     'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591698586868&di=f528c96c3004268843a070c342b905fa&imgtype=0&src=http%3A%2F%2Fa2.att.hudong.com%2F36%2F48%2F19300001357258133412489354717.jpg',
71
-        //     'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591698586867&di=7865b3f07e4b6b050642a042fa30f07e&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F64%2F76%2F20300001349415131407760417677.jpg'
72
-        // ])
73
         setSwiperList(list)
68
         setSwiperList(list)
74
     }
69
     }
75
     /**
70
     /**
104
             dataIndex: 'isOffline',
99
             dataIndex: 'isOffline',
105
             key: 'isOffline',
100
             key: 'isOffline',
106
             align: 'center',
101
             align: 'center',
107
-            render: (x, row) => <><span>{row.isOffline ? '运营手充值' : '业务线上充值'}</span></>
102
+            render: (x, row) => <><span>{row.isOffline ? '运营手充值' : '业务线上充值'}</span></>
108
         },
103
         },
109
         {
104
         {
110
             title: '下单时间',
105
             title: '下单时间',
136
             dataIndex: 'tradingStatus',
131
             dataIndex: 'tradingStatus',
137
             key: 'tradingStatus',
132
             key: 'tradingStatus',
138
             align: 'center',
133
             align: 'center',
139
-            render: (x, row) => <><span>{row.tradingStatus == 'processing' ? '待支付' : row.tradingStatus == 'success' ? '已支付' : '已超时'}</span></>
134
+            render: (x, row) => <><span>{row.tradingStatus == 'processing' ? '待支付' : row.tradingStatus == 'success' ? '已支付' : '失败'}</span></>
140
         },
135
         },
141
         {
136
         {
142
             title: '支付时间',
137
             title: '支付时间',
143
             dataIndex: 'payDate',
138
             dataIndex: 'payDate',
144
             key: 'payDate',
139
             key: 'payDate',
145
             align: 'center',
140
             align: 'center',
146
-            render: (x, row) => <><span>{row.payDate ? `${moment(row.payDate).format('YYYY-MM-DD HH:mm:ss')}` : ''}</span></>,
141
+            render: (x, row) => <><span>{row.isOffline == 0 &&  row.payDate != null ? `${moment(row.payDate).format('YYYY-MM-DD HH:mm:ss')}` : ''}</span></>,
147
         },
142
         },
148
 
143
 
149
     ];
144
     ];
156
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
151
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
157
         if (null != LocalDate && LocalDate.length > 0) {
152
         if (null != LocalDate && LocalDate.length > 0) {
158
             const [startDate, endDate] = LocalDate
153
             const [startDate, endDate] = LocalDate
159
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
160
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
154
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
155
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
161
         } else {
156
         } else {
162
             submitValue.startDate = null
157
             submitValue.startDate = null
163
             submitValue.endDate = null
158
             submitValue.endDate = null
176
         }).catch()
171
         }).catch()
177
     }
172
     }
178
     const { getFieldDecorator } = props.form
173
     const { getFieldDecorator } = props.form
174
+
175
+    const lastColumns = props.organize == 'hidden' ? columns.filter(x => x.title != '充值组织') : columns
176
+
179
     return (
177
     return (
180
 
178
 
181
         <>
179
         <>
189
                         />,
187
                         />,
190
                     )}
188
                     )}
191
                 </Form.Item>
189
                 </Form.Item>
192
-                <Form.Item>
193
-                    {getFieldDecorator('miniAppName')(
194
-                        <Input
195
-                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
196
-                            placeholder="充值组织"
197
-                        />,
198
-                    )}
199
-                </Form.Item>
190
+                {
191
+                    props.organize != 'hidden' &&
192
+                    <Form.Item>
193
+                        {getFieldDecorator('miniAppName')(
194
+                            <Input
195
+                                prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
196
+                                placeholder="充值组织"
197
+                            />,
198
+                        )}
199
+                    </Form.Item>
200
+                }
201
+
200
                 <Form.Item>
202
                 <Form.Item>
201
                     <span style={{ marginRight: '10px' }}>支付时间段:</span>
203
                     <span style={{ marginRight: '10px' }}>支付时间段:</span>
202
                     {getFieldDecorator('LocalDate')(
204
                     {getFieldDecorator('LocalDate')(
208
                         <Select style={{ width: '180px' }} placeholder="充值方式">
210
                         <Select style={{ width: '180px' }} placeholder="充值方式">
209
                             <Select.Option value="">全部</Select.Option>
211
                             <Select.Option value="">全部</Select.Option>
210
                             <Select.Option value="0">业务线上充值</Select.Option>
212
                             <Select.Option value="0">业务线上充值</Select.Option>
211
-                            <Select.Option value="1">运营手充值</Select.Option>
213
+                            <Select.Option value="1">运营手充值</Select.Option>
212
                         </Select>,
214
                         </Select>,
213
                     )}
215
                     )}
214
                 </Form.Item>
216
                 </Form.Item>
218
                             <Select.Option value="">全部</Select.Option>
220
                             <Select.Option value="">全部</Select.Option>
219
                             <Select.Option value="processing">待支付</Select.Option>
221
                             <Select.Option value="processing">待支付</Select.Option>
220
                             <Select.Option value="success">已支付</Select.Option>
222
                             <Select.Option value="success">已支付</Select.Option>
221
-                            <Select.Option value="fail">已超时</Select.Option>
223
+                            <Select.Option value="fail">失败</Select.Option>
222
                         </Select>,
224
                         </Select>,
223
                     )}
225
                     )}
224
                 </Form.Item>
226
                 </Form.Item>
234
             <div>
236
             <div>
235
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
237
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
236
             </div>
238
             </div>
237
-            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={columns} pagination={false} />
239
+            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={lastColumns} pagination={false} />
238
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
240
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
239
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
241
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
240
             </div>
242
             </div>

+ 45
- 39
src/pages/fundManagement/RefundOrder.jsx View File

11
 import AuthButton from '@/components/AuthButton';
11
 import AuthButton from '@/components/AuthButton';
12
 import Swiper from './components/Swiper';
12
 import Swiper from './components/Swiper';
13
 import { regFenToYuan } from '@/utils/money';
13
 import { regFenToYuan } from '@/utils/money';
14
+import Refund from './components/Refund'
14
 
15
 
15
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
16
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
16
 
17
 
23
     const [refundVisible, setRefundVisible] = useState(false)
24
     const [refundVisible, setRefundVisible] = useState(false)
24
     const [inputValue, setValue] = useState('')
25
     const [inputValue, setValue] = useState('')
25
     const [swiperList, setSwiperList] = useState([])
26
     const [swiperList, setSwiperList] = useState([])
26
-    console.log(props, "propspropspropspropspropsprops")
27
 
27
 
28
     const orgId = props.orgId || ''
28
     const orgId = props.orgId || ''
29
 
29
 
48
                 let { LocalDate, ...submitValue } = values
48
                 let { LocalDate, ...submitValue } = values
49
                 if (null != LocalDate && LocalDate.length > 0) {
49
                 if (null != LocalDate && LocalDate.length > 0) {
50
                     const [startDate, endDate] = LocalDate
50
                     const [startDate, endDate] = LocalDate
51
-                    submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
52
-                    submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
51
+                    submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
52
+                    submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
53
                 } else {
53
                 } else {
54
                     submitValue.startDate = null
54
                     submitValue.startDate = null
55
                     submitValue.endDate = null
55
                     submitValue.endDate = null
63
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
63
         let { LocalDate, ...submitValue } = props.form.getFieldsValue()
64
         if (null != LocalDate && LocalDate.length > 0) {
64
         if (null != LocalDate && LocalDate.length > 0) {
65
             const [startDate, endDate] = LocalDate
65
             const [startDate, endDate] = LocalDate
66
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
67
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
66
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
67
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
68
         } else {
68
         } else {
69
             submitValue.startDate = null
69
             submitValue.startDate = null
70
             submitValue.endDate = null
70
             submitValue.endDate = null
72
         getList({ pageNum: pageNumber, pageSize: 10, orderType: 'refund', ...submitValue })
72
         getList({ pageNum: pageNumber, pageSize: 10, orderType: 'refund', ...submitValue })
73
     }
73
     }
74
     const look = (list) => {
74
     const look = (list) => {
75
-        // setSwiperList([
76
-        //     'https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1591688474&di=85bb9a6a9736e51c63a7bac09601f1e7&src=http://a3.att.hudong.com/14/75/01300000164186121366756803686.jpg',
77
-        //     'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591698586868&di=f528c96c3004268843a070c342b905fa&imgtype=0&src=http%3A%2F%2Fa2.att.hudong.com%2F36%2F48%2F19300001357258133412489354717.jpg',
78
-        //     'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591698586867&di=7865b3f07e4b6b050642a042fa30f07e&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F64%2F76%2F20300001349415131407760417677.jpg'
79
-        // ])
80
         setSwiperList(list)
75
         setSwiperList(list)
81
     }
76
     }
82
     /**
77
     /**
197
         setVisible(false)
192
         setVisible(false)
198
         setRefundVisible(false)
193
         setRefundVisible(false)
199
     }
194
     }
200
-    const reject = (row) => {
195
+    const reject = row => {
201
         setVisible(true)
196
         setVisible(true)
202
         setRow(row)
197
         setRow(row)
203
     }
198
     }
204
     const refund = (row) => {
199
     const refund = (row) => {
205
         setRefundVisible(true)
200
         setRefundVisible(true)
201
+        console.log(row, 'row')
206
         setRow(row)
202
         setRow(row)
207
     }
203
     }
208
 
204
 
209
     const toDeatil = () => {
205
     const toDeatil = () => {
210
-        router.push({
211
-            pathname: '/fundManagement/AccountDetail',
212
-            query: {
213
-                id: row.orgId
214
-            },
215
-        });
206
+        if (orgId) {
207
+            props.onToDetail()
208
+        } else {
209
+            router.push({
210
+                pathname: '/fundManagement/AccountDetail',
211
+                query: {
212
+                    orgId: row.orgId,
213
+                },
214
+            });
215
+        }
216
     }
216
     }
217
     const bohui = () => {
217
     const bohui = () => {
218
         setRefundVisible(false)
218
         setRefundVisible(false)
220
     }
220
     }
221
 
221
 
222
     const orderRefund = () => {
222
     const orderRefund = () => {
223
-        request({
224
-            ...apis.fund.refund, urlData: { id: row.orderId }, data: {
225
-                orgId: row.orgId,
226
-                amount: row.amount,
227
-            }
228
-        }).then((data) => {
229
-            console.log(data)
230
-            getList({ pageNum: 1, pageSize: 10, orderType: 'refund' });
231
 
223
 
232
-        })
224
+        getList({ pageNum: 1, pageSize: 10, orderType: 'refund' });
233
 
225
 
234
         setRefundVisible(false)
226
         setRefundVisible(false)
235
     }
227
     }
236
     // 导出
228
     // 导出
237
     const exportList = () => {
229
     const exportList = () => {
238
-        let { LocalDate, ...submitValue } = props.form.getFieldsValue()
230
+        const { LocalDate, ...submitValue } = props.form.getFieldsValue()
239
         if (null != LocalDate && LocalDate.length > 0) {
231
         if (null != LocalDate && LocalDate.length > 0) {
240
             const [startDate, endDate] = LocalDate
232
             const [startDate, endDate] = LocalDate
241
-            submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
242
-            submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
233
+            submitValue.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00')}Z`;
234
+            submitValue.endDate = `${moment(endDate).format('YYYY-MM-DDT23:59:59')}Z`;
243
         } else {
235
         } else {
244
             submitValue.startDate = null
236
             submitValue.startDate = null
245
             submitValue.endDate = null
237
             submitValue.endDate = null
259
     }
251
     }
260
 
252
 
261
     const { getFieldDecorator } = props.form
253
     const { getFieldDecorator } = props.form
262
-    const list = []
254
+    const lastColumns = props.organize == 'hidden' ? columns.filter(x => x.title != '退款组织') : columns
263
     return (
255
     return (
264
 
256
 
265
         <>
257
         <>
283
                 onOk={() => orderRefund()}
275
                 onOk={() => orderRefund()}
284
                 onCancel={() => handleCancel()}
276
                 onCancel={() => handleCancel()}
285
                 footer={[
277
                 footer={[
286
-                    <Button key="back" size="large" onClick={() => orderRefund()}>退款</Button>,
278
+                    <Refund key="back" size="large" orgId={row.orgId} accountId={row.accountId} amount={row.amount || '0'} onClick={() => orderRefund()} orderId={row.orderId} />,
287
                     <Button key="submit" type="primary" size="large" onClick={() => bohui()}>驳回</Button>,
279
                     <Button key="submit" type="primary" size="large" onClick={() => bohui()}>驳回</Button>,
288
                 ]}
280
                 ]}
289
             ><div>
281
             ><div>
290
                     <p>1.请核对账户余额等是否正常,且预留了足够的活动余额。异常请核对企业账单后与企业相关人员沟通并确认点击驳回申请</p>
282
                     <p>1.请核对账户余额等是否正常,且预留了足够的活动余额。异常请核对企业账单后与企业相关人员沟通并确认点击驳回申请</p>
291
                     <p className={styles.flexRow}>
283
                     <p className={styles.flexRow}>
292
                         <span>退款金额: <span className={styles.red}>{regFenToYuan(row.amount) || '0'}元</span></span>
284
                         <span>退款金额: <span className={styles.red}>{regFenToYuan(row.amount) || '0'}元</span></span>
293
-                        <span>账户余额:<span className={styles.red}>{regFenToYuan(row.realBalance) || '0'}元</span></span>
285
+                        <span>账户余额:<span className={styles.red}>{regFenToYuan(row.availableBalance) || '0'}元</span></span>
294
                         <span className={styles.blue} onClick={() => toDeatil()}>查看账户详情</span>
286
                         <span className={styles.blue} onClick={() => toDeatil()}>查看账户详情</span>
295
                     </p>
287
                     </p>
296
                     <p>2.请到微信商户平台使用企业付款或充值订单退款等方式退款,或使用微信转账/银行卡转账/企业对公转账等方式退款</p>
288
                     <p>2.请到微信商户平台使用企业付款或充值订单退款等方式退款,或使用微信转账/银行卡转账/企业对公转账等方式退款</p>
307
                         />,
299
                         />,
308
                     )}
300
                     )}
309
                 </Form.Item>
301
                 </Form.Item>
302
+                {
303
+                    props.organize != 'hidden' &&
304
+                    <Form.Item>
305
+                        {getFieldDecorator('miniAppName')(
306
+                            <Input
307
+                                prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
308
+                                placeholder="退款组织"
309
+                            />,
310
+                        )}
311
+                    </Form.Item>
312
+                }
313
+
310
                 <Form.Item>
314
                 <Form.Item>
311
-                    {getFieldDecorator('miniAppName')(
312
-                        <Input
313
-                            prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
314
-                            placeholder="退款组织"
315
-                        />,
315
+                    {getFieldDecorator('auditStatus')(
316
+                        <Select style={{ width: '180px' }} placeholder="退款状态">
317
+                            <Select.Option value="">全部</Select.Option>
318
+                            <Select.Option value="checking">已申请</Select.Option>
319
+                            <Select.Option value="agree">已退款</Select.Option>
320
+                            <Select.Option value="unAgree">已驳回</Select.Option>
321
+                        </Select>,
316
                     )}
322
                     )}
317
                 </Form.Item>
323
                 </Form.Item>
318
                 <Form.Item>
324
                 <Form.Item>
319
                     <span style={{ marginRight: '10px' }}>退款时间段:</span>
325
                     <span style={{ marginRight: '10px' }}>退款时间段:</span>
320
                     {getFieldDecorator('LocalDate')(
326
                     {getFieldDecorator('LocalDate')(
321
-                        <RangePicker placeholder={['开始时间', '结束时间']} />
327
+                        <RangePicker placeholder={['开始时间', '结束时间']} />,
322
                     )}
328
                     )}
323
                 </Form.Item>
329
                 </Form.Item>
324
                 <Form.Item>
330
                 <Form.Item>
333
             <div>
339
             <div>
334
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
340
                 <Button type="danger" style={{ float: 'right', marginBottom: '20px', zIndex: 1 }} onClick={() => exportList()} >导出</Button>
335
             </div>
341
             </div>
336
-            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={columns} pagination={false} />
342
+            <Table rowKey={r => r.tradeNo} dataSource={data.records} columns={lastColumns} pagination={false} />
337
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
343
             <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
338
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
344
                 <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
339
             </div>
345
             </div>

+ 16
- 7
src/pages/fundManagement/components/Recharge.jsx View File

22
 const SelectContact = props => {
22
 const SelectContact = props => {
23
 
23
 
24
     const [data, setData] = useState([]);
24
     const [data, setData] = useState([]);
25
+    const [disabled, setDisabled] = useState(false);
25
     const [visible, setVisible] = useState(false);
26
     const [visible, setVisible] = useState(false);
26
     const [group, setGroup] = useState({ groupId: undefined, groupName: '充值' })
27
     const [group, setGroup] = useState({ groupId: undefined, groupName: '充值' })
27
 
28
 
32
 
33
 
33
 
34
 
34
     const handleOk = (e) => {
35
     const handleOk = (e) => {
36
+        setDisabled(true)
35
         props.form.validateFieldsAndScroll((err, values) => {
37
         props.form.validateFieldsAndScroll((err, values) => {
36
             console.log(values, "valuesvaluesvaluesvaluesvaluesvaluesvalues")
38
             console.log(values, "valuesvaluesvaluesvaluesvaluesvaluesvalues")
37
 
39
 
40
                     message.info("操作成功")
42
                     message.info("操作成功")
41
                     setVisible(false)
43
                     setVisible(false)
42
                     props.onClick()
44
                     props.onClick()
45
+                    setDisabled(false)
46
+                    props.form.resetFields();
47
+                }).catch(err => {
48
+                    setDisabled(false)
43
                 })
49
                 })
50
+            } else {
51
+                setDisabled(false)
44
             }
52
             }
45
         });
53
         });
46
-
47
-
48
     }
54
     }
49
 
55
 
50
     const { getFieldDecorator } = props.form;
56
     const { getFieldDecorator } = props.form;
51
     const regMoney = /^(\d+|\d+\.\d{1,2})$/;
57
     const regMoney = /^(\d+|\d+\.\d{1,2})$/;
52
     return (
58
     return (
53
-        <div>
54
-            <span onClick={() => setVisible(true)}>{group.groupName}</span>
59
+        <>
60
+            <Button onClick={() => setVisible(true)} type="primary" style={{ marginRight: '10%' }}>{group.groupName}
61
+                {/* <Recharge orgId={newsData.orgId || ''} onClick={() => getDetail(orgId)} accountId={newsData.accountId || ''} /> */}
62
+            </Button>
63
+            {/* <div onClick={() => setVisible(true)} style={{ padding: '0 15px', width: '100%', height: '100%' }}>{group.groupName}</div> */}
55
 
64
 
56
             <Modal
65
             <Modal
57
                 visible={visible}
66
                 visible={visible}
60
                 onCancel={() => setVisible(false)}
69
                 onCancel={() => setVisible(false)}
61
                 footer={[
70
                 footer={[
62
                     <Button key="back" size="large" onClick={() => setVisible(false)}>取消</Button>,
71
                     <Button key="back" size="large" onClick={() => setVisible(false)}>取消</Button>,
63
-                    <Button key="submit" type="primary" size="large" onClick={() => handleOk()}>确认</Button>,
72
+                    <Button key="submit" type="primary" size="large" disabled={disabled} onClick={() => handleOk()}>确认</Button>,
64
                 ]}
73
                 ]}
65
             >
74
             >
66
                 <div>
75
                 <div>
82
 
91
 
83
                         <Form.Item label="充值凭证" help="可上传银行转账截图等作为查账线索">
92
                         <Form.Item label="充值凭证" help="可上传银行转账截图等作为查账线索">
84
                             {getFieldDecorator('certificateList', {
93
                             {getFieldDecorator('certificateList', {
85
-                                rules: [{ required: false }],
94
+                                rules: [{ required: true }],
86
                             })(
95
                             })(
87
                                 <Upload />,
96
                                 <Upload />,
88
                             )}
97
                             )}
95
 
104
 
96
 
105
 
97
             </Modal>
106
             </Modal>
98
-        </div>
107
+        </>
99
     )
108
     )
100
 }
109
 }
101
 
110
 

+ 21
- 21
src/pages/fundManagement/components/Refund.jsx View File

30
 
30
 
31
     }, [props.value])
31
     }, [props.value])
32
 
32
 
33
-
34
-    const handleOk = (e) => {
33
+    const handleOk = () => {
35
         props.form.validateFieldsAndScroll((err, values) => {
34
         props.form.validateFieldsAndScroll((err, values) => {
36
             console.log(values, "valuesvaluesvaluesvaluesvaluesvaluesvalues")
35
             console.log(values, "valuesvaluesvaluesvaluesvaluesvaluesvalues")
37
             if (!err) {
36
             if (!err) {
38
-                request({ ...apis.fund.accoutRefund, urlData: { id: props.accountId || '' }, data: { ...values, orgId: props.orgId } }).then((data) => {
39
-                    message.info("操作成功")
37
+
38
+                request({
39
+                    ...apis.fund.refund, urlData: { id: props.orderId }, data: {
40
+                        orgId: props.orgId,
41
+                        // amount: props.amount,
42
+                        ...values,
43
+                    }
44
+                }).then(data => {
45
+                    console.log(data)
46
+                    message.success('操作成功')
40
                     setVisible(false)
47
                     setVisible(false)
48
+                    // getList({ pageNum: 1, pageSize: 10, orderType: 'refund' });
41
                     props.onClick()
49
                     props.onClick()
42
                 })
50
                 })
43
             }
51
             }
50
     const balance = regFenToYuan(props.realBalance)
58
     const balance = regFenToYuan(props.realBalance)
51
     const regMoney = /^(\d+|\d+\.\d{1,2})$/;
59
     const regMoney = /^(\d+|\d+\.\d{1,2})$/;
52
     return (
60
     return (
53
-        <div>
54
-            <span onClick={() => setVisible(true)}>{group.groupName}</span>
61
+        <>
62
+
63
+            <Button key="back" size="large" onClick={() => setVisible(true)}>{group.groupName}</Button>
64
+            {/* <span onClick={() => setVisible(true)}>{group.groupName}</span> */}
55
 
65
 
56
             <Modal
66
             <Modal
57
                 visible={visible}
67
                 visible={visible}
64
                 ]}
74
                 ]}
65
             >
75
             >
66
                 <div>
76
                 <div>
67
-                    <p style={{ color: 'red' }}>请先进行线下实际退款操作后再执行线上退款存档</p>
68
-                    <Form {...formItemLayout} >
69
 
77
 
70
-                        <Form.Item label="退款金额" >
71
-                            {getFieldDecorator('refundAmount', {
72
-                                rules: [{ required: true, message: '退款金额不能为空' },
73
-                                {
74
-                                    validator: (rule, value, callback) => {
78
+                    <Form {...formItemLayout} >
79
+                        <Form.Item label="退款凭证">
75
 
80
 
76
-                                        callback(!regMoney.test(value) ? '金额最多两位小数' : value > balance.toString() ? '退款金额不能大于余额' : value < 0.01 ? '金额不得小于0.01' : undefined)
81
+                            <span>{regFenToYuan(props.amount)}元</span>
77
 
82
 
78
-                                    }
79
-                                }
80
-                                ],
81
-                            })(<Input type='number' placeholder="支持2位小数" addonAfter="元" />)}
82
                         </Form.Item>
83
                         </Form.Item>
83
-                        <div style={{ marginBottom: '25px' }}><span style={{ width: '25%', display: 'inline-block', textAlign: 'right' }}>余额:</span>{balance}元</div>
84
                         <Form.Item label="退款凭证" help="可上传银行转账截图、微信退款订单等截图作为查账线索">
84
                         <Form.Item label="退款凭证" help="可上传银行转账截图、微信退款订单等截图作为查账线索">
85
                             {getFieldDecorator('certificateList', {
85
                             {getFieldDecorator('certificateList', {
86
-                                rules: [{ required: false }],
86
+                                rules: [{ required: true }],
87
                             })(
87
                             })(
88
                                 <Upload />,
88
                                 <Upload />,
89
                             )}
89
                             )}
92
                 </div>
92
                 </div>
93
 
93
 
94
             </Modal>
94
             </Modal>
95
-        </div>
95
+        </>
96
     )
96
     )
97
 }
97
 }
98
 
98
 

+ 10
- 5
src/pages/fundManagement/components/SelectContact.jsx View File

3
 import request from '../../../utils/request';
3
 import request from '../../../utils/request';
4
 import apis from '../../../services/apis';
4
 import apis from '../../../services/apis';
5
 import router from 'umi/router';
5
 import router from 'umi/router';
6
+import styles from './style.less'
6
 
7
 
7
 const { Column, ColumnGroup } = Table;
8
 const { Column, ColumnGroup } = Table;
8
 const SelectContact = props => {
9
 const SelectContact = props => {
105
         },
106
         },
106
         {
107
         {
107
             title: '对外头衔',
108
             title: '对外头衔',
108
-            dataIndex: 'job',
109
-            key: 'job',
109
+            dataIndex: 'appellation',
110
+            key: 'appellation',
110
             align: 'center',
111
             align: 'center',
111
             ellipsis: true,
112
             ellipsis: true,
112
         },
113
         },
125
     const { getFieldDecorator } = props.form
126
     const { getFieldDecorator } = props.form
126
 
127
 
127
     return (
128
     return (
128
-        <div>
129
-            <span style={{ color: '#fff' }} onClick={() => setVisible(true)}>{group.groupName}</span>
129
+        <div >
130
+
131
+            <Button type="danger" onClick={() => setVisible(true)} className={styles.addBtn} >{group.groupName}
132
+                {/* <SelectContact type="danger" onClick={() => getList({ pageNum: 1, pageSize: 10 })} /> */}
133
+            </Button>
134
+            {/* <div style={{ color: '#fff', padding: '0 15px', height: '32px', lineHeight: '32px' }} onClick={() => setVisible(true)}>{group.groupName}</div> */}
130
 
135
 
131
             <Modal
136
             <Modal
132
                 title="选择联系人"
137
                 title="选择联系人"
162
                         )}
167
                         )}
163
                     </Form.Item>
168
                     </Form.Item>
164
                     <Form.Item>
169
                     <Form.Item>
165
-                        {getFieldDecorator('job')(
170
+                        {getFieldDecorator('appellation')(
166
                             <Input
171
                             <Input
167
                                 prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
172
                                 prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
168
                                 placeholder="对外头衔"
173
                                 placeholder="对外头衔"

+ 6
- 4
src/pages/fundManagement/components/Swiper.jsx View File

1
-import React, { useEffect } from "react";
1
+import React, { useEffect } from 'react';
2
 // import Swiper from 'swiper';
2
 // import Swiper from 'swiper';
3
 import styles from './style.less'
3
 import styles from './style.less'
4
+import './swiper.less'
4
 import classNames from 'classnames';
5
 import classNames from 'classnames';
5
 import closeImg from '../../../assets/close.png';
6
 import closeImg from '../../../assets/close.png';
6
 // import 'swiper/css/swiper.min.css';
7
 // import 'swiper/css/swiper.min.css';
44
             {list.length > 0 && <div className={styles.mask}>
45
             {list.length > 0 && <div className={styles.mask}>
45
                 <div className={styles.content}>
46
                 <div className={styles.content}>
46
                     <img src={closeImg} alt="" className={styles.close} onClick={onClose} />
47
                     <img src={closeImg} alt="" className={styles.close} onClick={onClose} />
47
-                    <Carousel autoplay>
48
+                    <Carousel autoplay draggable>
48
                         {list.map((item, index) =>
49
                         {list.map((item, index) =>
49
-                            <img style={{ width: '100%', height: '100%', borderRadius: '10px' }} src={item} alt="" />
50
+                            <img className={styles.swiperImg} key={index} style={{ borderRadius: '10px', objectFit: 'contain' }} src={item} alt="" />,
51
+                            // <img className={styles.swiperImg} style={{ width: '32vw', minWidth: '757px', height: '21.3vw', minHeight: '504px', borderRadius: '10px' }} src={item} alt="" />,
50
                         )}
52
                         )}
51
                     </Carousel>
53
                     </Carousel>
52
-                    {/* <div className={classNames(['swiper-container', styles.carousel])}  >
54
+                    {/* <div className={classNames(['swiper-container', styles.carousel])}  >object-fit: contain;
53
                         <div className={classNames(['swiper-wrapper', styles.carousel])} >
55
                         <div className={classNames(['swiper-wrapper', styles.carousel])} >
54
                             {list.map((item, index) =>
56
                             {list.map((item, index) =>
55
                                 <div key={'swiper' + index} className={classNames(['swiper-slide', styles.carouselItem])} >
57
                                 <div key={'swiper' + index} className={classNames(['swiper-slide', styles.carouselItem])} >

+ 23
- 2
src/pages/fundManagement/components/style.less View File

1
-.mask{
1
+  .mask{
2
     width: 100vw;
2
     width: 100vw;
3
     height: 100vh;
3
     height: 100vh;
4
     background-color: rgba(0,0,0,0.32);
4
     background-color: rgba(0,0,0,0.32);
85
 
85
 
86
         }
86
         }
87
     }
87
     }
88
-}
88
+}
89
+
90
+.swiperImg{
91
+    max-height: 504px;
92
+     border-radius: 10px;
93
+     object-fit: contain;
94
+}
95
+
96
+.ant-carousel .slick-slide {
97
+    
98
+    text-align: center;
99
+    width: 32vw;
100
+    min-width: 757px;
101
+    height: 21.3vw;
102
+    min-height: 504px;
103
+    background: #364d79;
104
+    overflow: hidden;
105
+  }
106
+  
107
+  .ant-carousel .slick-slide h3 {
108
+    color: #fff;
109
+  }

+ 10
- 0
src/pages/fundManagement/components/swiper.less View File

1
+.ant-carousel .slick-slide {
2
+    
3
+    text-align: center;
4
+    // width: 32vw;
5
+    // min-width: 757px;
6
+    // height: 21.3vw;
7
+    // min-height: 504px;
8
+    background: #364d79;
9
+    overflow: hidden;
10
+  }

+ 1
- 1
src/pages/sample/h5/components/H5Sample.jsx View File

146
                     </Form.Item>
146
                     </Form.Item>
147
                 </Form>
147
                 </Form>
148
 
148
 
149
-                <Table dataSource={data.records || []} columns={columns} pagination={false} />
149
+                <Table rowKey={r => r.h5TemplateId}  dataSource={data.records || []} columns={columns} pagination={false} />
150
                 <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
150
                 <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
151
                     <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
151
                     <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
152
                 </div>
152
                 </div>

+ 1
- 1
src/pages/sample/h5/edit.jsx View File

98
               rules: [{ max: 300, message: '样例体验链接不超过300个字符' }],
98
               rules: [{ max: 300, message: '样例体验链接不超过300个字符' }],
99
             })(<Input placeholder="若样例暂未发布到小程序,可直接粘贴网页链接"/>)}
99
             })(<Input placeholder="若样例暂未发布到小程序,可直接粘贴网页链接"/>)}
100
           </Form.Item>
100
           </Form.Item>
101
-          <Form.Item label="H5模板" >
101
+          <Form.Item label="H5模板" help="未配置模板的样例,客户无法直接新增H5" >
102
             {getFieldDecorator('taH5Template',{
102
             {getFieldDecorator('taH5Template',{
103
               trigger: 'onChoosed'
103
               trigger: 'onChoosed'
104
             })(<H5Sample />)}
104
             })(<H5Sample />)}

+ 32
- 32
src/pages/sample/h5/index.jsx View File

1
 import React, { useState, useEffect } from 'react';
1
 import React, { useState, useEffect } from 'react';
2
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
2
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
-import { Form, Pagination, Card, Button, Icon, Tooltip, message,   notification, Modal, Table, Select,Input, DatePicker,Row, Col  } from 'antd';
3
+import { Form, Pagination, Card, Button, Icon, Tooltip, message, notification, Modal, Table, Select, Input, DatePicker, Row, Col } from 'antd';
4
 import router from 'umi/router';
4
 import router from 'umi/router';
5
 import moment from 'moment';
5
 import moment from 'moment';
6
 import className from 'classnames';
6
 import className from 'classnames';
15
 
15
 
16
 function header(props) {
16
 function header(props) {
17
   // 获取初始化数据
17
   // 获取初始化数据
18
-  const [ data, setData ] = useState({})
18
+  const [data, setData] = useState({})
19
 
19
 
20
   useEffect(() => {
20
   useEffect(() => {
21
     getList({ pageNum: 1, pageSize: 12 });
21
     getList({ pageNum: 1, pageSize: 12 });
22
-  },[])
22
+  }, [])
23
 
23
 
24
   // 查询列表
24
   // 查询列表
25
   const getList = (params) => {
25
   const getList = (params) => {
26
     request({ ...apis.sample.h5list, params: { ...params } }).then((data) => {
26
     request({ ...apis.sample.h5list, params: { ...params } }).then((data) => {
27
-        console.log(data)
28
-        setData(data)
27
+      console.log(data)
28
+      setData(data)
29
     })
29
     })
30
   }
30
   }
31
 
31
 
32
-  
32
+
33
   // 提交事件
33
   // 提交事件
34
   const handleSubmit = (e, props) => {
34
   const handleSubmit = (e, props) => {
35
     e.preventDefault();
35
     e.preventDefault();
36
     e.stopPropagation();
36
     e.stopPropagation();
37
     props.form.validateFields((err, values) => {
37
     props.form.validateFields((err, values) => {
38
       if (!err) {
38
       if (!err) {
39
-        let {createDate, ...submitValue} = values
40
-        if(null != createDate && createDate.length > 0){
39
+        let { createDate, ...submitValue } = values
40
+        if (null != createDate && createDate.length > 0) {
41
           const [startCreateDate, endCreateDate] = createDate
41
           const [startCreateDate, endCreateDate] = createDate
42
           submitValue.startCreateDate = moment(startCreateDate).format('YYYY-MM-DD');
42
           submitValue.startCreateDate = moment(startCreateDate).format('YYYY-MM-DD');
43
           submitValue.endCreateDate = moment(endCreateDate).format('YYYY-MM-DD');
43
           submitValue.endCreateDate = moment(endCreateDate).format('YYYY-MM-DD');
44
-        }else{
44
+        } else {
45
           submitValue.startCreateDate = null
45
           submitValue.startCreateDate = null
46
           submitValue.endCreateDate = null
46
           submitValue.endCreateDate = null
47
         }
47
         }
51
   }
51
   }
52
 
52
 
53
   const changePageNum = (pageNumber) => {
53
   const changePageNum = (pageNumber) => {
54
-    let {createDate, ...submitValue} = props.form.getFieldsValue()
55
-    if(null != createDate && createDate.length > 0){
54
+    let { createDate, ...submitValue } = props.form.getFieldsValue()
55
+    if (null != createDate && createDate.length > 0) {
56
       const [startCreateDate, endCreateDate] = createDate
56
       const [startCreateDate, endCreateDate] = createDate
57
       submitValue.startCreateDate = moment(startCreateDate).format('YYYY-MM-DD');
57
       submitValue.startCreateDate = moment(startCreateDate).format('YYYY-MM-DD');
58
       submitValue.endCreateDate = moment(endCreateDate).format('YYYY-MM-DD');
58
       submitValue.endCreateDate = moment(endCreateDate).format('YYYY-MM-DD');
59
-    }else{
59
+    } else {
60
       submitValue.startCreateDate = null
60
       submitValue.startCreateDate = null
61
       submitValue.endCreateDate = null
61
       submitValue.endCreateDate = null
62
     }
62
     }
74
     });
74
     });
75
   }
75
   }
76
 
76
 
77
-  
77
+
78
   const changeNewsStatus = (row, newsId) => () => {
78
   const changeNewsStatus = (row, newsId) => () => {
79
-    const title = row.status === 0 ? '确定启用吗': '停用后,此账号将无法登录渠道代理商后台'
79
+    const title = row.status === 0 ? '确定启用吗' : '停用后,此账号将无法登录渠道代理商后台'
80
     Modal.confirm({
80
     Modal.confirm({
81
       title: title,
81
       title: title,
82
       okText: '确认',
82
       okText: '确认',
83
       cancelText: '取消',
83
       cancelText: '取消',
84
       onOk() {
84
       onOk() {
85
-        if(row.status === 0){
85
+        if (row.status === 0) {
86
           request({ ...apis.channel.put, urlData: { id: newsId }, data: { ...row, status: 1 } }).then((data) => {
86
           request({ ...apis.channel.put, urlData: { id: newsId }, data: { ...row, status: 1 } }).then((data) => {
87
             message.info('操作成功!')
87
             message.info('操作成功!')
88
             getList({ pageNum: 1, pageSize: 12 });
88
             getList({ pageNum: 1, pageSize: 12 });
90
             console.log(err)
90
             console.log(err)
91
             message.info(err.msg || err.message)
91
             message.info(err.msg || err.message)
92
           })
92
           })
93
-        }else{
93
+        } else {
94
           request({ ...apis.channel.put, urlData: { id: newsId }, data: { ...row, status: 0 } }).then((data) => {
94
           request({ ...apis.channel.put, urlData: { id: newsId }, data: { ...row, status: 0 } }).then((data) => {
95
             message.info('操作成功!')
95
             message.info('操作成功!')
96
             getList({ pageNum: 1, pageSize: 12 });
96
             getList({ pageNum: 1, pageSize: 12 });
99
             message.info(err.msg || err.message)
99
             message.info(err.msg || err.message)
100
           })
100
           })
101
         }
101
         }
102
-        
102
+
103
       }
103
       }
104
     });
104
     });
105
   }
105
   }
106
-   
106
+
107
   function handleReset() {
107
   function handleReset() {
108
     props.form.resetFields();
108
     props.form.resetFields();
109
     getList({ pageNum: 1, pageSize: 12 })
109
     getList({ pageNum: 1, pageSize: 12 })
113
   return (
113
   return (
114
 
114
 
115
     <>
115
     <>
116
-    <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
116
+      <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
117
         <Form.Item>
117
         <Form.Item>
118
           {getFieldDecorator('sampleName')(
118
           {getFieldDecorator('sampleName')(
119
             <Input
119
             <Input
131
           )}
131
           )}
132
         </Form.Item>
132
         </Form.Item>
133
         <Form.Item>
133
         <Form.Item>
134
-            <span style={{marginRight:'10px'}}>新增时间段:</span>
135
-                {getFieldDecorator('createDate')(
136
-                  <RangePicker placeholder={['开始时间','结束时间']} />
137
-                )}
134
+          <span style={{ marginRight: '10px' }}>新增时间段:</span>
135
+          {getFieldDecorator('createDate')(
136
+            <RangePicker placeholder={['开始时间', '结束时间']} />
137
+          )}
138
         </Form.Item>
138
         </Form.Item>
139
         <Form.Item>
139
         <Form.Item>
140
           {getFieldDecorator('tag')(
140
           {getFieldDecorator('tag')(
149
             搜索
149
             搜索
150
           </Button>
150
           </Button>
151
           <Button style={{ marginLeft: 8 }} onClick={handleReset}>
151
           <Button style={{ marginLeft: 8 }} onClick={handleReset}>
152
-              重置
152
+            重置
153
           </Button>
153
           </Button>
154
         </Form.Item>
154
         </Form.Item>
155
       </Form>
155
       </Form>
156
-      
156
+
157
       <Button type="danger" className={styles.addBtn} onClick={toEditH5()}>新增</Button>
157
       <Button type="danger" className={styles.addBtn} onClick={toEditH5()}>新增</Button>
158
-      <Row>      
159
-          {(data.records || []).map(x => (
160
-              <Col span={6}>
161
-                <H5Card h5Data={x} onChange={handleReset}/>
162
-              </Col>
163
-            ))}
158
+      <Row>
159
+        {(data.records || []).map((x, index) => (
160
+          <Col key={index} span={6}>
161
+            <H5Card h5Data={x} onChange={handleReset} />
162
+          </Col>
163
+        ))}
164
       </Row>
164
       </Row>
165
       <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
165
       <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
166
-        <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current}/>
166
+        <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
167
       </div>
167
       </div>
168
     </>
168
     </>
169
   )
169
   )

+ 5
- 0
src/services/apis.js View File

268
       method: 'GET',
268
       method: 'GET',
269
       action: 'channel',
269
       action: 'channel',
270
     },
270
     },
271
+    accountExport: {
272
+      url: `${prefix}/taOrgAccount/taOrgAccountListExport`,
273
+      method: 'GET',
274
+      action: 'channel',
275
+    },
271
   },
276
   },
272
   relatedOrganization: {
277
   relatedOrganization: {
273
     get: {
278
     get: {