Ver código fonte

静态页面

1002884655 4 anos atrás
pai
commit
0d1e5f3bdb

BIN
src/assets/mine-icon24.png Ver arquivo


BIN
src/assets/mine-icon25.png Ver arquivo


BIN
src/assets/mine-icon26.png Ver arquivo


+ 1
- 1
src/pages/index/activityList/index.config.js Ver arquivo

@@ -1,3 +1,3 @@
1 1
 export default {
2
-  navigationBarTitleText: '活动列表'
2
+  navigationBarTitleText: '活动'
3 3
 }

+ 13
- 13
src/pages/index/activityList/index.jsx Ver arquivo

@@ -1,12 +1,10 @@
1 1
 import React, { useState, useEffect } from 'react'
2
-import withLayout from '@/layout'
3 2
 import './index.scss'
4 3
 import { ScrollView } from '@tarojs/components'
5
-import '../../../assets/css/iconfont.css'
4
+import ActivityListItem from '../components/ActivityListItem/index'
6 5
 
7
-export default withLayout((props) => {
8
-
9
-  // const [PageProps] = useState(props)
6
+export default function MyCollectForActivity (props) {
7
+  const { Data = {} } = props
10 8
   const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
11 9
   const [IsPull, setPull] = useState(false)
12 10
   const [PullTimer, setPullTimer] = useState(null)
@@ -25,21 +23,23 @@ export default withLayout((props) => {
25 23
   }, [IsPull])
26 24
 
27 25
   return (
28
-    <view className='Page activityList'>
29
-
30
-      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
26
+    <view className='components activityList'>
27
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#f8f8f8'>
31 28
         <view className='PageContent'>
32
-
33
-          活动列表
29
+          <view className='List'>
30
+            {
31
+              PageList.map((item, index) => (
32
+                <ActivityListItem Data={item} key={`ActivityListItem-${index}`}></ActivityListItem>
33
+              ))
34
+            }
35
+          </view>
34 36
 
35 37
           {/* bottom */}
36 38
           <view className='PageBottom'>
37 39
             <text>已经到底了~</text>
38 40
           </view>
39
-
40 41
         </view>
41 42
       </ScrollView>
42
-
43 43
     </view>
44 44
   )
45
-})
45
+}

+ 27
- 5
src/pages/index/activityList/index.scss Ver arquivo

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

+ 3
- 2
src/pages/index/index.jsx Ver arquivo

@@ -9,6 +9,7 @@ import LiveSale from './components/LiveSale/index'
9 9
 import ColumnTitle from './components/ColumnTitle/index'
10 10
 import ProjectListItem from '../../components/ProjectListItem/index'
11 11
 import { ScrollView } from '@tarojs/components'
12
+import Taro from '@tarojs/taro'
12 13
 
