Browse Source

静态页面

1002884655 3 years ago
parent
commit
c8008b2a4b

+ 1
- 1
project.config.json View File

@@ -27,7 +27,7 @@
27 27
 			"outputPath": ""
28 28
 		},
29 29
 		"useIsolateContext": true,
30
-		"useCompilerModule": false,
30
+		"useCompilerModule": true,
31 31
 		"userConfirmedUseCompilerModuleSwitch": false
32 32
 	},
33 33
 	"compileType": "miniprogram",

+ 18
- 6
src/assets/css/iconfont.css
File diff suppressed because it is too large
View File


BIN
src/assets/css/iconfont.eot View File


+ 1
- 1
src/assets/css/iconfont.js
File diff suppressed because it is too large
View File


+ 21
- 0
src/assets/css/iconfont.json View File

@@ -5,6 +5,27 @@
5 5
   "css_prefix_text": "icon-",
6 6
   "description": "",
7 7
   "glyphs": [
8
+    {
9
+      "icon_id": "8353259",
10
+      "name": "关  闭",
11
+      "font_class": "guanbi",
12
+      "unicode": "e60a",
13
+      "unicode_decimal": 58890
14
+    },
15
+    {
16
+      "icon_id": "11747664",
17
+      "name": "人气",
18
+      "font_class": "renqi",
19
+      "unicode": "e61e",
20
+      "unicode_decimal": 58910
21
+    },
22
+    {
23
+      "icon_id": "12542410",
24
+      "name": "点赞",
25
+      "font_class": "dianzan",
26
+      "unicode": "e603",
27
+      "unicode_decimal": 58883
28
+    },
8 29
     {
9 30
       "icon_id": "18609904",
10 31
       "name": "编 辑",

+ 9
- 0
src/assets/css/iconfont.svg View File

@@ -20,6 +20,15 @@ Created by iconfont
20 20
   />
21 21
     <missing-glyph />
22 22
     
23
+    <glyph glyph-name="guanbi" unicode="&#58890;" d="M512-37.875C278.95608521-37.875 90.125 150.95608520999997 90.125 384S278.95608521 805.875 512 805.875s421.875-188.83108521 421.875-421.875-188.83108521-421.875-421.875-421.875z m0 803.56311035C301.73815917 765.68811036 130.31188964 594.2626647899999 130.31188964 384S301.73733521 2.311889640000004 512 2.311889640000004c210.26184083 0 381.68811036 171.42544555 381.68811036 381.68811036S722.26266479 765.68811036 512 765.68811036zM542.80841065 384l163.39910888 163.39828492c8.02716065 8.02798462 8.02716065 21.43157959 0 30.80841063l-1.35049438 1.32659913a21.02124023 21.02124023 0 0 1-29.45874023 0L512 414.80841065 348.60171508 578.20751953a21.02124023 21.02124023 0 0 1-29.45874023 0l-1.35049438-1.35049438c-8.02716065-8.02716065-8.02716065-21.43157959 0-30.80841065L481.19158935 384 317.79248047 220.60171507999996c-8.02716065-8.02798462-8.02716065-21.43157959 0-30.80841063l1.35049438-1.35049439a21.02124023 21.02124023 0 0 1 29.45874023 0L512 353.16687011l163.39828492-163.3982849a21.02124023 21.02124023 0 0 1 29.45874023 0l1.35049438 1.35049438c8.02716065 8.02716065 8.02716065 21.43157959 0 30.80841064L542.80841065 384z"  horiz-adv-x="1024" />
24
+
25
+    
26
+    <glyph glyph-name="renqi" unicode="&#58910;" d="M857.11662529 451.5c-22.5 45-52.49999971 90-90 127.50000029-22.5 15.00000029-37.50000029 29.99999971-37.50000029 29.99999971s0-74.99999971-67.5-119.99999971h-7.49999971-7.50000058v7.49999971C654.61662529 646.50000029 579.61662471 781.50000029 437.116625 834 414.616625 654 242.11662471 609 174.61662471 466.50000029 129.61662471 368.99999971 122.116625 256.49999971 167.116625 159c37.50000029-90 112.5-157.5 202.5-195.00000029 45-22.5 90-29.99999971 142.49999971-29.99999971s97.49999971 7.49999971 142.50000058 29.99999971c45 15.00000029 82.50000029 45 119.99999971 82.50000029 74.99999971 67.5 112.5 157.5 112.5 254.99999971 0 52.49999971-7.49999971 105.00000029-29.99999971 150.00000029z"  horiz-adv-x="1024" />
27
+
28
+    
29
+    <glyph glyph-name="dianzan" unicode="&#58883;" d="M861.57115063 467.30320031L638.53484937 467.30320031c86.42396437 319.18519219-59.5468275 335.48741906-59.5468275 335.48741907-61.86845344 0-49.04290875-48.92107125-53.72165625-57.07650188 0-156.0957675-165.79671-278.41091719-165.79671-278.41091719l0-442.66115531c0-43.694535 59.5468275-59.43170531 82.90602938-59.43170531l335.11135406 0c31.53861656 0 57.22136438 82.7103225 57.22136438 82.7103225 82.90698937 281.91158438 82.90698937 365.79135375 82.90698937 365.79135375C917.61635188 471.95700469 861.57115063 467.30320031 861.57115063 467.30320031L861.57115063 467.30320031 861.57115063 467.30320031zM861.57115063 467.30320031M267.94195156 467.15641969L134.38898 467.15641969c-27.58129969 0-28.00629187-27.0901125-28.00629187-27.0901125l27.58129968-446.44003406c0-28.41497437 28.46390156-28.41497437 28.46390157-28.41497438L278.01895906-34.78870125000003c24.08063344 0 23.86765781 18.79653563 23.86765782 18.79653563L301.88661687 433.30193344C301.88661687 467.59004625 267.94195156 467.15641969 267.94195156 467.15641969L267.94195156 467.15641969 267.94195156 467.15641969zM267.94195156 467.15641969"  horiz-adv-x="1024" />
30
+
31
+    
23 32
     <glyph glyph-name="xiugai" unicode="&#59205;" d="M368.13359375 247.74492186999998c15.89238281-15.89150391 40.98515625-15.89150391 56.04082031 0L861.62890625 685.19853516c15.89238281 15.89238281 15.89238281 40.98515625 0 56.87753906s-40.98515625 15.89238281-56.04082031 0L368.13359375 304.62246094c-15.89238281-15.89238281-15.89238281-40.98515625 0-56.87753907zM852.42675781 444.30703125c-21.74677734 0-40.1484375-17.56582031-40.1484375-40.1484375v-320.35341797h-600.55664062v600.55664063h320.35253906c21.74765625 0 39.31259766 17.56582031 40.1484375 40.1493164 0 21.74765625-17.56494141 40.1484375-39.31171875 40.1484375H171.57236328c-21.74677734 0-40.1484375-17.56494141-40.1484375-40.1484375v-680.85527343c0-10.87294922 4.18183594-20.9109375 11.70966797-28.43876954 7.52783203-7.52783203 17.56494141-11.70966797 28.43876953-11.70966796h680.85527344c10.87382813 0 20.9109375 4.18183594 28.43876953 11.70966796 7.52783203 7.52783203 11.70966797 17.56582031 11.70966797 28.43876954V404.15771484c0 22.58349609-18.40166016 40.1484375-40.1484375 40.1484375z"  horiz-adv-x="1024" />
24 33
 
25 34
     

BIN
src/assets/css/iconfont.ttf View File


BIN
src/assets/css/iconfont.woff View File


BIN
src/assets/css/iconfont.woff2 View File


BIN
src/assets/mine-icon28.png View File


+ 153
- 0
src/pages/mine/components/EditUserDetailBasicInfo/index.jsx View File

@@ -0,0 +1,153 @@
1
+import React, { useState, useEffect } from 'react'
2
+import './index.scss'
3
+import Taro from '@tarojs/taro'
4
+import { ScrollView, Image, Input } from '@tarojs/components'
5
+
6
+export default function EditUserDetailBasicInfo (props) {
7
+  const { Data = {}, close = () => {} } = props
8
+
9
+  return (
10
+    <view className='components EditUserDetailBasicInfo'>
11
+      <ScrollView scroll-y={true} refresher-enabled={false} refresher-background='#fff'>
12
+        <view className='PageContent'>
13
+
14
+          <text>姓名</text>
15
+          <view className='FormLine flex-h'>
16
+            <view className='flex-item'>
17
+              <Input placeholder='请输入姓名'></Input>
18
+            </view>
19
+          </view>
20
+
21
+          <text>昵称</text>
22
+          <view className='FormLine flex-h'>
23
+            <view className='flex-item'>
24
+              <Input placeholder='请输入昵称'></Input>
25
+            </view>
26
+          </view>
27
+
28
+          <text>手机号码</text>
29
+          <view className='FormLine flex-h'>
30
+            <view className='flex-item'>
31
+              <Input placeholder='请输入手机号码'></Input>
32
+            </view>
33
+          </view>
34
+
35
+          <text>性别</text>
36
+          <view className='FormLine flex-h'>
37
+            <view className='flex-item'>
38
+              <text>请选择</text>
39
+            </view>
40
+            <text className='iconfont icon-jiantoudown'></text>
41
+          </view>
42
+
43
+          <text>家庭住址</text>
44
+          <view className='FormLine flex-h'>
45
+            <view className='flex-item'>
46
+              <Input placeholder='请输入家庭住址'></Input>
47
+            </view>
48
+          </view>
49
+
50
+          <text>工作地址</text>
51
+          <view className='FormLine flex-h'>
52
+            <view className='flex-item'>
53
+              <Input placeholder='请输入工作地址'></Input>
54
+            </view>
55
+          </view>
56
+
57
+          <text>年龄段</text>
58
+          <view className='FormLine flex-h'>
59
+            <view className='flex-item'>
60
+              <text>请选择</text>
61
+            </view>
62
+            <text className='iconfont icon-jiantoudown'></text>
63
+          </view>
64
+
65
+          <text>职业</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
+              <text>请选择</text>
76
+            </view>
77
+            <text className='iconfont icon-jiantoudown'></text>
78
+          </view>
79
+
80
+          <text>家庭成员数</text>
81
+          <view className='FormLine flex-h'>
82
+            <view className='flex-item'>
83
+              <Input placeholder='请输入家庭成员数'></Input>
84
+            </view>
85
+          </view>
86
+
87
+          <text>已有房产数</text>
88
+          <view className='FormLine flex-h'>
89
+            <view className='flex-item'>
90
+              <Input placeholder='请输入已有房产数'></Input>
91
+            </view>
92
+          </view>
93
+
94
+          <text>已有车辆数</text>
95
+          <view className='FormLine flex-h'>
96
+            <view className='flex-item'>
97
+              <Input placeholder='请输入已有车辆数'></Input>
98
+            </view>
99
+          </view>
100
+
101
+          <text>预计购房时间</text>
102
+          <view className='FormLine flex-h'>
103
+            <view className='flex-item'>
104
+              <text>请选择</text>
105
+            </view>
106
+            <text className='iconfont icon-jiantoudown'></text>
107
+          </view>
108
+
109
+          <text>客户咨询重点</text>
110
+          <view className='FormLine flex-h'>
111
+            <view className='flex-item'>
112
+              <Input placeholder='请填写  如:地段、交通、社区配套、户型、价格等;'></Input>
113
+            </view>
114
+          </view>
115
+
116
+          <text>购房动机</text>
117
+          <view className='FormLine flex-h'>
118
+            <view className='flex-item'>
119
+              <text>请选择</text>
120
+            </view>
121
+            <text className='iconfont icon-jiantoudown'></text>
122
+          </view>
123
+
124
+          <text>客户抗性分析</text>
125
+          <view className='FormLine flex-h'>
126
+            <view className='flex-item'>
127
+              <Input placeholder='请填写  如:地段、交通、社区配套、户型、价格等;'></Input>
128
+            </view>
129
+          </view>
130
+
131
+          <text>客户对项目认可点</text>
132
+          <view className='FormLine flex-h'>
133
+            <view className='flex-item'>
134
+              <Input placeholder='请填写  如:地段、交通、社区配套、户型、价格等;'></Input>
135
+            </view>
136
+          </view>
137
+
138
+          <text>备注</text>
139
+          <view className='FormLine flex-h'>
140
+            <view className='flex-item'>
141
+              <Input placeholder='补充说明(选填)'></Input>
142
+            </view>
143
+          </view>
144
+
145
+          <view className='Btn'>
146
+            <text onClick={close}>提交</text>
147
+          </view>
148
+
149
+        </view>
150
+      </ScrollView>
151
+    </view>
152
+  )
153
+}

+ 67
- 0
src/pages/mine/components/EditUserDetailBasicInfo/index.scss View File

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

+ 14
- 3
src/pages/mine/components/UserDetailBasicInfo/index.jsx View File

@@ -2,10 +2,11 @@ import React, { useState, useEffect } from 'react'
2 2
 import './index.scss'
3 3
 import Taro from '@tarojs/taro'
4 4
 import { ScrollView, Image } from '@tarojs/components'
5
+import EditUserDetailBasicInfo from '../EditUserDetailBasicInfo/index'
5 6
 
6 7
 export default function UserDetailBasicInfo (props) {
7 8
   const { Data = {} } = props
8
-  const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
9
+  const [ShowEditPopup, setShowEditPopup] = useState(false)
9 10
   const [IsPull, setPull] = useState(false)
10 11
   const [PullTimer, setPullTimer] = useState(null)
11 12
 
@@ -34,8 +35,8 @@ export default function UserDetailBasicInfo (props) {
34 35
               <view className='flex-item'>
35 36
                 <text>范丞丞</text>
36 37
               </view>
37
-              <text className='iconfont icon-xiugai active'></text>
38
-              <text className='active'>修改</text>
38
+              <text className='iconfont icon-xiugai active' onClick={() => {setShowEditPopup(true)}}></text>
39
+              <text className='active' onClick={() => {setShowEditPopup(true)}}>修改</text>
39 40
             </view>
40 41
             <view className='flex-h'>
41 42
               <text>昵称</text>
@@ -165,6 +166,16 @@ export default function UserDetailBasicInfo (props) {
165 166
 
166 167
         </view>
167 168
       </ScrollView>
169
+      {
170
+        ShowEditPopup &&
171
+        <view className='EditUserInfo'>
172
+          <view>
173
+            <view>
174
+              <EditUserDetailBasicInfo close={() => {setShowEditPopup(false)}}></EditUserDetailBasicInfo>
175
+            </view>
176
+          </view>
177
+        </view>
178
+      }
168 179
     </view>
169 180
   )
170 181
 }

+ 22
- 0
src/pages/mine/components/UserDetailBasicInfo/index.scss View File

@@ -80,4 +80,26 @@
80 80
       }
81 81
     }
82 82
   }
