|
@@ -8,6 +8,7 @@ import router from 'umi/router';
|
8
|
8
|
|
9
|
9
|
import Attribution from './components/attribution'
|
10
|
10
|
import IntegralRecord from './components/integralRecord'
|
|
11
|
+import ModalRecommendRecord from './components/recommend'
|
11
|
12
|
import ChangeStatus from './components/changeStatus'
|
12
|
13
|
import BuildSelect from '../../../components/SelectButton/BuildSelect'
|
13
|
14
|
import AuthButton from '@/components/AuthButton';
|
|
@@ -50,6 +51,9 @@ function body(props) {
|
50
|
51
|
const [statusVisibleData, setStatusVisibleData] = useState({ visible: false, customerId: '', status: '' })
|
51
|
52
|
// 变更状态 ============= end
|
52
|
53
|
|
|
54
|
+ // 推荐客户
|
|
55
|
+ const [recommendVisibleData, setRecommendVisibleData] = useState({ visible: false, customerId: '' })
|
|
56
|
+
|
53
|
57
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
54
|
58
|
useEffect(() => {
|
55
|
59
|
getList({ pageNumber: 1, pageSize: 10, customerType })
|
|
@@ -76,6 +80,7 @@ function body(props) {
|
76
|
80
|
setRecordVisibleData({ visible: false, customerId: '' })
|
77
|
81
|
setGVisibleData({ visible: false, customerId: '', realtyConsultant: '' })
|
78
|
82
|
setStatusVisibleData({ visible: false, customerId: '', status: '' })
|
|
83
|
+ setRecommendVisibleData({ visible: false, customerId: '' })
|
79
|
84
|
}
|
80
|
85
|
|
81
|
86
|
// 提交事件
|
|
@@ -126,19 +131,30 @@ function body(props) {
|
126
|
131
|
setGVisibleData({ visible: true, customerId: record.customerId, realtyConsultant: record.realtyConsultant, buildingId: record.buildingId })
|
127
|
132
|
setRecordVisibleData({ visible: false, customerId: '' })
|
128
|
133
|
setStatusVisibleData({ visible: false, customerId: '' })
|
|
134
|
+ setRecommendVisibleData({ visible: false, customerId: '' })
|
129
|
135
|
}
|
130
|
136
|
|
131
|
137
|
function showRecord(record) {
|
132
|
138
|
setRecordVisibleData({ visible: true, customerId: record.customerId })
|
133
|
139
|
setGVisibleData({ visible: false, customerId: '', realtyConsultant: '', buildingId: '' })
|
134
|
140
|
setStatusVisibleData({ visible: false, customerId: '' })
|
|
141
|
+ setRecommendVisibleData({ visible: false, customerId: '' })
|
135
|
142
|
}
|
136
|
143
|
|
137
|
144
|
function showStatus(record) {
|
138
|
145
|
setRecordVisibleData({ visible: false, customerId: '' })
|
139
|
146
|
setGVisibleData({ visible: false, customerId: '', realtyConsultant: '', buildingId: '' })
|
|
147
|
+ setRecommendVisibleData({ visible: false, customerId: '' })
|
140
|
148
|
setStatusVisibleData({ visible: true, customerId: record.customerId, status: record.status })
|
141
|
149
|
}
|
|
150
|
+
|
|
151
|
+ // 推荐客户
|
|
152
|
+ function showRecommend(personId) {
|
|
153
|
+ setRecordVisibleData({ visible: false, customerId: '' })
|
|
154
|
+ setGVisibleData({ visible: false, customerId: '', realtyConsultant: '', buildingId: '' })
|
|
155
|
+ setStatusVisibleData({ visible: false, customerId: '', status: '' })
|
|
156
|
+ setRecommendVisibleData({ visible: true, customerId: personId })
|
|
157
|
+ }
|
142
|
158
|
function toCustomerDateil(record) {
|
143
|
159
|
router.push({
|
144
|
160
|
pathname: '/customer/customerlist/customerDetail',
|
|
@@ -147,6 +163,15 @@ function body(props) {
|
147
|
163
|
},
|
148
|
164
|
});
|
149
|
165
|
}
|
|
166
|
+ // 私客详情
|
|
167
|
+ function publicCustomerDetail(record) {
|
|
168
|
+ router.push({
|
|
169
|
+ pathname: '/customer/customerlist/publicCustomerDetail',
|
|
170
|
+ query: {
|
|
171
|
+ id: record.customerId,
|
|
172
|
+ },
|
|
173
|
+ });
|
|
174
|
+ }
|
150
|
175
|
|
151
|
176
|
function exportCustomer () {
|
152
|
177
|
const fieldsValue = getFieldsValue()
|
|
@@ -173,9 +198,18 @@ function body(props) {
|
173
|
198
|
|
174
|
199
|
// 关闭调整归属的窗口
|
175
|
200
|
function closeAttribution() {
|
|
201
|
+ alert(1)
|
176
|
202
|
setGVisibleData({ visible: false, customerId: '', realtyConsultant: '', buildingId: '' })
|
177
|
203
|
getList({ pageNum: 1, pageSize: 10, customerType, ...props.form.getFieldsValue() })
|
178
|
204
|
}
|
|
205
|
+ // 回调关闭所有弹框
|
|
206
|
+ function closeAll() {
|
|
207
|
+ alert(1)
|
|
208
|
+ setRecordVisibleData({ visible: false, customerId: '' })
|
|
209
|
+ setGVisibleData({ visible: false, customerId: '', realtyConsultant: '', buildingId: '' })
|
|
210
|
+ setStatusVisibleData({ visible: false, customerId: '', status: '' })
|
|
211
|
+ setRecommendVisibleData({ visible: false, customerId: '' })
|
|
212
|
+ }
|
179
|
213
|
|
180
|
214
|
const publicColumns = [
|
181
|
215
|
{
|
|
@@ -209,6 +243,34 @@ function body(props) {
|
209
|
243
|
align: 'center',
|
210
|
244
|
width: '15%',
|
211
|
245
|
},
|
|
246
|
+ {
|
|
247
|
+ title: '性别',
|
|
248
|
+ dataIndex: 'sex',
|
|
249
|
+ key: 'sex',
|
|
250
|
+ align: 'center',
|
|
251
|
+ width: '10%',
|
|
252
|
+ // eslint-disable-next-line no-nested-ternary
|
|
253
|
+ render: (_, record) => <><span>{record.sex === 1 ? '男' : record.sex === 2 ? '女' : '未知'}</span></>,
|
|
254
|
+ },
|
|
255
|
+ {
|
|
256
|
+ title: '操作',
|
|
257
|
+ dataIndex: 'customerId',
|
|
258
|
+ key: 'customerId',
|
|
259
|
+ align: 'center',
|
|
260
|
+ width: '25%',
|
|
261
|
+ // eslint-disable-next-line no-nested-ternary
|
|
262
|
+ render: (_, record) => (
|
|
263
|
+ <>
|
|
264
|
+ <AuthButton>
|
|
265
|
+ <Button className={customerType === 'private' ? Styles.displayS : Styles.text } type="link" onClick={() => publicCustomerDetail(record)}>查看详情</Button>
|
|
266
|
+ </AuthButton>
|
|
267
|
+
|
|
268
|
+ <AuthButton>
|
|
269
|
+ <Button className={customerType === 'private' ? Styles.displayS : Styles.text } type="link" onClick={() => showRecommend(record.personId)}>推荐客户</Button>
|
|
270
|
+ </AuthButton>
|
|
271
|
+ </>
|
|
272
|
+ ),
|
|
273
|
+ },
|
212
|
274
|
]
|
213
|
275
|
|
214
|
276
|
const privateColumns = [
|
|
@@ -290,12 +352,13 @@ function body(props) {
|
290
|
352
|
// eslint-disable-next-line no-nested-ternary
|
291
|
353
|
render: (_, record) => (
|
292
|
354
|
<>
|
|
355
|
+
|
293
|
356
|
<AuthButton name="admin.customer.recommend.edit.id.put" noRight={null}>
|
294
|
357
|
<Button className={customerType === 'private' ? Styles.text : Styles.displayS} type="link" onClick={() => showStatus(record)}>变更状态</Button>
|
295
|
358
|
|
296
|
359
|
<Button className={customerType === 'private' ? Styles.text : Styles.displayS} type="link" onClick={() => showGM(record)}>调整归属</Button>
|
297
|
360
|
</AuthButton>
|
298
|
|
- <br />
|
|
361
|
+
|
299
|
362
|
<AuthButton name="admin.customer.recommend.get" noRight={null}>
|
300
|
363
|
<Button className={customerType === 'private' ? Styles.text : Styles.displayS} type="link" onClick={() => toCustomerDateil(record)}>查看详情</Button>
|
301
|
364
|
</AuthButton>
|
|
@@ -303,6 +366,10 @@ function body(props) {
|
303
|
366
|
<AuthButton name="admin.mine.taPointsRecords.id.get" noRight={null}>
|
304
|
367
|
<Button className={customerType === 'private' ? Styles.text : Styles.displayS} type="link" onClick={() => showRecord(record)}>积分记录</Button>
|
305
|
368
|
</AuthButton>
|
|
369
|
+
|
|
370
|
+ <AuthButton name="admin.mine.taPointsRecords.id.get" noRight={null}>
|
|
371
|
+ <Button className={customerType === 'private' ? Styles.text : Styles.displayS} type="link" onClick={() => showRecommend(record.customerId)}>推荐客户</Button>
|
|
372
|
+ </AuthButton>
|
306
|
373
|
</>
|
307
|
374
|
),
|
308
|
375
|
},
|
|
@@ -383,10 +450,13 @@ function body(props) {
|
383
|
450
|
<Attribution visibleData={gVisibleData} onCancel={() => closeAttribution()}/>
|
384
|
451
|
|
385
|
452
|
{/* 积分记录 */}
|
386
|
|
- <IntegralRecord visibleData={recordVisibleData} />
|
|
453
|
+ <IntegralRecord visibleData={recordVisibleData} onCancel={() => closeAll()} />
|
387
|
454
|
|
388
|
455
|
{/* 变更状态 */}
|
389
|
|
- <ChangeStatus visibleData={statusVisibleData} />
|
|
456
|
+ <ChangeStatus visibleData={statusVisibleData} onCancel={() => closeAll()}/>
|
|
457
|
+
|
|
458
|
+ {/* 推荐客户 */}
|
|
459
|
+ <ModalRecommendRecord visibleData={recommendVisibleData} onCancel={() => closeAll()}/>
|
390
|
460
|
</>
|
391
|
461
|
);
|
392
|
462
|
}
|