dingxin 5 gadus atpakaļ
vecāks
revīzija
7713aa67c6
2 mainītis faili ar 166 papildinājumiem un 0 dzēšanām
  1. 129
    0
      src/pages/activity/editActivity.jsx
  2. 37
    0
      src/services/apis.js

+ 129
- 0
src/pages/activity/editActivity.jsx Parādīt failu

@@ -214,6 +214,135 @@ const Edit = props => {
214 214
     });
215 215
   }
216 216
 
217
+  const radioOnChange = e => {
218
+    console.log(e.target.value)
219
+    setDynamicData({ ...dynamicData, isEnlist: e.target.value })
220
+  }
221
+
222
+  const Basic = (props) => {
223
+    const fields = [
224
+      {
225
+        label: '所属项目',
226
+        name: 'buildingId',
227
+        render: <BuildSelect />,
228
+        value: dynamicData.buildingId,
229
+        rules: [
230
+          { required: true, message: '请选择所属项目' },
231
+        ]
232
+      },
233
+      {
234
+        label: '主图',
235
+        name: 'imgUrl',
236
+        type: FieldTypes.ImageUploader,
237
+        value: dynamicData.imgUrl,
238
+        help: '建议图片尺寸:750px*560px',
239
+      },
240
+      {
241
+        label: '活动标题',
242
+        name: 'title',
243
+        type: FieldTypes.Text,
244
+        value: dynamicData.title,
245
+        rules: [
246
+          { required: true, message: '请输入活动标题' },
247
+        ]
248
+      },
249
+      {
250
+        label: '活动时间',
251
+        name: 'activityTime',
252
+        type: FieldTypes.RangePicker,
253
+        value: dynamicData.startDate != null ? [moment(dynamicData.startDate, 'YYYY-MM-DD HH:mm'), moment(dynamicData.endDate, 'YYYY-MM-DD HH:mm')] : null,
254
+        props: {showTime:{ format: 'HH:mm' }},
255
+        rules: [
256
+          { required: true, message: '请选择活动时间' },
257
+        ]
258
+      },
259
+      {
260
+        label: '活动地点',
261
+        name: 'address',
262
+        type: FieldTypes.Text,
263
+        value: dynamicData.address,
264
+        rules: [
265
+          { required: true, message: '请输入活动地点' },
266
+        ]
267
+      },
268
+      {
269
+        label: '活动人数',
270
+        name: 'personNum',
271
+        type: FieldTypes.Text,
272
+        value: dynamicData.personNum,
273
+        rules: [
274
+          { required: true, message: '请输入活动人数' },
275
+        ]
276
+      },
277
+      {
278
+        label: '最大报名人数',
279
+        name: 'maxEnlistByPerson',
280
+        type: FieldTypes.Text,
281
+        value: dynamicData.maxEnlistByPerson,
282
+        rules: [
283
+          { required: true, message: '请输入最大报名人数' },
284
+        ]
285
+      },
286
+      {
287
+        label: '活动详情',
288
+        name: 'desc',
289
+        render: <Wangedit />,
290
+        value: dynamicData.desc,
291
+      },
292
+      {
293
+        label: '是否需要报名',
294
+        name: 'isEnlist',
295
+        render: <Radio.Group name="radiogroup" onChange={(e) => radioOnChange(e)}>
296
+          <Radio value={1}>是</Radio>
297
+          <Radio value={0}>否</Radio>
298
+        </Radio.Group>,
299
+        value: dynamicData.isEnlist != null ? dynamicData.isEnlist - 0 : 1,
300
+      },
301
+      {
302
+        label: '报名时间',
303
+        name: 'signupTime',
304
+        // type: FieldTypes.RangePicker,
305
+        render: dynamicData.isEnlist === 1 ? (<RangePicker format={ 'YYYY/MM/DD HH:mm' } style={{ width: '100%' }} />) : '',
306
+        value: dynamicData.enlistStart != null ? [moment(dynamicData.enlistStart, 'YYYY-MM-DD HH:mm'), moment(dynamicData.enlistEnd, 'YYYY-MM-DD HH:mm')] : null,
307
+        // props: {showTime:{ format: 'HH:mm' }},
308
+        rules: [
309
+          { required: true, message: '请选择报名时间' },
310
+        ]
311
+      },
312
+    ]
313
+
314
+    const handleSubmit = val => {
315
+      let { isEnlist, activityTime, signupTime, ...submitValue } = val
316
+      const [startDate, endDate] = activityTime
317
+      submitValue.startDate = moment(startDate).format('YYYY-MM-DD HH:mm');
318
+      submitValue.endDate = moment(endDate).format('YYYY-MM-DD HH:mm');
319
+      const [enlistStart, enlistEnd] = signupTime
320
+      submitValue.enlistStart = moment(enlistStart).format('YYYY-MM-DD HH:mm');
321
+      submitValue.enlistEnd = moment(enlistEnd).format('YYYY-MM-DD HH:mm');
322
+      console.log('submit data --->', submitValue)
323
+
324
+      if (dynamicId) {
325
+        submitValue.dynamicId = dynamicId
326
+        request({ ...apis.activity.update, data: submitValue }).then((data) => {
327
+          message.info("保存成功")
328
+          cancelPage()
329
+        }).catch((err) => {
330
+          message.info(err.msg || err.message)
331
+        })
332
+      } else {
333
+        request({ ...apis.activity.add, data: submitValue }).then((data) => {
334
+          message.info("保存成功")
335
+          cancelPage()
336
+        }).catch((err) => {
337
+          message.info(err.msg || err.message)
338
+        })
339
+      }
340
+    }
341
+
342
+    return <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
343
+  }
344
+
345
+
217 346
   const Poster = (props) => {
218 347
     const [inputValue, changeInput] = useState('')
219 348
     const [textAreaValue, changeTextArea] = useState('')

+ 37
- 0
src/services/apis.js Parādīt failu

@@ -752,6 +752,43 @@ export default {
752 752
     action: 'admin.taRole.get',
753 753
   },
754 754
  },
755
+ groupActivity: {
756
+  list: {
757
+    url: `${prefix}/taShareActivity/list`,
758
+    method: 'get',
759
+    action: 'admin.taShareActivity.get',
760
+  },
761
+  add: {
762
+    url: `${prefix}/helpActivity/add`,
763
+    method: 'post',
764
+    action: 'admin.taRole.get',
765
+  },
766
+  details: {
767
+    url: `${prefix}/helpActivity/details`,
768
+    method: 'get',
769
+    action: 'admin.taRole.get',
770
+  },
771
+  update: {
772
+    url: `${prefix}/helpActivity/update`,
773
+    method: 'put',
774
+    action: 'admin.taRole.get',
775
+  },
776
+  finish: {
777
+    url: `${prefix}/taShareActivity/finish/:id`,
778
+    method: 'put',
779
+    action: 'admin.taShareActivity.finish',
780
+  },
781
+  top: {
782
+    url: `${prefix}/taShareActivity/weight`,
783
+    method: 'put',
784
+    action: 'admin.taShareActivity.weight',
785
+  },
786
+  record: {
787
+    url: `${prefix}/helpRecord`,
788
+    method: 'get',
789
+    action: 'admin.taRole.get',
790
+  },
791
+ },
755 792
  third: {
756 793
   thirdPartyMiniapp: {
757 794
     url: `${prefix}/thirdPartyMiniapp`,