83
+  >.EditUserInfo {
84
+    width: 100%;
85
+    position: fixed;
86
+    left: 0;
87
+    top: 0;
88
+    bottom: 0;
89
+    z-index: 10000;
90
+    background: rgba(0, 0, 0, 0.6);
91
+    >view {
92
+      width: 100%;
93
+      position: absolute;
94
+      left: 0;
95
+      bottom: 0;
96
+      top: 60px;
97
+      >view{
98
+        width: 100%;
99
+        position: relative;
100
+        overflow: hidden;
101
+        height: 100%;
102
+      }
103
+    }
104
+  }
83 105
 }

+ 2
- 1
src/pages/mine/customerDetail/index.scss View File

@@ -8,6 +8,7 @@
8 8
     padding: 0 30px;
9 9
     position: relative;
10 10
     overflow: hidden;
11
+    z-index: 1;
11 12
     >view {
12 13
       width: 100%;
13 14
       position: relative;
@@ -117,7 +118,7 @@
117 118
   >.MenuList {
118 119
     position: relative;
119 120
     overflow: hidden;
120
-    z-index: 2;
121
+    z-index: 1;
121 122
     padding: 0 50px;
122 123
     margin-top: 10px;
123 124
     >view {

+ 3
- 0
src/pages/mine/mortgageCalc/index.config.js View File

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '房贷计算器'
3
+}

+ 75
- 0
src/pages/mine/mortgageCalc/index.jsx View File

@@ -0,0 +1,75 @@
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 mortgageCalc'>
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
+              <text>请选择</text>
28
+            </view>
29
+            <text className='iconfont icon-jiantoudown'></text>
30
+          </view>
31
+
32
+          <text>首付金额/万元</text>
33
+          <view className='FormLine flex-h'>
34
+            <view className='flex-item'>
35
+              <Input placeholder='请输入首付金额/万元'></Input>
36
+            </view>
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
+              <slider min="10" max="30" show-value activeColor='#193C83' />
50
+            </view>
51
+          </view>
52
+
53
+          <text>商业贷款利率</text>
54
+          <view className='FormLine flex-h'>
55
+            <view className='flex-item'>
56
+              <text>请选择</text>
57
+            </view>
58
+            <text className='iconfont icon-jiantoudown'></text>
59
+          </view>
60
+
61
+          <view className='Agree'>
62
+            <text className='iconfont icon-gou'></text>
63
+            <text>使用公积金贷款</text>
64
+          </view>
65
+
66
+          <view className='Btn'>
67
+            <text>计算</text>
68
+          </view>
69
+
70
+        </view>
71
+      </ScrollView>
72
+
73
+    </view>
74
+  )
75
+})

