1002884655 4 lat temu
rodzic
commit
90bfdc706e
31 zmienionych plików z 1353 dodań i 9 usunięć
  1. 18
    6
      src/assets/css/iconfont.css
  2. BIN
      src/assets/css/iconfont.eot
  3. 1
    1
      src/assets/css/iconfont.js
  4. 21
    0
      src/assets/css/iconfont.json
  5. 9
    0
      src/assets/css/iconfont.svg
  6. BIN
      src/assets/css/iconfont.ttf
  7. BIN
      src/assets/css/iconfont.woff
  8. BIN
      src/assets/css/iconfont.woff2
  9. BIN
      src/assets/mine-icon27.png
  10. 3
    0
      src/pages/mine/changeVisit/index.config.js
  11. 150
    0
      src/pages/mine/changeVisit/index.jsx
  12. 128
    0
      src/pages/mine/changeVisit/index.scss
  13. 113
    0
      src/pages/mine/components/FollowCustomer/index.jsx
  14. 107
    0
      src/pages/mine/components/FollowCustomer/index.scss
  15. 49
    0
      src/pages/mine/components/ResidentListItem/index.jsx
  16. 68
    0
      src/pages/mine/components/ResidentListItem/index.scss
  17. 28
    0
      src/pages/mine/components/StatCustomerListItem/index.jsx
  18. 65
    0
      src/pages/mine/components/StatCustomerListItem/index.scss
  19. 48
    0
      src/pages/mine/components/TransactedCustomer/index.jsx
  20. 35
    0
      src/pages/mine/components/TransactedCustomer/index.scss
  21. 3
    0
      src/pages/mine/residentManager/index.config.js
  22. 96
    0
      src/pages/mine/residentManager/index.jsx
  23. 118
    0
      src/pages/mine/residentManager/index.scss
  24. 3
    0
      src/pages/mine/statCustomer/index.config.js
  25. 51
    0
      src/pages/mine/statCustomer/index.jsx
  26. 62
    0
      src/pages/mine/statCustomer/index.scss
  27. 3
    0
      src/pages/mine/sureVisit/index.config.js
  28. 71
    0
      src/pages/mine/sureVisit/index.jsx
  29. 77
    0
      src/pages/mine/sureVisit/index.scss
  30. 2
    2
      src/pages/mine/tabData.js
  31. 24
    0
      src/routes.js

+ 18
- 6
src/assets/css/iconfont.css Wyświetl plik

