Yansen 5 jaren geleden
bovenliggende
commit
4b7ae3926a

+ 17
- 5
src/pages/activity/drainage/components/CustomerData.jsx Bestand weergeven

5
 import apis from '../../../../services/apis';
5
 import apis from '../../../../services/apis';
6
 import request from '../../../../utils/request';
6
 import request from '../../../../utils/request';
7
 
7
 
8
+const formateValue = v => {
9
+    return {
10
+        ...v,
11
+        startTime: v.startTime ? `${v.startTime.format('YYYY-MM-DDT00:00:00')}Z` : undefined,
12
+        endTime: v.endTime ? `${v.endTime.format('YYYY-MM-DDT23:59:59')}Z` : undefined,
13
+    }
14
+}
15
+
8
 function CustomerData(props) {
16
 function CustomerData(props) {
9
 
17
 
10
-    const { id } = props
18
+    const { id, drainageId } = props
11
     // const [taNoticeList, setTaNoticeList] = useState([])
19
     // const [taNoticeList, setTaNoticeList] = useState([])
12
     const [data, setData] = useState({})
20
     const [data, setData] = useState({})
13
 
21
 
17
     // 查询列表
25
     // 查询列表
18
 
26
 
19
     const getList = params => {
27
     const getList = params => {
20
-        request({ ...apis.redPacket.getRecordByConditionList, params: { ...params, activityId: id } }).then(data => {
28
+        request({ ...apis.redPacket.getRecordByConditionList, params: { ...params, activityId: id, drainageId } }).then(data => {
21
             setData(data)
29
             setData(data)
22
         })
30
         })
23
     }
31
     }
25
     const changePageNum = pageNumber => {
33
     const changePageNum = pageNumber => {
26
         props.form.validateFields((err, values) => {
34
         props.form.validateFields((err, values) => {
27
             if (!err) {
35
             if (!err) {
28
-                getList({ pageNum: pageNumber, pageSize: 10, ...values })
36
+                getList({ pageNum: pageNumber, pageSize: 10, ...formateValue(values) })
29
             }
37
             }
30
         });
38
         });
31
     }
39
     }
36
             if (!err) {
44
             if (!err) {
37
                 // eslint-disable-next-line no-console
45
                 // eslint-disable-next-line no-console
38
                 console.log('提交数据: ', values)
46
                 console.log('提交数据: ', values)
39
-                getList({ pageNum: 1, pageSize: 10 }, ...values)
47
+                getList({
48
+                    pageNum: 1,
49
+                    pageSize: 10,
50
+                    ...formateValue(values),
51
+                })
40
             }
52
             }
41
         });
53
         });
42
     }
54
     }
110
 
122
 
111
     const exportReport = () => {
123
     const exportReport = () => {
112
 
124
 
113
-        request({ ...apis.redPacket.exportVisitRecordByCondition, responseType: 'blob', params: { ...props.form.getFieldsValue(), activityId: id } }).then(data => {
125
+        request({ ...apis.redPacket.exportVisitRecordByCondition, responseType: 'blob', params: { ...props.form.getFieldsValue(), activityId: id, drainageId } }).then(data => {
114
             download(data)
126
             download(data)
115
         }).catch()
127
         }).catch()
116
     }
128
     }

+ 44
- 3
src/pages/activity/drainage/components/Help.jsx Bestand weergeven

7
 
7
 
8
 const { RangePicker } = DatePicker;
8
 const { RangePicker } = DatePicker;
9
 
9
 