+ 87
- 0
src/pages/mine/mortgageCalc/index.scss View File

@@ -0,0 +1,87 @@
1
+.Page.mortgageCalc {
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: 30px;
45
+        }
46
+      }
47
+      >.Agree {
48
+        font-size: 0;
49
+        white-space: nowrap;
50
+        padding: 0 30px;
51
+        >text {
52
+          display: inline-block;
53
+          vertical-align: middle;
54
+          font-size: 30px;
55
+          font-weight: bold;
56
+          color: #333;
57
+          line-height: 1;
58
+          margin-top: 40px;
59
+          &.iconfont {
60
+            font-weight: normal;
61
+            margin-right: 10px;
62
+            color: #ccc;
63
+            &.active {
64
+              color: #193C83;
65
+            }
66
+          }
67
+        }
68
+      }
69
+      .Btn {
70
+        padding: 40px;
71
+        position: relative;
72
+        overflow: hidden;
73
+        margin-top: 80px;
74
+        >text {
75
+          display: block;
76
+          text-align: center;
77
+          font-size: 32px;
78
+          line-height: 92px;
79
+          background: #193C83;
80
+          color: #fff;
81
+          font-weight: bold;
82
+          border-radius: 92px;
83
+        }
84
+      }
85
+    }
86
+  }
87
+}