@@ -1,11 +1,11 @@
1 1
 @font-face {
2 2
   font-family: "iconfont"; /* Project id 2603904 */
3
-  src: url('iconfont.eot?t=1624086408943'); /* IE9 */
4
-  src: url('iconfont.eot?t=1624086408943#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
-       url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
6
-       url('iconfont.woff?t=1624086408943') format('woff'),
7
-       url('iconfont.ttf?t=1624086408943') format('truetype'),
8
-       url('iconfont.svg?t=1624086408943#iconfont') format('svg');
3
+  src: url('iconfont.eot?t=1624789458601'); /* IE9 */
4
+  src: url('iconfont.eot?t=1624789458601#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
+       url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
6
+       url('iconfont.woff?t=1624789458601') format('woff'),
7
+       url('iconfont.ttf?t=1624789458601') format('truetype'),
8
+       url('iconfont.svg?t=1624789458601#iconfont') format('svg');
9 9
 }
10 10
 
11 11
 .iconfont {
@@ -16,6 +16,18 @@
16 16
   -moz-osx-font-smoothing: grayscale;
17 17
 }
18 18
 
19
+.icon-dianhua:before {
20
+  content: "\e60d";
21
+}
22
+
23
+.icon-yonghu:before {
24
+  content: "\e657";
25
+}
26
+
27
+.icon-xiangji:before {
28
+  content: "\e641";
29
+}
30
+
19 31
 .icon-gou:before {
20 32
   content: "\e60c";
21 33
 }

BIN
src/assets/css/iconfont.eot Wyświetl plik


+ 1
- 1
src/assets/css/iconfont.js
Plik diff jest za duży
Wyświetl plik


+ 21
- 0
src/assets/css/iconfont.json Wyświetl plik

@@ -5,6 +5,27 @@
5 5
   "css_prefix_text": "icon-",
6 6
   "description": "",
7 7
   "glyphs": [
8
+    {
9
+      "icon_id": "16036802",
10
+      "name": "电  话",
11
+      "font_class": "dianhua",
12
+      "unicode": "e60d",
13
+      "unicode_decimal": 58893
14
+    },
15
+    {
16
+      "icon_id": "17197131",
17
+      "name": "用户",
18
+      "font_class": "yonghu",
19
+      "unicode": "e657",
20
+      "unicode_decimal": 58967
21
+    },
22
+    {
23
+      "icon_id": "7603903",
24
+      "name": "相机",
25
+      "font_class": "xiangji",
26
+      "unicode": "e641",
27
+      "unicode_decimal": 58945
28
+    },
8 29
     {
9 30
       "icon_id": "9055670",
10 31
       "name": "勾",

+ 9
- 0
src/assets/css/iconfont.svg Wyświetl plik

@@ -20,6 +20,15 @@ Created by iconfont
20 20
   />
21 21
     <missing-glyph />
22 22
     
23
+    <glyph glyph-name="dianhua" unicode="&#58893;" d="M598.308571 219.538286l24.064 14.994285c9.398857 5.632 17.115429 9.947429 24.868572 13.385143 54.637714 24.868571 102.765714 7.314286 166.4-67.035428 39.424-46.08 51.053714-86.930286 35.84-123.355429-11.337143-27.172571-33.133714-45.933714-71.972572-69.12-2.523429-1.462857-24.868571-14.518857-30.610285-18.066286-90.404571-55.771429-297.691429 71.936-446.646857 290.157715-149.577143 218.806857-188.196571 452.059429-96.585143 508.708571l12.068571 7.68 13.165714 8.484572c46.299429 29.952 75.958857 41.910857 111.104 35.986285 35.108571-5.997714 64.950857-31.963429 90.221715-79.286857 53.284571-100.096 41.545143-147.565714-26.953143-190.756571-4.973714-3.181714-22.454857-13.714286-24.137143-14.738286-16.749714-10.386286 11.702857-80.018286 77.860571-176.859429 66.889143-97.901714 122.88-151.478857 141.165715-140.178285h0.146285z"  horiz-adv-x="1024" />
24
+
25
+    
26
+    <glyph glyph-name="yonghu" unicode="&#58967;" d="M728.732 575.724c-3.4 6.6-8.3 12.4-14.3 16.9 2.7 29.3 2.1 58.8-2 87.9-10.9 86.4-78.1 152.4-197.4 151.5-60.7-0.4-51.3-32.1-97-32.8-81.2-2-100.9-76.1-107.5-118.7-4.3-29.1-5-58.6-2-87.9-5.8-4.6-10.6-10.4-14-16.9-8.9-20.7-9.1-44.1-0.7-64.9a123.3 123.3 0 0 1 40.1-60c20.5-98.1 116.6-161 214.7-140.5 70.6 14.8 125.7 69.9 140.5 140.5 19.1 15.6 33.1 36.5 40.4 60 8.3 20.9 8 44.2-0.8 64.9zM895.232 195.024c-25 41.7-103.5 81-180.9 100.4a371.75 371.75 0 0 0-88.1-46.6c-16.6-69.8-38.1-138.3-64.5-205-4.7-10.3-11.6-8-13.4 4.2l-12.5 89.5c-1.3 13.8 1 27.8 6.9 40.4l10.1 18.7c5.3 11.6 5.9 24.8 1.8 36.8-28.2-3.3-56.6-3.4-84.8-0.4-3.7-12-3-24.9 2-36.4l10.3-18.7c5.7-12.6 8.1-26.6 6.9-40.4l-12.5-89.5c-1.8-12.3-8.7-14.5-13.8-4.2-27.2 66.2-48.7 134.6-64.3 204.5-32.6 8.7-62.7 24.9-87.9 47.3-77.4-19.4-156.2-58.5-180.9-100.4-24.6-45.7-39-96.2-42.2-148.1 0-31.7 190.3-110.7 425-110.7s424.6 79 424.6 110.7c-3.1 51.7-17.4 102.2-41.8 147.9z"  horiz-adv-x="1024" />
27
+
28
+    
29
+    <glyph glyph-name="xiangji" unicode="&#58945;" d="M903.73688889 667.53422222h-194.56l-45.51111111 57.68533333c-8.64711111 10.92266667-21.504 17.18044445-35.38488889 17.18044445H395.83288889c-13.88088889 0-26.85155555-6.25777778-35.38488889-17.18044445l-45.51111111-57.68533333h-194.56c-24.91733333 0-45.16977778-20.25244445-45.16977778-45.16977777v-551.82222223c0-24.91733333 20.25244445-45.16977778 45.16977778-45.16977777h783.58755556c24.91733333 0 45.16977778 20.25244445 45.16977777 45.16977777v551.82222223c-0.22755555 25.03111111-20.48 45.16977778-45.39733333 45.16977777z m-12.40177778-584.36266667H132.66488889v526.79111112H320.85333333c13.88088889 0 26.85155555 6.25777778 35.38488889 17.18044444l45.51111111 57.68533334h220.38755556l45.51111111-57.68533334c8.64711111-10.92266667 21.504-17.18044445 35.38488889-17.18044444h188.18844444v-526.79111112zM512 541.24088889c-108.88533333 0-197.51822222-88.63288889-197.51822222-197.51822222S403.11466667 146.09066667000002 512 146.09066667000002s197.51822222 88.63288889 197.51822222 197.51822222S620.88533333 541.24088889 512 541.24088889z m0-337.46488889c-77.14133333 0-139.94666667 62.80533333-139.94666667 139.94666667s62.80533333 139.94666667 139.94666667 139.94666666 139.94666667-62.80533333 139.94666667-139.94666666c0-77.25511111-62.80533333-139.94666667-139.94666667-139.94666667z m287.97155555 279.89333333c15.92888889 0 28.78577778 12.85688889 28.78577778 28.78577778s-12.85688889 28.78577778-28.78577778 28.78577778-28.78577778-12.85688889-28.78577777-28.78577778c-0.11377778-15.92888889 12.85688889-28.78577778 28.78577777-28.78577778z"  horiz-adv-x="1024" />
30
+
31
+    
23 32
     <glyph glyph-name="gou" unicode="&#58892;" d="M511.9990625 821.8303125C270.6059375 821.8303125 74.1696875 625.4034375 74.1696875 384c0-241.404375 196.4353125-437.8303125 437.829375-437.8303125 241.41374999 0 437.83125001 196.4259375 437.83125 437.8303125 0 241.4034375-196.4175 437.8303125-437.83125 437.8303125m0-807.4275c-203.7675 0-369.598125 165.808125-369.598125 369.5971875 0 203.788125 165.8315625 369.59625001 369.598125 369.59625001 203.8115625 0 369.59625001-165.808125 369.59625-369.59625001 0-203.7890625-165.7846875-369.5971875-369.59625-369.5971875M646.55375001 510.62624999L442.0325 308.65874999000005l-55.726875 63.68062501c-12.3946875 14.17125001-33.9628125 15.646875-48.1546875 3.2325-14.1703125-12.41625001-15.6140625-33.9834375-3.219375-48.15375l79.603125-90.9778125a34.284375 34.284375 0 0 1 24.4771875-11.6184375c0.40124999-0.0215625 0.79874999-0.0215625 1.220625-0.0215625 8.9521875 0 17.56875001 3.4978125 23.968125 9.8278125l230.2875 227.445c13.415625 13.2609375 13.5478125 34.8375 0.309375 48.2540625-13.2365625 13.404375-34.8271875 13.5375-48.24375001 0.29906249"  horiz-adv-x="1024" />
24 33
 
25 34
     

BIN
src/assets/css/iconfont.ttf Wyświetl plik


BIN
src/assets/css/iconfont.woff Wyświetl plik


BIN
src/assets/css/iconfont.woff2 Wyświetl plik


BIN
src/assets/mine-icon27.png Wyświetl plik


+ 3
- 0
src/pages/mine/changeVisit/index.config.js Wyświetl plik

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '变更交易节点'
3
+}

+ 150
- 0
src/pages/mine/changeVisit/index.jsx Wyświetl plik

@@ -0,0 +1,150 @@
1
+import React, { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import './index.scss'
4
+import { ScrollView, Input, Image } from '@tarojs/components'
5
+import '../../../assets/css/iconfont.css'
6
+
7
+export default withLayout((props) => {
8
+
9
+  // const [PageProps] = useState(props)
10
+  const [StatusList] = useState([
11
+    { name: '认筹', id: 1 },
12
+    { name: '认购', id: 2 },
13
+    { name: '签约', id: 3 },
14
+    { name: '待结佣', id: 4 },
15
+    { name: '已结佣', id: 5 },
16
+    { name: '作废', id: 6 }
17
+  ])
18
+  const [CurrentStatusId, setCurrentStatusId] = useState(null)
19
+
20
+  const [RoomTypeList] = useState([
21
+    { name: '二室一厅', id: 1 },
22
+    { name: '三室二厅', id: 2 },
23
+    { name: '三室一厅', id: 3 },
24
+    { name: '四室二厅', id: 4 }
25
+  ])
26
+  const [CurrentRoomTypeId, setCurrentRoomTypeId] = useState(null)
27
+
28
+  const CutStatus = (item) => {
29
+    return () => {
30
+      setCurrentStatusId(item.id === CurrentStatusId ? null : item.id)
31
+    }
32
+  }
33
+
34
+  const CutRoomType = (item) => {
35
+    return () => {
36
+      setCurrentRoomTypeId(item.id === CurrentRoomTypeId ? null : item.id)
37
+    }
38
+  }
39
+
40
+  return (
41
+    <view className='Page changeVisit'>
42
+
43
+      <ScrollView scroll-y={true} refresher-enabled={false} refresher-background='#fff'>
44
+        <view className='PageContent'>
45
+
46
+          <text className='required'>变更状态</text>
47
+          <view className='FormLine flex-h'>
48
+            <view className='flex-item'>
49
+              <view className='CheckBoxList'>
50
+                {
51
+                  StatusList.map((item, index) => (
52
+                    <view key={`StatusItem-${index}`} onClick={CutStatus(item)}>
53
+                      <text>{item.name}</text>
54
+                      {
55
+                        CurrentStatusId === item.id &&
56
+                        <Image mode='widthFix' src={require('../../../assets/findHouse-icon1.png')}></Image>
57
+                      }
58
+                    </view>
59
+                  ))
60
+                }
61
+              </view>
62
+            </view>
63
+          </view>
64
+
65
+          <text className='required'>客户姓名</text>
66
+          <view className='FormLine flex-h'>
67
+            <view className='flex-item'>
68
+              <Input placeholder='请输入姓名'></Input>
69
+            </view>
70
+          </view>
71
+
72
+          <text>归属渠道</text>
73
+          <view className='FormLine flex-h'>
74
+            <view className='flex-item'>
75
+              <Input placeholder='请输入渠道'></Input>
76
+            </view>
77
+          </view>
78
+
79
+          <text className='required'>内场接待</text>
80
+          <view className='FormLine flex-h'>
81
+            <view className='flex-item'>
82
+              <Input placeholder='请输入内场接待'></Input>
83
+            </view>
84
+          </view>
85
+
86
+          <text className='required'>业绩分成人|占比/%</text>
87
+          <view className='FormLine flex-h'>
88
+            <view className='flex-item'>
89
+              <Input placeholder='请输入业绩分成人|占比/%'></Input>
90
+            </view>
91
+          </view>
92
+
93
+          <text className='required'>户型</text>
94
+          <view className='FormLine flex-h'>
95
+            <view className='flex-item'>
96
+            <view className='CheckBoxList'>
97
+                {
98
+                  RoomTypeList.map((item, index) => (
99
+                    <view key={`RoomTypeItem-${index}`} onClick={CutRoomType(item)}>
100
+                      <text>{item.name}</text>
101
+                      {
102
+                        CurrentRoomTypeId === item.id &&
103
+                        <Image mode='widthFix' src={require('../../../assets/findHouse-icon1.png')}></Image>
104
+                      }
105
+                    </view>
106
+                  ))
107
+                }
108
+              </view>
109
+            </view>
110
+          </view>
111
+
112
+          <text className='required'>房号</text>
113
+          <view className='FormLine flex-h'>
114
+            <view className='flex-item'>
115
+              <Input placeholder='请输入房号'></Input>
116
+            </view>
117
+          </view>
118
+
119
+          <text className='required'>签约日期</text>
120
+          <view className='FormLine flex-h'>
121
+            <view className='flex-item'>
122
+              <text>请选择</text>
123
+            </view>
124
+            <text className='iconfont icon-jiantoudown'></text>
125
+          </view>
126
+
127
+          <text className='required'>成交金额</text>
128
+          <view className='FormLine flex-h'>
129
+            <view className='flex-item'>
130
+              <Input placeholder='请输入金额'></Input>
131
+            </view>
132
+          </view>
133
+
134
+          <text>备注</text>
135
+          <view className='FormLine flex-h'>
136
+            <view className='flex-item'>
137
+              <Input placeholder='补充说明(选填)'></Input>
138
+            </view>
139
+          </view>
140
+
141
+          <view className='Btn'>
142
+            <text>提交</text>
143
+          </view>
144
+
145
+        </view>
146
+      </ScrollView>
147
+
148
+    </view>
149
+  )
150
+})

+ 128
- 0
src/pages/mine/changeVisit/index.scss Wyświetl plik

@@ -0,0 +1,128 @@
1
+.Page.changeVisit {
2
+  background: #fff;
3
+  height: 100vh;
4
+  width: 100%;
5
+  > scroll-view {
6
+    width: 100%;
7
+    height: 100%;
8
+    .PageContent {
9
+      position: relative;
10
+      overflow: hidden;
11
+      min-height: 100vh;
12
+      > text {
13
+        font-size: 34px;
14
+        font-weight: bold;
15
+        color: #333;
16
+        display: block;
17
+        text-indent: 40px;
18
+        margin-top: 30px;
19
+        position: relative;
20
+        &.required {
21
+          text-indent: 60px;
22
+          &::before {
23
+            content: '*';
24
+            display: inline-block;
25
+            position: absolute;
26
+            left: -20px;
27
+            top: 0;
28
+            color: red;
29
+            font-size: 34px;
30
+            line-height: 44px;
31
+          }
32
+        }
33
+      }
34
+      > .flex-h {
35
+        padding: 20px 40px;
36
+        border-bottom: 2px solid rgba(0, 0, 0, 0.12);
37
+        margin-top: 10px;
38
+        align-items: center;
39
+        >view {
40
+          > input {
41
+            display: block;
42
+            width: 100%;
43
+            background: none;
44
+            font-size: 26px;
45
+            line-height: 40px;
46
+            height: 40px;
47
+          }
48
+          >text {
49
+            display: block;
50
+            width: 100%;
51
+            background: none;
52
+            font-size: 26px;
53
+            line-height: 40px;
54
+            height: 40px;
55
+          }
56
+          >.UploadImg {
57
+            width: 120px;
58
+            height: 120px;
59
+            box-sizing: border-box;
60
+            border: 2px dashed #999;
61
+            border-radius: 8px;
62
+            position: relative;
63
+            overflow: hidden;
64
+            >text {
65
+              font-size: 50px;
66
+              color: #999;
67
+            }
68
+          }
69
+          >.CheckBoxList {
70
+            font-size: 0;
71
+            >view {
72
+              display: inline-block;
73
+              vertical-align: middle;
74
+              width: 194px;
75
+              font-size: 0;
76
+              white-space: nowrap;
77
+              margin-left: 44px;
78
+              border-radius: 4px;
79
+              border: 2px solid #193C83;
80
+              box-sizing: border-box;
81
+              margin-bottom: 28px;
82
+              text-align: center;
83
+              position: relative;
84
+              overflow: hidden;
85
+              &:nth-child(3n + 1) {
86
+                margin-left: 0;
87
+              }
88
+              >text {
89
+                display: inline-block;
90
+                font-size: 30px;
91
+                font-weight: bold;
92
+                line-height: 80px;
93
+                color: #333;
94
+              }
95
+              >image {
96
+                display: block;
97
+                width: 36px;
98
+                height: 36px;
99
+                position: absolute;
100
+                right: -2px;
101
+                bottom: -2px;
102
+              }
103
+            }
104
+          }
105
+        }
106
+        
107
+        >text {
108
+          font-size: 30px;
109
+        }
110
+      }
111
+      .Btn {
112
+        padding: 40px;
113
+        position: relative;
114
+        overflow: hidden;
115
+        >text {
116
+          display: block;
117
+          text-align: center;
118
+          font-size: 32px;
119
+          line-height: 92px;
120
+          background: #193C83;
121
+          color: #fff;
122
+          font-weight: bold;
123
+          border-radius: 92px;
124
+        }
125
+      }
126
+    }
127
+  }
128
+}

+ 113
- 0
src/pages/mine/components/FollowCustomer/index.jsx Wyświetl plik

@@ -0,0 +1,113 @@
1
+import React, { useState, useEffect } from 'react'
2
+import './index.scss'
3
+import Taro from '@tarojs/taro'
4
+import { ScrollView, Image } from '@tarojs/components'
5
+import StatCustomerListItem from '../StatCustomerListItem/index'
6
+
7
+export default function FollowCustomer (props) {
8
+  const { Data = {} } = props
9
+  const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
10
+  const [IsPull, setPull] = useState(false)
11
+  const [PullTimer, setPullTimer] = useState(null)
12
+
13
+  const [StatusMenu] = useState([
14
+    { name: '全部状态', id: 1 },
15
+    { name: '到访', id: 2 },
16
+    { name: '签约', id: 3 },
17
+    { name: '认筹', id: 4 }
18
+  ])
19
+  const [CurrentStatusId, setCurrentStatusId] = useState(1)
20
+
21
+  const [TimeMenu] = useState([
22
+    { name: '全部', id: 1 },
23
+    { name: '7天未成交', id: 2 },
24
+    { name: '15天未成交', id: 3 }
25
+  ])
26
+  const [CurrentTimeId, setCurrentTimeId] = useState(1)
27
+
28
+  const PageRefresh = () => { // 页面下拉刷新回调
29
+    setPull(true)
30
+  }
31
+
32
+  const CutStatus = (item) => {
33
+    return () => {
34
+      setCurrentStatusId(item.id === CurrentStatusId ? null : item.id)
35
+    }
36
+  }
37
+
38
+  const CutTime = (item) => {
39
+    return () => {
40
+      setCurrentTimeId(item.id === CurrentTimeId ? null : item.id)
41
+    }
42
+  }
43
+
44
+  useEffect(() => { // 下拉刷新触发
45
+    if (IsPull) {
46
+      clearTimeout(PullTimer)
47
+      setPullTimer(setTimeout(() => {
48
+        setPull(false)
49
+      }, 2000))
50
+    }
51
+  }, [IsPull])
52
+
53
+  return (
54
+    <view className='components FollowCustomer'>
55
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
56
+        <view className='PageContent'>
57
+
58
+          <view className='Search'>
59
+            <view>
60
+              <text className='iconfont icon-sousuo'></text>
61
+              <text>请输入用户名/手机号/到访时间搜索</text>
62
+            </view>
63
+          </view>
64
+
65
+          <text>状态筛选</text>
66
+          <view className='CheckBoxList'>
67
+            {
68
+              StatusMenu.map((item, index) => (
69
+                <view key={`StatusItem-${index}`} onClick={CutStatus(item)}>
70
+                  <text>{item.name}</text>
71
+                  {
72
+                    CurrentStatusId === item.id &&
73
+                    <Image mode='widthFix' src={require('../../../../assets/findHouse-icon1.png')}></Image>
74
+                  }
75
+                </view>
76
+              ))
77
+            }
78
+          </view>
79
+
80
+          <text>时间筛选</text>
81
+          <view className='CheckBoxList'>
82
+            {
83
+              TimeMenu.map((item, index) => (
84
+                <view key={`TimeItem-${index}`} onClick={CutTime(item)}>
85
+                  <text>{item.name}</text>
86
+                  {
87
+                    CurrentTimeId === item.id &&
88
+                    <Image mode='widthFix' src={require('../../../../assets/findHouse-icon1.png')}></Image>
89
+                  }
90
+                </view>
91
+              ))
92
+            }
93
+          </view>
94
+
95
+          <text>结果</text>
96
+          <view className='List'>
97
+            {
98
+              PageList.map((item, index) => (
99
+                <StatCustomerListItem key={`ListItem-${index}`} data={item} showStatus={true}></StatCustomerListItem>
100
+              ))
101
+            }
102
+          </view>
103
+
104
+          {/* bottom */}
105
+          <view className='PageBottom'>
106
+            <text>已经到底了~</text>
107
+          </view>
108
+
109
+        </view>
110
+      </ScrollView>
111
+    </view>
112
+  )
113
+}

+ 107
- 0
src/pages/mine/components/FollowCustomer/index.scss Wyświetl plik

@@ -0,0 +1,107 @@
1
+.components.FollowCustomer {
2
+  position: relative;
3
+  overflow: hidden;
4
+  width: 100%;
5
+  height: 100%;
6
+  > scroll-view {
7
+    width: 100%;
8
+    height: 100%;
9
+    position: relative;
10
+    .PageContent {
11
+      position: relative;
12
+      overflow: hidden;
13
+      > .Search {
14
+        padding: 0 50px;
15
+        position: relative;
16
+        overflow: hidden;
17
+        margin-top: 30px;
18
+        > view {
19
+          position: relative;
20
+          overflow: hidden;
21
+          background: #f8f8f8;
22
+          border-radius: 44px;
23
+          font-size: 0;
24
+          white-space: nowrap;
25
+          text-align: center;
26
+          > text {
27
+            display: inline-block;
28
+            vertical-align: middle;
29
+            font-size: 20px;
30
+            color: #999;
31
+            line-height: 44px;
32
+            margin-left: 10px;
33
+            &:first-child {
34
+              margin-left: 0;
35
+              font-size: 28px;
36
+            }
37
+          }
38
+        }
39
+      }
40
+      > text {
41
+        display: block;
42
+        padding: 0 36px;
43
+        font-size: 34px;
44
+        font-weight: bold;
45
+        color: #333;
46
+        margin-top: 40px;
47
+      }
48
+      > .CheckBoxList {
49
+        font-size: 0;
50
+        padding: 0 36px;
51
+        > view {
52
+          display: inline-block;
53
+          vertical-align: middle;
54
+          width: 194px;
55
+          font-size: 0;
56
+          white-space: nowrap;
57
+          margin-left: 48px;
58
+          border-radius: 4px;
59
+          border: 2px solid #193c83;
60
+          box-sizing: border-box;
61
+          margin-top: 28px;
62
+          text-align: center;
63
+          position: relative;
64
+          overflow: hidden;
65
+          &:nth-child(3n + 1) {
66
+            margin-left: 0;
67
+          }
68
+          > text {
69
+            display: inline-block;
70
+            font-size: 30px;
71
+            font-weight: bold;
72
+            line-height: 80px;
73
+            color: #333;
74
+          }
75
+          > image {
76
+            display: block;
77
+            width: 36px;
78
+            height: 36px;
79
+            position: absolute;
80
+            right: -2px;
81
+            bottom: -2px;
82
+          }
83
+        }
84
+      }
85
+      >.List {
86
+        padding: 0 36px;
87
+        position: relative;
88
+        overflow: hidden;
89
+        >view {
90
+          margin-top: 20px;
91
+        }
92
+      }
93
+      > .PageBottom {
94
+        text-align: center;
95
+        font-size: 0;
96
+        white-space: nowrap;
97
+        > text {
98
+          display: inline-block;
99
+          font-size: 28px;
100
+          color: #666;
101
+          line-height: 40px;
102
+          margin: 20px auto;
103
+        }
104
+      }
105
+    }
106
+  }
107
+}

+ 49
- 0
src/pages/mine/components/ResidentListItem/index.jsx Wyświetl plik

@@ -0,0 +1,49 @@
1
+import React, { useState, useEffect } from 'react'
2
+import './index.scss'
3
+import Taro from '@tarojs/taro'
4
+import { Image } from '@tarojs/components'
5
+
6
+export default function ResidentListItem (props) {
7
+  const { Data = {} } = props
8
+  return (
9
+    <view className='components ResidentListItem'>
10
+      <view className='flex-h'>
11
+        <text>最新报备:</text>
12
+        <view className='flex-item'>
13
+          <text>1710300417793</text>
14
+        </view>
15
+        <text className='Status'>到访确认</text>
16
+      </view>
17
+      <view className='flex-h'>
18
+        <text>客户姓名:</text>
19
+        <view className='flex-item'>
20
+          <text>栋</text>
21
+        </view>
22
+      </view>
23
+      <view className='flex-h'>
24
+        <text>手机号码:</text>
25
+        <view className='flex-item'>
26
+          <text>136****9434</text>
27
+        </view>
28
+        <Image mode='heightFix' src={require('../../../../assets/mine-icon27.png')}></Image>
29
+        <text className='Type'>结佣</text>
30
+      </view>
31
+      <view className='flex-h'>
32
+        <text>报备经纪:</text>
33
+        <view className='flex-item'>
34
+          <text>成凤  15005184629</text>
35
+        </view>
36
+      </view>
37
+      <view className='flex-h'>
38
+        <text>报备时间:</text>
39
+        <view className='flex-item'>
40
+          <text>2017/10/30 15:25</text>
41
+        </view>
42
+      </view>
43
+      <view className='Opt'>
44
+        <text className='active' onClick={() => { Taro.navigateTo({ url: `/pages/mine/changeVisit/index?id=${Data.id}` }) }}>更新交易</text>
45
+        <text>无效</text>
46
+      </view>
47
+    </view>
48
+  )
49
+}

+ 68
- 0
src/pages/mine/components/ResidentListItem/index.scss Wyświetl plik

@@ -0,0 +1,68 @@
1
+.components.ResidentListItem {
2
+  position: relative;
3
+  overflow: hidden;
4
+  background: #fff;
5
+  border-radius: 12px;
6
+  box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.03);
7
+  padding: 30px 20px 50px;
8
+  >.flex-h {
9
+    align-items: center;
10
+    >text {
11
+      font-size: 30px;
12
+      line-height: 60px;
13
+      color: #333;
14
+      &.Status {
15
+        width: 144px;
16
+        text-align: center;
17
+        background: #193C83;
18
+        border-radius: 60px;
19
+        color: #fff;
20
+      }
21
+      &.Type {
22
+        color: #193C83;
23
+        margin-left: 10px;
24
+        font-weight: bold;
25
+      }
26
+    }
27
+    >.flex-item {
28
+      margin-left: 20px;
29
+      >text {
30
+        display: block;
31
+        font-size: 30px;
32
+        line-height: 60px;
33
+        color: #333;
34
+        white-space: nowrap;
35
+        overflow: hidden;
36
+        text-overflow: ellipsis;
37
+      }
38
+    }
39
+    >image {
40
+      height: 38px;
41
+      margin-left: 10px;
42
+    }
43
+  }
44
+  >.Opt {
45
+    font-size: 0;
46
+    white-space: nowrap;
47
+    text-align: right;
48
+    margin-top: 10px;
49
+    >text {
50
+      display: inline-block;
51
+      font-size: 30px;
52
+      line-height: 60px;
53
+      width: 144px;
54
+      text-align: center;
55
+      box-sizing: border-box;
56
+      border-radius: 60px;
57
+      margin-left: 30px;
58
+      border: 2px solid #B9B2B2;
59
+      background: #B9B2B2;
60
+      color: #fff;
61
+      &.active {
62
+        background: none;
63
+        border-color: #193C83;
64
+        color: #193C83;
65
+      }
66
+    }
67
+  }
68
+}

+ 28
- 0
src/pages/mine/components/StatCustomerListItem/index.jsx Wyświetl plik

@@ -0,0 +1,28 @@
1
+import React, { useState, useEffect } from 'react'
2
+import './index.scss'
3
+import Taro from '@tarojs/taro'
4
+import { Image } from '@tarojs/components'
5
+
6
+export default function StatCustomerListItem (props) {
7
+  const { data = {}, showStatus = false } = props
8
+  return (
9
+    <view className='components StatCustomerListItem flex-h'>
10
+      <view className='Icon'>
11
+        <Image mode='scaleToFill' src={null}></Image>
12
+      </view>
13
+      <view className='flex-item'>
14
+        <view>
15
+          <text>范丞丞</text>
16
+          <text className='iconfont icon-yonghu'></text>
17
+        </view>
18
+        <text>136 1394 9434</text>
19
+      </view>
20
+      <text className='iconfont icon-liaotian'></text>
21
+      <text className='iconfont icon-dianhua active'></text>
22
+      {
23
+        showStatus &&
24
+        <text className='Status'>报备</text>
25
+      }
26
+    </view>
27
+  )
28
+}

+ 65
- 0
src/pages/mine/components/StatCustomerListItem/index.scss Wyświetl plik

@@ -0,0 +1,65 @@
1
+.components.StatCustomerListItem {
2
+  position: relative;
3
+  overflow: hidden;
4
+  align-items: center;
5
+  border-bottom: 2px solid rgba(0, 0, 0, 0.12);
6
+  padding: 12px 0;
7
+  >.Icon {
8
+    width: 92px;
9
+    height: 92px;
10
+    position: relative;
11
+    overflow: hidden;
12
+    border-radius: 100%;
13
+    background: #eee;
14
+    margin-right: 30px;
15
+    >image {
16
+      width: 100%;
17
+      height: 100%;
18
+    }
19
+  }
20
+  >.flex-item {
21
+    >view {
22
+      font-size: 0;
23
+      white-space: nowrap;
24
+      >text {
25
+        display: inline-block;
26
+        vertical-align: middle;
27
+        font-size: 32px;
28
+        line-height: 1;
29
+        &.iconfont {
30
+          color: #1296DB;
31
+          margin-left: 30px;
32
+        }
33
+      }
34
+    }
35
+    >text {
36
+      display: block;
37
+      font-size: 28px;
38
+      color: #666;
39
+      line-height: 1;
40
+      margin-top: 16px;
41
+      white-space: nowrap;
42
+    }
43
+  }
44
+  >text {
45
+    margin-left: 40px;
46
+    &.iconfont {
47
+      font-size: 40px;
48
+      width: 80px;
49
+      line-height: 80px;
50
+      text-align: center;
51
+      border-radius: 100%;
52
+      color: #FA9730;
53
+      background: rgba(251, 171, 87, 0.12);
54
+      &.active {
55
+        color: #00BC4B;
56
+        background: rgba(129, 188, 75, 0.12);
57
+      }
58
+    }
59
+    &.Status {
60
+      font-size: 34px;
61
+      font-weight: bold;
62
+      color: #193C83;
63
+    }
64
+  }
65
+}

+ 48
- 0
src/pages/mine/components/TransactedCustomer/index.jsx Wyświetl plik

@@ -0,0 +1,48 @@
1
+import React, { useState, useEffect } from 'react'
2
+import './index.scss'
3
+import Taro from '@tarojs/taro'
4
+import { ScrollView, Image } from '@tarojs/components'
5
+import StatCustomerListItem from '../StatCustomerListItem/index'
6
+
7
+export default function TransactedCustomer (props) {
8
+  const { Data = {} } = props
9
+  const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
10
+  const [IsPull, setPull] = useState(false)
11
+  const [PullTimer, setPullTimer] = useState(null)
12
+
13
+  const PageRefresh = () => { // 页面下拉刷新回调
14
+    setPull(true)
15
+  }
16
+
17
+  useEffect(() => { // 下拉刷新触发
18
+    if (IsPull) {
19
+      clearTimeout(PullTimer)
20
+      setPullTimer(setTimeout(() => {
21
+        setPull(false)
22
+      }, 2000))
23
+    }
24
+  }, [IsPull])
25
+
26
+  return (
27
+    <view className='components TransactedCustomer'>
28
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
29
+        <view className='PageContent'>
30
+
31
+          <view className='List'>
32
+            {
33
+              PageList.map((item, index) => (
34
+                <StatCustomerListItem key={`ListItem-${index}`} data={item}></StatCustomerListItem>
35
+              ))
36
+            }
37
+          </view>
38
+
39
+          {/* bottom */}
40
+          <view className='PageBottom'>
41
+            <text>已经到底了~</text>
42
+          </view>
43
+
44
+        </view>
45
+      </ScrollView>
46
+    </view>
47
+  )
48
+}

+ 35
- 0
src/pages/mine/components/TransactedCustomer/index.scss Wyświetl plik

@@ -0,0 +1,35 @@
1
+.components.TransactedCustomer {
2
+  position: relative;
3
+  overflow: hidden;
4
+  width: 100%;
5
+  height: 100%;
6
+  >scroll-view {
7
+    width: 100%;
8
+    height: 100%;
9
+    position: relative;
10
+    .PageContent {
11
+      position: relative;
12
+      overflow: hidden;
13
+      >.List {
14
+        padding: 0 36px;
15
+        position: relative;
16
+        overflow: hidden;
17
+        >view {
18
+          margin-top: 20px;
19
+        }
20
+      }
21
+      > .PageBottom {
22
+        text-align: center;
23
+        font-size: 0;
24
+        white-space: nowrap;
25
+        > text {
26
+          display: inline-block;
27
+          font-size: 28px;
28
+          color: #666;
29
+          line-height: 40px;
30
+          margin: 20px auto;
31
+        }
32
+      }
33
+    }
34
+  }
35
+}

+ 3
- 0
src/pages/mine/residentManager/index.config.js Wyświetl plik

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '驻场管理'
3
+}

+ 96
- 0
src/pages/mine/residentManager/index.jsx Wyświetl plik

@@ -0,0 +1,96 @@
1
+import React, { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import './index.scss'
4
+import { ScrollView, Image } from '@tarojs/components'
5
+import '../../../assets/css/iconfont.css'
6
+import ResidentListItem from '../components/ResidentListItem/index'
7
+
8
+export default withLayout((props) => {
9
+
10
+  // const [PageProps] = useState(props)
11
+  const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
12
+  const [IsPull, setPull] = useState(false)
13
+  const [PullTimer, setPullTimer] = useState(null)
14
+  const [FilterMenu] = useState([
15
+    { name: '报备', id: 1 },
16
+    { name: '到访', id: 2 },
17
+    { name: '认筹', id: 3 },
18
+    { name: '认购', id: 4 },
19
+    { name: '签约', id: 5 },
20
+    { name: '报备无效', id: 6 },
21
+    { name: '报备过期', id: 7 }
22
+  ])
23
+  const [CurrentFilterMenuId, setCurrentFilterMenuId] = useState(null)
24
+
25
+  const PageRefresh = () => { // 页面下拉刷新回调
26
+    setPull(true)
27
+  }
28
+
29
+  const CutFilter = (item) => {
30
+    return () => {
31
+      setCurrentFilterMenuId(item.id === CurrentFilterMenuId ? null : item.id)
32
+    }
33
+  }
34
+
35
+  useEffect(() => { // 下拉刷新触发
36
+    if (IsPull) {
37
+      clearTimeout(PullTimer)
38
+      setPullTimer(setTimeout(() => {
39
+        setPull(false)
40
+      }, 2000))
41
+    }
42
+  }, [IsPull])
43
+
44
+  return (
45
+    <view className='Page residentManager flex-v'>
46
+
47
+      <view className='Search'>
48
+        <view>
49
+          <text className='iconfont icon-sousuo'></text>
50
+          <text>请输入关键字搜索</text>
51
+        </view>
52
+      </view>
53
+
54
+      <view className='flex-item'>
55
+        <view>
56
+          <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
57
+            <view className='PageContent'>
58
+
59
+              <view className='Filter'>
60
+                <text>筛选条件</text>
61
+                <view>
62
+                  {
63
+                    FilterMenu.map((item, index) => (
64
+                      <view key={`FilterItem-${index}`} onClick={CutFilter(item)}>
65
+                        <text>{item.name}</text>
66
+                        {
67
+                          CurrentFilterMenuId === item.id &&
68
+                          <Image mode='widthFix' src={require('../../../assets/findHouse-icon1.png')}></Image>
69
+                        }
70
+                      </view>
71
+                    ))
72
+                  }
73
+                </view>
74
+              </view>
75
+
76
+              <view className='List'>
77
+                {
78
+                  PageList.map((item, index) => (
79
+                    <ResidentListItem Data={item} key={`ResidentListItem-${index}`}></ResidentListItem>
80
+                  ))
81
+                }
82
+              </view>
83
+
84
+              {/* bottom */}
85
+              <view className='PageBottom'>
86
+                <text>已经到底了~</text>
87
+              </view>
88
+
89
+            </view>
90
+          </ScrollView>
91
+        </view>
92
+      </view>
93
+
94
+    </view>
95
+  )
96
+})

+ 118
- 0
src/pages/mine/residentManager/index.scss Wyświetl plik

@@ -0,0 +1,118 @@
1
+.Page.residentManager {
2
+  background: #fff;
3
+  position: relative;
4
+  overflow: hidden;
5
+  >.Search {
6
+    padding: 0 50px 20px;
7
+    position: relative;
8
+    overflow: hidden;
9
+    margin-top: 20px;
10
+    >view {
11
+      position: relative;
12
+      overflow: hidden;
13
+      background: #f8f8f8;
14
+      border-radius: 44px;
15
+      text-align: center;
16
+      font-size: 0;
17
+      white-space: nowrap;
18
+      >text {
19
+        display: inline-block;
20
+        vertical-align: middle;
21
+        font-size: 20px;
22
+        color: #999;
23
+        margin-left: 8px;
24
+        line-height: 44px;
25
+        &:first-child {
26
+          margin-left: 0;
27
+          font-size: 28px;
28
+        }
29
+      }
30
+    }
31
+  }
32
+  > .flex-item {
33
+    position: relative;
34
+    overflow: hidden;
35
+    > view {
36
+      width: 100%;
37
+      position: absolute;
38
+      left: 0;
39
+      top: 0;
40
+      bottom: 0;
41
+      > scroll-view {
42
+        width: 100%;
43
+        height: 100%;
44
+        .PageContent {
45
+          position: relative;
46
+          overflow: hidden;
47
+          min-height: 100vh;
48
+          >.Filter {
49
+            padding: 0 30px;
50
+            position: relative;
51
+            overflow: hidden;
52
+            >text {
53
+              display: block;
54
+              font-size: 34px;
55
+              color: #333;
56
+              font-weight: bold;
57
+              line-height: 1;
58
+            }
59
+            >view {
60
+              font-size: 0;
61
+              >view {
62
+                display: inline-block;
63
+                vertical-align: middle;
64
+                width: 194px;
65
+                font-size: 0;
66
+                white-space: nowrap;
67
+                margin-left: 48px;
68
+                border-radius: 4px;
69
+                border: 2px solid #193C83;
70
+                box-sizing: border-box;
71
+                margin-top: 28px;
72
+                text-align: center;
73
+                position: relative;
74
+                overflow: hidden;
75
+                &:nth-child(3n + 1) {
76
+                  margin-left: 0;
77
+                }
78
+                >text {
79
+                  display: inline-block;
80
+                  font-size: 30px;
81
+                  font-weight: bold;
82
+                  line-height: 80px;
83
+                  color: #333;
84
+                }
85
+                >image {
86
+                  display: block;
87
+                  width: 36px;
88
+                  height: 36px;
89
+                  position: absolute;
90
+                  right: -2px;
91
+                  bottom: -2px;
92
+                }
93
+              }
94
+            }
95
+          }
96
+          > .List {
97
+            padding: 0 30px;
98
+            > view {
99
+              margin-top: 30px;
100
+            }
101
+          }
102
+          > .PageBottom {
103
+            text-align: center;
104
+            font-size: 0;
105
+            white-space: nowrap;
106
+            > text {
107
+              display: inline-block;
108
+              font-size: 28px;
109
+              color: #666;
110
+              line-height: 40px;
111
+              margin: 20px auto;
112
+            }
113
+          }
114
+        }
115
+      }
116
+    }
117
+  }
118
+}

+ 3
- 0
src/pages/mine/statCustomer/index.config.js Wyświetl plik

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '盘客工具'
3
+}

+ 51
- 0
src/pages/mine/statCustomer/index.jsx Wyświetl plik

@@ -0,0 +1,51 @@
1
+import React, { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import './index.scss'
4
+import '../../../assets/css/iconfont.css'
5
+import TransactedCustomer from '../components/TransactedCustomer/index'
6
+import FollowCustomer from '../components/FollowCustomer/index'
7
+
8
+export default withLayout((props) => {
9
+
10
+  // const [PageProps] = useState(props)
11
+  const [MenuList] = useState([
12
+    { name: '跟进客户', id: 1 },
13
+    { name: '成交客户', id: 2 }
14
+  ])
15
+  const [CurrentMenuId, setCurrentMenuId] = useState(1)
16
+
17
+  const CutMenu = (item) => {
18
+    return () => {
19
+      setCurrentMenuId(item.id)
20
+    }
21
+  }
22
+
23
+  return (
24
+    <view className='Page statCustomer flex-v'>
25
+
26
+      <view className='MenuList'>
27
+        <view>
28
+          {
29
+            MenuList.map((item, index) => (
30
+              <text key={`MenuItem-${index}`} className={CurrentMenuId === item.id ? 'active' : ''} onClick={CutMenu(item)}>{item.name}</text>
31
+            ))
32
+          }
33
+        </view>
34
+      </view>
35
+
36
+      <view className='flex-item'>
37
+        <view>
38
+          {
39
+            CurrentMenuId === 1 &&
40
+            <FollowCustomer></FollowCustomer>
41
+          }
42
+          {
43
+            CurrentMenuId === 2 &&
44
+            <TransactedCustomer></TransactedCustomer>
45
+          }
46
+        </view>
47
+      </view>
48
+
49
+    </view>
50
+  )
51
+})

+ 62
- 0
src/pages/mine/statCustomer/index.scss Wyświetl plik

@@ -0,0 +1,62 @@
1
+.Page.statCustomer {
2
+  background: #fff;
3
+  position: relative;
4
+  overflow: hidden;
5
+  width: 100%;
6
+  height: 100vh;
7
+  >.MenuList {
8
+    position: relative;
9
+    overflow: hidden;
10
+    z-index: 2;
11
+    padding: 0 50px;
12
+    >view {
13
+      position: relative;
14
+      overflow: hidden;
15
+      text-align: center;
16
+      font-size: 0;
17
+      white-space: nowrap;
18
+      border-bottom: 2px solid rgba(0, 0, 0, 0.12);
19
+      >text {
20
+        display: inline-block;
21
+        font-size: 32px;
22
+        color: #666;
23
+        line-height: 40px;
24
+        margin-left: 80px;
25
+        vertical-align: middle;
26
+        padding: 20px 0;
27
+        position: relative;
28
+        overflow: hidden;
29
+        &:first-child {
30
+          margin-left: 0;
31
+        }
32
+        &.active {
33
+          color: #333;
34
+          font-weight: 34px;
35
+          font-weight: bold;
36
+          &::after {
37
+            content: '';
38
+            width: 100%;
39
+            height: 4px;
40
+            background: #1A3B83;
41
+            display: block;
42
+            position: absolute;
43
+            left: 0;
44
+            bottom: 0;
45
+          }
46
+        }
47
+      }
48
+    }
49
+  }
50
+  > .flex-item {
51
+    position: relative;
52
+    overflow: hidden;
53
+    z-index: 1;
54
+    > view {
55
+      width: 100%;
56
+      position: absolute;
57
+      left: 0;
58
+      top: 0;
59
+      bottom: 0;
60
+    }
61
+  }
62
+}

+ 3
- 0
src/pages/mine/sureVisit/index.config.js Wyświetl plik

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '确认到访'
3
+}

+ 71
- 0
src/pages/mine/sureVisit/index.jsx Wyświetl plik

@@ -0,0 +1,71 @@
1
+import React, { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import './index.scss'
4
+import { ScrollView, Input } from '@tarojs/components'
5
+import '../../../assets/css/iconfont.css'
6
+
7
+export default withLayout((props) => {
8
+
9
+  // const [PageProps] = useState(props)
10
+
11
+  return (
12
+    <view className='Page sureVisit'>
13
+
14
+      <ScrollView scroll-y={true} refresher-enabled={false} refresher-background='#fff'>
15
+        <view className='PageContent'>
16
+
17
+          <text>客户姓名</text>
18
+          <view className='FormLine flex-h'>
19
+            <view className='flex-item'>
20
+              <Input placeholder='请输入姓名'></Input>
21
+            </view>
22
+          </view>
23
+
24
+          <text>归属渠道</text>
25
+          <view className='FormLine flex-h'>
26
+            <view className='flex-item'>
27
+              <Input placeholder='请输入渠道'></Input>
28
+            </view>
29
+          </view>
30
+
31
+          <text>内场接待</text>
32
+          <view className='FormLine flex-h'>
33
+            <view className='flex-item'>
34
+              <Input placeholder='请输入内场接待'></Input>
35
+            </view>
36
+          </view>
37
+
38
+          <text>到访时间</text>
39
+          <view className='FormLine flex-h'>
40
+            <view className='flex-item'>
41
+              <text>请选择</text>
42
+            </view>
43
+            <text className='iconfont icon-jiantoudown'></text>
44
+          </view>
45
+
46
+          <text>到访照片</text>
47
+          <view className='FormLine flex-h'>
48
+            <view className='flex-item'>
49
+              <view className='UploadImg'>
50
+                <text className='iconfont icon-xiangji centerLabel'></text>
51
+              </view>
52
+            </view>
53
+          </view>
54
+
55
+          <text>备注</text>
56
+          <view className='FormLine flex-h'>
57
+            <view className='flex-item'>
58
+              <Input placeholder='补充说明(选填)'></Input>
59
+            </view>
60
+          </view>
61
+
62
+          <view className='Btn'>
63
+            <text>提交</text>
64
+          </view>
65
+
66
+        </view>
67
+      </ScrollView>
68
+
69
+    </view>
70
+  )
71
+})

+ 77
- 0
src/pages/mine/sureVisit/index.scss Wyświetl plik

@@ -0,0 +1,77 @@
1
+.Page.sureVisit {
2
+  background: #fff;
3
+  height: 100vh;
4
+  width: 100%;
5
+  > scroll-view {
6
+    width: 100%;
7
+    height: 100%;
8
+    .PageContent {
9
+      position: relative;
10
+      overflow: hidden;
11
+      min-height: 100vh;
12
+      > text {
13
+        font-size: 34px;
14
+        font-weight: bold;
15
+        color: #333;
16
+        display: block;
17
+        text-indent: 40px;
18
+        margin-top: 30px;
19
+      }
20
+      > .flex-h {
21
+        padding: 20px 40px;
22
+        border-bottom: 2px solid rgba(0, 0, 0, 0.12);
23
+        margin-top: 10px;
24
+        align-items: center;
25
+        >view {
26
+          > input {
27
+            display: block;
28
+            width: 100%;
29
+            background: none;
30
+            font-size: 26px;
31
+            line-height: 40px;
32
+            height: 40px;
33
+          }
34
+          >text {
35
+            display: block;
36
+            width: 100%;
37
+            background: none;
38
+            font-size: 26px;
39
+            line-height: 40px;
40
+            height: 40px;
41
+          }
42
+          >.UploadImg {
43
+            width: 120px;
44
+            height: 120px;
45
+            box-sizing: border-box;
46
+            border: 2px dashed #999;
47
+            border-radius: 8px;
48
+            position: relative;
49
+            overflow: hidden;
50
+            >text {
51
+              font-size: 50px;
52
+              color: #999;
53
+            }
54
+          }
55
+        }
56
+        >text {
57
+          font-size: 30px;
58
+        }
59
+      }
60
+      .Btn {
61
+        padding: 40px;
62
+        position: relative;
63
+        overflow: hidden;
64
+        >text {
65
+          display: block;
66
+          text-align: center;
67
+          font-size: 32px;
68
+          line-height: 92px;
69
+          background: #193C83;
70
+          color: #fff;
71
+          font-weight: bold;
72
+          border-radius: 92px;
73
+        }
74
+      }
75
+    }
76
+  }
77
+}

+ 2
- 2
src/pages/mine/tabData.js Wyświetl plik

@@ -38,7 +38,7 @@ const MineMenuList = {
38 38
       { name: '我的主页', icon: require('../../assets/mine-icon15.png'), router: '' },
39 39
       { name: '我的推广码', icon: require('../../assets/mine-icon14.png'), router: '' },
40 40
       { name: '客户分析', icon: require('../../assets/mine-icon5.png'), router: '' },
41
-      { name: '盘客工具', icon: require('../../assets/mine-icon6.png'), router: '' }
41
+      { name: '盘客工具', icon: require('../../assets/mine-icon6.png'), router: '/pages/mine/statCustomer/index' }
42 42
     ],
43 43
     [
44 44
       { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
@@ -55,7 +55,7 @@ const MineMenuList = {
55 55
   Resident: [ // 驻场管理
56 56
     [
57 57
       { name: '推荐客户', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/recommendUser/index' },
58
-      { name: '驻场管理', icon: require('../../assets/mine-icon17.png'), router: '' }
58
+      { name: '驻场管理', icon: require('../../assets/mine-icon17.png'), router: '/pages/mine/residentManager/index' }
59 59
     ],
60 60
     [
61 61
       { name: '我的客户', icon: require('../../assets/mine-icon11.png'), router: '/pages/mine/myCustomer/index' },

+ 24
- 0
src/routes.js Wyświetl plik

@@ -212,6 +212,30 @@ const routes = [
212 212
     pkg: 'main',
213 213
     type: 'mine',
214 214
   },
215
+  {
216
+    name: '驻场管理',
217
+    page: 'pages/mine/residentManager/index',
218
+    pkg: 'main',
219
+    type: 'mine',
220
+  },
221
+  {
222
+    name: '确认到访',
223
+    page: 'pages/mine/sureVisit/index',
224
+    pkg: 'main',
225
+    type: 'mine',
226
+  },
227
+  {
228
+    name: '变更交易节点',
229
+    page: 'pages/mine/changeVisit/index',
230
+    pkg: 'main',
231
+    type: 'mine',
232
+  },
233
+  {
234
+    name: '盘客工具',
235
+    page: 'pages/mine/statCustomer/index',
236
+    pkg: 'main',
237
+    type: 'mine',
238
+  },
215 239
   {
216 240
     name: '意见反馈',
217 241
     page: 'pages/mine/feedBack/index',