|
@@ -1,10 +1,15 @@
|
1
|
|
-import React, { useState } from 'react';
|
2
|
|
-import { Form, Input, Button, Icon, Select, Tabs, Radio } from 'antd';
|
|
1
|
+import React, { useState, useEffect } from 'react';
|
|
2
|
+import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker,message } from 'antd';
|
3
|
3
|
import { FormattedMessage } from 'umi-plugin-react/locale';
|
4
|
4
|
import styles from '../style/GoodsList.less';
|
|
5
|
+import moment from 'moment';
|
|
6
|
+import router from 'umi/router';
|
|
7
|
+import BuildSelect from '../../components/SelectButton/BuildSelect'
|
5
|
8
|
import XForm, { FieldTypes } from '../../components/XForm';
|
6
|
9
|
import Wangedit from '../../components/Wangedit/Wangedit'
|
|
10
|
+import request from '../../utils/request'
|
7
|
11
|
|
|
12
|
+const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
|
8
|
13
|
/**
|
9
|
14
|
*
|
10
|
15
|
*
|
|
@@ -12,69 +17,145 @@ import Wangedit from '../../components/Wangedit/Wangedit'
|
12
|
17
|
* @returns
|
13
|
18
|
*/
|
14
|
19
|
const Edit = (props) => {
|
15
|
|
- const [ tab, changeTab ] = useState('basic');
|
|
20
|
+ const [ tab, changeTab ] = useState('basic')
|
16
|
21
|
const dynamicId = props.location.query.dynamicId
|
17
|
|
- console.log(dynamicId)
|
|
22
|
+ const [ dynamicData, setDynamicData ] = useState({})
|
|
23
|
+ if(dynamicId){
|
|
24
|
+ useEffect(() => {
|
|
25
|
+ getDynamicData(dynamicId);
|
|
26
|
+ },[])
|
|
27
|
+
|
|
28
|
+ // 查询列表
|
|
29
|
+ const getDynamicData = (dynamicId) => {
|
|
30
|
+ request({
|
|
31
|
+ url: '/api/admin/buildingDynamic/Details',
|
|
32
|
+ method: 'GET',
|
|
33
|
+ params: { dynamicId },
|
|
34
|
+ }).then((data) => {
|
|
35
|
+ console.log(data)
|
|
36
|
+ setDynamicData(data)
|
|
37
|
+ })
|
|
38
|
+ }
|
|
39
|
+ }
|
|
40
|
+
|
|
41
|
+ const cancelPage = () =>{
|
|
42
|
+ router.push({
|
|
43
|
+ pathname: '/activity/ActivityList',
|
|
44
|
+ });
|
|
45
|
+ }
|
18
|
46
|
|
19
|
47
|
const Basic = (props) => {
|
20
|
48
|
const fields = [
|
21
|
49
|
{
|
22
|
50
|
label: '所属项目',
|
23
|
|
- name: 'org_id',
|
24
|
|
- type: FieldTypes.Text
|
|
51
|
+ name: 'buildingId',
|
|
52
|
+ render: <BuildSelect />,
|
|
53
|
+ value: dynamicData.buildingId,
|
|
54
|
+ rules: [
|
|
55
|
+ {required: true, message: '请选择所属项目'},
|
|
56
|
+ ]
|
25
|
57
|
},
|
26
|
58
|
{
|
27
|
59
|
label: '主图',
|
28
|
|
- name: 'city_id',
|
|
60
|
+ name: 'imgUrl',
|
29
|
61
|
type: FieldTypes.ImageUploader,
|
|
62
|
+ value: dynamicData.imgUrl,
|
30
|
63
|
},
|
31
|
64
|
{
|
32
|
65
|
label: '活动标题',
|
33
|
|
- name: 'share_num',
|
|
66
|
+ name: 'title',
|
34
|
67
|
type: FieldTypes.Text,
|
35
|
|
- placeholder: '不填, 默认使用手机号'
|
|
68
|
+ value: dynamicData.title,
|
|
69
|
+ rules: [
|
|
70
|
+ {required: true, message: '请输入活动标题'},
|
|
71
|
+ ]
|
36
|
72
|
},
|
37
|
73
|
{
|
38
|
74
|
label: '活动时间',
|
39
|
|
- name: 'save_num',
|
40
|
|
- type: FieldTypes.Text,
|
|
75
|
+ name: 'activityTime',
|
|
76
|
+ type: FieldTypes.RangePicker,
|
|
77
|
+ value: dynamicData.startDate != null ? [moment(dynamicData.startDate,'YYYY-MM-DD'),moment(dynamicData.endDate,'YYYY-MM-DD')] : null,
|
41
|
78
|
rules: [
|
42
|
|
- {required: true, message: '请填写手机号'}
|
|
79
|
+ {required: true, message: '请选择活动时间'},
|
43
|
80
|
]
|
44
|
81
|
},
|
45
|
82
|
{
|
46
|
83
|
label: '活动地点',
|
47
|
|
- name: 'pv_num',
|
48
|
|
- type: FieldTypes.ImageUploader,
|
49
|
|
- extra: '建议图片大小 128 * 128'
|
|
84
|
+ name: 'address',
|
|
85
|
+ type: FieldTypes.Text,
|
|
86
|
+ value: dynamicData.address,
|
|
87
|
+ rules: [
|
|
88
|
+ {required: true, message: '请输入活动地点'},
|
|
89
|
+ ]
|
50
|
90
|
},
|
51
|
91
|
{
|
52
|
92
|
label: '活动人数',
|
53
|
|
- name: 'favor_num',
|
54
|
|
- type: FieldTypes.DatePicker,
|
|
93
|
+ name: 'enlistNum',
|
|
94
|
+ type: FieldTypes.Text,
|
|
95
|
+ value: dynamicData.enlistNum,
|
|
96
|
+ rules: [
|
|
97
|
+ {required: true, message: '请输入活动人数'},
|
|
98
|
+ ]
|
55
|
99
|
},
|
56
|
100
|
{
|
57
|
101
|
label: '活动详情',
|
58
|
|
- name: 'expDate',
|
|
102
|
+ name: 'desc',
|
59
|
103
|
render: <Wangedit />,
|
60
|
|
- value: "222222",
|
|
104
|
+ value: dynamicData.desc,
|
61
|
105
|
},
|
62
|
106
|
{
|
63
|
107
|
label: '是否需要报名',
|
64
|
|
- name: 'volume_rate',
|
65
|
|
- type: FieldTypes.DatePicker,
|
|
108
|
+ name: 'isEnlist',
|
|
109
|
+ render: <Radio.Group name="radiogroup">
|
|
110
|
+ <Radio value={1}>是</Radio>
|
|
111
|
+ <Radio value={0}>否</Radio>
|
|
112
|
+ </Radio.Group>,
|
|
113
|
+ value: dynamicData.isEnlist != null ? dynamicData.isEnlist-0 : 1,
|
66
|
114
|
},
|
67
|
115
|
{
|
68
|
116
|
label: '报名时间',
|
69
|
|
- name: 'parking_rate',
|
70
|
|
- type: FieldTypes.DatePicker,
|
|
117
|
+ name: 'signupTime',
|
|
118
|
+ type: FieldTypes.RangePicker,
|
|
119
|
+ value: dynamicData.enlistStart != null ? [moment(dynamicData.enlistStart,'YYYY-MM-DD'),moment(dynamicData.enlistEnd,'YYYY-MM-DD')] : null,
|
|
120
|
+ rules: [
|
|
121
|
+ {required: true, message: '请选择报名时间'},
|
|
122
|
+ ]
|
71
|
123
|
},
|
72
|
124
|
]
|
73
|
125
|
|
74
|
|
- const handleSubmit = val => {
|
75
|
|
- window.console.log('submit data --->', val)
|
|
126
|
+ const handleSubmit = val => {
|
|
127
|
+ let {activityTime,signupTime, ...submitValue} = val
|
|
128
|
+ const [startDate, endDate] = activityTime
|
|
129
|
+ submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
|
|
130
|
+ submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
|
|
131
|
+ const [enlistStart, enlistEnd] = signupTime
|
|
132
|
+ submitValue.enlistStart = moment(enlistStart).format('YYYY-MM-DD');
|
|
133
|
+ submitValue.enlistEnd = moment(enlistEnd).format('YYYY-MM-DD');
|
|
134
|
+ console.log('submit data --->', submitValue)
|
|
135
|
+ if(dynamicId){
|
|
136
|
+ submitValue.dynamicId = dynamicId
|
|
137
|
+ request({
|
|
138
|
+ url: '/api/admin/buildingDynamic/update',
|
|
139
|
+ method: 'PUT',
|
|
140
|
+ data: submitValue,
|
|
141
|
+ }).then((data) => {
|
|
142
|
+ cancelPage()
|
|
143
|
+ }).catch((err) => {
|
|
144
|
+ message.info(err.msg || err.message)
|
|
145
|
+ })
|
|
146
|
+ }else{
|
|
147
|
+ request({
|
|
148
|
+ url: '/api/admin/buildingDynamic/add',
|
|
149
|
+ method: 'POST',
|
|
150
|
+ data: submitValue,
|
|
151
|
+ }).then((data) => {
|
|
152
|
+ cancelPage()
|
|
153
|
+ }).catch((err) => {
|
|
154
|
+ message.info(err.msg || err.message)
|
|
155
|
+ })
|
|
156
|
+ }
|
76
|
157
|
}
|
77
|
|
- return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
|
|
158
|
+ return <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
|
78
|
159
|
}
|
79
|
160
|
|
80
|
161
|
const Poster = (props) => {
|