张延森 3 years ago
parent
commit
65287ba8ff
74 changed files with 146 additions and 606 deletions
  1. 2
    2
      config/dev.js
  2. 28
    0
      config/index.js
  3. 1
    1
      config/prod.js
  4. 1
    0
      jsconfig.json
  5. 2
    1
      src/app.config.js
  6. 2
    2
      src/components/Poster/index.jsx
  7. 1
    1
      src/layout/index.js
  8. 4
    2
      src/native/PageContainer/index.js
  9. 1
    0
      src/native/PageContainer/index.json
  10. 1
    1
      src/pages/index/buildingDetail/components/PropertyConsultant/index.jsx
  11. 1
    1
      src/pages/index/buildingPropertyConsultant/index.jsx
  12. 1
    1
      src/pages/index/components/Menu/index.jsx
  13. 1
    1
      src/pages/index/encyclopediasOfBuyHouse/index.jsx
  14. 0
    82
      src/pages/index/mortgageCalculation/components/ShangYe/index.jsx
  15. 0
    4
      src/pages/index/mortgageCalculation/components/ShangYe/index.scss
  16. 0
    3
      src/pages/index/mortgageCalculation/index.config.js
  17. 0
    53
      src/pages/index/mortgageCalculation/index.jsx
  18. 0
    58
      src/pages/index/mortgageCalculation/index.scss
  19. 1
    1
      src/pages/index/newsDetail/index.jsx
  20. 1
    1
      src/pages/mine/components/NeedLogin/index.jsx
  21. 7
    0
      src/pages/mine/index.jsx
  22. 10
    0
      src/pages/mine/index.scss
  23. 1
    1
      src/pages/mine/mortgageCalc/index.jsx
  24. 2
    2
      src/pages/mine/myCustomerDetail/index.jsx
  25. 0
    3
      src/pages/mine/recommendUser/index.config.js
  26. 0
    73
      src/pages/mine/recommendUser/index.jsx
  27. 0
    71
      src/pages/mine/recommendUser/index.scss
  28. 0
    3
      src/pages/mine/reportUser/index.config.js
  29. 0
    73
      src/pages/mine/reportUser/index.jsx
  30. 0
    71
      src/pages/mine/reportUser/index.scss
  31. 43
    43
      src/pages/mine/tabData.js
  32. 24
    40
      src/routes.js
  33. 1
    1
      src/subpackages/components/Chart/index.jsx
  34. 0
    0
      src/subpackages/native/ec-canvas/ec-canvas.js
  35. 0
    0
      src/subpackages/native/ec-canvas/ec-canvas.json
  36. 0
    0
      src/subpackages/native/ec-canvas/ec-canvas.wxml
  37. 0
    0
      src/subpackages/native/ec-canvas/ec-canvas.wxss
  38. 0
    0
      src/subpackages/native/ec-canvas/echarts.js
  39. 0
    0
      src/subpackages/native/ec-canvas/wx-canvas.js
  40. 1
    1
      src/subpackages/pages/channel/partnerChannel/components/LineChat.jsx
  41. 0
    0
      src/subpackages/pages/channel/partnerChannel/hooks/useChart.js
  42. 0
    0
      src/subpackages/pages/channel/partnerChannel/hooks/useRank.js
  43. 0
    0
      src/subpackages/pages/channel/partnerChannel/hooks/useReport.js
  44. 1
    1
      src/subpackages/pages/channel/partnerChannel/index.config.js
  45. 1
    1
      src/subpackages/pages/channel/partnerChannel/index.jsx
  46. 0
    0
      src/subpackages/pages/channel/partnerChannel/index.scss
  47. 0
    0
      src/subpackages/pages/channel/partnerChannel/utils/index.js
  48. 0
    0
      src/subpackages/pages/consultant/components/FollowCustomer/index.jsx
  49. 0
    0
      src/subpackages/pages/consultant/components/FollowCustomer/index.scss
  50. 0
    0
      src/subpackages/pages/consultant/components/StatCustomerListItem/index.jsx
  51. 0
    0
      src/subpackages/pages/consultant/components/StatCustomerListItem/index.scss
  52. 0
    0
      src/subpackages/pages/consultant/components/TransactedCustomer/index.jsx
  53. 0
    0
      src/subpackages/pages/consultant/components/TransactedCustomer/index.scss
  54. 1
    1
      src/subpackages/pages/consultant/customerAnalyse/components/LineChart.jsx
  55. 1
    1
      src/subpackages/pages/consultant/customerAnalyse/index.config.js
  56. 0
    0
      src/subpackages/pages/consultant/customerAnalyse/index.jsx
  57. 0
    0
      src/subpackages/pages/consultant/customerAnalyse/index.scss
  58. 0
    0
      src/subpackages/pages/consultant/myHomepage/index.config.js
  59. 3
    3
      src/subpackages/pages/consultant/myHomepage/index.jsx
  60. 0
    0
      src/subpackages/pages/consultant/myHomepage/index.scss
  61. 0
    0
      src/subpackages/pages/consultant/statCustomer/index.config.js
  62. 0
    0
      src/subpackages/pages/consultant/statCustomer/index.jsx
  63. 0
    0
      src/subpackages/pages/consultant/statCustomer/index.scss
  64. 0
    0
      src/subpackages/pages/marketing/changeVisit/index.config.js
  65. 0
    0
      src/subpackages/pages/marketing/changeVisit/index.jsx
  66. 0
    0
      src/subpackages/pages/marketing/changeVisit/index.scss
  67. 2
    2
      src/subpackages/pages/marketing/components/ResidentListItem/index.jsx
  68. 0
    0
      src/subpackages/pages/marketing/components/ResidentListItem/index.scss
  69. 0
    0
      src/subpackages/pages/marketing/residentManager/index.config.js
  70. 0
    0
      src/subpackages/pages/marketing/residentManager/index.jsx
  71. 0
    0
      src/subpackages/pages/marketing/residentManager/index.scss
  72. 0
    0
      src/subpackages/pages/marketing/sureVisit/index.config.js
  73. 0
    0
      src/subpackages/pages/marketing/sureVisit/index.jsx
  74. 0
    0
      src/subpackages/pages/marketing/sureVisit/index.scss

+ 2
- 2
config/dev.js View File

4
   },
4
   },
5
   defineConstants: {
5
   defineConstants: {
6
     HOST: '"https://xlk.njyz.tech"',
6
     HOST: '"https://xlk.njyz.tech"',
7
-    // HOST: '"http://127.0.0.1:8081"',
7
+    // HOST: '"http://127.0.0.1:8567"',
8
     WSS_HOST: '"wss://xlk.njyz.tech"',
8
     WSS_HOST: '"wss://xlk.njyz.tech"',
9
     OSS_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
9
     OSS_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
10
     OSS_FAST_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
10
     OSS_FAST_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
11
     ICON_FONT: '"https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/css/iconfont.ttf"',
11
     ICON_FONT: '"https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/css/iconfont.ttf"',
12
-    Version: '"V3.5.29-20201112"'
12
+    Version: '"V0.0.20"'
13
   },
13
   },
14
   mini: {},
14
   mini: {},
15
   h5: {}
15
   h5: {}

+ 28
- 0
config/index.js View File

1
 const path = require('path')
1
 const path = require('path')
2
+const { routes } = require('../src/routes')
2
 
3
 
