weichaochao 5 лет назад
Родитель
Сommit
0903ab29d3

+ 30
- 0
src/pages/house/edit/components/SalesbatchListHelpDoc/index.jsx Просмотреть файл

@@ -0,0 +1,30 @@
1
+import React, { PureComponent } from 'react'
2
+import { Modal, Row, Col } from 'antd'
3
+import EnDash from '../EnDash'
4
+
5
+import Style from './style.less'
6
+import HotBlock from '../HotBlock'
7
+
8
+
9
+export default function SaleBatchListHelpDoc(props) {
10
+  return (
11
+    <Modal footer={null} title="相关说明" visible={props.visible} onCancel={props.onCancel} width={800}>
12
+      <div className={Style.article}>
13
+        <div className={Style.section}>
14
+          <div>
15
+          1.楼盘多次开盘加推等销售行为,记录为多个“销售批次”,每个批次销售当前楼盘的一批不同房源。同一楼盘不同批次中房源不能重叠,即1套房不能卖2次。如果第一批次没有卖掉,需要在第二批次中改名才能录入到系统,详见第9条说明。<br/><br/>
16
+          2.销售批次“发布状态”若为"是",则在小程序端项目详情中在线选房模块可以看到当前销售批次入口。点击可以进入选房。“发布状态”若为"否",则无此销售批次入口按钮。<br/><br/>
17
+          3.销售批次和房源均发布后,用户在小程序端可以查看并“预选”或“认筹”房源,设置“预选开始时间”和“预选结束时间"可以限制用户预选,超出时间范围禁止用户预选,设置"认筹开始时间"和"认筹结束时间"可以限制用户认筹,超出时间范围禁止用户认筹。<br/><br/>
18
+          4."认筹需预选"若为"是",则代表不可只认筹不预选,在执行认筹操作时会提示未预选用户请先预选。如果此时已超出预选期则无法预选,自然也无法认筹。如果此时仍然在预选期则可以预选后再认筹。"认筹需预选"若为"否",则代表可以不经过预选环节直接认筹。通过配置修改预选时间、认筹时间和认筹是否需预选,可以在销售过程中控制销售行为。<br/><br/>
19
+          5."认筹需缴费"若为"是",则代表在认筹过程中需要缴费(交认筹金/订金)才能最终认筹成功。"认筹需缴费"若为"否",则代表认筹不需要含缴费流程,执行完其他流程即可认筹成功。<br/><br/>
20
+          6.若"认筹需缴费"设置为"是",则需要再设置"缴费方式",目前支持2种缴费方式,"线上微信支付"和"线下付款上传凭据",可以多选,2种支付方式在缴费成功后都需要财务审核,审核不通过需要退费。<br/><br/>
21
+          7.预选记录中含预选状态为已预选数据时,禁止删除销售批次。已有用户预选,请先删除预选记录。认筹记录中含预选状态为已认筹数据时,禁止删除销售批次。已有用户预选,请先删除预选记录。<br/><br/>
22
+          8.当前时间在预选(认筹)开始时间和结束时间范围内,开始时间和结束时间为蓝色,表示正在预选(认筹)进行中;在预选(认筹)开始时间之前,开始时间和结束时间为橙色,表示预选(认筹)未开始;在预选(认筹)结束时间之后,开始时间和结束时间为红色,表示预选(认筹)已结束。修改预选(认筹)开始和结束时间即可修改预选(认筹)进行状态。<br/><br/>
23
+          9.如果某房源在前一批次中确认没有销售成功,可以在新一批次中销售,但是系统为保证正常情况下各销售批次不销售重复房源,设置了房源禁止重名的规则,因此需要将房源改名,录入到新批次中,或者将旧批次中的房源数据房号改掉,再将正常房源名录入到新批次中。如,原批次房源“101”没有销售,在新批次销售中,再录入“101”房源是无法录入成功的,因为和旧批次房源重复了。可以录入新房源名称为“101新”等作为房源名,或者将旧批次“101”改为“101旧”等,再在新批次中录入房源“101”即可发布销售。<br/><br/>
24
+            </div>
25
+        </div>
26
+        
27
+      </div>
28
+    </Modal>
29
+  );
30
+}

+ 36
- 0
src/pages/house/edit/components/SalesbatchListHelpDoc/style.less Просмотреть файл