+ 3
- 0
src/pages/mine/myHomepage/index.config.js View File

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '个人主页'
3
+}

+ 164
- 0
src/pages/mine/myHomepage/index.jsx View File

@@ -0,0 +1,164 @@
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 ProjectListItem from '../../../components/ProjectListItem/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 [ShowPopup, setShowPopup] = useState(false)
14
+  const [PullTimer, setPullTimer] = useState(null)
15
+
16
+  const PageRefresh = () => { // 页面下拉刷新回调
17
+    setPull(true)
18
+  }
19
+
20
+  useEffect(() => { // 下拉刷新触发
21
+    if (IsPull) {
22
+      clearTimeout(PullTimer)
23
+      setPullTimer(setTimeout(() => {
24
+        setPull(false)
25
+      }, 2000))
26
+    }
27
+  }, [IsPull])
28
+
29
+  return (
30
+    <view className='Page myHomepage'>
31
+
32
+      <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#fff'>
33
+        <view className='PageContent'>
34
+
35
+          <view className='Card UserInfo'>
36
+            <view className='flex-h Top'>
37
+              <view className='Icon'>
38
+                <Image mode='aspectFill' src={null}></Image>
39
+              </view>
40
+              <view className='flex-item'>
41
+                <view className='flex-h'>
42
+                  <view className='flex-item'>
43
+                    <text>陆毅 13045678976</text>
44
+                  </view>
45
+                  <text className='iconfont icon-dianzan'></text>
46
+                  <text>23赞</text>
47
+                </view>
48
+                <view className='Tag'>
49
+                  <view>
50
+                    <Image mode='heightFix' src={require('../../../assets/mine-icon28.png')}></Image>
51
+                    <text>金牌置业顾问</text>
52
+                  </view>
53
+                </view>
54
+              </view>
55
+            </view>
56
+            <view className='Work flex-h'>
57
+              <view className='flex-item'>
58
+                <text>营销</text>
59
+                <text>部门</text>
60
+              </view>
61
+              <view className='flex-item'>
62
+                <text>营销经理</text>
63
+                <text>职位</text>
64
+              </view>
65
+              <view className='flex-item'>
66
+                <text>香颂·蔚澜半岛</text>
67
+                <text>楼盘</text>
68
+              </view>
69
+            </view>
70
+            <view className='Hot flex-h'>
71
+              <view className='flex-item'>
72
+                {
73
+                  ['', '', '', '', '', ''].map((item, index) => (
74
+                    <view key={`UserItem-${index}`}>
75
+                      <Image mode='aspectFill' src={null}></Image>
76
+                    </view>
77
+                  ))
78
+                }
79
+              </view>
80
+              <text className='iconfont icon-renqi'></text>
81
+              <text>人气值6</text>
82
+            </view>
83
+          </view>
84
+
85
+          <view className='Card DetailInfo'>
86
+            <text className='Title'>详细信息</text>
87
+            <view className='flex-h'>
88
+              <text className='iconfont icon-dianhua'></text>
89
+              <text>手机:</text>
90
+              <view className='flex-item'>
91
+                <text>136 1394 9434</text>
92
+              </view>
93
+            </view>
94
+            <view className='flex-h'>
95
+              <text className='iconfont icon-dingwei'></text>
96
+              <text>地址:</text>
97
+              <view className='flex-item'>
98
+                <text>江苏省南京市雨花台区汇智大厦</text>
99
+              </view>
100
+            </view>
101
+            <view className='Btn'>
102
+              <text>分享主页</text>
103
+            </view>
104
+          </view>
105
+
106
+          <view className='ProjectList'>
107
+            <view className='flex-h'>
108
+              <view className='flex-item'>
109
+                <text>项目信息</text>
110
+              </view>
111
+              <text>更多</text>
112
+              <text className='iconfont icon-jiantouright'></text>
113
+            </view>
114
+            <view className='List'>
115
+              {
116
+                PageList.map((item, index) => (
117
+                  <ProjectListItem key={`ListItem-${index}`} data={item}></ProjectListItem>
118
+                ))
119
+              }
120
+            </view>
121
+          </view>
122
+
123
+
124
+          {/* bottom */}
125
+          <view className='PageBottom'>
126
+            <text>已经到底了~</text>
127
+          </view>
128
+
129
+          <view className='Share'>
130
+            <text onClick={() => {setShowPopup(true)}}>生成海报分享好友</text>
131
+          </view>
132
+
133
+        </view>
134
+      </ScrollView>
135
+
136
+      {
137
+        ShowPopup &&
138
+        <view className='SharePopup'>
139
+          <view>
140
+            <view className='flex-v'>
141
+              <view className='Top flex-h'>
142
+                <view className='flex-item'>
143
+                  <text>保存后分享图片</text>
144
+                </view>
145
+                <text className='iconfont icon-guanbi' onClick={() => {setShowPopup(false)}}></text>
146
+              </view>
147
+              <view className='flex-item'>
148
+                <view>
149
+                  <view>
150
+                    <Image className='centerLabel' mode='aspectFill' src={null}></Image>
151
+                  </view>
152
+                </view>
153
+              </view>
154
+              <view className='Btn'>
155
+                <text>保存海报</text>
156
+              </view>
157
+            </view>
158
+          </view>
159
+        </view>
160
+      }
161
+
162
+    </view>
163
+  )
164
+})