3
 const config = {
4
 const config = {
4
   projectName: 'miniapp',
5
   projectName: 'miniapp',
26
     '@/utils': path.resolve(__dirname, '..', 'src/utils'),
27
     '@/utils': path.resolve(__dirname, '..', 'src/utils'),
27
     '@/native': path.resolve(__dirname, '..', 'src/native'),
28
     '@/native': path.resolve(__dirname, '..', 'src/native'),
28
     '@/pages': path.resolve(__dirname, '..', 'src/pages'),
29
     '@/pages': path.resolve(__dirname, '..', 'src/pages'),
30
+    '@/subpackages': path.resolve(__dirname, '..', 'src/subpackages'),
29
   },
31
   },
30
   copy: {
32
   copy: {
31
     patterns: [
33
     patterns: [
32
       // { from: 'src/native/', to: 'dist/native/' },
34
       // { from: 'src/native/', to: 'dist/native/' },
35
+      // { from: 'src/subpackages/native/', to: 'dist/subpackages/native/' },
33
     ],
36
     ],
34
     options: {
37
     options: {
35
     }
38
     }
36
   },
39
   },
37
   framework: 'react',
40
   framework: 'react',
38
   mini: {
41
   mini: {
42
+    // addChunkPages (pages) {
43
+    //   // pages.set('subpackages/bar/index', ['subpackages/common'])
44
+    //   routes.filter(r => r.pkg === 'subpackages').forEach((r) => {
45
+    //     pages.set(r.pkg + '/' + r.page, ['subpackages/common'])
46
+    //   })
47
+    // },
48
+    // webpackChain (chain) {
49
+    //   chain.merge({
50
+    //     optimization: {
51
+    //       splitChunks: {
52
+    //         cacheGroups: {
53
+    //           subpackagesCommon: {
54
+    //             name: 'subpackages/common',
55
+    //             minChunks: 2,
56
+    //             test: (module, chunks) => {
57
+    //               const isNoOnlySubpackRequired = chunks.find(chunk => !(/\bsubpackages\b/.test(chunk.name)))
58
+    //               return !isNoOnlySubpackRequired
59
+    //             },
60
+    //             priority: 200
61
+    //           }
62
+    //         }
63
+    //       }
64
+    //     }
65
+    //   })
66
+    // },
39
     compile: {
67
     compile: {
40
       // exclude: [
68
       // exclude: [
41
       //   path.resolve(__dirname, '..', 'src/native/')
69
       //   path.resolve(__dirname, '..', 'src/native/')

+ 1
- 1
config/prod.js View File

10
     OSS_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
10
     OSS_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
11
     OSS_FAST_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
11
     OSS_FAST_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
12
     ICON_FONT: '"https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/css/iconfont.ttf"',
12
     ICON_FONT: '"https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/css/iconfont.ttf"',
13
-    Version: '"V3.5.29-20201112"'
13
+    Version: '"V0.0.22-20210805"'
14
   },
14
   },
15
   mini: {},
15
   mini: {},
16
   h5: {
16
   h5: {

+ 1
- 0
jsconfig.json View File

13
       "@/styles/*": ["./src/styles/*"],
13
       "@/styles/*": ["./src/styles/*"],
14
       "@/utils/*": ["./src/utils/*"],
14
       "@/utils/*": ["./src/utils/*"],
15
       "@/services/*": ["./src/services/*"],
15
       "@/services/*": ["./src/services/*"],
16
+      "@/subpackages/*": ["./src/subpackages/*"],
16
     }
17
     }
17
   }
18
   }
18
 }
19
 }

+ 2
- 1
src/app.config.js View File

1
 import { getPages } from './routes'
1
 import { getPages } from './routes'
2
 
2
 
3
-const { pages } = getPages()
3
+const { pages, subPackages } = getPages()
4
 
4
 
5
 export default {
5
 export default {
6
   pages,
6
   pages,
7
+  subPackages,
7
   window: {
8
   window: {
8
     backgroundTextStyle: 'light',
9
     backgroundTextStyle: 'light',
9
     navigationBarBackgroundColor: '#fff',
10
     navigationBarBackgroundColor: '#fff',

+ 2
- 2
src/components/Poster/index.jsx View File

1
 import React, { useRef, useState } from 'react'
1
 import React, { useRef, useState } from 'react'
2
 import Taro from '@tarojs/taro'
2
 import Taro from '@tarojs/taro'
3
-import Modal from '@/components/Modal'
3
+// import PageModal from '@/components/PageModal'
4
 import { authorize } from '@/utils/wxAuth'
4
 import { authorize } from '@/utils/wxAuth'
5
 import { View, Image, Button } from '@tarojs/components'
5
 import { View, Image, Button } from '@tarojs/components'
6
 import Spin2 from '@/components/Spin/Spin2'
6
 import Spin2 from '@/components/Spin/Spin2'
91
   return (
91
   return (
92
     // <Modal title={title} visible={show} onClose={onClose}>
92
     // <Modal title={title} visible={show} onClose={onClose}>
93
     // eslint-disable-next-line react/jsx-no-undef
93
     // eslint-disable-next-line react/jsx-no-undef
94
-    <page-modal show={show} position='bottom' onClickOverlay={onClose} height='70vh'>
94
+    <page-modal show={show} position='bottom' onClose={onClose} height='70vh'>
95
       <View className='modal-poster'>
95
       <View className='modal-poster'>
96
         <View className='modal-poster-img-box'>
96
         <View className='modal-poster-img-box'>
97
           <view>
97
           <view>

+ 1
- 1
src/layout/index.js View File

114
       }
114
       }
115
       <FirstScreen
115
       <FirstScreen
116
         info={screenInfo}
116
         info={screenInfo}
117
-        visible={false}
117
+        visible={screenVisible}
118
         onClick={handleScreen}
118
         onClick={handleScreen}
119
         onClose={toggleShowScreen}
119
         onClose={toggleShowScreen}
120
       />
120
       />

+ 4
- 2
src/native/PageContainer/index.js View File

57
     onEnter(e) {},
57
     onEnter(e) {},
58
     onAfterEnter(e) {},
58
     onAfterEnter(e) {},
59
     onBeforeLeave(e) {},
59
     onBeforeLeave(e) {},
60
-    onLeave(e) {},
60
+    onLeave(e) {
61
+      this.triggerEvent('close', e)
62
+    },
61
     onAfterLeave(e) {},
63
     onAfterLeave(e) {},
62
     onClickOverlay(e) {
64
     onClickOverlay(e) {
63
-      this.triggerEvent('clickOverlay', e)
65
+      this.triggerEvent('close', e)
64
     }
66
     }
65
   }
67
   }
66
 })
68
 })

+ 1
- 0
src/native/PageContainer/index.json View File

1
 {
1
 {
2
+  "component": true,
2
   "usingComponents": {}
3
   "usingComponents": {}
3
 }
4
 }

+ 1
- 1
src/pages/index/buildingDetail/components/PropertyConsultant/index.jsx View File

33
   
33
   
34
   const gotoDetail = (item) => {
34
   const gotoDetail = (item) => {
35
     Taro.navigateTo({
35
     Taro.navigateTo({
36
-      url: `/pages/mine/myHomepage/index?id=${item.id}`
36
+      url: `/subpackages/pages/consultant/myHomepage/index?id=${item.id}`
37
     })
37
     })
38
   }
38
   }
39
 
39
 

+ 1
- 1
src/pages/index/buildingPropertyConsultant/index.jsx View File

30
 
30
 
31
   const gotoDetail = (item) => {
31
   const gotoDetail = (item) => {
32
     Taro.navigateTo({
32
     Taro.navigateTo({
33
-      url: `/pages/mine/myHomepage/index?id=${item.id}`
33
+      url: `/subpackages/pages/consultant/myHomepage/index?id=${item.id}`
34
     })
34
     })
35
   }
35
   }
