张延森 2 years ago
parent
commit
d0f4c88d2b

+ 14
- 14
config/routes.js View File

@@ -555,35 +555,35 @@ export default [
555 555
             ],
556 556
           },
557 557
           {
558
-            path: '/borker',
558
+            path: '/broker',
559 559
             name: '全民经纪人',
560 560
             component: '../layouts/BlankLayout',
561
-            menuCode: '/borker',
561
+            menuCode: '/broker',
562 562
             routes: [
563 563
               {
564
-                path: '/borker/announcement',
564
+                path: '/broker/announcement',
565 565
                 name: '通知公告',
566
-                component: './borker/announcement/index',
567
-                menuCode: '/borker/announcement',
566
+                component: './broker/announcement/index',
567
+                menuCode: '/broker/announcement',
568 568
               },
569 569
               {
570
-                path: '/borker/announcement/edit',
570
+                path: '/broker/announcement/edit',
571 571
                 name: '通知公告维护',
572 572
                 hideInMenu: true,
573
-                component: './borker/announcement/Edit/index',
574
-                menuCode: '/borker/announcement/edit',
573
+                component: './broker/announcement/Edit/index',
574
+                menuCode: '/broker/announcement/edit',
575 575
               },
576 576
               {
577
-                path: '/borker/list',
577
+                path: '/broker/list',
578 578
                 name: '经纪人管理',
579
-                component: './borker/list/index',
580
-                menuCode: '/borker/list',
579
+                component: './broker/list/index',
580
+                menuCode: '/broker/list',
581 581
               },
582 582
               {
583
-                path: '/borker/agentRule',
583
+                path: '/broker/agentRule',
584 584
                 name: '经纪人规则',
585
-                component: './borker/agentRule/index',
586
-                menuCode: '/borker/agentRule',
585
+                component: './broker/agentRule/index',
586
+                menuCode: '/broker/agentRule',
587 587
               },
588 588
             ],
589 589
           },

src/pages/borker/agentRule/index.jsx → src/pages/broker/agentRule/index.jsx View File

@@ -31,8 +31,8 @@ const editorMenus = [
31 31
   'undo', // 撤销
32 32
 ];
33 33
 
34
-const getAgentRule = fetch(apis.borker.getAgentRule)
35
-const saveAgentRule = fetch(apis.borker.saveAgentRule)
34
+const getAgentRule = fetch(apis.broker.getAgentRule)
35
+const saveAgentRule = fetch(apis.broker.saveAgentRule)
36 36
 