+ 352
- 0
src/pages/mine/myHomepage/index.scss View File

@@ -0,0 +1,352 @@
1
+.Page.myHomepage {
2
+  background: #fff;
3
+  position: relative;
4
+  overflow: hidden;
5
+  > scroll-view {
6
+    width: 100%;
7
+    height: 100%;
8
+    .PageContent {
9
+      position: relative;
10
+      overflow: visible;
11
+      min-height: 100vh;
12
+      padding: 0 30px;
13
+      > .Card {
14
+        position: relative;
15
+        overflow: hidden;
16
+        background: #fff;
17
+        border-radius: 16px;
18
+        box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.03);
19
+        margin-top: 40px;
20
+        padding: 30px;
21
+        &.UserInfo {
22
+          > .Top {
23
+            align-items: center;
24
+            > .Icon {
25
+              width: 138px;
26
+              height: 138px;
27
+              position: relative;
28
+              overflow: hidden;
29
+              border-radius: 100%;
30
+              background: #eee;
31
+              margin-right: 20px;
32
+              > image {
33
+                width: 100%;
34
+                height: 100%;
35
+              }
36
+            }
37
+            > .flex-item {
38
+              > .flex-h {
39
+                align-items: center;
40
+                > .flex-item {
41
+                  > text {
42
+                    display: block;
43
+                    font-size: 34px;
44
+                    line-height: 1;
45
+                    font-weight: bold;
46
+                    color: #333;
47
+                    white-space: nowrap;
48
+                    overflow: hidden;
49
+                    text-overflow: ellipsis;
50
+                  }
51
+                }
52
+                > text {
53
+                  font-size: 24px;
54
+                  color: #333;
55
+                  line-height: 1;
56
+                  &.iconfont {
57
+                    font-size: 34px;
58
+                    color: #fccb34;
59
+                    margin-right: 6px;
60
+                    margin-left: 10px;
61
+                  }
62
+                }
63
+              }
64
+              > .Tag {
65
+                font-size: 0;
66
+                white-space: nowrap;
67
+                > view {
68
+                  display: inline-block;
69
+                  font-size: 0;
70
+                  white-space: nowrap;
71
+                  padding: 0 10px;
72
+                  position: relative;
73
+                  overflow: hidden;
74
+                  background: #f8f8f8;
75
+                  margin-top: 30px;
76
+                  > image {
77
+                    display: inline-block;
78
+                    vertical-align: middle;
79
+                    height: 36px;
80
+                  }
81
+                  > text {
82
+                    display: inline-block;
83
+                    vertical-align: middle;
84
+                    font-size: 24px;
85
+                    line-height: 44px;
86
+                    margin-left: 10px;
87
+                  }
88
+                }
89
+              }
90
+            }
91
+          }
92
+          > .Work {
93
+            border-top: 2px solid rgba(0, 0, 0, 0.08);
94
+            position: relative;
95
+            margin-top: 30px;
96
+            padding-top: 30px;
97
+            > view {
98
+              position: relative;
99
+              overflow: hidden;
100
+              text-align: center;
101
+              &::before {
102
+                content: "";
103
+                width: 2px;
104
+                height: 100%;
105
+                display: block;
106
+                position: absolute;
107
+                left: 0;
108
+                top: 0;
109
+                background: rgba(0, 0, 0, 0.08);
110
+              }
111
+              &:first-child {
112
+                &::before {
113
+                  display: none;
114
+                }
115
+              }
116
+              > text {
117
+                display: block;
118
+                text-align: center;
119
+                font-size: 24px;
120
+                color: #999;
121
+                line-height: 1;
122
+                white-space: nowrap;
123
+                overflow: hidden;
124
+                text-overflow: ellipsis;
125
+                &:first-child {
126
+                  font-weight: bold;
127
+                  font-size: 28px;
128
+                  color: #333;
129
+                  margin-bottom: 30px;
130
+                }
131
+              }
132
+            }
133
+          }
134
+          > .Hot {
135
+            align-items: center;
136
+            margin-top: 30px;
137
+            > .flex-item {
138
+              position: relative;
139
+              overflow: hidden;
140
+              font-size: 0;
141
+              white-space: nowrap;
142
+              > view {
143
+                display: inline-block;
144
+                vertical-align: middle;
145
+                width: 36px;
146
+                height: 36px;
147
+                position: relative;
148
+                overflow: hidden;
149
+                border-radius: 100%;
150
+                background: #eee;
151
+                margin-left: 20px;
152
+                &:first-child {
153
+                  margin-left: 0;
154
+                }
155
+                > image {
156
+                  width: 100%;
157
+                  height: 100%;
158
+                }
159
+              }
160
+            }
161
+            > text {
162
+              font-size: 24px;
163
+              color: #333;
164
+              &.iconfont {
165
+                font-size: 44px;
166
+                color: #ff8c1f;
167
+                margin-right: 10px;
168
+              }
169
+            }
170
+          }
171
+        }
172
+        &.DetailInfo {
173
+          > .Title {
174
+            display: block;
175
+            font-size: 34px;
176
+            color: #333;
177
+            font-weight: bold;
178
+          }
179
+          > .flex-h {
180
+            align-items: center;
181
+            margin-top: 30px;
182
+            > text {
183
+              font-size: 30px;
184
+              color: #333;
185
+              line-height: 1;
186
+              &.iconfont {
187
+                color: #193c83;
188
+                margin-right: 10px;
189
+              }
190
+            }
191
+            > .flex-item {
192
+              position: relative;
193
+              overflow: hidden;
194
+              > text {
195
+                display: block;
196
+                font-size: 30px;
197
+                color: #333;
198
+                line-height: 1;
199
+                white-space: nowrap;
200
+                overflow: hidden;
201
+                text-overflow: ellipsis;
202
+              }
203
+            }
204
+          }
205
+          > .Btn {
206
+            margin-top: 40px;
207
+            > text {
208
+              display: block;
209
+              text-align: center;
210
+              font-size: 32px;
211
+              line-height: 92px;
212
+              border-radius: 92px;
213
+              color: #333;
214
+              font-weight: bold;
215
+              background: #f2f2f2;
216
+            }
217
+          }
218
+        }
219
+      }
220
+      > .ProjectList {
221
+        margin-top: 40px;
222
+        position: relative;
223
+        overflow: hidden;
224
+        > .flex-h {
225
+          align-items: center;
226
+          > .flex-item {
227
+            > text {
228
+              display: block;
229
+              font-size: 34px;
230
+              font-weight: bold;
231
+              color: #333;
232
+              line-height: 1;
233
+            }
234
+          }
235
+          > text {
236
+            font-size: 24px;
237
+            color: #333;
238
+            line-height: 1;
239
+            &.iconfont {
240
+              margin-left: 4px;
241
+            }
242
+          }
243
+        }
244
+        > .List {
245
+          > view {
246
+            margin-top: 30px;
247
+          }
248
+        }
249
+      }
250
+      > .PageBottom {
251
+        text-align: center;
252
+        font-size: 0;
253
+        white-space: nowrap;
254
+        > text {
255
+          display: inline-block;
256
+          font-size: 28px;
257
+          color: #666;
258
+          line-height: 40px;
259
+          margin: 20px auto;
260
+        }
261
+      }
262
+      > .Share {
263
+        margin: 60px auto;
264
+        > text {
265
+          display: block;
266
+          font-size: 32px;
267
+          color: #fff;
268
+          font-weight: bold;
269
+          line-height: 92px;
270
+          background: #193c83;
271
+          border-radius: 92px;
272
+          text-align: center;
273
+        }
274
+      }
275
+    }
276
+  }
277
+  > .SharePopup {
278
+    width: 100%;
279
+    position: fixed;
280
+    left: 0;
281
+    top: 0;
282
+    bottom: 0;
283
+    background: rgba(0, 0, 0, 0.6);
284
+    z-index: 1000;
285
+    > view {
286
+      width: 100%;
287
+      position: absolute;
288
+      left: 0;
289
+      top: 156px;
290
+      bottom: 0;
291
+      > view {
292
+        background: #fff;
293
+        border-radius: 40px 40px 0 0;
294
+        position: relative;
295
+        overflow: hidden;
296
+        padding: 0 30px;
297
+        height: 100%;
298
+        > .Top {
299
+          align-items: center;
300
+          margin-top: 30px;
301
+          > .flex-item {
302
+            > text {
303
+              display: block;
304
+              font-size: 30px;
305
+              color: #333;
306
+              font-weight: bold;
307
+            }
308
+          }
309
+          > text {
310
+            font-size: 34px;
311
+          }
312
+        }
313
+        > .flex-item {
314
+          position: relative;
315
+          overflow: hidden;
316
+          margin-top: 30px;
317
+          >view {
318
+            width: 440px;
319
+            position: relative;
320
+            overflow: hidden;
321
+            margin: 0 auto;
322
+            >view {
323
+              width: 100%;
324
+              padding-bottom: 180%;
325
+              position: relative;
326
+              overflow: hidden;
327
+              background: #eee;
328
+              >image {
329
+                width: 100%;
330
+                height: 100%;
331
+              }
332
+            }
333
+          }
334
+        }
335
+        > .Btn {
336
+          margin-bottom: 30px;
337
+          margin-top: 30px;
338
+          > text {
339
+            display: block;
340
+            text-align: center;
341
+            font-size: 32px;
342
+            color: #fff;
343
+            font-weight: bold;
344
+            line-height: 92px;
345
+            background: #193c83;
346
+            border-radius: 92px;
347
+          }
348
+        }
349
+      }
350
+    }
351
+  }
352
+}

