|
@@ -1,5 +1,5 @@
|
1
|
1
|
import React, { useState, useEffect } from 'react';
|
2
|
|
-import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker, message, Upload, InputNumber, Checkbox } from 'antd';
|
|
2
|
+import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker, message, Upload, InputNumber, Checkbox } from 'antd';
|
3
|
3
|
import { FormattedMessage } from 'umi-plugin-react/locale';
|
4
|
4
|
import moment from 'moment';
|
5
|
5
|
import router from 'umi/router';
|
|
@@ -20,50 +20,58 @@ const { TextArea } = Input;
|
20
|
20
|
const Base = props => {
|
21
|
21
|
const raiseId = props.raiseId.raiseId
|
22
|
22
|
const salesBatchId = props.salesBatchId
|
23
|
|
- const [ saleBatchData, setSaleBatchData ] = useState({})
|
|
23
|
+ const [saleBatchData, setSaleBatchData] = useState({})
|
24
|
24
|
const [showHelp, setShowHelp] = useState(false)
|
25
|
25
|
const [houseLockingType, setHouseLockingType] = useState('')
|
26
|
26
|
const [preSelectFlag, setPreSelectFlag] = useState(false)
|
|
27
|
+ const [invite, setInvite] = useState()
|
|
28
|
+ const [isShowInviteTel, setIsShowInviteTel] = useState()
|
27
|
29
|
|
28
|
|
- if(raiseId){
|
|
30
|
+ if (raiseId) {
|
29
|
31
|
useEffect(() => {
|
30
|
32
|
getSaleBatchData(raiseId);
|
31
|
33
|
onChangeValue(salesBatchId);
|
32
|
|
- },[])
|
|
34
|
+ }, [])
|
33
|
35
|
|
34
|
|
- // 查询列表
|
35
|
|
- const getSaleBatchData = (raiseId) => {
|
36
|
|
- request({ ...apis.house.taRaiseById, urlData: {id: raiseId} }).then((data) => {
|
37
|
|
- console.log(data)
|
|
36
|
+ // 查询列表
|
|
37
|
+ const getSaleBatchData = (raiseId) => {
|
|
38
|
+ request({ ...apis.house.taRaiseById, urlData: { id: raiseId } }).then((data) => {
|
|
39
|
+ console.log(data)
|
38
|
40
|
setSaleBatchData(data)
|
39
|
|
- })
|
40
|
|
- }
|
|
41
|
+
|
|
42
|
+ if (data != null && data.invite == 1) {
|
|
43
|
+ setIsShowInviteTel("block")
|
|
44
|
+ } else {
|
|
45
|
+ setIsShowInviteTel("none")
|
|
46
|
+ }
|
|
47
|
+ })
|
|
48
|
+ }
|
41
|
49
|
}
|
42
|
50
|
|
43
|
|
- const cancelPage = () =>{
|
|
51
|
+ const cancelPage = () => {
|
44
|
52
|
router.push({
|
45
|
53
|
pathname: '/house/raise/list',
|
46
|
54
|
});
|
47
|
55
|
}
|
48
|
56
|
|
49
|
|
- function onChangeValue(e){
|
50
|
|
- request({ ...apis.house.checkHavingRecord, urlData: {id: e} }).then((data) => {
|
|
57
|
+ function onChangeValue(e) {
|
|
58
|
+ request({ ...apis.house.checkHavingRecord, urlData: { id: e } }).then((data) => {
|
51
|
59
|
setPreSelectFlag(data.havingRecord)
|
52
|
60
|
console.log(preSelectFlag)
|
53
|
61
|
})
|
54
|
62
|
|
55
|
63
|
}
|
56
|
64
|
|
57
|
|
- function changeHouseLockingType(e){
|
|
65
|
+ function changeHouseLockingType(e) {
|
58
|
66
|
props.form.resetFields("payType");
|
59
|
|
- if(e === 'auto'){
|
|
67
|
+ if (e === 'auto') {
|
60
|
68
|
setHouseLockingType('onLine');
|
61
|
|
- }else{
|
|
69
|
+ } else {
|
62
|
70
|
setHouseLockingType('');
|
63
|
71
|
}
|
64
|
72
|
}
|
65
|
73
|
|
66
|
|
- function toDecimal2 (x){
|
|
74
|
+ function toDecimal2(x) {
|
67
|
75
|
var f = parseFloat(x);
|
68
|
76
|
if (isNaN(f)) {
|
69
|
77
|
return false;
|
|
@@ -81,7 +89,7 @@ const Base = props => {
|
81
|
89
|
console.log(s)
|
82
|
90
|
return s;
|
83
|
91
|
}
|
84
|
|
- function regFenToYuan(fen){
|
|
92
|
+ function regFenToYuan(fen) {
|
85
|
93
|
var num = fen;
|
86
|
94
|
num = fen * 0.01;
|
87
|
95
|
num += '';
|
|
@@ -92,27 +100,27 @@ const Base = props => {
|
92
|
100
|
return num
|
93
|
101
|
}
|
94
|
102
|
|
95
|
|
- function handleSubmit (e) {
|
|
103
|
+ function handleSubmit(e) {
|
96
|
104
|
e.preventDefault();
|
97
|
105
|
props.form.validateFields((err, values) => {
|
98
|
|
- if (!err){
|
|
106
|
+ if (!err) {
|
99
|
107
|
console.log(values)
|
100
|
|
- if (values.payType == 'onLine' && (values.payDescriptionOnline == '' || values.payDescriptionOnline == null)){
|
|
108
|
+ if (values.payType == 'onLine' && (values.payDescriptionOnline == '' || values.payDescriptionOnline == null)) {
|
101
|
109
|
message.info("请填写线上缴费说明");
|
102
|
110
|
return;
|
103
|
111
|
}
|
104
|
|
- if (values.payType == 'offLine' && (values.payDescriptionOffline == '' || values.payDescriptionOffline == null)){
|
|
112
|
+ if (values.payType == 'offLine' && (values.payDescriptionOffline == '' || values.payDescriptionOffline == null)) {
|
105
|
113
|
message.info("请填写线下缴费说明");
|
106
|
114
|
return;
|
107
|
115
|
}
|
108
|
116
|
if ((values.payType == 'onLine' && (values.payDescriptionOnline == '' || values.payDescriptionOnline == null)) ||
|
109
|
|
- (values.payType == 'offLine' && (values.payDescriptionOffline == '' || values.payDescriptionOffline == null))){
|
|
117
|
+ (values.payType == 'offLine' && (values.payDescriptionOffline == '' || values.payDescriptionOffline == null))) {
|
110
|
118
|
message.info("请填写缴费说明");
|
111
|
119
|
return;
|
112
|
120
|
}
|
113
|
|
-
|
114
|
|
- let {liveTime, ...submitValue} = values
|
115
|
|
- if (values.raiseStartTime > values.raiseEndTime){
|
|
121
|
+
|
|
122
|
+ let { liveTime, ...submitValue } = values
|
|
123
|
+ if (values.raiseStartTime > values.raiseEndTime) {
|
116
|
124
|
message.info("认筹结束时间大于认筹开始时间")
|
117
|
125
|
return;
|
118
|
126
|
}
|
|
@@ -120,7 +128,7 @@ const Base = props => {
|
120
|
128
|
values.raiseEndTime = moment(values.raiseEndTime).format('YYYY-MM-DD HH:mm:ss')
|
121
|
129
|
values.payType = values.payType.toString();
|
122
|
130
|
values.raisePrice = values.raisePrice * 100;
|
123
|
|
- request({ ...apis.house.updateRaise, urlData: { id: raiseId }, data: { ...values },}).then((data) => {
|
|
131
|
+ request({ ...apis.house.updateRaise, urlData: { id: raiseId }, data: { ...values }, }).then((data) => {
|
124
|
132
|
message.info("保存成功")
|
125
|
133
|
}).catch((err) => {
|
126
|
134
|
message.info(err.msg || err.message)
|
|
@@ -129,94 +137,113 @@ const Base = props => {
|
129
|
137
|
});
|
130
|
138
|
}
|
131
|
139
|
|
|
140
|
+ const changeInvite = e => {
|
|
141
|
+ if (e.target.value == 1) {
|
|
142
|
+ setInvite(1)
|
|
143
|
+ setIsShowInviteTel("block")
|
|
144
|
+ } else {
|
|
145
|
+ setInvite(0)
|
|
146
|
+ setIsShowInviteTel("none")
|
|
147
|
+ }
|
|
148
|
+ }
|
|
149
|
+
|
132
|
150
|
const { getFieldDecorator } = props.form;
|
133
|
151
|
|
134
|
152
|
return (
|
135
|
153
|
<>
|
136
|
154
|
<Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
|
137
|
155
|
<Form.Item label="销售楼盘">
|
138
|
|
- {getFieldDecorator('buildingId', {initialValue:saleBatchData.buildingId,
|
|
156
|
+ {getFieldDecorator('buildingId', {
|
|
157
|
+ initialValue: saleBatchData.buildingId,
|
139
|
158
|
rules: [{ required: true, message: ' 请输入销售楼盘' }],
|
140
|
159
|
})(<BuildingSelect />)}
|
141
|
160
|
</Form.Item>
|
142
|
161
|
<Form.Item label="销售批次">
|
143
|
162
|
{getFieldDecorator('salesBatchId', {
|
144
|
163
|
rules: [{ required: true, message: ' 请输入销售批次' }], onChange: onChangeValue
|
145
|
|
- ,initialValue:saleBatchData.salesBatchId})
|
146
|
|
- (<SalesBatch type = 'false'/>)}
|
|
164
|
+ , initialValue: saleBatchData.salesBatchId
|
|
165
|
+ })
|
|
166
|
+ (<SalesBatch type='false' />)}
|
147
|
167
|
</Form.Item>
|
148
|
168
|
<Form.Item label="备注">
|
149
|
|
- {getFieldDecorator('remark', {initialValue: saleBatchData.remark})(<Input disabled />)}
|
|
169
|
+ {getFieldDecorator('remark', { initialValue: saleBatchData.remark })(<Input disabled />)}
|
150
|
170
|
</Form.Item>
|
151
|
171
|
<Form.Item label="发布状态">
|
152
|
172
|
{getFieldDecorator('status', {
|
153
|
|
- rules: [{ required: true, message: ' 请输入销售批次' }], onChange: onChangeValue
|
154
|
|
- ,initialValue:saleBatchData.status == 1 ? '1' : '0'})(<Select placeholder="发布状态" style={{ width: '300px' }} disabled>
|
155
|
|
- <Option value="0">否</Option>
|
156
|
|
- <Option value="1">是</Option>
|
157
|
|
- </Select>)}
|
|
173
|
+ rules: [{ required: true, message: ' 请输入销售批次' }], onChange: onChangeValue
|
|
174
|
+ , initialValue: saleBatchData.status == 1 ? '1' : '0'
|
|
175
|
+ })(<Select placeholder="发布状态" style={{ width: '300px' }} disabled>
|
|
176
|
+ <Option value="0">否</Option>
|
|
177
|
+ <Option value="1">是</Option>
|
|
178
|
+ </Select>)}
|
158
|
179
|
</Form.Item>
|
159
|
180
|
<Form.Item label="认筹开始时间">
|
160
|
|
- {getFieldDecorator('raiseStartTime', {initialValue : saleBatchData.raiseStartTime ? moment(saleBatchData.raiseStartTime , 'YYYY-MM-DD HH:mm:ss') : null,
|
161
|
|
- rules: [
|
162
|
|
- {
|
163
|
|
- required: true,
|
164
|
|
- message: '请选择认筹开始时间',
|
165
|
|
- },
|
166
|
|
- ],
|
167
|
|
- })(<DatePicker showTime={{ format: 'HH:mm:ss' }} format="YYYY-MM-DD HH:mm:ss" />)}
|
|
181
|
+ {getFieldDecorator('raiseStartTime', {
|
|
182
|
+ initialValue: saleBatchData.raiseStartTime ? moment(saleBatchData.raiseStartTime, 'YYYY-MM-DD HH:mm:ss') : null,
|
|
183
|
+ rules: [
|
|
184
|
+ {
|
|
185
|
+ required: true,
|
|
186
|
+ message: '请选择认筹开始时间',
|
|
187
|
+ },
|
|
188
|
+ ],
|
|
189
|
+ })(<DatePicker showTime={{ format: 'HH:mm:ss' }} format="YYYY-MM-DD HH:mm:ss" />)}
|
168
|
190
|
</Form.Item>
|
169
|
191
|
<Form.Item label="认筹结束时间">
|
170
|
|
- {getFieldDecorator('raiseEndTime', {initialValue : saleBatchData.raiseEndTime ? moment(saleBatchData.raiseEndTime , 'YYYY-MM-DD HH:mm:ss') : null,
|
171
|
|
- rules: [
|
172
|
|
- {
|
173
|
|
- required: true,
|
174
|
|
- message: '请选择认筹结束时间',
|
175
|
|
- },
|
176
|
|
- ],
|
177
|
|
- })(<DatePicker showTime={{ format: 'HH:mm:ss' }} format="YYYY-MM-DD HH:mm:ss" />)}
|
|
192
|
+ {getFieldDecorator('raiseEndTime', {
|
|
193
|
+ initialValue: saleBatchData.raiseEndTime ? moment(saleBatchData.raiseEndTime, 'YYYY-MM-DD HH:mm:ss') : null,
|
|
194
|
+ rules: [
|
|
195
|
+ {
|
|
196
|
+ required: true,
|
|
197
|
+ message: '请选择认筹结束时间',
|
|
198
|
+ },
|
|
199
|
+ ],
|
|
200
|
+ })(<DatePicker showTime={{ format: 'HH:mm:ss' }} format="YYYY-MM-DD HH:mm:ss" />)}
|
178
|
201
|
</Form.Item>
|
179
|
202
|
<Form.Item label="锁房方式" help="自动锁房仅适用于线上支付认筹且每次只能认筹一套房源且认筹后其他人无法认筹此房源。其他情况请使用手动锁房。">
|
180
|
|
- {getFieldDecorator('houseLockingType', {initialValue: saleBatchData.houseLockingType,
|
181
|
|
- rules: [{ required: true, message: '请选择锁房方式' }], onChange:changeHouseLockingType
|
182
|
|
- })(<Select placeholder="发布状态" style={{ width: '300px' }} disabled>
|
|
203
|
+ {getFieldDecorator('houseLockingType', {
|
|
204
|
+ initialValue: saleBatchData.houseLockingType,
|
|
205
|
+ rules: [{ required: true, message: '请选择锁房方式' }], onChange: changeHouseLockingType
|
|
206
|
+ })(<Select placeholder="发布状态" style={{ width: '300px' }} disabled>
|
183
|
207
|
<Option value="auto">自动锁房</Option>
|
184
|
208
|
<Option value="manual">手动锁房</Option>
|
185
|
209
|
</Select>)}
|
186
|
210
|
</Form.Item>
|
187
|
|
- <Form.Item style={{marginTop:'20px'}} label="认筹金额" help="最高50000元(需要微信商户号配置的行业为房地产行业:房地产开发,物业,房产中介。若微信商户号配置为其他行业则为3000元若不确定请联系平台相关运营人员。">
|
188
|
|
- {getFieldDecorator('raisePrice', {initialValue:regFenToYuan(saleBatchData.raisePrice),
|
|
211
|
+ <Form.Item style={{ marginTop: '20px' }} label="认筹金额" help="最高50000元(需要微信商户号配置的行业为房地产行业:房地产开发,物业,房产中介。若微信商户号配置为其他行业则为3000元若不确定请联系平台相关运营人员。">
|
|
212
|
+ {getFieldDecorator('raisePrice', {
|
|
213
|
+ initialValue: regFenToYuan(saleBatchData.raisePrice),
|
189
|
214
|
rules: [{ required: true, message: '请输入认筹金额' }],
|
190
|
|
- })(<InputNumber max={50000} min={0.01} step={0.01} placeholder="认筹缴费金额" style={{width:'200px'}} />)}<span>元</span>
|
|
215
|
+ })(<InputNumber max={50000} min={0.01} step={0.01} placeholder="认筹缴费金额" style={{ width: '200px' }} />)}<span>元</span>
|
191
|
216
|
</Form.Item>
|
192
|
|
- <Form.Item style={{marginTop:'20px'}} label="认筹需预选" help="设置是否需要客户之前预选了房源才能认筹。">
|
193
|
|
- {getFieldDecorator('needPreselection', {initialValue:saleBatchData.needPreselection === false?'false':'true',
|
194
|
|
- rules: [{ required: true, message: '请选择认筹需预选' }],
|
195
|
|
- })(<Select placeholder="预选方式" style={{ width: '300px' }} disabled={preSelectFlag?false:true}>
|
|
217
|
+ <Form.Item style={{ marginTop: '20px' }} label="认筹需预选" help="设置是否需要客户之前预选了房源才能认筹。">
|
|
218
|
+ {getFieldDecorator('needPreselection', {
|
|
219
|
+ initialValue: saleBatchData.needPreselection === false ? 'false' : 'true',
|
|
220
|
+ rules: [{ required: true, message: '请选择认筹需预选' }],
|
|
221
|
+ })(<Select placeholder="预选方式" style={{ width: '300px' }} disabled={preSelectFlag ? false : true}>
|
196
|
222
|
<Option value="false">否</Option>
|
197
|
223
|
<Option value="true">是</Option>
|
198
|
224
|
</Select>)}
|
199
|
225
|
</Form.Item>
|
200
|
|
- <Form.Item style={{marginTop:'20px'}} label="缴费方式" help="锁房方式为自动锁房,缴费方式仅支持线上缴费。锁房方式为手动锁房,缴费方式可多选,线上缴费使用微信支付,线下缴费客户可提交后去线下缴费。">
|
201
|
|
- {getFieldDecorator('payType', {rules: [{ required: true, message: '请选择缴费方式' }],
|
202
|
|
- initialValue: saleBatchData.payType === 'onLine'?'onLine':saleBatchData.payType === 'offLine'?"offLine":['offLine','onLine'] ,
|
|
226
|
+ <Form.Item style={{ marginTop: '20px' }} label="缴费方式" help="锁房方式为自动锁房,缴费方式仅支持线上缴费。锁房方式为手动锁房,缴费方式可多选,线上缴费使用微信支付,线下缴费客户可提交后去线下缴费。">
|
|
227
|
+ {getFieldDecorator('payType', {
|
|
228
|
+ rules: [{ required: true, message: '请选择缴费方式' }],
|
|
229
|
+ initialValue: saleBatchData.payType === 'onLine' ? 'onLine' : saleBatchData.payType === 'offLine' ? "offLine" : ['offLine', 'onLine'],
|
203
|
230
|
})(
|
204
|
231
|
<Checkbox.Group style={{ width: '100%' }}>
|
205
|
|
- <Checkbox value="onLine" disabled={houseLockingType === 'onLine' || (saleBatchData.houseLockingType === 'auto') ?true:false}>线上缴费</Checkbox>
|
206
|
|
- <Checkbox value="offLine" disabled={houseLockingType === 'onLine' || (saleBatchData.houseLockingType === 'auto')?true:false}>
|
207
|
|
- 线下缴费
|
|
232
|
+ <Checkbox value="onLine" disabled={houseLockingType === 'onLine' || (saleBatchData.houseLockingType === 'auto') ? true : false}>线上缴费</Checkbox>
|
|
233
|
+ <Checkbox value="offLine" disabled={houseLockingType === 'onLine' || (saleBatchData.houseLockingType === 'auto') ? true : false}>
|
|
234
|
+ 线下缴费
|
208
|
235
|
</Checkbox>
|
209
|
236
|
</Checkbox.Group>,
|
210
|
237
|
)}
|
211
|
238
|
</Form.Item>
|
212
|
|
- <Form.Item style={{marginTop:'20px'}} label="线上缴费说明">
|
213
|
|
- {getFieldDecorator('payDescriptionOnline', {initialValue:saleBatchData.payDescriptionOnline})(<TextArea placeholder="向客户说明线上缴费相关业务需求" style={{height:'300px'}}></TextArea>)}
|
|
239
|
+ <Form.Item style={{ marginTop: '20px' }} label="线上缴费说明">
|
|
240
|
+ {getFieldDecorator('payDescriptionOnline', { initialValue: saleBatchData.payDescriptionOnline })(<TextArea placeholder="向客户说明线上缴费相关业务需求" style={{ height: '300px' }}></TextArea>)}
|
214
|
241
|
</Form.Item>
|
215
|
242
|
<Form.Item label="线下缴费说明">
|
216
|
|
- {getFieldDecorator('payDescriptionOffline', {initialValue:saleBatchData.payDescriptionOffline})(<TextArea placeholder="填写线下缴费时间地点要求" style={{height:'300px'}}></TextArea>)}
|
|
243
|
+ {getFieldDecorator('payDescriptionOffline', { initialValue: saleBatchData.payDescriptionOffline })(<TextArea placeholder="填写线下缴费时间地点要求" style={{ height: '300px' }}></TextArea>)}
|
217
|
244
|
</Form.Item>
|
218
|
245
|
<Form.Item label="认筹单注意事项">
|
219
|
|
- {getFieldDecorator('raisePrecautions', {initialValue:saleBatchData.raisePrecautions})(<Input maxLength={100} placeholder="客户提交认筹单后的注意事项"/>)}
|
|
246
|
+ {getFieldDecorator('raisePrecautions', { initialValue: saleBatchData.raisePrecautions })(<Input maxLength={100} placeholder="客户提交认筹单后的注意事项" />)}
|
220
|
247
|
</Form.Item>
|
221
|
248
|
<Form.Item label="选房协议" help="若想在协议中自动引用客户信息生成带客户信息的协议,请在选房协议中按如下格式引用:
|
222
|
249
|
${name}其中name代表客户姓名,
|
|
@@ -225,17 +252,35 @@ const Base = props => {
|
225
|
252
|
${date}其中date代表日期(如2020/03/10),
|
226
|
253
|
举例,若想在协议中“乙方:”后显示当前客户姓名,在“乙方:”后输入${name}即可。
|
227
|
254
|
注意,在提交认筹单后在认筹单详情中查看协议才能看到这些引用的具体信息,在认筹过程中,因阅读协议在填写个人信息之前,这些信息会为空白。">
|
228
|
|
- {getFieldDecorator('payProtocol', {
|
|
255
|
+ {getFieldDecorator('payProtocol', {
|
229
|
256
|
rules: [{ required: true, message: '请输入选房协议' }],
|
230
|
|
- initialValue:saleBatchData.payProtocol})(<Wangedit />)}
|
|
257
|
+ initialValue: saleBatchData.payProtocol
|
|
258
|
+ })(<Wangedit />)}
|
|
259
|
+ </Form.Item>
|
|
260
|
+
|
|
261
|
+ <Form.Item label="是否为邀请制" help="若为邀请制,则需要填写哪些手机号的用户可以看到认筹,不在邀请范围内的用户无法认筹,若不为邀请制,则认筹发布后,小程序全部用户都可以进入认筹。">
|
|
262
|
+ {getFieldDecorator('invite', {
|
|
263
|
+ rules: [{ required: true, message: '请选择是否为邀请制' }],
|
|
264
|
+ initialValue: saleBatchData.invite === null ? 0: saleBatchData.invite
|
|
265
|
+ })(<Radio.Group onChange={changeInvite}>
|
|
266
|
+ <Radio value={1}>是</Radio>
|
|
267
|
+ <Radio value={0}>否</Radio>
|
|
268
|
+ </Radio.Group>)}
|
231
|
269
|
</Form.Item>
|
|
270
|
+
|
|
271
|
+ <Form.Item label="被邀请人清单" style={{ display: isShowInviteTel }}>
|
|
272
|
+ {getFieldDecorator('inviteTel', { initialValue: saleBatchData.inviteTel })(<TextArea placeholder="填写被邀请人手机号,每个手机号换行即可,建议在txt文本中编辑好后复制粘贴进来" style={{ height: '300px' }}></TextArea>)}
|
|
273
|
+ </Form.Item>
|
|
274
|
+
|
232
|
275
|
<Form.Item label="扫码查看房源列表">
|
233
|
|
- {getFieldDecorator('qrCode', {
|
|
276
|
+ {getFieldDecorator('qrCode', {
|
234
|
277
|
rules: [{ required: true, message: '请输入选房协议' }],
|
235
|
|
- initialValue:saleBatchData.payProtocol})(<MiniQRCode targetId={saleBatchData.salesBatchId} page="onlineSelling/pages/houseList/index" />)}
|
|
278
|
+ initialValue: saleBatchData.payProtocol
|
|
279
|
+ })(<MiniQRCode targetId={saleBatchData.salesBatchId} page="onlineSelling/pages/houseList/index" />)}
|
236
|
280
|
</Form.Item>
|
|
281
|
+
|
237
|
282
|
<Form.Item wrapperCol={{ span: 15, offset: 7 }}>
|
238
|
|
- <Button type="primary" htmlType="submit"style={{marginRight:'20px'}}>
|
|
283
|
+ <Button type="primary" htmlType="submit" style={{ marginRight: '20px' }}>
|
239
|
284
|
提交
|
240
|
285
|
</Button>
|
241
|
286
|
<Button onClick={() => router.go(-1)}>
|