13 14
 export default withLayout((props) => {
14 15
 
@@ -64,13 +65,13 @@ export default withLayout((props) => {
64 65
 
65 66
           {/* 直播购房 */}
66 67
           <view className='LiveSale'>
67
-            <ColumnTitle Name='直播购房' Icon="icon-yinpin" ShowMore={true}></ColumnTitle>
68
+            <ColumnTitle Name='直播购房' Icon="icon-yinpin" ShowMore={true} ToMore={() => { Taro.switchTab({ url: `/pages/video/index` }) }}></ColumnTitle>
68 69
             <LiveSale></LiveSale>
69 70
           </view>
70 71
 
71 72
           {/* 全部项目 */}
72 73
           <view className='AllProject'>
73
-            <ColumnTitle Name='全部项目' Icon="icon-aixin" ShowMore={true}></ColumnTitle>
74
+            <ColumnTitle Name='全部项目' Icon="icon-aixin" ShowMore={true} ToMore={() => { Taro.navigateTo({ url: `/pages/index/buildingList/index` }) }}></ColumnTitle>
74 75
             <view className='ProjectList'>
75 76
               {
76 77
                 ProjectList.map((item, index) => (

+ 3
- 0
src/pages/mine/addCustomer/index.config.js Ver arquivo

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '添加客户'
3
+}

+ 71
- 0
src/pages/mine/addCustomer/index.jsx Ver arquivo

@@ -0,0 +1,71 @@
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
+
11
+  return (
12
+    <view className='Page addCustomer'>
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
+              <text>请选择</text>
35
+            </view>
36
+            <text className='iconfont icon-jiantoudown'></text>
37
+          </view>
38
+
39
+          <text>意向楼盘</text>
40
+          <view className='FormLine flex-h'>
41
+            <view className='flex-item'>
42
+              <Input placeholder='请输入楼盘名称'></Input>
43
+            </view>
44
+          </view>
45
+
46
+          <text>内场接待(选填)</text>
47
+          <view className='FormLine flex-h'>
48
+            <view className='flex-item'>
49
+              <text>请选择</text>
50
+            </view>
51
+            <Image mode='heightFix' src={require('../../../assets/mine-icon19.png')}></Image>
52
+            <text>选择</text>
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
+})

+ 71
- 0
src/pages/mine/addCustomer/index.scss Ver arquivo

@@ -0,0 +1,71 @@
1
+.Page.addCustomer {
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
+        }
43
+        > text {
44
+          font-size: 26px;
45
+          &.iconfont {
46
+            font-size: 30px;
47
+          }
48
+        }
49
+        >image {
50
+          height: 30px;
51
+          margin-right: 10px;
52
+        }
53
+      }
54
+      .Btn {
55
+        padding: 40px;
56
+        position: relative;
57
+        overflow: hidden;
58
+        > text {
59
+          display: block;
60
+          text-align: center;
61
+          font-size: 32px;
62
+          line-height: 92px;
63
+          background: #193c83;
64
+          color: #fff;
65
+          font-weight: bold;
66
+          border-radius: 92px;
67
+        }
68
+      }
69
+    }
70
+  }
71
+}

+ 1
- 1
src/pages/mine/components/MyCustomerListItem/index.jsx Ver arquivo

@@ -5,7 +5,7 @@ import Taro from '@tarojs/taro'
5 5
 export default function MyCustomerListItem (props) {
6 6
   const { Data = {} } = props
7 7
   return (
8
-    <view className='components MyCustomerListItem flex-h' onClick={() => { Taro.navigateTo({ url: `/pages/index/activityDetail/index?id=${Data.id}` }) }}>
8
+    <view className='components MyCustomerListItem flex-h' onClick={() => { Taro.navigateTo({ url: `/pages/mine/myCustomerDetail/index?id=${Data.id}` }) }}>
9 9
       <view className='Img'>
10 10
         {
11 11
           Data.img &&

+ 1
- 1
src/pages/mine/index.jsx Ver arquivo

@@ -10,7 +10,7 @@ import Taro from '@tarojs/taro'
10 10
 export default withLayout((props) => {
11 11
 
12 12
   // const [PageProps] = useState(props)
13
-  const UserRole = 1 // 1-普通用户 2-经纪人 3-置业顾问 4-驻场管理
13
+  const UserRole = 2 // 1-普通用户 2-经纪人 3-置业顾问 4-驻场管理
14 14
   const [MenuList, setMenuList] = useState(UserRole === 1 ? MineMenuList.User : UserRole === 2 ? MineMenuList.Broker : UserRole === 3 ? MineMenuList.Adviser : MineMenuList.Resident)
15 15
   const [IsPull, setPull] = useState(false)
16 16
   const [ShowLogin, setShowLogin] = useState(false)

+ 3
- 0
src/pages/mine/myCourse/index.config.js Ver arquivo

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '我的课堂'
3
+}

+ 51
- 0
src/pages/mine/myCourse/index.jsx Ver arquivo

@@ -0,0 +1,51 @@
1
+import React, { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import './index.scss'
4
+import { ScrollView } from '@tarojs/components'
5
+import '../../../assets/css/iconfont.css'
6
+import MyCourseListItem from '../components/MyCourseListItem/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
+
15
+  const PageRefresh = () => { // 页面下拉刷新回调
16
+    setPull(true)
17
+  }
18
+
19
+  useEffect(() => { // 下拉刷新触发
20
+    if (IsPull) {
21
+      clearTimeout(PullTimer)
22
+      setPullTimer(setTimeout(() => {
23
+        setPull(false)
24
+      }, 2000))
25
+    }
26
+  }, [IsPull])
27
+
28
+  return (
29
+    <view className='Page myCourse'>
30
+
31
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
32
+        <view className='PageContent'>
33
+          <view className='List'>
34
+            {
35
+              PageList.map((item, index) => (
36
+                <MyCourseListItem Data={item} key={`MyCourseListItem-${index}`}></MyCourseListItem>
37
+              ))
38
+            }
39
+          </view>
40
+
41
+          {/* bottom */}
42
+          <view className='PageBottom'>
43
+            <text>已经到底了~</text>
44
+          </view>
45
+
46
+        </view>
47
+      </ScrollView>
48
+
49
+    </view>
50
+  )
51
+})

+ 30
- 0
src/pages/mine/myCourse/index.scss Ver arquivo

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

+ 3
- 0
src/pages/mine/myCustomerDetail/index.config.js Ver arquivo

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '客户详情'
3
+}

+ 184
- 0
src/pages/mine/myCustomerDetail/index.jsx Ver arquivo

@@ -0,0 +1,184 @@
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
+
7
+export default withLayout((props) => {
8
+
9
+  // const [PageProps] = useState(props)
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='Page myCustomerDetail'>
28
+
29
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#f8f8f8'>
30
+        <view className='PageContent'>
31
+
32
+          {/* 基本信息 */}
33
+          <view className='BasicInfo'>
34
+            <view className='Title flex-h'>
35
+              <text>基本信息</text>
36
+            </view>
37
+            <view className='Content'>
38
+              <view className='UserInfo flex-h'>
39
+                <view className='Icon'>
40
+                  <Image mode='aspectFill' src={null}></Image>
41
+                </view>
42
+                <view className='flex-item'>
43
+                  <text>范丞丞</text>
44
+                  <text>136 1394 9434</text>
45
+                </view>
46
+                <text className='iconfont icon-jiantouright'></text>
47
+              </view>
48
+              <view className='Status'>
49
+                <view className='flex-h'>
50
+                  <view className='flex-item'>
51
+                    <text>对楼盘意向值:</text>
52
+                    <text>xxxxxxxxxxx</text>
53
+                  </view>
54
+                </view>
55
+                <view className='flex-h'>
56
+                  <view className='flex-item'>
57
+                    <text>跟进状态:</text>
58
+                    <text>跟进中</text>
59
+                  </view>
60
+                  <view className='flex-item'>
61
+                    <text>报备状态:</text>
62
+                    <text>报备中</text>
63
+                  </view>
64
+                </view>
65
+                <view className='flex-h'>
66
+                  <view className='flex-item'>
67
+                    <text>跟进结果:</text>
68
+                    <text>已跟进</text>
69
+                  </view>
70
+                  <view className='flex-item'>
71
+                    <text>报备结果:</text>
72
+                    <text>已报备</text>
73
+                  </view>
74
+                </view>
75
+                <view className='flex-h'>
76
+                  <view className='flex-item'>
77
+                    <text>预计收回时间:</text>
78
+                    <text>2020-06-12-12:00</text>
79
+                  </view>
80
+                </view>
81
+              </view>
82
+            </view>
83
+          </view>
84
+
85
+          {/* 房源订单 */}
86
+          <view className='Order'>
87
+            <view className='Title flex-h'>
88
+              <text>房源订单</text>
89
+            </view>
90
+            <view className='Content'>
91
+              <view>
92
+                <view className='flex-h'>
93
+                  <view className='flex-item'>
94
+                    <text>120万(户型名称)</text>
95
+                  </view>
96
+                  <Image mode='heightFix' src={require('../../../assets/mine-icon25.png')}></Image>
97
+                  <text className='active'>签约</text>
98
+                  <text className='iconfont icon-jiantouright'></text>
99
+                </view>
100
+                <view className='Info'>
101
+                  <text>建筑面积:117㎡</text>
102
+                  <text>总价:X/单价:XXX</text>
103
+                  <text>套内面积:X</text>
104
+                </view>
105
+              </view>
106
+              <view>
107
+                <view className='flex-h'>
108
+                  <view className='flex-item'>
109
+                    <text>120万(户型名称)</text>
110
+                  </view>
111
+                  <Image mode='heightFix' src={require('../../../assets/mine-icon24.png')}></Image>
112
+                  <text className='active'>到访</text>
113
+                  <text className='iconfont icon-jiantouright'></text>
114
+                </view>
115
+                <view className='Info'>
116
+                  <text>建筑面积:117㎡</text>
117
+                  <text>总价:X/单价:XXX</text>
118
+                  <text>套内面积:X</text>
119
+                </view>
120
+              </view>
121
+            </view>
122
+          </view>
123
+
124
+          {/* 操作人员 */}
125
+          <view className='OptUser'>
126
+            <view className='Title flex-h'>
127
+              <text>操作人员</text>
128
+              <view className='flex-item'></view>
129
+              <view className='More'>
130
+                <text>更多</text>
131
+                <text className='iconfont icon-jiantouright'></text>
132
+              </view>
133
+            </view>
134
+            <view className='Content'>
135
+              <view className='UserInfo flex-h'>
136
+                <view className='Icon'>
137
+                  <Image mode='aspectFill' src={null}></Image>
138
+                </view>
139
+                <view className='flex-item'>
140
+                  <text>最后跟进人</text>
141
+                  <text>跟进时间</text>
142
+                </view>
143
+              </view>
144
+            </view>
145
+          </view>
146
+
147
+          {/* 跟进记录 */}
148
+          <view className='Record'>
149
+            <view className='Title flex-h'>
150
+              <text>跟进记录</text>
151
+              <view className='Edit'>
152
+                <Image mode='heightFix' src={require('../../../assets/mine-icon26.png')}></Image>
153
+                <text>修改</text>
154
+              </view>
155
+              <view className='flex-item'></view>
156
+              <view className='More'>
157
+                <text>更多</text>
158
+                <text className='iconfont icon-jiantouright'></text>
159
+              </view>
160
+            </view>
161
+            <view className='Content'>
162
+              {
163
+                ['', '', ''].map((item, index) => (
164
+                  <view key={`Item-${index}`}>
165
+                    <view className='flex-h'>
166
+                      <text>范丞丞</text>
167
+                      <view className='flex-item'></view>
168
+                      <text>2021-05-21 12:00</text>
169
+                    </view>
170
+                    <view className='Desc'>
171
+                      <text>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </text>
172
+                    </view>
173
+                  </view>
174
+                ))
175
+              }
176
+            </view>
177
+          </view>
178
+
179
+        </view>
180
+      </ScrollView>
181
+
182
+    </view>
183
+  )
184
+})

+ 274
- 0
src/pages/mine/myCustomerDetail/index.scss Ver arquivo

@@ -0,0 +1,274 @@
1
+.Page.myCustomerDetail {
2
+  background: #f8f8f8;
3
+  > scroll-view {
4
+    width: 100%;
5
+    height: 100%;
6
+    .PageContent {
7
+      position: relative;
8
+      overflow: hidden;
9
+      min-height: 100vh;
10
+      padding: 0 30px;
11
+      >view {
12
+        position: relative;
13
+        overflow: hidden;
14
+        background: #fff;
15
+        border-radius: 16px;
16
+        margin-bottom: 30px;
17
+        padding: 30px 0;
18
+        &:first-child {
19
+          margin-top: 30px;
20
+        }
21
+        >.Title {
22
+          align-items: center;
23
+          >text {
24
+            font-size: 34px;
25
+            line-height: 1;
26
+            position: relative;
27
+            overflow: hidden;
28
+            text-indent: 24px;
29
+            font-weight: bold;
30
+            color: #333;
31
+            &::before {
32
+              content: '';
33
+              width: 4px;
34
+              height: 100%;
35
+              display: block;
36
+              background: #1A3D84;
37
+              left: 0;
38
+              top: 0;
39
+              position: absolute;
40
+            }
41
+          }
42
+          >.Edit {
43
+            font-size: 0;
44
+            white-space: nowrap;
45
+            margin-left: 40px;
46
+            >image {
47
+              height: 32px;
48
+              margin-right: 10px;
49
+              display: inline-block;
50
+              vertical-align: middle;
51
+            }
52
+            >text {
53
+              display: inline-block;
54
+              vertical-align: middle;
55
+              font-size: 32px;
56
+              color: #193C83;
57
+              font-weight: bold;
58
+            }
59
+          }
60
+          >.More {
61
+            font-size: 0;
62
+            white-space: nowrap;
63
+            margin-right: 20px;
64
+            >text {
65
+              display: inline-block;
66
+              vertical-align: middle;
67
+              font-size: 24px;
68
+              color: #333;
69
+            }
70
+          }
71
+        }
72
+        >.Content {
73
+          padding: 0 20px;
74
+          position: relative;
75
+          overflow: hidden;
76
+        }
77
+        &.BasicInfo {
78
+          >.Content {
79
+            >.UserInfo {
80
+              align-items: center;
81
+              border-bottom: 2px solid rgba(0, 0, 0, 0.12);
82
+              padding: 12px 0;
83
+              margin-top: 12px;
84
+              >.Icon {
85
+                width: 92px;
86
+                height: 92px;
87
+                position: relative;
88
+                overflow: hidden;
89
+                border-radius: 100%;
90
+                background: #eee;
91
+                margin-right: 30px;
92
+                >image {
93
+                  width: 100%;
94
+                  height: 100%;
95
+                }
96
+              }
97
+              >.flex-item {
98
+                >text {
99
+                  display: block;
100
+                  font-size: 28px;
101
+                  color: #666;
102
+                  line-height: 1;
103
+                  white-space: nowrap;
104
+                  &:first-child {
105
+                    font-size: 32px;
106
+                    margin-bottom: 16px;
107
+                    color: #333;
108
+                  }
109
+                }
110
+              }
111
+              >text {
112
+                font-size: 24px;
113
+                color: #193C83;
114
+              }
115
+            }
116
+            >.Status {
117
+              padding-bottom: 10px;
118
+              >.flex-h {
119
+                align-items: center;
120
+                margin-top: 60px;
121
+                &:first-child {
122
+                  margin-top: 30px;
123
+                }
124
+                >.flex-item {
125
+                  white-space: nowrap;
126
+                  font-size: 0;
127
+                  >text {
128
+                    display: inline-block;
129
+                    vertical-align: middle;
130
+                    font-size: 28px;
131
+                    color: #666;
132
+                    line-height: 1;
133
+                    &:first-child {
134
+                      font-size: 30px;
135
+                      color: #454545;
136
+                      font-weight: bold;
137
+                      margin-right: 20px;
138
+                    }
139
+                  }
140
+                }
141
+              }
142
+            }
143
+          }
144
+        }
145
+        &.Order {
146
+          >.Content {
147
+            >view {
148
+              padding-bottom: 16px;
149
+              position: relative;
150
+              overflow: hidden;
151
+              border-bottom: 2px solid rgba(0, 0, 0, 0.12);
152
+              &:last-child {
153
+                border-bottom: none;
154
+              }
155
+              >.flex-h {
156
+                align-items: center;
157
+                margin-top: 44px;
158
+                >.flex-item {
159
+                  >text {
160
+                    font-size: 32px;
161
+                    color: #333;
162
+                    display: block;
163
+                    white-space: nowrap;
164
+                  }
165
+                }
166
+                >text {
167
+                  line-height: 1;
168
+                  font-size: 24px;
169
+                  color: #193C83;
170
+                  &.iconfont {
171
+                    font-size: 24px;
172
+                    color: #666;
173
+                    margin-left: 20px;
174
+                  }
175
+                }
176
+                >image {
177
+                  height: 38px;
178
+                  margin-right: 10px;
179
+                }
180
+              }
181
+              >.Info {
182
+                white-space: nowrap;
183
+                font-size: 0;
184
+                >text {
185
+                  display: inline-block;
186
+                  vertical-align: middle;
187
+                  font-size: 28px;
188
+                  color: #666;
189
+                  line-height: 1;
190
+                  margin-top: 16px;
191
+                  margin-left: 20px;
192
+                  &:first-child {
193
+                    margin-left: 0;
194
+                  }
195
+                }
196
+              }
197
+            }
198
+          }
199
+        }
200
+        &.OptUser {
201
+          >.Content {
202
+            >.UserInfo {
203
+              align-items: center;
204
+              margin-top: 54px;
205
+              padding-bottom: 16px;
206
+              >.Icon {
207
+                width: 92px;
208
+                height: 92px;
209
+                position: relative;
210
+                overflow: hidden;
211
+                border-radius: 100%;
212
+                background: #eee;
213
+                margin-right: 30px;
214
+                >image {
215
+                  width: 100%;
216
+                  height: 100%;
217
+                }
218
+              }
219
+              >.flex-item {
220
+                >text {
221
+                  display: block;
222
+                  font-size: 28px;
223
+                  color: #666;
224
+                  line-height: 1;
225
+                  white-space: nowrap;
226
+                  &:first-child {
227
+                    font-size: 32px;
228
+                    margin-bottom: 16px;
229
+                    color: #333;
230
+                  }
231
+                }
232
+              }
233
+            }
234
+          }
235
+        }
236
+        &.Record {
237
+          >.Content {
238
+            >view {
239
+              padding-bottom: 40px;
240
+              border-bottom: 2px solid rgba(0, 0, 0, 0.12);
241
+              position: relative;
242
+              overflow: hidden;
243
+              margin-top: 40px;
244
+              &:last-child {
245
+                border-bottom: none;
246
+              }
247
+              >.flex-h {
248
+                align-items: center;
249
+                >text {
250
+                  line-height: 1;
251
+                  font-size: 24px;
252
+                  color: #999;
253
+                  &:first-child {
254
+                    font-size: 32px;
255
+                    color: #333;
256
+                  }
257
+                }
258
+              }
259
+              >.Desc {
260
+                margin-top: 40px;
261
+                >text {
262
+                  display: block;
263
+                  font-size: 28px;
264
+                  color: #666;
265
+                  line-height: 36px;
266
+                }
267
+              }
268
+            }
269
+          }
270
+        }
271
+      }
272
+    }
273
+  }
274
+}

+ 19
- 0
src/pages/mine/partnerChannel/index.jsx Ver arquivo

@@ -100,6 +100,25 @@ export default withLayout((props) => {
100 100
             </view>
101 101
           </view>
102 102
 
103
+          {/* 销售趋势 */}
104
+          <view className='SaleLineChart'>
105
+            <view className='Top flex-h'>
106
+              <text>销售趋势</text>
107
+              <view className='flex-item'></view>
108
+              <view className='Type'>
109
+                <text>新增客户</text>
110
+                <text className='iconfont icon-sanjiaoxingdown'></text>
111
+              </view>
112
+              <view className='Sort'>
113
+                <text>按天</text>
114
+                <text className='iconfont icon-sanjiaoxingdown'></text>
115
+              </view>
116
+            </view>
117
+            <view className='LineChart'>
118
+              
119
+            </view>
120
+          </view>
121
+
103 122
         </view>
104 123
       </ScrollView>
105 124
     </view>

+ 37
- 1
src/pages/mine/partnerChannel/index.scss Ver arquivo

@@ -7,7 +7,7 @@
7 7
       position: relative;
8 8
       overflow: visible;
9 9
       min-height: 100vh;
10
-      padding: 0 30px;
10
+      padding: 0 30px 30px;
11 11
       >view {
12 12
         box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.03);
13 13
         position: relative;
@@ -170,6 +170,42 @@
170 170
             }
171 171
           }
172 172
         }
173
+        &.SaleLineChart {
174
+          >.Top {
175
+            align-items: center;
176
+            margin-top: 40px;
177
+            padding: 0 20px;
178
+            >text {
179
+              font-size: 24px;
180
+              color: #333;
181
+              &:first-child {
182
+                font-size: 34px;
183
+                font-weight: bold;
184
+                line-height: 1;
185
+              }
186
+            }
187
+            >.Type,
188
+            >.Sort {
189
+              font-size: 0;
190
+              white-space: nowrap;
191
+              margin-left: 20px;
192
+              >text {
193
+                display: inline-block;
194
+                vertical-align: middle;
195
+                font-size: 30px;
196
+                &.iconfont {
197
+                  font-size: 20px;
198
+                  margin-left: 10px;
199
+                }
200
+              }
201
+            }
202
+          }
203
+          >.LineChart {
204
+            height: 460px;
205
+            position: relative;
206
+            overflow: hidden;
207
+          }
208
+        }
173 209
       }