@@ -0,0 +1,36 @@
1
+.article {
2
+    .section {
3
+        font-size: 16px;
4
+        line-height: 1.8em;
5
+        color: #666;
6
+
7
+        & + .section {
8
+            margin-top: 24px;
9
+        }
10
+    }
11
+
12
+    .title {
13
+        font-size: 18px;
14
+        line-height: 2em;
15
+        color: #333;
16
+    }
17
+
18
+    .subtitle {
19
+        font-size: 14px;
20
+        line-height: 1.6em;
21
+        color: #999;
22
+    }
23
+
24
+    .flex {
25
+        display: flex;
26
+        flex-wrap: wrap;
27
+
28
+        .flex-item {
29
+            margin-top: 16px;
30
+            margin-right: 8px;
31
+            flex: none;
32
+            width: 100px;
33
+            text-align: center;
34
+        }
35
+    }
36
+}

+ 1
- 0
src/pages/house/edit/components/base.jsx Просмотреть файл

@@ -116,6 +116,7 @@ const Base = props => {
116 116
       name: 'qrCode',
117 117
       type: FieldTypes.ImageUploader,
118 118
       value: saleBatchData.qrCode,
119
+      props: {disabled: true },
119 120
     },
120 121
     {
121 122
       label: '说明',

+ 14
- 14
src/pages/house/edit/components/preselectionRecord.jsx Просмотреть файл

@@ -139,25 +139,25 @@ function PreselectionRecord(props) {
139 139
       title: '预选状态',
140 140
       dataIndex: 'status',
141 141
       key: 'status',
142
-      render: status => <><span>{status == 0 ? '否' : status == 1 ? '是' : ''}</span></>,
143
-    },
144
-    {
145
-      title: '状态修改时间',
146
-      dataIndex: 'updateDate',
147
-      key: 'updateDate',
148
-    },
149
-    {
150
-      title: '最后修改人',
151
-      dataIndex: 'updateName',
152
-      key: 'updateName',
142
+      render: status => <><span>{status == 0 ? '取消预选' : status == 1 ? '预选' : ''}</span></>,
153 143
     },
144
+    // {
145
+    //   title: '状态修改时间',
146
+    //   dataIndex: 'updateDate',
147
+    //   key: 'updateDate',
148
+    // },
149
+    // {
150
+    //   title: '最后修改人',
151
+    //   dataIndex: 'updateName',
152
+    //   key: 'updateName',
153
+    // },
154 154
   ]
155 155
   const { getFieldDecorator } = props.form
