|
@@ -64,6 +64,25 @@ const header = (props) => {
|
64
|
64
|
});
|
65
|
65
|
}
|
66
|
66
|
|
|
67
|
+ const toDrainageDetail = (drainageId) => () => {
|
|
68
|
+ router.push({
|
|
69
|
+ pathname: '/activity/drainage/DetailDrainage',
|
|
70
|
+ query: {
|
|
71
|
+ drainageId
|
|
72
|
+ },
|
|
73
|
+ });
|
|
74
|
+ }
|
|
75
|
+
|
|
76
|
+ const exchangeDrainage = drainage => () => {
|
|
77
|
+ request({ ...apis.activity.exchangeDrainage, urlData: { id: drainage.drainageId }, data: drainage }).then((data) => {
|
|
78
|
+ message.info('操作成功!')
|
|
79
|
+ gettaDrainage({ pageNum: 1, pageSize: 10 })
|
|
80
|
+ }).catch((err) => {
|
|
81
|
+ console.log(err)
|
|
82
|
+ message.info(err.msg || err.message)
|
|
83
|
+ })
|
|
84
|
+ }
|
|
85
|
+
|
67
|
86
|
const columns = [
|
68
|
87
|
{
|
69
|
88
|
title: 'H5项目编号',
|
|
@@ -85,23 +104,23 @@ const header = (props) => {
|
85
|
104
|
align: 'center',
|
86
|
105
|
render: (text, datas) => <>
|
87
|
106
|
|
88
|
|
- <div style={{ color: '#66B3FF' }} onClick={() => addshowModal(datas)} >{datas.name}</div>
|
|
107
|
+ <div style={{ color: '#66B3FF', cursor: 'pointer' }} onClick={toDrainageDetail(datas.drainageId)}>{datas.name}</div>
|
89
|
108
|
|
90
|
109
|
</>
|
91
|
110
|
},
|
92
|
111
|
{
|
93
|
|
- title: 'appid',
|
94
|
|
- dataIndex: 'appid',
|
95
|
|
- key: 'appid',
|
|
112
|
+ title: '链接地址',
|
|
113
|
+ dataIndex: 'h5Address',
|
|
114
|
+ key: 'h5Address',
|
96
|
115
|
align: 'center',
|
97
|
116
|
// render: (text, datas) => <div style={ { color: '#66B3FF' } } onClick= {() => addshowModal(datas)} >{ datas.name }</div>,
|
98
|
117
|
},
|
99
|
118
|
{
|
100
|
|
- title: 'secret',
|
101
|
|
- dataIndex: 'appSecret',
|
102
|
|
- key: 'appSecret',
|
|
119
|
+ title: '上架状态',
|
|
120
|
+ dataIndex: 'status',
|
|
121
|
+ key: 'status',
|
103
|
122
|
align: 'center',
|
104
|
|
- // render: (text, datas) => <div style={ { color: '#66B3FF' } } onClick= {() => addshowModal(datas)} >{ datas.name }</div>,
|
|
123
|
+ render: (status) => <span>{status === 1 ? '已上架' : '已下架'}</span>,
|
105
|
124
|
},
|
106
|
125
|
{
|
107
|
126
|
title: '新建时间',
|
|
@@ -115,7 +134,7 @@ const header = (props) => {
|
115
|
134
|
),
|
116
|
135
|
},
|
117
|
136
|
{
|
118
|
|
- title: '截止时间',
|
|
137
|
+ title: '自动下架时间',
|
119
|
138
|
dataIndex: 'endDate',
|
120
|
139
|
key: 'endDate',
|
121
|
140
|
align: 'center',
|
|
@@ -138,27 +157,33 @@ const header = (props) => {
|
138
|
157
|
align: 'center',
|
139
|
158
|
render: (text, datas) => (
|
140
|
159
|
<>
|
141
|
|
- <AuthButton name="admin.customer.recommend.edit.id.put" noRight={null}>
|
142
|
|
- <span style={{ right: '20px', top: '20px', fontSize: ' 0.106rem', zIndex: 1, color: '#FF7E48', cursor: 'pointer' }} onClick={toEditList(datas)}>
|
143
|
|
- 查看详情
|
144
|
|
- </span>
|
145
|
|
- </AuthButton>
|
|
160
|
+ <span style={{ right: '20px', bottom: ' 10px', fontSize: ' 0.106rem', color: '#FF7E48', cursor: 'pointer'}} onClick={() => addshowModal(datas)}>
|
|
161
|
+ 编辑
|
|
162
|
+ </span>
|
146
|
163
|
<AuthButton name="admin.taDrainage.id.delete" noRight={null}>
|
147
|
164
|
<span style={{ right: '20px', bottom: ' 10px', fontSize: ' 0.106rem', color: '#FF7E48', cursor: 'pointer', marginLeft: 20 }} onClick={deleteDrainage(datas.drainageId)}>
|
148
|
165
|
删除
|
149
|
166
|
</span>
|
150
|
167
|
</AuthButton >
|
|
168
|
+ <span style={{ right: '20px', bottom: ' 10px', fontSize: ' 0.106rem', color: '#FF7E48', cursor: 'pointer', marginLeft: 20 }} onClick={exchangeDrainage(datas)}>
|
|
169
|
+ {datas.status === 1 ? '下架' : '上架'}
|
|
170
|
+ </span>
|
|
171
|
+ <AuthButton name="admin.customer.recommend.edit.id.put" noRight={null}>
|
|
172
|
+ <span style={{ right: '20px', top: '20px', fontSize: ' 0.106rem', zIndex: 1, color: '#FF7E48', cursor: 'pointer', marginLeft: 20 }} onClick={toEditList(datas)}>
|
|
173
|
+ 数据
|
|
174
|
+ </span>
|
|
175
|
+ </AuthButton>
|
151
|
176
|
</>
|
152
|
177
|
),
|
153
|
178
|
},
|
154
|
179
|
];
|
155
|
180
|
const Forms = props => {
|
156
|
181
|
const { formsDate } = props
|
157
|
|
- useEffect(() => {
|
158
|
|
- if (formsDate) {
|
159
|
|
- props.form.setFieldsValue({ ...formsDate, endDate: formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null })
|
160
|
|
- }
|
161
|
|
- }, [formsDate])
|
|
182
|
+ // useEffect(() => {
|
|
183
|
+ // if (formsDate) {
|
|
184
|
+ // props.form.setFieldsValue({ ...formsDate, endDate: formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null })
|
|
185
|
+ // }
|
|
186
|
+ // }, [formsDate])
|
162
|
187
|
|
163
|
188
|
const [hiddenStatus, setHiddenStatus] = useState(formsdate.isMiniapp)
|
164
|
189
|
|
|
@@ -238,8 +263,13 @@ const header = (props) => {
|
238
|
263
|
|
239
|
264
|
return <Form {...formItemLayout} onSubmit={handleSubmit}>
|
240
|
265
|
|
241
|
|
- <Form.Item label="是否投放小程序端">
|
242
|
|
- {getFieldDecorator('isMiniapp')(
|
|
266
|
+ <Form.Item label="是否投放小程序端" help='选择是后,该活动可投放至小程序的轮播位以及开屏广告'>
|
|
267
|
+ {getFieldDecorator('isMiniapp',{
|
|
268
|
+ initialValue : formsDate.isMiniapp ? 1 : 0,
|
|
269
|
+ rules: [
|
|
270
|
+ { required: true, message: '请选择是否投放小程序' },
|
|
271
|
+ ],
|
|
272
|
+ })(
|
243
|
273
|
<Radio.Group onChange={changeMiniapp}>
|
244
|
274
|
<Radio value={1}>是</Radio>
|
245
|
275
|
<Radio value={0}>否</Radio>
|
|
@@ -247,14 +277,21 @@ const header = (props) => {
|
247
|
277
|
)}
|
248
|
278
|
</Form.Item>
|
249
|
279
|
<Form.Item label="H5项目名称">
|
250
|
|
- {getFieldDecorator('name')(
|
|
280
|
+ {getFieldDecorator('name',{initialValue : formsDate.name,
|
|
281
|
+ rules: [
|
|
282
|
+ { required: true, message: '请输入H5项目名称' },
|
|
283
|
+ ],
|
|
284
|
+ })(
|
251
|
285
|
<Input
|
252
|
286
|
placeholder="请输入H5项目名称"
|
253
|
287
|
/>,
|
254
|
288
|
)}
|
255
|
289
|
</Form.Item>
|
256
|
|
- <Form.Item label="截止时间">
|
257
|
|
- {getFieldDecorator('endDate')(
|
|
290
|
+ <Form.Item label="下架时间">
|
|
291
|
+ {getFieldDecorator('endDate',{initialValue : formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null,
|
|
292
|
+ rules: [
|
|
293
|
+ { required: true, message: '请输入下架时间' },
|
|
294
|
+ ]})(
|
258
|
295
|
<DatePicker
|
259
|
296
|
// prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
|
260
|
297
|
// placeholder={formsdate.endDate}
|
|
@@ -263,23 +300,38 @@ const header = (props) => {
|
263
|
300
|
)}
|
264
|
301
|
</Form.Item>
|
265
|
302
|
{hiddenStatus && (<Form.Item label="活动链接地址">
|
266
|
|
- {getFieldDecorator('h5Address')(
|
|
303
|
+ {getFieldDecorator('h5Address',{initialValue : formsDate.h5Address,
|
|
304
|
+ rules: [
|
|
305
|
+ { required: true, message: '请输入H5活动链接地址' },
|
|
306
|
+ ]})(
|
267
|
307
|
<Input
|
268
|
308
|
placeholder="请输入H5活动链接地址"
|
269
|
309
|
/>,
|
270
|
310
|
)}
|
271
|
311
|
</Form.Item>)}
|
272
|
312
|
{hiddenStatus && (<Form.Item label="分享设置" help="建议图片尺寸:750*600px,比例5:4,格式:jpg">
|
273
|
|
- {getFieldDecorator('shareImg')(<ImageUploader />)}
|
|
313
|
+ {getFieldDecorator('shareImg',{initialValue : formsDate.shareImg,
|
|
314
|
+ rules: [
|
|
315
|
+ { required: true, message: '请选择分享图片' },
|
|
316
|
+ ]})(<ImageUploader />)}
|
274
|
317
|
</Form.Item>)}
|
275
|
|
- {hiddenStatus && (<Form.Item label="活动分享标题">
|
276
|
|
- {getFieldDecorator('shareTitle')(
|
|
318
|
+ {hiddenStatus && (<Form.Item label="活动分享语">
|
|
319
|
+ {getFieldDecorator('shareTitle',{initialValue : formsDate.shareTitle,
|
|
320
|
+ rules: [
|
|
321
|
+ { required: true, message: '请输入活动分享语' },
|
|
322
|
+ ]})(
|
277
|
323
|
<Input
|
278
|
324
|
placeholder="H5活动分享标题,不超过30字符"
|
279
|
325
|
maxLength="30"
|
280
|
326
|
/>,
|
281
|
327
|
)}
|
282
|
328
|
</Form.Item>)}
|
|
329
|
+ {hiddenStatus && (<Form.Item label="中间页飞机图" help="建议图片尺寸:750*1667px,比例9:20,格式:jpg。图片底部不要放置关键信息。">
|
|
330
|
+ {getFieldDecorator('middleImg',{initialValue : formsDate.middleImg,
|
|
331
|
+ rules: [
|
|
332
|
+ { required: true, message: '请选择中间页飞机图' },
|
|
333
|
+ ]})(<ImageUploader />)}
|
|
334
|
+ </Form.Item>)}
|
283
|
335
|
<Form.Item {...tailFormItemLayout}>
|
284
|
336
|
<AuthButton name="admin.taDrainage.id.put" noRight={null}>
|
285
|
337
|
<Button type="primary" htmlType="submit" className={styles.searchBtn} onClick>
|
|
@@ -362,6 +414,12 @@ const header = (props) => {
|
362
|
414
|
});
|
363
|
415
|
}
|
364
|
416
|
|
|
417
|
+ //打开新页面
|
|
418
|
+ const openIndexImg = () => {
|
|
419
|
+ const newWin=window.open('about:blank');
|
|
420
|
+ newWin.location.href="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3632677651,3179755979&fm=26&gp=0.jpg"
|
|
421
|
+ }
|
|
422
|
+
|
365
|
423
|
const { getFieldDecorator } = props.form;
|
366
|
424
|
const { visible, confirmLoading, ModalText, title } = date;
|
367
|
425
|
return (
|
|
@@ -393,6 +451,14 @@ const header = (props) => {
|
393
|
451
|
<Option value="0">否</Option>
|
394
|
452
|
</Select>,
|
395
|
453
|
)}
|
|
454
|
+ </Form.Item>
|
|
455
|
+ <Form.Item>
|
|
456
|
+ {getFieldDecorator('status')(
|
|
457
|
+ <Select style={{ width: '180px' }} placeholder="上架状态">
|
|
458
|
+ <Option value="1">已上架</Option>
|
|
459
|
+ <Option value="0">已下架</Option>
|
|
460
|
+ </Select>,
|
|
461
|
+ )}
|
396
|
462
|
</Form.Item>
|
397
|
463
|
<Form.Item >
|
398
|
464
|
<Button type="primary" htmlType="submit" className={styles.searchBtn} onClick>
|
|
@@ -406,6 +472,7 @@ const header = (props) => {
|
406
|
472
|
<AuthButton name="admin.taDrainage.add.post" noRight={null}>
|
407
|
473
|
<Button type="danger" className={styles.addBtn} onClick={showModal}>新增</Button>
|
408
|
474
|
</AuthButton>
|
|
475
|
+ <span style={{ color: '#66B3FF', cursor: 'pointer', marginLeft: 20 }} onClick={openIndexImg}>什么是H5活动?</span>
|
409
|
476
|
<Modal
|
410
|
477
|
title={title}
|
411
|
478
|
|