36
 
36
 

+ 1
- 1
src/pages/index/components/Menu/index.jsx View File

23
     { name: '文旅商办', id: 11, icon: require('@/assets/index-icon13.png'), router: `/pages/index/buildingList/index?isCommerce=1` },
23
     { name: '文旅商办', id: 11, icon: require('@/assets/index-icon13.png'), router: `/pages/index/buildingList/index?isCommerce=1` },
24
     { name: '新闻资讯', id: 12, icon: require('@/assets/index-icon15.png'), router: '/pages/index/newsList/index' },
24
     { name: '新闻资讯', id: 12, icon: require('@/assets/index-icon15.png'), router: '/pages/index/newsList/index' },
25
     { name: '购房百科', id: 13, icon: require('@/assets/index-icon4.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
25
     { name: '购房百科', id: 13, icon: require('@/assets/index-icon4.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
26
-    { name: '房贷计算', id: 14, icon: require('@/assets/index-icon3.png'), router: '/pages/index/mortgageCalculation/index' }
26
+    { name: '房贷计算', id: 14, icon: require('@/assets/index-icon3.png'), router: '/pages/mine/mortgageCalc/index' }
27
   ]
27
   ]
28
 
28
 
29
   let Arr = []
29
   let Arr = []

+ 1
- 1
src/pages/index/encyclopediasOfBuyHouse/index.jsx View File

123
           name: "贷款查征信",
123
           name: "贷款查征信",
124
           id: 10,
124
           id: 10,
125
           tips: "",
125
           tips: "",
126
-          icon: require("../../../assets/ency-icon1.png"),
126
+          icon: require("@/assets/ency-icon1.png"),
127
         },
127
         },
128
       ],
128
       ],
129
     },
129
     },

+ 0
- 82
src/pages/index/mortgageCalculation/components/ShangYe/index.jsx View File

1
-import { useState, useEffect } from 'react'
2
-import { Input } from '@tarojs/components'
3
-import './index.scss'
4
-
5
-export default function ShangYe () {
6
-
7
-  // 商贷年限
8
-  const [Years, setYears] = useState([])
9
-  const [CurrentYears, setCurrentYears] = useState({})
10
-  
11
-  // 利率方式
12
-  const [InterestTypes] = useState([
13
-    { name: '按LPR', id: 1 },
14
-    { name: '按旧版基准利率', id: 2 }
15
-  ])
16
-  const [CurrentInterestTypes, setCurrentInterestTypes] = useState(InterestTypes[0])
17
-
18
-  let BusinessInterestTypes1 = [ // 按照LPR
19
-    {name: '', id: 1}
20
-  ]
21
-  const BusinessInterestTypes2 = [ // 按照旧版基准利率
22
-  ]
23
-  const [BusinessInterestTypes] = useState(BusinessInterestTypes1)
24
-  const [CurrentBusinessInterest, setCurrentBusinessInterest] = useState(BusinessInterestTypes[0])
25
-
26
-  useEffect(() => {
27
-    if (!Years.length) {
28
-      let Arr = []
29
-      for (let n = 30; n > 0; n--) {
30
-        Arr.push({ name: `${n}年`, id: n })
31
-      }
32
-      setYears(Arr)
33
-    } else {
34
-      setCurrentYears(Years[0])
35
-    }
36
-  }, [Years])
37
-
38
-  return (
39
-    <view className='components ShangYe'>
40
-
41
-      <view className='flex-h'>
42
-        <text>计算方式</text>
43
-        <view className='flex-item'>
44
-
45
-        </view>
46
-      </view>
47
-
48
-      <view className='flex-h'>
49
-        <text>商贷金额</text>
50
-        <view className='flex-item'>
51
-          <Input></Input>
52
-        </view>
53
-        <text>万</text>
54
-      </view>
55
-
56
-      <view className='flex-h'>
57
-        <text>商贷年限</text>
58
-        <view className='flex-item'>
59
-          <picker value={0} range-key='name' range={Years}>{CurrentYears.name}</picker>
60
-        </view>
61
-        <text className='iconfont icon-jiantouright'></text>
62
-      </view>
63
-
64
-      <view className='flex-h'>
65
-        <text>利率方式</text>
66
-        <view className='flex-item'>
67
-          <picker value={0} range-key='name' range={InterestTypes}>{CurrentInterestTypes.name}</picker>
68
-        </view>
69
-        <text className='iconfont icon-jiantouright'></text>
70
-      </view>
71
-
72
-      <view className='flex-h'>
73
-        <text>商贷利率</text>
74
-        <view className='flex-item'>
75
-          <picker value={0} range-key='name' range={BusinessInterestTypes}>{CurrentBusinessInterest.name}</picker>
76
-        </view>
77
-        <text className='iconfont icon-jiantouright'></text>
78
-      </view>
79
-
80
-    </view>
81
-  )
82
-}

+ 0
- 4
src/pages/index/mortgageCalculation/components/ShangYe/index.scss View File

1
-.components.ShangYe {
2
-  position: relative;
3
-  overflow: hidden;
4
-}

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

1
-export default {
2
-  navigationBarTitleText: '房贷计算'
3
-}

+ 0
- 53
src/pages/index/mortgageCalculation/index.jsx View File

1
-import { useState, useEffect } from 'react'
2
-import withLayout from '@/layout'
3
-import { ScrollView } from '@tarojs/components'
4
-import '@/assets/css/iconfont.css'
5
-import ShangYe from './components/ShangYe/index'
6
-import './index.scss'
7
-
8
-export default withLayout(() => {
9
-
10
-  const [MenuList] = useState([
11
-    { name: '商业贷款', id: 1 },
12
-    { name: '组合贷款', id: 2 },
13
-    { name: '公积金贷款', id: 3 }
14
-  ])
15
-  const [CurrnetMenuId, setCurrnetMenuId] = useState(1)
16
-
17
-  const CutMenu = (id) => {
18
-    return () => {
19
-      setCurrnetMenuId(id)
20
-    }
21
-  }
22
-
23
-  return (
24
-    <view className='Page mortgageCalculation flex-v'>
25
-
26
-      <view className='MenuList flex-h'>
27
-        {
28
-          MenuList.map((item, index) => (
29
-            <view key={`ListItem${index}`} className='flex-item'>
30
-              <text onClick={CutMenu(item.id)} className={CurrnetMenuId === item.id ? 'active' : ''}>{item.name}</text>
31
-            </view>
32
-          ))
33
-        }
34
-      </view>
35
-
36
-      <view className='flex-item'>
37
-        <view>
38
-          <ScrollView scroll-y>
39
-            <view className='PageContent'>
40
-
41
-              {
42
-                CurrnetMenuId === 1 &&
43
-                <ShangYe></ShangYe>
44
-              }
45
-
46
-            </view>
47
-          </ScrollView>
48
-        </view>
49
-      </view>
50
-
51
-    </view>
52
-  )
53
-})

+ 0
- 58
src/pages/index/mortgageCalculation/index.scss View File