156 156
   return (
157 157
     <>
158 158
     <Form layout="inline" onSubmit={e => handleSubmit(e)}>
159 159
         <Form.Item>
160
-          {getFieldDecorator('houseId')(
160
+          {getFieldDecorator('house')(
161 161
             <Input placeholder="房源编号"/>,
162 162
           )}
163 163
         </Form.Item>
@@ -174,8 +174,8 @@ function PreselectionRecord(props) {
174 174
         <Form.Item>
175 175
           {getFieldDecorator('status')(
176 176
              <Select placeholder="预选状态" style={{width: '120px'}}>
177
-             <Option value="0"></Option>
178
-             <Option value="1"></Option>
177
+             <Option value="0">取消预选</Option>
178
+             <Option value="1">预选</Option>
179 179
            </Select>,
180 180
           )}
181 181
         </Form.Item>

+ 8
- 0
src/pages/house/edit/components/share.jsx Просмотреть файл

@@ -33,6 +33,9 @@ const Share = props => {
33 33
           changeInput(data[0].shareContentTitle)
34 34
         }else{
35 35
           changeInput("诚挚邀您在线选房购房~");
36
+          request({ ...apis.house.getTaSalesBatch, urlData: {id: salesBatchId} }).then((data) => {
37
+            changeImg(data.aerialViewImg);
38
+        })
36 39
         }
37 40
       }).catch(err => {
38 41
         message.info(err.msg || err.message)
@@ -81,6 +84,11 @@ const Share = props => {
81 84
   }
82 85
 
83 86
   return <div style={{ padding: '20px' }}>
87
+    <div style={{ display: 'flex', alignItems: 'center', width: '100%' }}>
88
+      <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>
89
+        <span style={{marginLeft:'135px', color: '#999'}}>请上传制作好的分享图片用于置业顾问或用户分享房源列表页面到好友或群</span>
90
+      </p>
91
+    </div>
84 92
     <div style={{ display: 'flex', margin: '10px 0 40px 0', width: '100%' }}>
85 93
       <p style={{ minWidth: '200px', color: '#222', textAlign: 'right', margin: '0 30px 0 0' }}>分享模板</p>
86 94
       <div>

+ 2
- 2
src/pages/house/edit/components/shareRecord.jsx Просмотреть файл

@@ -72,7 +72,7 @@ const header = (props) => {
72 72
       dataIndex: 'shareType',
73 73
       key: 'shareType',
74 74
       align: 'center',
75
-      render: (x, row) => <span>{ row.shareType === 'housePoster' ? '海报分享' : '小程序分享' }</span>
75
+      render: (x, row) => <span>{ row.tagertType == 'housePost' ? '海报分享' : '小程序分享' }</span>
76 76
     },
77 77
     {
78 78
       title: '分享内容',
@@ -111,7 +111,7 @@ const handleSubmit = (e, props) => {
111 111
         <Form.Item>
112 112
           {getFieldDecorator('shareType')(
113 113
             <Select style={{ width: '180px' }} placeholder="分享方式">
114
-              <Option value="housePoster">海报分享</Option>
114
+              <Option value="housePost">海报分享</Option>
115 115
               <Option value="houseApp">小程序分享</Option>
116 116
             </Select>,
117 117
           )}

+ 7
- 6
src/pages/house/edit/components/visitRecord.jsx Просмотреть файл

@@ -18,6 +18,7 @@ const header = (props) => {
18 18
   const salesBatchId = props.salesBatchId.batchId
19 19
 
20 20
   useEffect(() => {
21
+    console.log(salesBatchId, 'salesBatchId')
21 22
     getList({ pageNum: 1, pageSize: 10, salesBatchId : salesBatchId});
22 23
   },[])
23 24
 
@@ -55,10 +56,10 @@ const header = (props) => {
55 56
     },
56 57
     {
57 58
       title: '身份',
58
-      dataIndex: 'personType',
59
-      key: 'personType',
59
+      dataIndex: 'sharePersonType',
60
+      key: 'sharePersonType',
60 61
       align: 'center',
61
-      render: (personType) => <span>{ personType === 'Realty Consultant' ? '置业顾问' : personType === 'customer' ? '用户' : '游客' }</span>
62
+      render: (sharePersonType) => <span>{ sharePersonType == 'Realty Consultant' ? '置业顾问' : sharePersonType == 'customer' ? '用户' : '游客' }</span>
62 63
     },
63 64
     {
64 65
       title: '访问时间',
@@ -93,7 +94,7 @@ const handleSubmit = (e, props) => {
93 94
     props.form.validateFields((err, values) => {
94 95
       if (!err) {
95 96
         console.log('提交数据: ', values)
96
-        getList({ pageNum: 1, pageSize: 10, ...values})
97
+        getList({ pageNum: 1, pageSize: 10, salesBatchId: salesBatchId, ...values})
97 98
       }
98 99
     });
99 100
   }
@@ -109,7 +110,7 @@ const handleSubmit = (e, props) => {
109 110
     <>
110 111
       <Form layout="inline" onSubmit={e => handleSubmit(e, props)}>
111 112
         <Form.Item>
112
-          {getFieldDecorator('shareType')(
113
+          {getFieldDecorator('sceneType')(
113 114
             <Select style={{ width: '180px' }} placeholder="进入场景">
114 115
               <Option value="mini_program_code">扫码进入</Option>
115 116
               <Option value="buddy_share">小程序分享进入</Option>
@@ -118,7 +119,7 @@ const handleSubmit = (e, props) => {
118 119
           )}
119 120
         </Form.Item>
120 121
         <Form.Item>
121
-          {getFieldDecorator('showPosition')(
122
+          {getFieldDecorator('personType')(
122 123
             <Select style={{ width: '180px' }} placeholder="身份">
123 124
               <Option value="Realty Consultant">置业顾问</Option>
124 125
               <Option value="customer">用户</Option>

+ 2
- 2
src/pages/house/list/index.jsx Просмотреть файл

@@ -9,7 +9,7 @@ import BuildSelect from '../../../components/SelectButton/BuildSelect'
9 9
 import apis from '../../../services/apis';
10 10
 import request from '../../../utils/request';
11 11
 import AuthButton from '@/components/AuthButton';
12
-import SaleBatchHelpDoc from '../edit/components/SalesBatchHelpDoc';
12
+import SaleBatchListHelpDoc from '../edit/components/SalesBatchListHelpDoc';
13 13
 
14 14
 const { Option } = Select;
15 15
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
@@ -242,7 +242,7 @@ const header = props => {
242 242
       <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
243 243
         <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={e => changePageNum(e)} current={data.current}/>
244 244
       </div>
245
-      <SaleBatchHelpDoc visible={showHelp} onCancel={() => setShowHelp(false)} />
245
+      <SaleBatchListHelpDoc visible={showHelp} onCancel={() => setShowHelp(false)} />
246 246
     </>
247 247
   )
248 248
 }