174 210
     }
175 211
   }

+ 3
- 3
src/pages/mine/tabData.js Ver arquivo

@@ -23,7 +23,7 @@ const MineMenuList = {
23 23
       { name: '我的客户', icon: require('../../assets/mine-icon15.png'), router: '/pages/mine/myCustomer/index' },
24 24
       { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
25 25
       { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
26
-      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '' },
26
+      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
27 27
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
28 28
     ],
29 29
     [
@@ -34,7 +34,7 @@ const MineMenuList = {
34 34
   ],
35 35
   Adviser: [ // 置业顾问
36 36
     [
37
-      { name: '添加客户', icon: require('../../assets/mine-icon7.png'), router: '' },
37
+      { name: '添加客户', icon: require('../../assets/mine-icon7.png'), router: '/pages/mine/addCustomer/index' },
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: '' },
@@ -43,7 +43,7 @@ const MineMenuList = {
43 43
     [
44 44
       { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
45 45
       { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
46
-      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '' },
46
+      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
47 47
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
48 48
     ],
49 49
     [

+ 24
- 6
src/routes.js Ver arquivo

@@ -4,12 +4,6 @@ const routes = [
4 4
   /**********************************
5 5
    *  Tab 页面
6 6
    *********************************/
7
-  {
8
-    name: '合作渠道',
9
-    page: 'pages/mine/partnerChannel/index',
10
-    pkg: 'main',
11
-    type: 'mine',
12
-  },
13 7
   {
14 8
     name: '首页',
15 9
     page: 'pages/index/index',
@@ -176,6 +170,12 @@ const routes = [
176 170
     pkg: 'main',
177 171
     type: 'mine',
178 172
   },
173
+  {
174
+    name: '我的课堂',
175
+    page: 'pages/mine/myCourse/index',
176
+    pkg: 'main',
177
+    type: 'mine',
178
+  },
179 179
   {
180 180
     name: '我的活动',
181 181
     page: 'pages/mine/myActivity/index',
@@ -188,12 +188,30 @@ const routes = [
188 188
     pkg: 'main',
189 189
     type: 'mine',
190 190
   },
191
+  {
192
+    name: '客户详情',
193
+    page: 'pages/mine/myCustomerDetail/index',
194
+    pkg: 'main',
195
+    type: 'mine',
196
+  },
191 197
   {
192 198
     name: '我的收藏',
193 199
     page: 'pages/mine/myCollect/index',
194 200
     pkg: 'main',
195 201
     type: 'mine',
196 202
   },
203
+  {
204
+    name: '合作渠道',
205
+    page: 'pages/mine/partnerChannel/index',
206
+    pkg: 'main',
207
+    type: 'mine',
208
+  },
209
+  {
210
+    name: '添加客户',
211
+    page: 'pages/mine/addCustomer/index',
212
+    pkg: 'main',
213
+    type: 'mine',
214
+  },
197 215
   {
198 216
     name: '意见反馈',
199 217
     page: 'pages/mine/feedBack/index',