1
-.Page.mortgageCalculation {
2
-  background: #fff;
3
-  >.MenuList {
4
-    position: relative;
5
-    overflow: hidden;
6
-    border-bottom: 2px solid rgba(0, 0, 0, 0.08);
7
-    padding: 0 30px;
8
-    >view {
9
-      text-align: center;
10
-      font-size: 0;
11
-      >text {
12
-        display: inline-block;
13
-        font-size: 30px;
14
-        font-weight: bold;
15
-        line-height: 40px;
16
-        padding: 20px 0 30px;
17
-        position: relative;
18
-        &.active {
19
-          color: #193C83;
20
-          &::after {
21
-            content: '';
22
-            width: 30px;
23
-            height: 4px;
24
-            border-radius: 4px;
25
-            background: #193C83;
26
-            display: block;
27
-            position: absolute;
28
-            left: 50%;
29
-            bottom: 4px;
30
-            transform: translateX(-50%);
31
-            -webkit-transform: translateX(-50%);
32
-          }
33
-        }
34
-      }
35
-    }
36
-  }
37
-  >.flex-item {
38
-    position: relative;
39
-    overflow: hidden;
40
-    >view {
41
-      width: 100%;
42
-      position: absolute;
43
-      left: 0;
44
-      top: 0;
45
-      bottom: 0;
46
-      overflow: hidden;
47
-      > scroll-view {
48
-        width: 100%;
49
-        height: 100%;
50
-        .PageContent {
51
-          position: relative;
52
-          overflow: hidden;
53
-          min-height: 100vh;
54
-        }
55
-      }
56
-    }
57
-  }
58
-}

+ 1
- 1
src/pages/index/newsDetail/index.jsx View File

91
           <view>
91
           <view>
92
             <Image
92
             <Image
93
               mode="heightFix"
93
               mode="heightFix"
94
-              src={require("../../../assets/buildingDetail-icon3.png")}
94
+              src={require("@/assets/buildingDetail-icon3.png")}
95
             ></Image>
95
             ></Image>
96
             <text>生成海报</text>
96
             <text>生成海报</text>
97
           </view>
97
           </view>

+ 1
- 1
src/pages/mine/components/NeedLogin/index.jsx View File