+ 5
- 5
src/pages/mine/tabData.js View File

@@ -9,7 +9,7 @@ const MineMenuList = {
9 9
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
10 10
     ],
11 11
     [
12
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '' },
12
+      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
13 13
       { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
14 14
       { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
15 15
     ]
@@ -27,7 +27,7 @@ const MineMenuList = {
27 27
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
28 28
     ],
29 29
     [
30
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '' },
30
+      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
31 31
       { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
32 32
       { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
33 33
     ]
@@ -35,7 +35,7 @@ const MineMenuList = {
35 35
   Adviser: [ // 置业顾问
36 36
     [
37 37
       { name: '添加客户', icon: require('../../assets/mine-icon7.png'), router: '/pages/mine/addCustomer/index' },
38
-      { name: '我的主页', icon: require('../../assets/mine-icon15.png'), router: '' },
38
+      { name: '我的主页', icon: require('../../assets/mine-icon15.png'), router: '/pages/mine/myHomepage/index' },
39 39
       { name: '我的推广码', icon: require('../../assets/mine-icon14.png'), router: '' },
40 40
       { name: '客户分析', icon: require('../../assets/mine-icon5.png'), router: '/pages/mine/customerAnalyse/index' },
41 41
       { name: '盘客工具', icon: require('../../assets/mine-icon6.png'), router: '/pages/mine/statCustomer/index' }
@@ -47,7 +47,7 @@ const MineMenuList = {
47 47
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
48 48
     ],
49 49
     [
50
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '' },
50
+      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
51 51
       { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
52 52
       { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
53 53
     ]
@@ -64,7 +64,7 @@ const MineMenuList = {
64 64
       { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
65 65
     ],
66 66
     [
67
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '' },
67
+      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
68 68
       { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
69 69
       { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
70 70
     ]

+ 12
- 0
src/routes.js View File

@@ -248,6 +248,18 @@ const routes = [
248 248
     pkg: 'main',
249 249
     type: 'mine',
250 250
   },
251
+  {
252
+    name: '房贷计算器',
253
+    page: 'pages/mine/mortgageCalc/index',
254
+    pkg: 'main',
255
+    type: 'mine',
256
+  },
257
+  {
258
+    name: '个人主页',
259
+    page: 'pages/mine/myHomepage/index',
260
+    pkg: 'main',
261
+    type: 'mine',
262
+  },
251 263
   {
252 264
     name: '意见反馈',
253 265
     page: 'pages/mine/feedBack/index',