10
+function validatorNum (rule, value, callback) {
11
+    callback(value < 1 || value > 1000 ? '人数必须大于0 小于 1000' : undefined);
12
+}
13
+
10
 function Help(props) {
14
 function Help(props) {
11
 
15
 
12
     const { id, name } = props
16
     const { id, name } = props
61
                 <Form.Item label="助力成功需要人数">
65
                 <Form.Item label="助力成功需要人数">
62
                     {getFieldDecorator('helpSuccesPersons', {
66
                     {getFieldDecorator('helpSuccesPersons', {
63
                         initialValue: data.helpSuccesPersons || 3,
67
                         initialValue: data.helpSuccesPersons || 3,
68
+                        rules: [
69
+                            { required: true, message: '请设置 助力成功需要人数' },
70
+                            { validator: validatorNum },
71
+                        ],
64
                     },
72
                     },
65
                     )(
73
                     )(
66
                         <InputNumber min={1} max={1000} />,
74
                         <InputNumber min={1} max={1000} />,
67
                     )}
75
                     )}
68
                 </Form.Item>
76
                 </Form.Item>
69
-                <Form.Item label="单人每助力次数限制">
77
+                <Form.Item label="单人每助力次数限制">
70
                     {getFieldDecorator('limitNumPerDay', {
78
                     {getFieldDecorator('limitNumPerDay', {
71
                         initialValue: data.limitNumPerDay || 3,
79
                         initialValue: data.limitNumPerDay || 3,
80
+                        rules: [
81
+                            { required: true, message: '请设置 单人每日助力次数限制' },
82
+                            { validator: validatorNum },
83
+                        ],
72
                     })(
84
                     })(
73
                         <InputNumber min={1} max={1000} />,
85
                         <InputNumber min={1} max={1000} />,
74
                     )}
86
                     )}
76
                 <Form.Item label="超出时提示文案">
88
                 <Form.Item label="超出时提示文案">
77
                     {getFieldDecorator('limitPerDayIllegalTip', {
89
                     {getFieldDecorator('limitPerDayIllegalTip', {
78
                         initialValue: data.limitPerDayIllegalTip || '每人每天最多只能助力3次',
90
                         initialValue: data.limitPerDayIllegalTip || '每人每天最多只能助力3次',
91
+                        rules: [
92
+                            { required: true, message: '请设置 超出时提示文案' },
93
+                        ],
79
                     })(
94
                     })(
80
                         <Input placeholder="每人每天最多只能助力3次" />,
95
                         <Input placeholder="每人每天最多只能助力3次" />,
81
                     )}
96
                     )}
83
                 <Form.Item label="单人总助力次数限制">
98
                 <Form.Item label="单人总助力次数限制">
84
                     {getFieldDecorator('limitNumPerPerson', {
99
                     {getFieldDecorator('limitNumPerPerson', {
85
                         initialValue: data.limitNumPerPerson || 3,
100
                         initialValue: data.limitNumPerPerson || 3,
101
+                        rules: [
102
+                            { required: true, message: '请设置 单人总助力次数限制' },
103
+                            { validator: validatorNum },
104
+                        ],
86
                     })(
105
                     })(
87
                         <InputNumber min={1} max={1000} />,
106
                         <InputNumber min={1} max={1000} />,
88
                     )}
107
                     )}
90
                 <Form.Item label="超出时提示文案">
109
                 <Form.Item label="超出时提示文案">
91
                     {getFieldDecorator('limitPerPersonIllegalTip', {
110
                     {getFieldDecorator('limitPerPersonIllegalTip', {
92
                         initialValue: data.limitPerPersonIllegalTip || '每人最多只能为他人助力3次',
111
                         initialValue: data.limitPerPersonIllegalTip || '每人最多只能为他人助力3次',
112
+                        rules: [
113
+                            { required: true, message: '请设置 超出时提示文案' },
114
+                        ],
93
                     })(
115
                     })(
94
                         <Input placeholder="每人最多只能为他人助力3次" />,
116
                         <Input placeholder="每人最多只能为他人助力3次" />,
95
                     )}
117
                     )}
96
                 </Form.Item>
118
                 </Form.Item>
97
                 <Form.Item label="为同一人助力次数限制">
119
                 <Form.Item label="为同一人助力次数限制">
98
                     {getFieldDecorator('limitNumForEachPerson', {
120
                     {getFieldDecorator('limitNumForEachPerson', {
99
-                        initialValue: data.limitNumForEachPerson || 3,
121
+                        initialValue: data.limitNumForEachPerson || 1,
122
+                        rules: [
123
+                            { required: true, message: '请设置 为同一人助力次数限制' },
124
+                            { validator: validatorNum },
125
+                        ],
100
                     })(
126
                     })(
101
                         <InputNumber min={1} max={1000} />,
127
                         <InputNumber min={1} max={1000} />,
102
                     )}
128
                     )}
104
                 <Form.Item label="超出时提示文案">
130
                 <Form.Item label="超出时提示文案">
105
                     {getFieldDecorator('limitForEachPersonIllegalTip', {
131
                     {getFieldDecorator('limitForEachPersonIllegalTip', {
106
                         initialValue: data.limitForEachPersonIllegalTip || '只能为同一人助力1次',
132
                         initialValue: data.limitForEachPersonIllegalTip || '只能为同一人助力1次',
133
+                        rules: [
134
+                            { required: true, message: '请设置 超出时提示文案' },
135
+                        ],
107
                     })(
136
                     })(
108
                         <Input placeholder="只能为同一人助力1次" />,
137
                         <Input placeholder="只能为同一人助力1次" />,
109
                     )}
138
                     )}
111
                 <Form.Item label="助力成功时提示文案">
140
                 <Form.Item label="助力成功时提示文案">
112
                     {getFieldDecorator('successTip', {
141
                     {getFieldDecorator('successTip', {
113
                         initialValue: data.successTip || '助力成功!快去告诉你的好友吧',
142
                         initialValue: data.successTip || '助力成功!快去告诉你的好友吧',
143
+                        rules: [
144
+                            { required: true, message: '请设置 助力成功时提示文案' },
145
+                        ],
114
                     })(
146
                     })(
115
                         <Input placeholder="助力成功!快去告诉你的好友吧" />,
147
                         <Input placeholder="助力成功!快去告诉你的好友吧" />,
116
                     )}
148
                     )}
118
                 <Form.Item label="其他无法助力时提示文案">
150
                 <Form.Item label="其他无法助力时提示文案">
119
                     {getFieldDecorator('warnningTip', {
151
                     {getFieldDecorator('warnningTip', {
120
                         initialValue: data.warnningTip || '无法助力!具体原因请看活动规则',
152
                         initialValue: data.warnningTip || '无法助力!具体原因请看活动规则',
153
+                        rules: [
154
+                            { required: true, message: '请设置 其他无法助力时提示文案' },
155
+                        ],
121
                     })(
156
                     })(
122
                         <Input placeholder="无法助力!具体原因请看活动规则" />,
157
                         <Input placeholder="无法助力!具体原因请看活动规则" />,
123
                     )}
158
                     )}
125
                 <Form.Item label="活动开始~结束时间">
160
                 <Form.Item label="活动开始~结束时间">
126
                     {getFieldDecorator('date', {
161
                     {getFieldDecorator('date', {
127
                         initialValue: data.date || [],
162
                         initialValue: data.date || [],
163
+                        rules: [
164
+                            { required: true, message: '请设置 活动开始~结束时间' },
165
+                        ],
128
                     })(
166
                     })(
129
                         <RangePicker />,
167
                         <RangePicker />,
130
                     )}
168
                     )}
131
                 </Form.Item>
169
                 </Form.Item>
132
-                <Form.Item label="超出时提示文案">
170
+                <Form.Item label="活动结束提示文案">
133
                     {getFieldDecorator('activityEndTip', {
171
                     {getFieldDecorator('activityEndTip', {
134
                         initialValue: data.activityEndTip,
172
                         initialValue: data.activityEndTip,
173
+                        rules: [
174
+                            { required: true, message: '请设置 活动结束提示文案' },
175
+                        ],
135
                     })(
176
                     })(
136
                         <Input placeholder="活动已经结束啦" />,
177
                         <Input placeholder="活动已经结束啦" />,
137
                     )}
178
                     )}

+ 2
- 2
src/pages/activity/drainage/components/Ranking.jsx Bestand weergeven

81
         },
81
         },
