dingxin преди 5 години
родител
ревизия
2614d11543

+ 114
- 73
src/pages/activity/drainage/DrainageList.jsx Целия файл

@@ -19,21 +19,6 @@ const toEditList = (row) => () => {
19 19
   });
20 20
 }
21 21
 
22
-
23
-
24
-const data = [
25
-
26
-  {
27
-    Id: '1',
28
-    name: 'zls',
29
-    // StartTime:'',
30
-    // EndTime:'',
31
-    number: 33,
32
-  }
33
-
34
-
35
-];
36
-
37 22
 const header = (props) => {
38 23
   // const [data, setData] = useState({ data: [] })
39 24
   const [datas, setDatas] = useState([])//表格数据
@@ -90,14 +75,18 @@ const header = (props) => {
90 75
       dataIndex: 'name',
91 76
       key: 'name',
92 77
       align: 'center',
93
-      render: (text, datas) => <AuthButton name="admin.taDrainage.id.put" noRight={null}><div style={{ color: '#66B3FF' }} onClick={() => addshowModal(datas)} >{datas.name}</div></AuthButton>
78
+      render: (text, datas) => <>
79
+
80
+        <div style={{ color: '#66B3FF' }} onClick={() => addshowModal(datas)} >{datas.name}</div>
81
+
82
+      </>
94 83
     },
95 84
     {
96 85
       title: 'appid',
97 86
       dataIndex: 'appid',
98 87
       key: 'appid',
99 88
       align: 'center',
100
-      // render: (text, datas) => <div style={ { color: '#66B3FF' } } onClick= {() => addshowModal(datas)} >{ datas.name }</div>,
89
+      // render: (text, datas) => <div style={ { color: '#66B3FF' } } onClick= {() => addshowModal(datas)} >{ datas.name }</div>, 
101 90
     },
102 91
     {
103 92
       title: 'secret',
@@ -158,61 +147,49 @@ const header = (props) => {
158 147
   const Forms = props => {
159 148
 
160 149
     console.log(date, '---------------')
161
-    console.log(formsdate, '---------------')
150
+    console.log(formsdate.name, '---------------')
162 151
     console.log(formsdate, '22222222')
163
-    const fields = [
164
-      {
165
-        label: 'H5项目名称',
166
-        name: 'name',
167
-        type: FieldTypes.Text,
168
-        placeholder: "请输入H5项目名称",
169
-        value: formsdate.name,
170
-
171
-      },
172
-      {
173
-        label: '截止时间',
174
-        name: 'endDate',
175
-        type: FieldTypes.DatePicker,
176
-        value: formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null
177
-        // render: <DatePicker placeholder="截止时间" value= {formsdate.endDate} />,
178
-      },
179
-
180
-
181
-    ]
182
-
183
-    const handleSubmit = val => {
184
-      console.log(date, '111---------------')
185
-      console.log(formsdate, '111---------------')
186
-      console.log(formsdate, '11122222222')
187
-      // data: { ...submitValue }
188
-
189
-      console.log(formsdate.drainageId, '9999999999999')
190
-      if (formsdate.drainageId) {
191
-        // { ...apis.activity.deletetaDrainage,urlData: { id: drainageIid }, }
192
-        request({ ...apis.activity.updatetaDrainage, urlData: { id: formsdate.drainageId }, data: val }).then((data) => {
193
-          message.info('操作成功!')
194
-          // gettaDrainage({ pageNum: 1, pageSize: 10 })
195
-        }).catch((err) => {
196
-          console.log('111111', err)
197
-          message.info(err.msg || err.message)
198
-        })
199
-
200
-      } else {
201 152
 
202 153
 
203
-
204
-        request({ ...apis.activity.addtaDrainage, data: val }).then((data) => {
205
-          message.info("保存成功")
206
-          console.log(data, '22222')
207
-
208
-        }).catch((err) => {
209
-          message.error(err.msg || err.message)
210
-        })
154
+    const { formsDate } = props
155
+    useEffect(() => {
156
+      if (formsDate) {
157
+        props.form.setFieldsValue({ name: formsdate.name, endDate: formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null })
211 158
       }
212
-      setDate({
213
-        visible: false,
159
+    }, [formsDate])
160
+
161
+
162
+    const handleSubmit = e => {
163
+      e.preventDefault();
164
+      props.form.validateFields((err, values) => {
165
+        if (!err) {
166
+          if (formsDate.drainageId) {
167
+            // { ...apis.activity.deletetaDrainage,urlData: { id: drainageIid }, }
168
+            request({ ...apis.activity.updatetaDrainage, urlData: { id: formsDate.drainageId }, data: values }).then((data) => {
169
+              message.info('操作成功!')
170
+              gettaDrainage({ pageNum: 1, pageSize: 10 })
171
+              setDate({
172
+                visible: false,
173
+              });
174
+            }).catch((err) => {
175
+              console.log('111111', err)
176
+              message.info(err.msg || err.message)
177
+            })
178
+
179
+          } else {
180
+
181
+            request({ ...apis.activity.addtaDrainage, data: values }).then((data) => {
182
+              message.info("操作成功")
183
+              gettaDrainage({ pageNum: 1, pageSize: 10 })
184
+              setDate({
185
+                visible: false,
186
+              });
187
+            }).catch((err) => {
188
+              message.error(err.msg || err.message)
189
+            })
190
+          }
191
+        }
214 192
       });
215
-      gettaDrainage({ pageNum: 1, pageSize: 10 })
216 193
     }
217 194
 
218 195
     const handleCancel = val => {
@@ -221,10 +198,66 @@ const header = (props) => {
221 198
       });
222 199
     }
223 200
 
224
-    return <XForm onSubmit={handleSubmit} onCancel={handleCancel} fields={fields}></XForm>
201
+    const tailFormItemLayout = {
202
+      wrapperCol: {
203
+        xs: {
204
+          span: 24,
205
+          offset: 0,
206
+        },
207
+        sm: {
208
+          span: 16,
209
+          offset: 8,
210
+        },
211
+      },
212
+    };
225 213
 
226
-  }
214
+    const formItemLayout = {
215
+      labelCol: {
216
+        xs: { span: 24 },
217
+        sm: { span: 8 },
218
+      },
219
+      wrapperCol: {
220
+        xs: { span: 24 },
221
+        sm: { span: 16 },
222
+      },
223
+    };
227 224
 
225
+    const { getFieldDecorator } = props.form;
226
+    {/* <XForm onSubmit={handleSubmit} onCancel={handleCancel} fields={fields} ></XForm> */ }
227
+
228
+    return <Form {...formItemLayout} onSubmit={handleSubmit}>
229
+
230
+
231
+      <Form.Item label="H5项目名称">
232
+        {getFieldDecorator('name')(
233
+          <Input
234
+            placeholder="请输入H5项目名称"
235
+          />,
236
+        )}
237
+      </Form.Item>
238
+      <Form.Item label="截止时间">
239
+        {getFieldDecorator('endDate')(
240
+          <DatePicker
241
+          // prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
242
+          // placeholder={formsdate.endDate}
243
+          // value= formsdate.endDate ? moment(formsdate.endDate, 'YYYY-MM-DD HH:mm') : null
244
+          />,
245
+        )}
246
+      </Form.Item>
247
+      <Form.Item {...tailFormItemLayout}>
248
+        <AuthButton name="admin.taDrainage.id.put" noRight={null}>
249
+          <Button type="primary" htmlType="submit" className={styles.searchBtn} onClick>
250
+            确定
251
+    </Button>
252
+        </AuthButton>
253
+        <Button style={{ marginLeft: 8 }} onClick={handleCancel}>
254
+          取消
255
+      </Button>
256
+      </Form.Item>
257
+    </Form>
258
+
259
+  }
260
+  const Formss = Form.create({ name: 'Forms' })(Forms);
228 261
 
229 262
 
230 263
 
@@ -247,7 +280,13 @@ const header = (props) => {
247 280
     console.log(formsdate, '22222222')
248 281
     setDate({
249 282
       visible: true,
283
+      title: "修改H5项目"
250 284
     });
285
+
286
+
287
+    console.log('form :', props.form)
288
+
289
+
251 290
   };
252 291
   function showModal () {
253 292
     setFormsDate({
@@ -257,6 +296,7 @@ const header = (props) => {
257 296
     })
258 297
     setDate({
259 298
       visible: true,
299
+      title: '新建H5项目'
260 300
     });
261 301
   };
262 302
   const changePageNum = pageNumber => {
@@ -296,7 +336,7 @@ const header = (props) => {
296 336
   }
297 337
 
298 338
   const { getFieldDecorator } = props.form;
299
-  const { visible, confirmLoading, ModalText } = date;
339
+  const { visible, confirmLoading, ModalText, title } = date;
300 340
   return (
301 341
     <>
302 342
       <div>
@@ -319,7 +359,7 @@ const header = (props) => {
319 359
               />,
320 360
             )}
321 361
           </Form.Item>
322
-          <Form.Item>
362
+          <Form.Item >
323 363
             <Button type="primary" htmlType="submit" className={styles.searchBtn} onClick>
324 364
               搜索
325 365
           </Button>
@@ -332,14 +372,15 @@ const header = (props) => {
332 372
           <Button type="danger" className={styles.addBtn} onClick={showModal}>新增</Button>
333 373
         </AuthButton>
334 374
         <Modal
335
-          title="新建H5项目"
375
+          title={title}
376
+
336 377
           visible={visible}
337 378
           //  onOk={handleOk}
338 379
           confirmLoading={confirmLoading}
339 380
           onCancel={handleCancel}
340 381
           footer={null}
341 382
         >
342
-          <Forms />
383
+          <Formss formsDate={formsdate} />
343 384
         </Modal>
344 385
         <Table columns={columns} dataSource={datas.records} pagination={false} rowKey="drainageList" />
345 386
         <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>

+ 27
- 4
src/pages/building/list/add/components/amap.jsx Целия файл

@@ -4,12 +4,15 @@ import { Map, Marker } from 'react-amap';
4 4
 import styles from '../amap.less'
5 5
 
6 6
 class Amap extends React.Component {
7
+
7 8
   constructor(props) {
8 9
     super(props);
10
+    
9 11
     // 高德地图 Marker 实例
10 12
     this.markerInstance = undefined
11 13
     // 高德地图 Map 实例
12 14
     this.mapInstance = undefined
15
+
13 16
     this.amapEvents = {
14 17
       created: mapInstance => {
15 18
         console.log('高德地图 Map 实例创建成功;如果你要亲自对实例进行操作,可以从这里开始。比如:');
@@ -20,7 +23,7 @@ class Amap extends React.Component {
20 23
           // 实例化Autocomplete
21 24
           const autoOptions = {
22 25
             // city 限定城市,默认全国
23
-            city: '全国',
26
+            // city: '025',
24 27
             // input 为绑定输入提示功能的input的DOM ID
25 28
             input: 'amapInput',
26 29
           }
@@ -76,14 +79,34 @@ class Amap extends React.Component {
76 79
       },
77 80
     }
78 81
     this.markerPosition = { longitude: 120, latitude: 30 };
82
+    const { value } = this.props
83
+    console.log('项目地图 value', value)
84
+
85
+
86
+
87
+    this.setMapPosition.bind(this)
79 88
   }
80 89
 
81
-  render() {
90
+  componentDidUpdate(prevProps) {
82 91
     const { value } = this.props
83
-    if (value) {
84
-     // this.markerInstance.setPosition(value.split(','))
92
+    // console.log('项目地图 value', value)
93
+    console.log('this.markerInstance: ', this.markerInstance, this.props)
94
+    if (this.props.value !== prevProps.value) {
95
+      if (value) {
96
+        console.log('项目地图 value', value)
97
+        this.setMapPosition(value)
98
+      }
99
+    }
100
+  }
101
+
102
+  setMapPosition(value) {
103
+    console.log('获取this:', this.markerInstance)
104
+    if (this.markerInstance) {
105
+      // this.markerInstance.setPosition(value)
85 106
     }
107
+  }
86 108
 
109
+  render() {
87 110
     return (
88 111
       <>
89 112
         <div style={{ width: '100%', height: '400px', position: 'relative' }}>

+ 18
- 6
src/pages/building/list/add/components/base.jsx Целия файл

@@ -115,7 +115,9 @@ function AddBuilding(props) {
115 115
             {getFieldDecorator('name')(<Input />)}
116 116
           </Form.Item> */}
117 117
           <Form.Item label="项目类型">
118
-            {getFieldDecorator('buildingProjectType')(<BudildingProjectType />)}
118
+            {getFieldDecorator('buildingProjectType', {
119
+              rules: [{ required: true, message: '请选择项目类型' }],
120
+            })(<BudildingProjectType />)}
119 121
           </Form.Item>
120 122
           <Form.Item label="均价" >
121 123
             {getFieldDecorator('price')(<Input type="number" style={{ width: '210px' }}/>)}元/m²
@@ -146,7 +148,9 @@ function AddBuilding(props) {
146 148
             )}
147 149
           </Form.Item>
148 150
           <Form.Item label="销售状态" >
149
-            {getFieldDecorator('marketStatus')(
151
+            {getFieldDecorator('marketStatus', {
152
+              rules: [{ required: true, message: '请选择销售状态' }],
153
+            })(
150 154
               <Select placeholder="销售状态" style={{ width: '1016px' }}>
151 155
                 <Option value="待定">待定</Option>
152 156
                 <Option value="在售">在售</Option>
@@ -162,7 +166,9 @@ function AddBuilding(props) {
162 166
             )}
163 167
           </Form.Item>
164 168
           <Form.Item label="项目主图" help="建议图片尺寸:640px*360px">
165
-            {getFieldDecorator('avatarImage')(
169
+            {getFieldDecorator('avatarImage', {
170
+              rules: [{ required: true, message: '请选择项目主图' }],
171
+            })(
166 172
               <ImageListUpload />,
167 173
             )}
168 174
           </Form.Item>
@@ -198,13 +204,19 @@ function AddBuilding(props) {
198 204
             )}
199 205
           </Form.Item>
200 206
           <Form.Item label="楼盘区域" >
201
-            {getFieldDecorator('buildingArea')(<Input />)}
207
+            {getFieldDecorator('buildingArea', {
208
+              rules: [{ required: true, message: '请输入楼盘区域' }],
209
+            })(<Input />)}
202 210
           </Form.Item>
203 211
           <Form.Item label="项目地址" >
204
-            {getFieldDecorator('address')(<Input />)}
212
+            {getFieldDecorator('address', {
213
+              rules: [{ required: true, message: '请输入项目地址' }],
214
+            })(<Input />)}
205 215
           </Form.Item>
206 216
           <Form.Item label="项目坐标" >
207
-            {getFieldDecorator('coordinate')(<Input disabled />)}
217
+            {getFieldDecorator('coordinate', {
218
+              rules: [{ required: true, message: '请输入项目坐标' }],
219
+            })(<Input disabled />)}
208 220
           </Form.Item>
209 221
           <Form.Item label="地图位置" >
210 222
             {getFieldDecorator('coordinate')(<Amap />)}

+ 1
- 1
src/pages/building/list/index.jsx Целия файл

@@ -123,7 +123,7 @@ function CartBody(props) {
123 123
       <p className={Styles.cardItem}>
124 124
         <span className={Styles.title}>均价</span>
125 125
         <span >
126
-          :约<span style={{ color: '#FF0707', fontSize: '20px' }}> {data.price} </span>元/m²
126
+          :约<span style={{ color: '#FF0707', fontSize: '20px' }}> {data.price || '待定'} </span>元/m²
127 127
         </span>
128 128
       </p>
129 129
       <p className={Styles.cardItem}>

+ 3
- 1
src/pages/customer/independentList/index.jsx Целия файл

@@ -112,13 +112,15 @@ class ModalTable extends React.Component {
112 112
         title: '状态',
113 113
         // eslint-disable-next-line consistent-return
114 114
         render: (text, records) => {
115
-          if (records.status === 1) { return '报备' }
115
+          console.log("retrun", records)
116
+          if (records.status === 1) { if(records.reportRecommendStatus === 1) {return '报备'} if(records.reportRecommendStatus === 2) {return '推荐'}  }
116 117
           if (records.status === 2) { return '到访' }
117 118
           if (records.status === 3) { return '认购' }
118 119
           if (records.status === 4) { return '签约' }
119 120
           if (records.verifyStatus === 1) { return '待审核' }
120 121
           if (records.verifyStatus === 2) { return '审核同意' }
121 122
           if (records.verifyStatus === 3) { return '签约' }
123
+          // reportRecommendStatus
122 124
         },
123 125
       },
124 126
     ]

+ 1
- 1
src/pages/indexEcharts/components/UserBehavior.jsx Целия файл

@@ -272,7 +272,7 @@ const UserBehavior = props => {
272 272
           {!props.BuildSelectHide && <span style={{ fontSize: '0.09rem', color: '#888', marginLeft: '0.06rem' }}>最近七天</span>}
273 273
         </p>
274 274
         <div style={{ float: 'right', marginTop: '-40px', marginBottom: '20px' }}>
275
-          {!props.BuildSelectHide && <BuildSelect slot="action" onChange={(e => handleBuildingChange(e))} checkFirst></BuildSelect>}
275
+          {!props.BuildSelectHide && <BuildSelect slot="action" onChange={(e => handleBuildingChange(e))}></BuildSelect>}
276 276
         </div>
277 277
         <EChart options={options} style={style} />
278 278
         {props.tableShow &&

+ 2
- 2
src/pages/integralMall/writeOff.jsx Целия файл

@@ -108,7 +108,7 @@ function header(props) {
108 108
   return (
109 109
     <>
110 110
       <Tabs onChange={callback} type="card">
111
-        <TabPane tab="扫码核销" key="1">
111
+        {/* <TabPane tab="扫码核销" key="1">
112 112
           <Row>
113 113
             <Col span={8} style={{ textAlign: 'center' }}>
114 114
               <img src={erweima} style={{ width: '50px', height: '50px', margin: '30px auto' }} />
@@ -129,7 +129,7 @@ function header(props) {
129 129
             </Col>
130 130
           </Row>
131 131
           <Dialog onEnter={handleEnter} onChange={changeCode} />
132
-        </TabPane>
132
+        </TabPane> */}
133 133
         <TabPane tab="手机号核销" key="2">
134 134
           <Row>
135 135
             <Col span={12} style={{ textAlign: 'center' }}>