37 37
 const AgentRule = React.forwardRef((props, ref) => {
38 38
   const { getFieldDecorator, validateFieldsAndScroll, setFieldsValue } = props.form

src/pages/borker/announcement/Edit/index.jsx → src/pages/broker/announcement/Edit/index.jsx View File

@@ -26,9 +26,9 @@ const editorMenus = [
26 26
 ];
27 27
 const fullWidth = { width: '100%' }
28 28
 
29
-const getFirstScreenDetail = fetch(apis.borker.getFirstScreenDetail)
30
-const saveFirstScreen = fetch(apis.borker.saveFirstScreen)
31
-const updateFirstScreen = fetch(apis.borker.updateFirstScreen)
29
+const getFirstScreenDetail = fetch(apis.broker.getFirstScreenDetail)
30
+const saveFirstScreen = fetch(apis.broker.saveFirstScreen)
31
+const updateFirstScreen = fetch(apis.broker.updateFirstScreen)
32 32
 
33 33
 const AnnouncementEdit = React.forwardRef((props, ref) => {
34 34
   const { history, form } = props

src/pages/borker/announcement/index.jsx → src/pages/broker/announcement/index.jsx View File

@@ -18,10 +18,10 @@ const searchFields = [
18 18
   },
19 19
 ]
20 20
 
21
-const updateFirstScreen = fetch(apis.borker.updateFirstScreen)
21
+const updateFirstScreen = fetch(apis.broker.updateFirstScreen)
22 22
 
23 23
 const actionRender = () => {
24
-  const gotoAdd = () => router.push('/borker/announcement/edit')
24
+  const gotoAdd = () => router.push('/broker/announcement/edit')
25 25
   return (
26 26
     <Button type="primary" icon="plus" onClick={gotoAdd}>新增</Button>
27 27
   )
@@ -46,7 +46,7 @@ export default (props) => {
46 46
       title: '标题',
47 47
       dataIndex: 'title',
48 48
       key: 'title',
49
-      render: (t, row) => <Button type="link" onClick={() => router.push(`/borker/announcement/edit?id=${row.screenId}`)}>{t}</Button>
49
+      render: (t, row) => <Button type="link" onClick={() => router.push(`/broker/announcement/edit?id=${row.screenId}`)}>{t}</Button>
50 50
     },
51 51
     {
52 52
       title: '跳转页面',
@@ -74,7 +74,7 @@ export default (props) => {
74 74
       align: 'center',
75 75
       render: (_, row) => (
76 76
         <>
77
-          <OperButton onClick={() => router.push(`/borker/announcement/edit?id=${row.screenId}`)}>详情</OperButton>
77
+          <OperButton onClick={() => router.push(`/broker/announcement/edit?id=${row.screenId}`)}>详情</OperButton>
78 78
           <OperButton.Confirm title="确认进行操作?" color="#1890ff" onClick={() => onPublish(row)}>{row.status === 1 ? '取消发布' : '发布'}</OperButton.Confirm>
79 79
         </>
80 80
       )
@@ -109,7 +109,7 @@ export default (props) => {
109 109
       <QueryTable
110 110
         ref={ref}
111 111
         rowKey="screenId"
112
-        api={apis.borker.getFirstScreenList}
112
+        api={apis.broker.getFirstScreenList}
113 113
         searchFields={searchFields}
114 114
         columns={tableColumns}
115 115
         actionRender={actionRender}

src/pages/borker/announcement/util.js → src/pages/broker/announcement/util.js View File

@@ -6,7 +6,7 @@ export const showTypeList = [
6 6
 export const pages = [
7 7
   {
8 8
     title: '页面1',
9
-    page: '/subpackages/pages/borker',
9
+    page: '/subpackages/pages/broker',
10 10
   }
11 11
 ]
12 12
 

src/pages/borker/list/index.jsx → src/pages/broker/list/index.jsx View File

@@ -114,7 +114,7 @@ export default (props) => {
114 114
     //   align: 'center',
115 115
     //   render: (_, row) => (
116 116
     //     <>
117
-    //       <OperButton onClick={() => router.push(`/borker/announcement/edit?id=${row.screenId}`)}>详情</OperButton>
117
+    //       <OperButton onClick={() => router.push(`/broker/announcement/edit?id=${row.screenId}`)}>详情</OperButton>
118 118
     //       <OperButton.Confirm title="确认进行操作?" color="#1890ff" onClick={() => onPublish(row)}>{row.status === 1 ? '取消发布' : '发布'}</OperButton.Confirm>
119 119
     //     </>
120 120
     //   )
@@ -125,7 +125,7 @@ export default (props) => {
125 125
     <QueryTable
126 126
       ref={ref}
127 127
       rowKey="personId"
128
-      api={apis.borker.getBorkerList}
128
+      api={apis.broker.getBrokerList}
129 129
       searchFields={searchFields}
130 130
       columns={tableColumns}
131 131
     />

+ 1
- 1
src/pages/building/Edit/Basic/index.jsx View File

@@ -131,7 +131,7 @@ const BuildingBasic = React.forwardRef((props, ref) => {
131 131
         updateFormLoading(true)
132 132
         saveData({
133 133
           ...values,
134
-          isBorker: undefined,  // 这个字段在全民经纪人页面更新
134
+          isBroker: undefined,  // 这个字段在全民经纪人页面更新
135 135
           pois,
136 136
           arrounds,
137 137
         }).then((res) => {

src/pages/building/Edit/Borker/index.jsx → src/pages/building/Edit/Broker/index.jsx View File

@@ -6,9 +6,9 @@ import Wangedit from '@/components/Wangedit/Wangedit';
6 6
 import { formItemLayout } from '../utils'
7 7
 
8 8
 const FormItem = Form.Item
9
-const updateBorker = fetch(apis.borker.updateBuildingBorker)
10
-const getAgreementList = fetch(apis.borker.getBkAgreementList)
11
-const saveAgreement = fetch(apis.borker.saveBkAgreement)
9
+const updateBroker = fetch(apis.broker.updateBuildingBroker)
10
+const getAgreementList = fetch(apis.broker.getBkAgreementList)
11
+const saveAgreement = fetch(apis.broker.saveBkAgreement)
12 12
 
13 13
 const editorMenus = [
14 14
   'head', // 标题
@@ -25,22 +25,22 @@ const editorMenus = [
25 25
   'undo', // 撤销
26 26
 ];
27 27
 
28
-const Borker = React.forwardRef((props, ref) => {
28
+const Broker = React.forwardRef((props, ref) => {
29 29
   const { form, buildingInfo = {} } = props
30 30
   const buildingId = buildingInfo.buildingId
31 31
 
32 32
   const [loading, setLoading] = useState(false)
33
-  const [isBorker, setIsBorker] = useState('false')
33
+  const [isBroker, setIsBroker] = useState('false')
34 34
   const [bkAgreement, setBkAgreement] = useState()
35 35
 
36
-  const canEdit = isBorker === 'true'
36
+  const canEdit = isBroker === 'true'
37 37
 
38
-  const handleBorkerChange = (e) => {
38
+  const handleBrokerChange = (e) => {
39 39
     const { value } = e.target
40 40
     setLoading(true)
41
-    updateBorker({ urlData: { id: buildingId }, params: { on: value } }).then(() => {
41
+    updateBroker({ urlData: { id: buildingId }, params: { on: value } }).then(() => {
42 42
       setLoading(false)
43
-      setIsBorker(value)
43
+      setIsBroker(value)
44 44
     }).catch(() => {
45 45
       setLoading(false)
46 46
     })
@@ -81,7 +81,7 @@ const Borker = React.forwardRef((props, ref) => {
81 81
         setLoading(false)
82 82
       })
83 83
 
84
-      setIsBorker(buildingInfo.isBorker ? 'true' : 'false')
84
+      setIsBroker(buildingInfo.isBroker ? 'true' : 'false')
85 85
     }
86 86
   }, [buildingId])
87 87
 
@@ -93,7 +93,7 @@ const Borker = React.forwardRef((props, ref) => {
93 93
             <div style={{ textAlign: 'right', marginRight: '1em' }}>全民经纪人</div>
94 94
           </Col>
95 95
           <Col span={12}>
96
-            <Radio.Group value={isBorker} onChange={handleBorkerChange} buttonStyle="solid">
96
+            <Radio.Group value={isBroker} onChange={handleBrokerChange} buttonStyle="solid">
97 97
               <Radio.Button value="true">开启</Radio.Button>
98 98
               <Radio.Button value="false">关闭</Radio.Button>
99 99
             </Radio.Group>
@@ -123,4 +123,4 @@ const Borker = React.forwardRef((props, ref) => {
123 123
   )
124 124
 })
125 125
 
126
-export default Form.create()(Borker)
126
+export default Form.create()(Broker)

+ 54
- 7
src/pages/building/Edit/OnSiteService.jsx View File

@@ -1,15 +1,21 @@
1 1
 import React, { useState, useEffect } from 'react';
2
-import { Input, Popconfirm, Table, Typography,notification } from 'antd';
2
+import { Modal, Popconfirm, Table, Typography, Radio, notification } from 'antd';
3 3
 import request from '@/utils/request';
4 4
 import apis from '@/services/apis';
5
+import withActions from '@/components/ActionList'
5 6
 import AuthButton from '@/components/AuthButton'
6 7
 import { getImgURL } from '@/utils/image';
7 8
 import Styles from './style.less';
8 9
 
9 10
 const { Text } = Typography;
10 11
 
12
+const options = [
13
+  { label: '是', value: true },
14
+  { label: '否', value: false },
15
+];
16
+
11 17
 export default props => {
12
-  const { history,marketingCode,isPublish } = props;
18
+  const { history,marketingCode, isPublish, buildingInfo } = props;
13 19
   const { query } = history.location;
14 20
   const { id } = query;
15 21
 
@@ -46,18 +52,17 @@ export default props => {
46 52
   const handleCancel = row => {
47 53
     request({
48 54
       ...apis.building.deleteMarketing,
49
-      urlData:{id:row.id},
55
+      urlData:{id: row.id},
50 56
       // params: { id },
51 57
     })
52 58
       .then(res => {
53
-        notification.error({
59
+        notification.success({
54 60
           message: '成功取消绑定',
55 61
           description: '',
56 62
         });
57 63
         getList()
58 64
       })
59 65
       .catch(err => {
60
-       
61 66
         notification.error({
62 67
           message: err.message,
63 68
           description: '',
@@ -66,6 +71,34 @@ export default props => {
66 71
 
67 72
   };
68 73
 
74
+  const onBrokerManager = (row) => {
75
+    Modal.confirm({
76
+      title: '确定进行当前操作?',
77
+      onOk() {
78
+        const data = {
79
+          personId: row.personId,
80
+          brokerManager: !row.brokerManager,
81
+        }
82
+
83
+        setLoading(true)
84
+        request({
85
+          ...apis.broker.updateManager,
86
+          urlData:{ id },
87
+          data
88
+        }).then(() => {
89
+          notification.success({
90
+            message: '操作成功',
91
+            description: '',
92
+          });
93
+          setLoading(false);
94
+          getList();
95
+        }).catch(() => {
96
+          setLoading(false)
97
+        })
98
+      }
99
+    })
100
+  }
101
+
69 102
   const columns = [
70 103
     {
71 104
       title: '头像',
@@ -90,7 +123,21 @@ export default props => {
90 123
       dataIndex: 'sex',
91 124
       key: 'sex',
92 125
       render: t => <span>{t==1?'男':t==2?'女':'未知'}</span>
93
-      
126
+    },
127
+    buildingInfo && buildingInfo.isBroker && {
128
+      title: '佣金管理员',
129
+      dataIndex: 'brokerManager',
130
+      key: 'brokerManager',
131
+      render: (_, row) => {
132
+
133
+        return (
134
+          <Radio.Group
135
+            options={options}
136
+            onChange={() => onBrokerManager(row)}
137
+            value={row.brokerManager || false}
138
+          />
139
+        )
140
+      }
94 141
     },
95 142
     {
96 143
       title: '操作',
@@ -105,7 +152,7 @@ export default props => {
105 152
         </AuthButton>
106 153
       ),
107 154
     },
108
-  ];
155
+  ].filter(Boolean);
109 156
 
110 157
   return (
111 158
     <div className={Styles['on-site-box']}>

+ 3
- 3
src/pages/building/Edit/index.jsx View File

@@ -5,7 +5,7 @@ import Share from '@/components/Share'
5 5
 import Basic from './Basic'
6 6
 import Apartment from './Apartment'
7 7
 import AlbumList from './AlbumList'
8
-import Borker from './Borker'
8
+import Broker from './Broker'
9 9
 import Panorama from './Panorama'
10 10
 import Channel from './Channel'
11 11
 import News from './News'
@@ -72,12 +72,12 @@ export default (props) => {
72 72
         </TabPane>
73 73
         <TabPane tab="驻场设置" key="10">
74 74
           <div className={styles['tab-wrapper']} style={{ maxWidth: '1200px' }}>
75
-            <OnSiteService {...props} marketingCode={marketingCode} isPublish={isPublish} />
75
+            <OnSiteService {...props} marketingCode={marketingCode} isPublish={isPublish} buildingInfo={buildingInfo} />
76 76
           </div>
77 77
         </TabPane>
78 78
         <TabPane tab="全民经纪人" key="11">
79 79
           <div className={styles['tab-wrapper']} style={{ maxWidth: '1200px' }}>
80
-            <Borker buildingInfo={buildingInfo} />
80
+            <Broker buildingInfo={buildingInfo} />
81 81
           </div>
82 82
         </TabPane>
83 83
         <TabPane tab="海报图片" key="5">

+ 10
- 5
src/services/apis.js View File

@@ -2403,11 +2403,11 @@ export default {
2403 2403
 
2404 2404
   // 全民经纪人
2405 2405
   // 因为懒, 没有写权限相关
2406
-  borker: {
2406
+  broker: {
2407 2407
     // 开启功能
2408
-    updateBuildingBorker: {
2408
+    updateBuildingBroker: {
2409 2409
       method: 'PUT',
2410
-      url: `${prefix}/building/:id/borker`,
2410
+      url: `${prefix}/building/:id/broker`,
2411 2411
     },
2412 2412
     // 获取规则
2413 2413
     getBkAgreementList: {
@@ -2445,9 +2445,9 @@ export default {
2445 2445
       url: `${prefix}/bkFirstScreen/:id`,
2446 2446
     },
2447 2447
     // 获取经纪人列表
2448
-    getBorkerList: {
2448
+    getBrokerList: {
2449 2449
       method: 'GET',
2450
-      url: `${prefix}/borker`,
2450
+      url: `${prefix}/broker`,
2451 2451
     },
2452 2452
     // 获取经纪人规则
2453 2453
     getAgentRule: {
@@ -2459,5 +2459,10 @@ export default {
2459 2459
       method: 'POST',
2460 2460
       url: `${prefix}/bkAgentRule`,
2461 2461
     },
2462
+    // 更新佣金管理人员
2463
+    updateManager: {
2464
+      method: 'PUT',
2465
+      url: `${prefix}/building/:id/broker-manager`,
2466
+    },
2462 2467
   }
2463 2468
 };