82
         {
82
         {
83
             title: '助力人数',
83
             title: '助力人数',
84
-            dataIndex: 'num',
85
-            key: 'num',
84
+            dataIndex: 'votes',
85
+            key: 'votes',
86
             align: 'center',
86
             align: 'center',
87
         },
87
         },
88
     ]
88
     ]

+ 24
- 14
src/pages/activity/drainage/components/RedPacketRecord.jsx Bestand weergeven

5
 import apis from '../../../../services/apis';
5
 import apis from '../../../../services/apis';
6
 import request from '../../../../utils/request';
6
 import request from '../../../../utils/request';
7
 
7
 
8
+const TradingStatus = {
9
+    processing: '进行中',
10
+    success: '成功',
11
+    fail: '失败',
12
+}
13
+
8
 function RedPacketRecord(props) {
14
 function RedPacketRecord(props) {
9
 
15
 
10
     // const [taNoticeList, setTaNoticeList] = useState([])
16
     // const [taNoticeList, setTaNoticeList] = useState([])
15
     useEffect(() => {
21
     useEffect(() => {
16
         console.log(toRedPacketRecord, 'toRedPacketRecord')
22
         console.log(toRedPacketRecord, 'toRedPacketRecord')
17
         if (toRedPacketRecord === 1) {
23
         if (toRedPacketRecord === 1) {
18
-            props.form.setFieldsValue({ packetStatus: '1' })
19
-            getList({ pageNum: 1, pageSize: 10, packetStatus: '1' });
24
+            props.form.setFieldsValue({ tradingStatus: 'success' })
25
+            getList({ pageNum: 1, pageSize: 10, tradingStatus: 'success' });
20
         } else { getList({ pageNum: 1, pageSize: 10 }); }
26
         } else { getList({ pageNum: 1, pageSize: 10 }); }
21
 
27
 
22
     }, [])
28
     }, [])
55
 
61
 
56
     const columns = [
62
     const columns = [
57
         {
63
         {
58
-            title: '微信订单号',
59
-            dataIndex: 'wxOrderId',
60
-            key: 'wxOrderId',
64
+            title: '订单号',
65
+            dataIndex: 'tradeNo',
66
+            key: 'tradeNo',
61
             align: 'center',
67
             align: 'center',
62
         },
68
         },
63
         {
69
         {
81
         },
87
         },
82
         {
88
         {
83
             title: '发放时间',
89
             title: '发放时间',
84
-            dataIndex: 'targetName',
85
-            key: 'targetName',
90
+            key: 'createDate',
86
             align: 'center',
91
             align: 'center',
87
-            render: (x, row) => <><span>{`${moment(row.createDate).format('YYYY-MM-DD HH:mm:ss')}`}</span></>,
92
+            render: (x, row) => <span>{`${moment(row.createDate).format('YYYY-MM-DD HH:mm:ss')}`}</span>,
88
         },
93
         },
89
         {
94
         {
90
             title: '金额(元)',
95
             title: '金额(元)',
94
         },
99
         },
95
         {
100
         {
96
             title: '发送状态',
101
             title: '发送状态',
97
-            dataIndex: 'packetStatus',
98
-            key: 'packetStatus',
102
+            dataIndex: 'tradingStatus',
103
+            key: 'tradingStatus',
99
             align: 'center',
104
             align: 'center',
105
+            render: x => <span>{ TradingStatus[x] || ''}</span>,
100
         },
106
         },
101
     ]
107
     ]
102
 
108
 
107
         <>
113
         <>
108
             <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
114
             <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
109
                 <Form.Item>
115
                 <Form.Item>
110
-                    {getFieldDecorator('wxOrderId')(
116
+                    {getFieldDecorator('tradeNo')(
111
                         <Input
117
                         <Input
112
                             placeholder="订单号"
118
                             placeholder="订单号"
113
                         />,
119
                         />,
121
                     )}
127
                     )}
122
                 </Form.Item>
128
                 </Form.Item>
123
                 <Form.Item>
129
                 <Form.Item>
124
-                    {getFieldDecorator('packetStatus')(
130
+                    {getFieldDecorator('tradingStatus')(
125
                         <Select style={{ width: '180px' }} placeholder="发送状态">
131
                         <Select style={{ width: '180px' }} placeholder="发送状态">
126
                             <option value="">全部</option>
132
                             <option value="">全部</option>
127
-                            <option value="1">成功</option>
128
-                            <option value="0">失败</option>
133
+                            {
134
+                                Object.keys(TradingStatus).map(k => {
135
+                                    const key = `tds-${k}`;
136
+                                    return (<option key={key} value={k}>{TradingStatus[k]}</option>);
137
+                                })
138
+                            }
129
                         </Select>,
139
                         </Select>,
130
                     )}
140
                     )}
131
                 </Form.Item>
141
                 </Form.Item>

+ 1
- 0
src/pages/activity/drainage/detailDrainage.jsx Bestand weergeven

28
       query: {
28
       query: {
29
         id: data.activityId,
29
         id: data.activityId,
30
         name: data.name,
30
         name: data.name,
31
+        drainageId,
31
       },
32
       },
32
     });