7
   return (
7
   return (
8
     <view className='components NeedLogin flex-v'>
8
     <view className='components NeedLogin flex-v'>
9
       <view className='Logo'>
9
       <view className='Logo'>
10
-        <Image mode='aspectFit' className='centerLabel' src={require('../../../../assets/logo.png')} />
10
+        <Image mode='aspectFit' className='centerLabel' src={require('@/assets/logo.png')} />
11
       </view>
11
       </view>
12
       <view className='LoginBtn'>
12
       <view className='LoginBtn'>
13
         <text>微信登录</text>
13
         <text>微信登录</text>

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

15
 
15
 
16
 const defaultRuleImage = 'https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/index-icon18.jpg'
16
 const defaultRuleImage = 'https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/index-icon18.jpg'
17
 
17
 
18
+const version = `版本: ${Version}`
19
+const copyRight = `云致科技 @ ${(new Date()).getFullYear()}`
20
+
18
 export default withLayout(() => {
21
 export default withLayout(() => {
19
 
22
 
20
   const user = useSelector(state => state.user)
23
   const user = useSelector(state => state.user)
125
 
128
 
126
             </view>
129
             </view>
127
           }
130
           }
131
+        </view>
128
 
132
 
133
+        <view className='copyright'>
134
+          <view>{version}</view>
135
+          <view>{copyRight}</view>
129
         </view>
136
         </view>
130
       </ScrollView>
137
       </ScrollView>
131
 
138
 

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

1
 .Page.Mine {
1
 .Page.Mine {
2
   background: #fff;
2
   background: #fff;
3
+
4
+  .copyright {
5
+    padding: 2em;
6
+    background: #f8f8f8;
7
+    text-align: center;
8
+    font-size: 20px;
9
+    color: rgba(0,0,0, 0.5);
10
+    line-height: 1.6em;
11
+  }
12
+
3
   > scroll-view {
13
   > scroll-view {
4
     width: 100%;
14
     width: 100%;
5
     height: 100%;
15
     height: 100%;

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

105
           <button loading={loading} onClick={handleCalc}>开始计算</button>
105
           <button loading={loading} onClick={handleCalc}>开始计算</button>
106
         </view>
106
         </view>
107
       </ScrollView>
107
       </ScrollView>
108
-      <page-modal show={visible} position='bottom'>
108
+      <page-modal show={visible} position='bottom' onClose={() => setVisible(false)} >
109
         <Result dataSource={result} isMixed={current === 3} onClose={() => setVisible(false)} />
109
         <Result dataSource={result} isMixed={current === 3} onClose={() => setVisible(false)} />
110
       </page-modal>
110
       </page-modal>
111
     </view>
111
     </view>

+ 2
- 2
src/pages/mine/myCustomerDetail/index.jsx View File

190
             <view className='Title flex-h'>
190
             <view className='Title flex-h'>
191
               <text>跟进记录</text>
191
               <text>跟进记录</text>
192
               <view className='Edit' onClick={() => setShowFollowModal(true)}>
192
               <view className='Edit' onClick={() => setShowFollowModal(true)}>
193
-                <Image mode='heightFix' src={require('../../../assets/mine-icon26.png')}></Image>
193
+                <Image mode='heightFix' src={require('@/assets/mine-icon26.png')}></Image>
194
                 <text>新增</text>
194
                 <text>新增</text>
195
               </view>
195
               </view>
196
               <view className='flex-item'></view>
196
               <view className='flex-item'></view>
224
           <button loading={followSubmitting} style={{ background: '#193c83', color: '#fff', borderRadius: 0 }} onClick={handleAddFollow}>确定</button>
224
           <button loading={followSubmitting} style={{ background: '#193c83', color: '#fff', borderRadius: 0 }} onClick={handleAddFollow}>确定</button>
225
         </view>
225
         </view>
226
       </Modal>
226
       </Modal>
227
-      <page-modal show={showUserEditor} position='bottom' onClickOverlay={() => setShowUserEditor(false)} height='90vh'>
227
+      <page-modal show={showUserEditor} position='bottom' onClose={() => setShowUserEditor(false)} height='90vh'>
228
         <EditUserDetailBasicInfo Data={custMoreInfo} CustomerId={id} close={() => setShowUserEditor(false)} />
228
         <EditUserDetailBasicInfo Data={custMoreInfo} CustomerId={id} close={() => setShowUserEditor(false)} />
229
       </page-modal>
229
       </page-modal>
230
     </view>
230
     </view>

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

1
-export default {
2
-  navigationBarTitleText: '推荐客户'
3
-}

+ 0
- 73
src/pages/mine/recommendUser/index.jsx View File

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
-const defaultSpecialImage = 'https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/index-icon19.jpg'
8
-
9
-export default withLayout((props) => {
10
-
11
-  // const [PageProps] = useState(props)
12
-
13
-  return (
14
-    <view className='Page recommendUser'>
15
-
16
-      <ScrollView scroll-y={true} refresher-enabled={false} refresher-background='#fff'>
17
-        <view className='PageContent'>
18
-
19
-          <text>客户姓名</text>
20
-          <view className='FormLine flex-h'>
21
-            <view className='flex-item'>
22
-              <Input placeholder='请输入客户真实姓名'></Input>
23
-            </view>
24
-          </view>
25
-
26
-          <text>客户电话</text>
27
-          <view className='FormLine flex-h'>
28
-            <view className='flex-item'>
29
-              <Input placeholder='请输入手机号码'></Input>
30
-            </view>
31
-          </view>
32
-
33
-          <text>客户性别</text>
34
-          <view className='FormLine flex-h'>
35
-            <view className='flex-item'>
36
-              <text>请选择</text>
37
-            </view>
38
-            <text className='iconfont icon-jiantoudown'></text>
39
-          </view>
40
-
41
-          <text>意向楼盘</text>
42
-          <view className='FormLine flex-h'>
43
-            <view className='flex-item'>
44
-              <Input placeholder='请输入意向楼盘'></Input>
45
-            </view>
46
-          </view>
47
-
48
-          <text>置业顾问(选填)</text>
49
-          <view className='FormLine flex-h'>
50
-            <view className='flex-item'>
51
-              <text>请选择</text>
52
-            </view>
53
-            <Image mode='heightFix' src={defaultSpecialImage}></Image>
54
-            <text>选择</text>
55
-          </view>
56
-
57
-          <text>备注</text>
58
-          <view className='FormLine flex-h'>
59
-            <view className='flex-item'>
60
-              <Input placeholder='补充说明(选填)'></Input>
61
-            </view>
62
-          </view>
63
-
64
-          <view className='Btn'>
65
-            <text>提交</text>
66
-          </view>
67
-
68
-        </view>
69
-      </ScrollView>
70
-
71
-    </view>
72
-  )
73
-})

+ 0
- 71
src/pages/mine/recommendUser/index.scss View File

1
-.Page.recommendUser {
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
-}

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

1
-export default {
2
-  navigationBarTitleText: '报备客户'
3
-}

+ 0
- 73
src/pages/mine/reportUser/index.jsx View File

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
-const defaultSpecialImage = 'https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/index-icon19.jpg'
8
-
9
-export default withLayout((props) => {
10
-
11
-  // const [PageProps] = useState(props)
12
-
13
-  return (
14
-    <view className='Page reportUser'>
15
-
16
-      <ScrollView scroll-y={true} refresher-enabled={false} refresher-background='#fff'>
17
-        <view className='PageContent'>
18
-
19
-          <text>客户姓名</text>
20
-          <view className='FormLine flex-h'>
21
-            <view className='flex-item'>
22
-              <Input placeholder='请输入客户真实姓名'></Input>
23
-            </view>
24
-          </view>
25
-
26
-          <text>客户电话</text>
27
-          <view className='FormLine flex-h'>
28
-            <view className='flex-item'>
29
-              <Input placeholder='请输入手机号码'></Input>
30
-            </view>
31
-          </view>
32
-
33
-          <text>客户性别</text>
34
-          <view className='FormLine flex-h'>
35
-            <view className='flex-item'>
36
-              <text>请选择</text>
37
-            </view>
38
-            <text className='iconfont icon-jiantoudown'></text>
39
-          </view>
40
-
41
-          <text>意向楼盘</text>
42
-          <view className='FormLine flex-h'>
43
-            <view className='flex-item'>
44
-              <Input placeholder='请输入意向楼盘'></Input>
45
-            </view>
46
-          </view>
47
-
48
-          <text>置业顾问(选填)</text>
49
-          <view className='FormLine flex-h'>
50
-            <view className='flex-item'>
51
-              <text>请选择</text>
52
-            </view>
53
-            <Image mode='heightFix' src={defaultSpecialImage}></Image>
54
-            <text>选择</text>
55
-          </view>
56
-
57
-          <text>备注</text>
58
-          <view className='FormLine flex-h'>
59
-            <view className='flex-item'>
60
-              <Input placeholder='补充说明(选填)'></Input>
61
-            </view>
62
-          </view>
63
-
64
-          <view className='Btn'>
65
-            <text>提交</text>
66
-          </view>
67
-
68
-        </view>
69
-      </ScrollView>
70
-
71
-    </view>
72
-  )
73
-})

+ 0
- 71
src/pages/mine/reportUser/index.scss View File

1
-.Page.reportUser {
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
-}

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

1
 const MineMenuList = {
1
 const MineMenuList = {
2
   User: [ // 普通用户
2
   User: [ // 普通用户
3
     [
3
     [
4
-      { name: '推荐客户', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/addCustomer/index?type=customer' },
4
+      { name: '推荐客户', icon: require('@/assets/mine-icon8.png'), router: '/pages/mine/addCustomer/index?type=customer' },
5
     ],
5
     ],
6
     [
6
     [
7
-      { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
8
-      { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
9
-      { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
7
+      { name: '我的分享', icon: require('@/assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
8
+      { name: '我的活动', icon: require('@/assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
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: '/pages/mine/mortgageCalc/index' },
13
-      { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
14
-      { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
12
+      { name: '房贷计算器', icon: require('@/assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
13
+      { name: '购房百科', icon: require('@/assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
14
+      { name: '意见反馈', icon: require('@/assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
15
     ],
15
     ],
16
     [
16
     [
17
-      { name: '成为驻场管理', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
18
-      { name: '成为置业顾问', icon: require('../../assets/mine-icon4.png'), router: 'propertyConsultant' },
19
-      { name: '成为专业经纪人', icon: require('../../assets/mine-icon2.png'), router: '/pages/mine/toBeAgent/index' }
17
+      { name: '成为驻场管理', icon: require('@/assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
18
+      { name: '成为置业顾问', icon: require('@/assets/mine-icon4.png'), router: 'propertyConsultant' },
19
+      { name: '成为专业经纪人', icon: require('@/assets/mine-icon2.png'), router: '/pages/mine/toBeAgent/index' }
20
     ]
20
     ]
21
   ],
21
   ],
22
   Broker: [ // 经纪人
22
   Broker: [ // 经纪人
23
     [
23
     [
24
-      { name: '报备客户', icon: require('../../assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
25
-      { name: '合作渠道', icon: require('../../assets/mine-icon3.png'), router: '/pages/mine/partnerChannel/index' }
24
+      { name: '报备客户', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
25
+      { name: '合作渠道', icon: require('@/assets/mine-icon3.png'), router: '/subpackages/pages/channel/partnerChannel/index' }
26
     ],
26
     ],
27
     [
27
     [
28
-      { name: '我的客户', icon: require('../../assets/mine-icon15.png'), router: '/pages/mine/myCustomer/index' },
29
-      { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
30
-      { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
31
-      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
32
-      { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
28
+      { name: '我的客户', icon: require('@/assets/mine-icon15.png'), router: '/pages/mine/myCustomer/index' },
29
+      { name: '我的分享', icon: require('@/assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
30
+      { name: '我的活动', icon: require('@/assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
31
+      { name: '我的课堂', icon: require('@/assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
32
+      { name: '我的收藏', icon: require('@/assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
33
     ],
33
     ],
34
     [
34
     [
35
-      { name: '成为驻场管理', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
36
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
37
-      { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
38
-      { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
35
+      { name: '成为驻场管理', icon: require('@/assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
36
+      { name: '房贷计算器', icon: require('@/assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
37
+      { name: '购房百科', icon: require('@/assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
38
+      { name: '意见反馈', icon: require('@/assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
39
     ]
39
     ]
40
   ],
40
   ],
41
   Adviser: [ // 置业顾问
41
   Adviser: [ // 置业顾问
42
     [
42
     [
43
-      { name: '添加客户', icon: require('../../assets/mine-icon7.png'), router: '/pages/mine/addCustomer/index?type=consultant' },
44
-      { name: '成为驻场管理', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
45
-      { name: '我的主页', icon: require('../../assets/mine-icon15.png'), router: '/pages/mine/myHomepage/index' },
46
-      { name: '我的推广码', icon: require('../../assets/mine-icon14.png'), router: '' },
47
-      { name: '客户分析', icon: require('../../assets/mine-icon5.png'), router: '/pages/mine/customerAnalyse/index' },
48
-      { name: '盘客工具', icon: require('../../assets/mine-icon6.png'), router: '/pages/mine/statCustomer/index' }
43
+      { name: '添加客户', icon: require('@/assets/mine-icon7.png'), router: '/pages/mine/addCustomer/index?type=consultant' },
44
+      { name: '成为驻场管理', icon: require('@/assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
45
+      { name: '我的主页', icon: require('@/assets/mine-icon15.png'), router: '/subpackages/pages/consultant/myHomepage/index' },
46
+      { name: '我的推广码', icon: require('@/assets/mine-icon14.png'), router: '' },
47
+      { name: '客户分析', icon: require('@/assets/mine-icon5.png'), router: '/subpackages/pages/consultant/customerAnalyse/index' },
48
+      { name: '盘客工具', icon: require('@/assets/mine-icon6.png'), router: '/subpackages/pages/consultant/statCustomer/index' }
49
     ],
49
     ],
50
     [
50
     [
51
-      { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
52
-      { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
53
-      { name: '我的课堂', icon: require('../../assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
54
-      { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
51
+      { name: '我的分享', icon: require('@/assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
52
+      { name: '我的活动', icon: require('@/assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
53
+      { name: '我的课堂', icon: require('@/assets/mine-icon12.png'), router: '/pages/mine/myCourse/index' },
54
+      { name: '我的收藏', icon: require('@/assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
55
     ],
55
     ],
56
     [
56
     [
57
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
58
-      { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
59
-      { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
57
+      { name: '房贷计算器', icon: require('@/assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
58
+      { name: '购房百科', icon: require('@/assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
59
+      { name: '意见反馈', icon: require('@/assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
60
     ]
60
     ]
61
   ],
61
   ],
62
   Resident: [ // 驻场管理
62
   Resident: [ // 驻场管理
63
     [
63
     [
64
-      { name: '绑定楼盘码', icon: require('../../assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
65
-      { name: '驻场管理', icon: require('../../assets/mine-icon17.png'), router: '/pages/mine/residentManager/index' }
64
+      { name: '绑定楼盘码', icon: require('@/assets/mine-icon8.png'), router: '/pages/mine/toBeManager/index' },
65
+      { name: '驻场管理', icon: require('@/assets/mine-icon17.png'), router: '/subpackages/pages/marketing/residentManager/index' }
66
     ],
66
     ],
67
     [
67
     [
68
-      // { name: '我的客户', icon: require('../../assets/mine-icon11.png'), router: '/pages/mine/myCustomer/index' },
69
-      { name: '我的分享', icon: require('../../assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
70
-      { name: '我的活动', icon: require('../../assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
71
-      { name: '我的收藏', icon: require('../../assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
68
+      // { name: '我的客户', icon: require('@/assets/mine-icon11.png'), router: '/pages/mine/myCustomer/index' },
69
+      { name: '我的分享', icon: require('@/assets/mine-icon9.png'), router: '/pages/mine/myShare/index' },
70
+      { name: '我的活动', icon: require('@/assets/mine-icon10.png'), router: '/pages/mine/myActivity/index' },
71
+      { name: '我的收藏', icon: require('@/assets/mine-icon13.png'), router: '/pages/mine/myCollect/index' }
72
     ],
72
     ],
73
     [
73
     [
74
-      { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
75
-      { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
76
-      { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
74
+      { name: '房贷计算器', icon: require('@/assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
75
+      { name: '购房百科', icon: require('@/assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
76
+      { name: '意见反馈', icon: require('@/assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }
77
     ]
77
     ]
78
   ]
78
   ]
79
 }
79
 }

+ 24
- 40
src/routes.js View File

21
     page: 'pages/video/index',
21
     page: 'pages/video/index',
22
     pkg: 'main',
22
     pkg: 'main',
23
     isTab: true,
23
     isTab: true,
24
-    type: 'other',
24
+    type: 'video',
25
   },
25
   },
26
   {
26
   {
27
     name: '消息',
27
     name: '消息',
28
     page: 'pages/chat/index',
28
     page: 'pages/chat/index',
29
     pkg: 'main',
29
     pkg: 'main',
30
     isTab: true,
30
     isTab: true,
31
-    type: 'other',
31
+    type: 'chat',
32
   },
32
   },
33
   {
33
   {
34
     name: '我是',
34
     name: '我是',
35
     page: 'pages/mine/index',
35
     page: 'pages/mine/index',
36
     pkg: 'main',
36
     pkg: 'main',
37
     isTab: true,
37
     isTab: true,
38
-    type: 'center',
38
+    type: 'mine',
39
   },
39
   },
40
 
40
 
41
   // 聊天
41
   // 聊天
43
     name: '聊天',
43
     name: '聊天',
44
     page: 'pages/chat/chatDetail/index',
44
     page: 'pages/chat/chatDetail/index',
45
     pkg: 'main',
45
     pkg: 'main',
46
-    type: 'other',
46
+    type: 'chat',
47
     auth: ['phone', 'avatar'],
47
     auth: ['phone', 'avatar'],
48
   },
48
   },
49
 
49
 
50
   // /********************************
50
   // /********************************
51
   //  * 项目相关
51
   //  * 项目相关
52
   //  *******************************/
52
   //  *******************************/
53
-  {
54
-    name: '房贷计算',
55
-    page: 'pages/index/mortgageCalculation/index',
56
-    pkg: 'main',
57
-    type: 'building',
58
-  },
59
   {
53
   {
60
     name: '定位',
54
     name: '定位',
61
     page: 'pages/index/location/index',
55
     page: 'pages/index/location/index',
91
     page: 'pages/index/buildingDetail/index',
85
     page: 'pages/index/buildingDetail/index',
92
     pkg: 'main',
86
     pkg: 'main',
93
     type: 'building',
87
     type: 'building',
94
-    auth: ['phone', 'avatar'],
88
+    // auth: ['phone', 'avatar'],
95
     shortcut: {
89
     shortcut: {
96
       chat: false,
90
       chat: false,
97
       consultant: true,
91
       consultant: true,
175
     page: 'pages/index/activityList/index',
169
     page: 'pages/index/activityList/index',
176
     pkg: 'main',
170
     pkg: 'main',
177
     type: 'activity',
171
     type: 'activity',
172
+    auth: ['phone', 'avatar'],
178
   },
173
   },
179
   {
174
   {
180
     name: '活动详情',
175
     name: '活动详情',
188
     page: 'pages/index/specialPriceHouse/index',
183
     page: 'pages/index/specialPriceHouse/index',
189
     pkg: 'main',
184
     pkg: 'main',
190
     type: 'building',
185
     type: 'building',
186
+    auth: ['phone', 'avatar'],
191
   },
187
   },
192
   {
188
   {
193
     name: '免责声明',
189
     name: '免责声明',
199
     name: '康养',
195
     name: '康养',
200
     page: 'pages/index/recovered/index',
196
     page: 'pages/index/recovered/index',
201
     pkg: 'main',
197
     pkg: 'main',
202
-    type: 'building',
198
+    type: 'other',
203
   },
199
   },
204
   {
200
   {
205
     name: '文旅商办',
201
     name: '文旅商办',
263
     name: '房贷计算器',
259
     name: '房贷计算器',
264
     page: 'pages/mine/mortgageCalc/index',
260
     page: 'pages/mine/mortgageCalc/index',
265
     pkg: 'main',
261
     pkg: 'main',
266
-    type: 'mine',
262
+    type: 'other',
267
   },
263
   },
268
   {
264
   {
269
     name: '基本信息',
265
     name: '基本信息',
283
     pkg: 'main',
279
     pkg: 'main',
284
     type: 'mine',
280
     type: 'mine',
285
   },
281
   },
286
-  {
287
-    name: '推荐客户',
288
-    page: 'pages/mine/recommendUser/index',
289
-    pkg: 'main',
290
-    type: 'mine',
291
-  },
292
-  {
293
-    name: '报备客户',
294
-    page: 'pages/mine/reportUser/index',
295
-    pkg: 'main',
296
-    type: 'mine',
297
-  },
298
   {
282
   {
299
     name: '我的分享',
283
     name: '我的分享',
300
     page: 'pages/mine/myShare/index',
284
     page: 'pages/mine/myShare/index',
311
     name: '我的活动',
295
     name: '我的活动',
312
     page: 'pages/mine/myActivity/index',
296
     page: 'pages/mine/myActivity/index',
313
     pkg: 'main',
297
     pkg: 'main',
314
-    type: 'mine',
298
+    type: 'activity',
315
   },
299
   },
316
   {
300
   {
317
     name: '我的客户',
301
     name: '我的客户',
333
   },
317
   },
334
   {
318
   {
335
     name: '合作渠道',
319
     name: '合作渠道',
336
-    page: 'pages/mine/partnerChannel/index',
337
-    pkg: 'main',
320
+    page: 'pages/channel/partnerChannel/index',
321
+    pkg: 'subpackages',
338
     type: 'mine',
322
     type: 'mine',
339
   },
323
   },
340
   {
324
   {
345
   },
329
   },
346
   {
330
   {
347
     name: '驻场管理',
331
     name: '驻场管理',
348
-    page: 'pages/mine/residentManager/index',
349
-    pkg: 'main',
332
+    page: 'pages/marketing/residentManager/index',
333
+    pkg: 'subpackages',
350
     type: 'mine',
334
     type: 'mine',
351
   },
335
   },
352
   {
336
   {
353
     name: '确认到访',
337
     name: '确认到访',
354
-    page: 'pages/mine/sureVisit/index',
355
-    pkg: 'main',
338
+    page: 'pages/marketing/sureVisit/index',
339
+    pkg: 'subpackages',
356
     type: 'mine',
340
     type: 'mine',
357
   },
341
   },
358
   {
342
   {
359
     name: '变更交易节点',
343
     name: '变更交易节点',
360
-    page: 'pages/mine/changeVisit/index',
361
-    pkg: 'main',
344
+    page: 'pages/marketing/changeVisit/index',
345
+    pkg: 'subpackages',
362
     type: 'mine',
346
     type: 'mine',
363
   },
347
   },
364
   {
348
   {
365
     name: '盘客工具',
349
     name: '盘客工具',
366
-    page: 'pages/mine/statCustomer/index',
367
-    pkg: 'main',
350
+    page: 'pages/consultant/statCustomer/index',
351
+    pkg: 'subpackages',
368
     type: 'mine',
352
     type: 'mine',
369
   },
353
   },
370
   {
354
   {
375
   },
359
   },
376
   {
360
   {
377
     name: '客户分析',
361
     name: '客户分析',
378
-    page: 'pages/mine/customerAnalyse/index',
379
-    pkg: 'main',
362
+    page: 'pages/consultant/customerAnalyse/index',
363
+    pkg: 'subpackages',
380
     type: 'mine',
364
     type: 'mine',
381
   },
365
   },
382
   {
366
   {
383
     name: '个人主页',
367
     name: '个人主页',
384
-    page: 'pages/mine/myHomepage/index',
385
-    pkg: 'main',
368
+    page: 'pages/consultant/myHomepage/index',
369
+    pkg: 'subpackages',
386
     type: 'mine',
370
     type: 'mine',
387
   },
371
   },
388
   {
372
   {

src/components/Chart/index.jsx → src/subpackages/components/Chart/index.jsx View File

1
 import React, { useEffect, useState, useMemo } from 'react'
1
 import React, { useEffect, useState, useMemo } from 'react'
2
-import * as echarts from '@/native/ec-canvas/echarts';
2
+import * as echarts from '@/subpackages/native/ec-canvas/echarts';
3
 
3
 
4
 function initChart(canvas, width, height, dpr) {
4
 function initChart(canvas, width, height, dpr) {
5
   const chart = echarts.init(canvas, null, {
5
   const chart = echarts.init(canvas, null, {

src/native/ec-canvas/ec-canvas.js → src/subpackages/native/ec-canvas/ec-canvas.js View File


src/native/ec-canvas/ec-canvas.json → src/subpackages/native/ec-canvas/ec-canvas.json View File


src/native/ec-canvas/ec-canvas.wxml → src/subpackages/native/ec-canvas/ec-canvas.wxml View File


src/native/ec-canvas/ec-canvas.wxss → src/subpackages/native/ec-canvas/ec-canvas.wxss View File


src/native/ec-canvas/echarts.js → src/subpackages/native/ec-canvas/echarts.js View File


src/native/ec-canvas/wx-canvas.js → src/subpackages/native/ec-canvas/wx-canvas.js View File


src/pages/mine/partnerChannel/components/LineChat.jsx → src/subpackages/pages/channel/partnerChannel/components/LineChat.jsx View File

1
 import React, { useEffect, useState } from 'react'
1
 import React, { useEffect, useState } from 'react'
2
-import Chart from '@/components/Chart'
2
+import Chart from '@/subpackages/components/Chart'
3
 
3
 
4
 export default (props) => {
4
 export default (props) => {
5
   const { dataSource, xAxisDataRef } = props
5
   const { dataSource, xAxisDataRef } = props

src/pages/mine/partnerChannel/hooks/useChart.js → src/subpackages/pages/channel/partnerChannel/hooks/useChart.js View File


src/pages/mine/partnerChannel/hooks/useRank.js → src/subpackages/pages/channel/partnerChannel/hooks/useRank.js View File


src/pages/mine/partnerChannel/hooks/useReport.js → src/subpackages/pages/channel/partnerChannel/hooks/useReport.js View File


src/pages/mine/partnerChannel/index.config.js → src/subpackages/pages/channel/partnerChannel/index.config.js View File

1
 export default {
1
 export default {
2
   navigationBarTitleText: '合作渠道',
2
   navigationBarTitleText: '合作渠道',
3
   usingComponents: {
3
   usingComponents: {
4
-    'ec-canvas': '@/native/ec-canvas/ec-canvas'
4
+    'ec-canvas': '@/subpackages/native/ec-canvas/ec-canvas'
5
   }
5
   }
6
 }
6
 }

src/pages/mine/partnerChannel/index.jsx → src/subpackages/pages/channel/partnerChannel/index.jsx View File

132
           <view className='SaleNews'>
132
           <view className='SaleNews'>
133
             <view className='Top flex-h'>
133
             <view className='Top flex-h'>
134
               <text>销售简报</text>
134
               <text>销售简报</text>
135
-              <Image mode='heightFix' src={require('../../../assets/mine-icon23.png')} onClick={handleReportDate}></Image>
135
+              <Image mode='heightFix' src={require('@/assets/mine-icon23.png')} onClick={handleReportDate}></Image>
136
               <view className='flex-item'></view>
136
               <view className='flex-item'></view>
137
               <text onClick={handleMore}>更多</text>
137
               <text onClick={handleMore}>更多</text>
138
               <text className='iconfont icon-jiantouright'></text>
138
               <text className='iconfont icon-jiantouright'></text>

src/pages/mine/partnerChannel/index.scss → src/subpackages/pages/channel/partnerChannel/index.scss View File


src/pages/mine/partnerChannel/utils/index.js → src/subpackages/pages/channel/partnerChannel/utils/index.js View File


src/pages/mine/components/FollowCustomer/index.jsx → src/subpackages/pages/consultant/components/FollowCustomer/index.jsx View File


src/pages/mine/components/FollowCustomer/index.scss → src/subpackages/pages/consultant/components/FollowCustomer/index.scss View File


src/pages/mine/components/StatCustomerListItem/index.jsx → src/subpackages/pages/consultant/components/StatCustomerListItem/index.jsx View File


src/pages/mine/components/StatCustomerListItem/index.scss → src/subpackages/pages/consultant/components/StatCustomerListItem/index.scss View File


src/pages/mine/components/TransactedCustomer/index.jsx → src/subpackages/pages/consultant/components/TransactedCustomer/index.jsx View File


src/pages/mine/components/TransactedCustomer/index.scss → src/subpackages/pages/consultant/components/TransactedCustomer/index.scss View File


src/pages/mine/customerAnalyse/components/LineChart.jsx → src/subpackages/pages/consultant/customerAnalyse/components/LineChart.jsx View File

1
 import React, { useEffect, useState } from 'react'
1
 import React, { useEffect, useState } from 'react'
2
-import Chart from '@/components/Chart'
2
+import Chart from '@/subpackages/components/Chart'
3
 
3
 
4
 export default (props) => {
4
 export default (props) => {
5
   const { dimensions, source } = props
5
   const { dimensions, source } = props

src/pages/mine/customerAnalyse/index.config.js → src/subpackages/pages/consultant/customerAnalyse/index.config.js View File

1
 export default {
1
 export default {
2
   navigationBarTitleText: '客户分析',
2
   navigationBarTitleText: '客户分析',
3
   usingComponents: {
3
   usingComponents: {
4
-    'ec-canvas': '@/native/ec-canvas/ec-canvas'
4
+    'ec-canvas': '@/subpackages/native/ec-canvas/ec-canvas'
5
   }
5
   }
6
 }
6
 }

src/pages/mine/customerAnalyse/index.jsx → src/subpackages/pages/consultant/customerAnalyse/index.jsx View File


src/pages/mine/customerAnalyse/index.scss → src/subpackages/pages/consultant/customerAnalyse/index.scss View File


src/pages/mine/myHomepage/index.config.js → src/subpackages/pages/consultant/myHomepage/index.config.js View File


src/pages/mine/myHomepage/index.jsx → src/subpackages/pages/consultant/myHomepage/index.jsx View File

2
 import Taro from '@tarojs/taro'
2
 import Taro from '@tarojs/taro'
3
 import withLayout from '@/layout'
3
 import withLayout from '@/layout'
4
 import { ScrollView, Image } from '@tarojs/components'
4
 import { ScrollView, Image } from '@tarojs/components'
5
-import '@/assets/css/iconfont.css'
5
+import ProjectListItem from '@/components/ProjectListItem/index'
6
 import { useSelector } from 'react-redux'
6
 import { useSelector } from 'react-redux'
7
 import { fetch } from '@/utils/request'
7
 import { fetch } from '@/utils/request'
8
 import { API_AGENT_CURRENT, API_ITEMS_DETAIL } from '@/constants/api'
8
 import { API_AGENT_CURRENT, API_ITEMS_DETAIL } from '@/constants/api'
9
 import { getImgURL } from '@/utils/image'
9
 import { getImgURL } from '@/utils/image'
10
+import '@/assets/css/iconfont.css'
10
 import './index.scss'
11
 import './index.scss'
11
-import ProjectListItem from '../../../components/ProjectListItem/index'
12
 
12
 
13
 export default withLayout(() => {
13
 export default withLayout(() => {
14
   
14
   
85
                 </view>
85
                 </view>
86
                 <view className='Tag'>
86
                 <view className='Tag'>
87
                   <view>
87
                   <view>
88
-                    <Image mode='heightFix' src={require('../../../assets/mine-icon28.png')}></Image>
88
+                    <Image mode='heightFix' src={require('@/assets/mine-icon28.png')}></Image>
89
                     <text>金牌置业顾问</text>
89
                     <text>金牌置业顾问</text>
90
                   </view>
90
                   </view>
91
                 </view>
91
                 </view>

src/pages/mine/myHomepage/index.scss → src/subpackages/pages/consultant/myHomepage/index.scss View File


src/pages/mine/statCustomer/index.config.js → src/subpackages/pages/consultant/statCustomer/index.config.js View File


src/pages/mine/statCustomer/index.jsx → src/subpackages/pages/consultant/statCustomer/index.jsx View File


src/pages/mine/statCustomer/index.scss → src/subpackages/pages/consultant/statCustomer/index.scss View File


src/pages/mine/changeVisit/index.config.js → src/subpackages/pages/marketing/changeVisit/index.config.js View File


src/pages/mine/changeVisit/index.jsx → src/subpackages/pages/marketing/changeVisit/index.jsx View File


src/pages/mine/changeVisit/index.scss → src/subpackages/pages/marketing/changeVisit/index.scss View File


src/pages/mine/components/ResidentListItem/index.jsx → src/subpackages/pages/marketing/components/ResidentListItem/index.jsx View File

27
         } */}
27
         } */}
28
         {
28
         {
29
           data.customerStatus - 0 === 1 &&
29
           data.customerStatus - 0 === 1 &&
30
-          <text className='Status' onClick={() => { Taro.navigateTo({ url: `/pages/mine/sureVisit/index?id=${data.id}` }) }}>到访确认</text>
30
+          <text className='Status' onClick={() => { Taro.navigateTo({ url: `/subpackages/pages/marketing/sureVisit/index?id=${data.id}` }) }}>到访确认</text>
31
         }
31
         }
32
       </view>
32
       </view>
33
       <view className='flex-h'>
33
       <view className='flex-h'>
87
       <view className='Opt'>
87
       <view className='Opt'>
88
         {
88
         {
89
           !(data.type === 'report' && data.channelStatus - 0 === 3) &&
89
           !(data.type === 'report' && data.channelStatus - 0 === 3) &&
90
-          <text className='active' onClick={() => { Taro.navigateTo({ url: `/pages/mine/changeVisit/index?id=${data.id}&name=${data.name}&buildingId=${data.buildingId}&type=${data.type}&channelId=${data.channelId}` }) }}>更新交易</text>
90
+          <text className='active' onClick={() => { Taro.navigateTo({ url: `/subpackages/pages/marketing/changeVisit/index?id=${data.id}&name=${data.name}&buildingId=${data.buildingId}&type=${data.type}&channelId=${data.channelId}` }) }}>更新交易</text>
91
         }
91
         }
92
         {
92
         {
93
           data.type === 'report' && data.channelStatus - 0 === 1 &&
93
           data.type === 'report' && data.channelStatus - 0 === 1 &&

src/pages/mine/components/ResidentListItem/index.scss → src/subpackages/pages/marketing/components/ResidentListItem/index.scss View File


src/pages/mine/residentManager/index.config.js → src/subpackages/pages/marketing/residentManager/index.config.js View File


src/pages/mine/residentManager/index.jsx → src/subpackages/pages/marketing/residentManager/index.jsx View File


src/pages/mine/residentManager/index.scss → src/subpackages/pages/marketing/residentManager/index.scss View File


src/pages/mine/sureVisit/index.config.js → src/subpackages/pages/marketing/sureVisit/index.config.js View File


src/pages/mine/sureVisit/index.jsx → src/subpackages/pages/marketing/sureVisit/index.jsx View File


src/pages/mine/sureVisit/index.scss → src/subpackages/pages/marketing/sureVisit/index.scss View File