33
     });
33
   }
34
   }

+ 2
- 2
src/pages/activity/drainage/h5edit.jsx Bestand weergeven

18
     const [data, setData] = useState({})
18
     const [data, setData] = useState({})
19
     const [toRedPacketRecord, setToRedPacketRecord] = useState()
19
     const [toRedPacketRecord, setToRedPacketRecord] = useState()
20
 
20
 
21
-    const { id, name } = props.location.query
21
+    const { id, name, drainageId } = props.location.query
22
     // const type = props.activeType
22
     // const type = props.activeType
23
 
23
 
24
 
24
 
78
                 {/* 红包记录 */}
78
                 {/* 红包记录 */}
79
                 {(tab === '4' && <RedPacketRecord id={id} toRedPacketRecord={toRedPacketRecord} />)}
79
                 {(tab === '4' && <RedPacketRecord id={id} toRedPacketRecord={toRedPacketRecord} />)}
80
                 {/* 客户数据 */}
80
                 {/* 客户数据 */}
81
-                {(tab === '5' && <CustomerData id={id} />)}
81
+                {(tab === '5' && <CustomerData id={id} drainageId={drainageId} />)}
82
                 {/* 排行榜 */}
82
                 {/* 排行榜 */}
83
                 {(tab === '6' && <Ranking id={id} />)}
83
                 {(tab === '6' && <Ranking id={id} />)}
84
             </div>
84
             </div>