lisenzhou пре 2 година
родитељ
комит
4855724e11
36 измењених фајлова са 1711 додато и 435 уклоњено
  1. 86
    54
      src/components/ProjectListItem/index.jsx
  2. 109
    107
      src/components/ProjectListItem/index.scss
  3. 31
    0
      src/components/borkerShare/index.jsx
  4. 37
    0
      src/components/borkerShare/index.scss
  5. 3
    0
      src/pages/index/buildingDetail/components/BasicInfo/index.jsx
  6. 4
    4
      src/pages/mine/tabData.js
  7. 292
    270
      src/routes.js
  8. 3
    0
      src/subpackages/pages/borker/commissionSettlement/index.config.js
  9. 110
    0
      src/subpackages/pages/borker/commissionSettlement/index.jsx
  10. 104
    0
      src/subpackages/pages/borker/commissionSettlement/index.scss
  11. 19
    0
      src/subpackages/pages/borker/myMessage/components/messageItem/index.jsx
  12. 30
    0
      src/subpackages/pages/borker/myMessage/components/messageItem/index.scss
  13. 14
    0
      src/subpackages/pages/borker/myMessage/components/messageTime/index.jsx
  14. 16
    0
      src/subpackages/pages/borker/myMessage/components/messageTime/index.scss
  15. 3
    0
      src/subpackages/pages/borker/myMessage/index.config.js
  16. 81
    0
      src/subpackages/pages/borker/myMessage/index.jsx
  17. 28
    0
      src/subpackages/pages/borker/myMessage/index.scss
  18. 3
    0
      src/subpackages/pages/borker/myWallet/index.config.js
  19. 45
    0
      src/subpackages/pages/borker/myWallet/index.jsx
  20. 74
    0
      src/subpackages/pages/borker/myWallet/index.scss
  21. 18
    0
      src/subpackages/pages/borker/myWallet/list/Item/index.jsx
  22. 43
    0
      src/subpackages/pages/borker/myWallet/list/Item/index.scss
  23. 79
    0
      src/subpackages/pages/borker/myWallet/list/index.jsx
  24. 30
    0
      src/subpackages/pages/borker/myWallet/list/index.scss
  25. 45
    0
      src/subpackages/pages/borker/rankingList/components/list/index.jsx
  26. 19
    0
      src/subpackages/pages/borker/rankingList/components/list/index.scss
  27. 0
    0
      src/subpackages/pages/borker/rankingList/components/list/item.jsx
  28. 28
    0
      src/subpackages/pages/borker/rankingList/components/myAchievement/index.jsx
  29. 27
    0
      src/subpackages/pages/borker/rankingList/components/myAchievement/index.scss
  30. 3
    0
      src/subpackages/pages/borker/rankingList/index.config.js
  31. 73
    0
      src/subpackages/pages/borker/rankingList/index.jsx
  32. 55
    0
      src/subpackages/pages/borker/rankingList/index.scss
  33. 82
    0
      src/subpackages/pages/borker/rankingList/invitationList/index.jsx
  34. 15
    0
      src/subpackages/pages/borker/rankingList/invitationList/index.scss
  35. 87
    0
      src/subpackages/pages/borker/rankingList/transactionList/index.jsx
  36. 15
    0
      src/subpackages/pages/borker/rankingList/transactionList/index.scss

+ 86
- 54
src/components/ProjectListItem/index.jsx Прегледај датотеку

1
+import "@/assets/css/iconfont.css";
2
+import Taro from "@tarojs/taro";
3
+import { Image } from "@tarojs/components";
4
+import { getImgURL } from "@/utils/image";
5
+import BorkerShare from "@/components/borkerShare";
6
+import "./index.scss";
1
 
7
 
2
-import '@/assets/css/iconfont.css'
3
-import Taro from '@tarojs/taro'
4
-import { Image } from '@tarojs/components'
5
-import { getImgURL } from '@/utils/image'
6
-import './index.scss'
7
-
8
-export default function ProjectListItem (props) {
9
-  const { Data = {}, ShowImgIcon = true } = props
10
-  const { uvList = [] } = Data
8
+export default function ProjectListItem(props) {
9
+  const { Data = {}, ShowImgIcon = true } = props;
10
+  const { uvList = [] } = Data;
11
 
11
 
12
   const LinkTo = () => {
12
   const LinkTo = () => {
13
-    if(Data.eventType === 'news') { // 资讯
14
-      Taro.navigateTo({ url: `/pages/index/newsDetail/index?id=${Data.targetId}&eventType=${Data.type}` })
15
-    } else if(Data.eventType === 'activity') { // 活动
16
-      Taro.navigateTo({ url: `/pages/index/activityDetail/index?id=${Data.targetId}&eventType=${Data.type}` })
17
-    } else { // 楼盘
18
-      Taro.navigateTo({ url: `/pages/index/buildingDetail/index?id=${Data.buildingId || Data.targetId}` })
13
+    if (Data.eventType === "news") {
14
+      // 资讯
15
+      Taro.navigateTo({
16
+        url: `/pages/index/newsDetail/index?id=${Data.targetId}&eventType=${Data.type}`,
17
+      });
18
+    } else if (Data.eventType === "activity") {
19
+      // 活动
20
+      Taro.navigateTo({
21
+        url: `/pages/index/activityDetail/index?id=${Data.targetId}&eventType=${Data.type}`,
22
+      });
23
+    } else {
24
+      // 楼盘
25
+      Taro.navigateTo({
26
+        url: `/pages/index/buildingDetail/index?id=${
27
+          Data.buildingId || Data.targetId
28
+        }`,
29
+      });
19
     }
30
     }
20
-  }
31
+  };
21
 
32
 
22
   return (
33
   return (
23
-    <view className='components ProjectListItem flex-h' onClick={LinkTo}>
24
-      <view className='Img'>
25
-        <view>
26
-          <Image mode='aspectFill' className='centerLabel' src={getImgURL((Data?.buildingListImg || []).length ? Data.buildingListImg[0].url : Data.activityImg || null)} />
27
-          {
28
-            (Data?.panoramaList || []).length > 0 && ShowImgIcon &&
29
-            <Image mode='heightFix' className='Tips Vr' src={require('@/assets/index-icon18.png')} />
30
-          }
31
-          {
32
-            Data.videoUrl !== null && ShowImgIcon &&
33
-            <Image mode='heightFix' className='Tips Video' src={require('@/assets/index-icon19.png')} />
34
-          }
35
-        </view>
36
-      </view>
37
-      <view className='flex-item'>
38
-        <view className='Name flex-h'>
39
-          <view className='flex-item'>
40
-            <text>{Data.buildingName}</text>
34
+    <view className='components ProjectListItem' onClick={LinkTo}>
35
+      <view className='ProjectListItem-top flex-h'>
36
+        <view className='Img'>
37
+          <view>
38
+            <Image
39
+              mode='aspectFill'
40
+              className='centerLabel'
41
+              src={getImgURL(
42
+                (Data?.buildingListImg || []).length
43
+                  ? Data.buildingListImg[0].url
44
+                  : Data.activityImg || null
45
+              )}
46
+            />
47
+            {(Data?.panoramaList || []).length > 0 && ShowImgIcon && (
48
+              <Image
49
+                mode='heightFix'
50
+                className='Tips Vr'
51
+                src={require("@/assets/index-icon18.png")}
52
+              />
53
+            )}
54
+            {Data.videoUrl !== null && ShowImgIcon && (
55
+              <Image
56
+                mode='heightFix'
57
+                className='Tips Video'
58
+                src={require("@/assets/index-icon19.png")}
59
+              />
60
+            )}
41
           </view>
61
           </view>
42
-          <text></text>
43
         </view>
62
         </view>
44
-        <text className='Price'>{Data.price}</text>
45
-        <text className='Address'>{Data.address}</text>
46
-        <view className='Tags'>
47
-          {
48
-            (Data.buildingTag || []).map((item, index) => (
63
+        <view className='flex-item'>
64
+          <view className='Name flex-h'>
65
+            <view className='flex-item'>
66
+              <text>{Data.buildingName}</text>
67
+            </view>
68
+            <text></text>
69
+          </view>
70
+          <text className='Price'>{Data.price}</text>
71
+          <text className='Address'>{Data.address}</text>
72
+          <view className='Tags'>
73
+            {(Data.buildingTag || []).map((item, index) => (
49
               <text key={`Tags-${index}`}>{item.tagName}</text>
74
               <text key={`Tags-${index}`}>{item.tagName}</text>
50
-            ))
51
-          }
52
-        </view>
53
-        <view className='ShareInfo'>
54
-          <text className='iconfont icon-fenxiang'></text>
55
-          <text>{299 + (Data.shareNum || 0)}次分享</text>
56
-          <view className='Users'>
57
-            {
58
-              (uvList?.records || []).slice(0, 3).map((item, index) => (
75
+            ))}
76
+          </view>
77
+          <view className='ShareInfo'>
78
+            <text className='iconfont icon-fenxiang'></text>
79
+            <text>{299 + (Data.shareNum || 0)}次分享</text>
80
+            <view className='Users'>
81
+              {(uvList?.records || []).slice(0, 3).map((item, index) => (
59
                 <view key={`uv-${index}`}>
82
                 <view key={`uv-${index}`}>
60
-                  <Image mode='aspectFill' className='centerLabel' src={item.photoOravatar} />
83
+                  <Image
84
+                    mode='aspectFill'
85
+                    className='centerLabel'
86
+                    src={item.photoOravatar}
87
+                  />
61
                 </view>
88
                 </view>
62
-              ))
63
-            }
89
+              ))}
90
+            </view>
91
+            <text>
92
+              {(uvList?.records || []).length > 0 ? "..." : ""}
93
+              {299 + (Data.pvNum || 0)}人围观
94
+            </text>
64
           </view>
95
           </view>
65
-          <text>{(uvList?.records || []).length > 0 ? '...' : ''}{299 + (Data.pvNum || 0)}人围观</text>
66
         </view>
96
         </view>
67
       </view>
97
       </view>
98
+      {Data?.isBorker&&<BorkerShare></BorkerShare>}
99
+      
68
     </view>
100
     </view>
69
-  )
101
+  );
70
 }
102
 }

+ 109
- 107
src/components/ProjectListItem/index.scss Прегледај датотеку

1
 .components.ProjectListItem {
1
 .components.ProjectListItem {
2
   padding-bottom: 30px;
2
   padding-bottom: 30px;
3
   border-bottom: 2px solid rgba(0, 0, 0, 0.1);
3
   border-bottom: 2px solid rgba(0, 0, 0, 0.1);
4
-  > .Img {
5
-    width: 280px;
6
-    position: relative;
7
-    overflow: hidden;
8
-    margin-right: 20px;
9
-    > view {
10
-      width: 100%;
11
-      padding-bottom: 60%;
12
-      background: #eee;
4
+  > .ProjectListItem-top {
5
+    > .Img {
6
+      width: 280px;
13
       position: relative;
7
       position: relative;
14
       overflow: hidden;
8
       overflow: hidden;
15
-      border-radius: 8px;
16
-      > image.centerLabel {
9
+      margin-right: 20px;
10
+      > view {
17
         width: 100%;
11
         width: 100%;
18
-        height: 100%;
19
-        z-index: 1;
20
-      }
21
-      >.Tips {
22
-        width: 30px;
23
-        height: 30px;
24
-        display: block;
25
-        position: absolute;
26
-        z-index: 2;
27
-        bottom: 10px;
28
-        left: 10px;
29
-        &:nth-child(3) {
30
-          left: 50px;
12
+        padding-bottom: 60%;
13
+        background: #eee;
14
+        position: relative;
15
+        overflow: hidden;
16
+        border-radius: 8px;
17
+        > image.centerLabel {
18
+          width: 100%;
19
+          height: 100%;
20
+          z-index: 1;
31
         }
21
         }
32
-      }
33
-    }
34
-  }
35
-  > .flex-item {
36
-    > .Name {
37
-      align-items: center;
38
-      > .flex-item {
39
-        margin-right: 10px;
40
-        > text {
22
+        > .Tips {
23
+          width: 30px;
24
+          height: 30px;
41
           display: block;
25
           display: block;
42
-          font-size: 32px;
43
-          font-weight: 600;
44
-          color: #333;
45
-          line-height: 40px;
46
-          white-space: nowrap;
47
-          overflow: hidden;
48
-          text-overflow: ellipsis;
26
+          position: absolute;
27
+          z-index: 2;
28
+          bottom: 10px;
29
+          left: 10px;
30
+          &:nth-child(3) {
31
+            left: 50px;
32
+          }
49
         }
33
         }
50
       }
34
       }
51
     }
35
     }
52
-    > .Price {
53
-      font-size: 22px;
54
-      line-height: 1;
55
-      color: red;
56
-    }
57
-    > .Address {
58
-      display: block;
59
-      font-size: 22px;
60
-      color: #666;
61
-      line-height: 1;
62
-      white-space: nowrap;
63
-      overflow: hidden;
64
-      text-overflow: ellipsis;
65
-      margin-top: 10px;
66
-    }
67
-    > .Tags {
68
-      font-size: 0;
69
-      white-space: nowrap;
70
-      margin-top: 16px;
71
-      > text {
72
-        display: inline-block;
73
-        vertical-align: middle;
74
-        font-size: 22px;
75
-        padding: 0 10px;
76
-        line-height: 36px;
77
-        background: rgba(251, 171, 87, 0.3);
78
-        color: #666;
79
-        margin-left: 20px;
80
-        &:first-child {
81
-          margin-left: 0;
36
+    > .flex-item {
37
+      > .Name {
38
+        align-items: center;
39
+        > .flex-item {
40
+          margin-right: 10px;
41
+          > text {
42
+            display: block;
43
+            font-size: 32px;
44
+            font-weight: 600;
45
+            color: #333;
46
+            line-height: 40px;
47
+            white-space: nowrap;
48
+            overflow: hidden;
49
+            text-overflow: ellipsis;
50
+          }
82
         }
51
         }
83
       }
52
       }
84
-    }
85
-    > .ShareInfo {
86
-      font-size: 0;
87
-      white-space: nowrap;
88
-      margin-top: 12px;
89
-      > text {
90
-        display: inline-block;
91
-        vertical-align: middle;
53
+      > .Price {
92
         font-size: 22px;
54
         font-size: 22px;
93
-        color: #333;
94
         line-height: 1;
55
         line-height: 1;
95
-        margin-left: 10px;
96
-        &:first-child {
97
-          margin-left: 0;
98
-        }
99
-        &.iconfont {
100
-          font-size: 20px;
101
-        }
56
+        color: red;
57
+      }
58
+      > .Address {
59
+        display: block;
60
+        font-size: 22px;
61
+        color: #666;
62
+        line-height: 1;
63
+        white-space: nowrap;
64
+        overflow: hidden;
65
+        text-overflow: ellipsis;
66
+        margin-top: 10px;
102
       }
67
       }
103
-      > .Users {
104
-        display: inline-block;
105
-        vertical-align: middle;
68
+      > .Tags {
106
         font-size: 0;
69
         font-size: 0;
107
         white-space: nowrap;
70
         white-space: nowrap;
108
-        margin-left: 30px;
109
-        > view {
71
+        margin-top: 16px;
72
+        > text {
110
           display: inline-block;
73
           display: inline-block;
111
           vertical-align: middle;
74
           vertical-align: middle;
112
-          width: 30px;
113
-          height: 30px;
114
-          background: #eee;
115
-          border-radius: 100%;
116
-          margin-left: -10px;
117
-          position: relative;
118
-          overflow: hidden;
119
-          &:nth-child(1) {
120
-            z-index: 1;
75
+          font-size: 22px;
76
+          padding: 0 10px;
77
+          line-height: 36px;
78
+          background: rgba(251, 171, 87, 0.3);
79
+          color: #666;
80
+          margin-left: 20px;
81
+          &:first-child {
121
             margin-left: 0;
82
             margin-left: 0;
122
           }
83
           }
123
-          &:nth-child(2) {
124
-            z-index: 2;
84
+        }
85
+      }
86
+      > .ShareInfo {
87
+        font-size: 0;
88
+        white-space: nowrap;
89
+        margin-top: 12px;
90
+        > text {
91
+          display: inline-block;
92
+          vertical-align: middle;
93
+          font-size: 22px;
94
+          color: #333;
95
+          line-height: 1;
96
+          margin-left: 10px;
97
+          &:first-child {
98
+            margin-left: 0;
125
           }
99
           }
126
-          &:nth-child(3) {
127
-            z-index: 3;
100
+          &.iconfont {
101
+            font-size: 20px;
128
           }
102
           }
129
-          >image {
130
-            width: 100%;
131
-            height: 100%;
103
+        }
104
+        > .Users {
105
+          display: inline-block;
106
+          vertical-align: middle;
107
+          font-size: 0;
108
+          white-space: nowrap;
109
+          margin-left: 30px;
110
+          > view {
111
+            display: inline-block;
112
+            vertical-align: middle;
113
+            width: 30px;
114
+            height: 30px;
115
+            background: #eee;
116
+            border-radius: 100%;
117
+            margin-left: -10px;
118
+            position: relative;
119
+            overflow: hidden;
120
+            &:nth-child(1) {
121
+              z-index: 1;
122
+              margin-left: 0;
123
+            }
124
+            &:nth-child(2) {
125
+              z-index: 2;
126
+            }
127
+            &:nth-child(3) {
128
+              z-index: 3;
129
+            }
130
+            > image {
131
+              width: 100%;
132
+              height: 100%;
133
+            }
132
           }
134
           }
133
         }
135
         }
134
       }
136
       }

+ 31
- 0
src/components/borkerShare/index.jsx Прегледај датотеку

1
+import "@/assets/css/iconfont.css";
2
+import Taro from "@tarojs/taro";
3
+import { Image } from "@tarojs/components";
4
+import { getImgURL } from "@/utils/image";
5
+import "./index.scss";
6
+
7
+export default function ProjectListItem(props) {
8
+  return (
9
+    <view className='borkerShare flex-h'>
10
+      <view className='left'>
11
+        <image
12
+          className='image'
13
+          src={`${OSS_FAST_PATH}/miniapp/borker/钱袋.png`}
14
+          alt=''
15
+          srcset=''
16
+        />
17
+       <text>靓盘好卖 闪付结佣</text>
18
+      </view>
19
+      <view className='right'>
20
+      <text>推荐好友</text>
21
+      
22
+        <image
23
+          className='image'
24
+          src={`${OSS_FAST_PATH}/miniapp/borker/分享.png`}
25
+          alt=''
26
+          srcset=''
27
+        />
28
+      </view>
29
+    </view>
30
+  );
31
+}

+ 37
- 0
src/components/borkerShare/index.scss Прегледај датотеку

1
+.borkerShare {
2
+    width: 660px;
3
+    height: 42px;
4
+    background:rgba(254, 230, 204, 0.3);
5
+    padding: 8px 20px 0 10px;
6
+    // opacity: ;
7
+    justify-content: space-between;
8
+    margin: 20px auto 0;
9
+    > .left {
10
+      font-size: 22px;
11
+      font-family: DengXian;
12
+      font-weight: bold;
13
+      color: #333333;
14
+      // vertical-align: bottom;
15
+      image {
16
+        width: 22px;
17
+        height: 26px;
18
+        margin-right: 12px;
19
+        vertical-align: -4rpx;
20
+        // vertical-align: bottom;
21
+        // vertical-align: -webkit-baseline-middle;
22
+      }
23
+    }
24
+    > .right {
25
+      font-size: 20px;
26
+      font-family: DengXian;
27
+      font-weight: bold;
28
+      color: #333333;
29
+      image {
30
+        width: 18px;
31
+        height: 16px;
32
+        margin-left: 12px;
33
+        vertical-align: -4rpx;
34
+      }
35
+    }
36
+  
37
+}

+ 3
- 0
src/pages/index/buildingDetail/components/BasicInfo/index.jsx Прегледај датотеку

2
 import Taro from '@tarojs/taro'
2
 import Taro from '@tarojs/taro'
3
 import { ScrollView, Image } from '@tarojs/components'
3
 import { ScrollView, Image } from '@tarojs/components'
4
 import AuthRole from '@/components/Auth/AuthRole'
4
 import AuthRole from '@/components/Auth/AuthRole'
5
+import BorkerShare from '@/components/borkerShare'
5
 import { ROLE_CODE } from '@/constants/user'
6
 import { ROLE_CODE } from '@/constants/user'
6
 import classNames from 'classnames'
7
 import classNames from 'classnames'
7
 import useFavor from '@/utils/hooks/useFavor'
8
 import useFavor from '@/utils/hooks/useFavor'
51
         }
52
         }
52
       </view>
53
       </view>
53
 
54
 
55
+      {Info?.isBorker&&<BorkerShare></BorkerShare>}
56
+
54
       {/* 项目列表 */}
57
       {/* 项目列表 */}
55
       {
58
       {
56
         (Info.buildingProjectType || []).length > 0 &&
59
         (Info.buildingProjectType || []).length > 0 &&

+ 4
- 4
src/pages/mine/tabData.js Прегледај датотеку

25
   ],
25
   ],
26
   Broker: [ // 经纪人
26
   Broker: [ // 经纪人
27
     [
27
     [
28
-      { name: '我的钱包', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
29
-      { name: '我的客户', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
30
-      { name: '我的资料', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
31
-      { name: '我的消息', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
28
+      { name: '我的钱包', icon: require('@/assets/mine-icon1.png'), router: '/subpackages/pages/borker/myWallet/index' },
29
+      { name: '我的客户', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/myCustomer/index' },
30
+      { name: '我的资料', icon: require('@/assets/mine-icon1.png'), router: '/subpackages/pages/borker/toBeBorker/index' },
31
+      { name: '我的消息', icon: require('@/assets/mine-icon1.png'), router: '/subpackages/pages/borker/myMessage/index' },
32
       { name: '我邀请的全民经纪人', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
32
       { name: '我邀请的全民经纪人', icon: require('@/assets/mine-icon1.png'), router: '/pages/mine/addCustomer/index?type=estateAgent' },
33
     ],
33
     ],
34
     [
34
     [

+ 292
- 270
src/routes.js Прегледај датотеку

1
-
2
 const routes = [
1
 const routes = [
3
-
4
   /**********************************
2
   /**********************************
5
    *  Tab 页面
3
    *  Tab 页面
6
    *********************************/
4
    *********************************/
7
   {
5
   {
8
-    name: '首页',
9
-    page: 'pages/index/index',
10
-    pkg: 'main',
6
+    name: "首页",
7
+    page: "pages/index/index",
8
+    pkg: "main",
11
     isTab: true,
9
     isTab: true,
12
-    type: 'main',
10
+    type: "main",
13
     shortcut: {
11
     shortcut: {
14
       chat: false,
12
       chat: false,
15
       consultant: true,
13
       consultant: true,
17
     // auth: ['phone', 'avatar']
15
     // auth: ['phone', 'avatar']
18
   },
16
   },
19
   {
17
   {
20
-    name: '视频',
21
-    page: 'pages/video/index',
22
-    pkg: 'main',
18
+    name: "视频",
19
+    page: "pages/video/index",
20
+    pkg: "main",
23
     isTab: true,
21
     isTab: true,
24
-    type: 'other',
22
+    type: "other",
25
   },
23
   },
26
   {
24
   {
27
-    name: '消息',
28
-    page: 'pages/chat/index',
29
-    pkg: 'main',
25
+    name: "消息",
26
+    page: "pages/chat/index",
27
+    pkg: "main",
30
     isTab: true,
28
     isTab: true,
31
-    type: 'other',
32
-    auth: ['page', 'avatar'],
29
+    type: "other",
30
+    auth: ["page", "avatar"],
33
   },
31
   },
34
   {
32
   {
35
-    name: '我是',
36
-    page: 'pages/mine/index',
37
-    pkg: 'main',
33
+    name: "我是",
34
+    page: "pages/mine/index",
35
+    pkg: "main",
38
     isTab: true,
36
     isTab: true,
39
-    type: 'center',
40
-    auth: ['page', 'avatar'],
37
+    type: "center",
38
+    auth: ["page", "avatar"],
41
   },
39
   },
42
 
40
 
43
   // 聊天
41
   // 聊天
44
   {
42
   {
45
-    name: '聊天',
46
-    page: 'pages/chat/chatDetail/index',
47
-    pkg: 'main',
48
-    type: 'other',
49
-    auth: ['phone', 'avatar'],
43
+    name: "聊天",
44
+    page: "pages/chat/chatDetail/index",
45
+    pkg: "main",
46
+    type: "other",
47
+    auth: ["phone", "avatar"],
50
   },
48
   },
51
 
49
 
52
   // /********************************
50
   // /********************************
53
   //  * 项目相关
51
   //  * 项目相关
54
   //  *******************************/
52
   //  *******************************/
55
   {
53
   {
56
-    name: '定位',
57
-    page: 'pages/index/location/index',
58
-    pkg: 'main',
59
-    type: 'other',
54
+    name: "定位",
55
+    page: "pages/index/location/index",
56
+    pkg: "main",
57
+    type: "other",
60
   },
58
   },
61
   {
59
   {
62
-    name: '帮我找房',
63
-    page: 'pages/index/helpToFindHouse/index',
64
-    pkg: 'main',
65
-    type: 'building',
66
-    auth: ['phone'],
60
+    name: "帮我找房",
61
+    page: "pages/index/helpToFindHouse/index",
62
+    pkg: "main",
63
+    type: "building",
64
+    auth: ["phone"],
67
   },
65
   },
68
   {
66
   {
69
-    name: '地图找房',
70
-    page: 'pages/index/findHouseFromMap/index',
71
-    pkg: 'main',
72
-    type: 'building',
67
+    name: "地图找房",
68
+    page: "pages/index/findHouseFromMap/index",
69
+    pkg: "main",
70
+    type: "building",
73
   },
71
   },
74
   {
72
   {
75
-    name: '楼盘搜索',
76
-    page: 'pages/index/buildingSearch/index',
77
-    pkg: 'main',
78
-    type: 'building',
73
+    name: "楼盘搜索",
74
+    page: "pages/index/buildingSearch/index",
75
+    pkg: "main",
76
+    type: "building",
79
   },
77
   },
80
   {
78
   {
81
-    name: '楼盘列表',
82
-    page: 'pages/index/buildingList/index',
83
-    pkg: 'main',
84
-    type: 'building',
79
+    name: "楼盘列表",
80
+    page: "pages/index/buildingList/index",
81
+    pkg: "main",
82
+    type: "building",
85
   },
83
   },
86
   {
84
   {
87
-    name: '楼盘详情',
88
-    page: 'pages/index/buildingDetail/index',
89
-    pkg: 'main',
90
-    type: 'building',
85
+    name: "楼盘详情",
86
+    page: "pages/index/buildingDetail/index",
87
+    pkg: "main",
88
+    type: "building",
91
     // auth: ['phone', 'avatar'],
89
     // auth: ['phone', 'avatar'],
92
     shortcut: {
90
     shortcut: {
93
       chat: false,
91
       chat: false,
95
     },
93
     },
96
   },
94
   },
97
   {
95
   {
98
-    name: '全景看房',
99
-    page: 'pages/index/panoramaChecking/index',
100
-    pkg: 'main',
101
-    type: 'building',
96
+    name: "全景看房",
97
+    page: "pages/index/panoramaChecking/index",
98
+    pkg: "main",
99
+    type: "building",
102
   },
100
   },
103
   {
101
   {
104
-    name: '楼盘信息',
105
-    page: 'pages/index/buildingInfo/index',
106
-    pkg: 'main',
107
-    type: 'building',
102
+    name: "楼盘信息",
103
+    page: "pages/index/buildingInfo/index",
104
+    pkg: "main",
105
+    type: "building",
108
   },
106
   },
109
   {
107
   {
110
-    name: '围观记录',
111
-    page: 'pages/index/buildingViewsRecords/index',
112
-    pkg: 'main',
113
-    type: 'building',
108
+    name: "围观记录",
109
+    page: "pages/index/buildingViewsRecords/index",
110
+    pkg: "main",
111
+    type: "building",
114
   },
112
   },
115
   {
113
   {
116
-    name: '置业顾问',
117
-    page: 'pages/index/buildingPropertyConsultant/index',
118
-    pkg: 'main',
119
-    type: 'building',
114
+    name: "置业顾问",
115
+    page: "pages/index/buildingPropertyConsultant/index",
116
+    pkg: "main",
117
+    type: "building",
120
   },
118
   },
121
   {
119
   {
122
-    name: '相册图片',
123
-    page: 'pages/index/buildingPictures/index',
124
-    pkg: 'main',
125
-    type: 'building',
120
+    name: "相册图片",
121
+    page: "pages/index/buildingPictures/index",
122
+    pkg: "main",
123
+    type: "building",
126
   },
124
   },
127
   {
125
   {
128
-    name: '报备规则',
129
-    page: 'pages/index/buildingRules/index',
130
-    pkg: 'main',
131
-    type: 'building',
126
+    name: "报备规则",
127
+    page: "pages/index/buildingRules/index",
128
+    pkg: "main",
129
+    type: "building",
132
   },
130
   },
133
   {
131
   {
134
-    name: '一键带看',
135
-    page: 'pages/index/buildingTakeLook/index',
136
-    pkg: 'main',
137
-    type: 'building',
138
-    auth: ['phone', 'avatar'],
132
+    name: "一键带看",
133
+    page: "pages/index/buildingTakeLook/index",
134
+    pkg: "main",
135
+    type: "building",
136
+    auth: ["phone", "avatar"],
139
   },
137
   },
140
   {
138
   {
141
-    name: '项目动态',
142
-    page: 'pages/index/buildingDynamic/index',
143
-    pkg: 'main',
144
-    type: 'building',
139
+    name: "项目动态",
140
+    page: "pages/index/buildingDynamic/index",
141
+    pkg: "main",
142
+    type: "building",
145
   },
143
   },
146
   {
144
   {
147
-    name: '周边设施',
148
-    page: 'pages/index/buildingAround/index',
149
-    pkg: 'main',
150
-    type: 'building',
145
+    name: "周边设施",
146
+    page: "pages/index/buildingAround/index",
147
+    pkg: "main",
148
+    type: "building",
151
   },
149
   },
152
   {
150
   {
153
-    name: '品牌列表',
154
-    page: 'pages/index/brandList/index',
155
-    pkg: 'main',
156
-    type: 'building',
151
+    name: "品牌列表",
152
+    page: "pages/index/brandList/index",
153
+    pkg: "main",
154
+    type: "building",
157
   },
155
   },
158
   {
156
   {
159
-    name: '品牌专题',
160
-    page: 'pages/index/brandDetail/index',
161
-    pkg: 'main',
162
-    type: 'building',
157
+    name: "品牌专题",
158
+    page: "pages/index/brandDetail/index",
159
+    pkg: "main",
160
+    type: "building",
163
   },
161
   },
164
   {
162
   {
165
-    name: '增值服务',
166
-    page: 'pages/index/addedValueService/index',
167
-    pkg: 'main',
168
-    type: 'building',
169
-    auth: ['phone'],
163
+    name: "增值服务",
164
+    page: "pages/index/addedValueService/index",
165
+    pkg: "main",
166
+    type: "building",
167
+    auth: ["phone"],
170
   },
168
   },
171
   {
169
   {
172
-    name: '活动列表',
173
-    page: 'pages/index/activityList/index',
174
-    pkg: 'main',
175
-    type: 'dymic',
170
+    name: "活动列表",
171
+    page: "pages/index/activityList/index",
172
+    pkg: "main",
173
+    type: "dymic",
176
     // auth: ['phone', 'avatar'],
174
     // auth: ['phone', 'avatar'],
177
   },
175
   },
178
   {
176
   {
179
-    name: '活动详情',
180
-    page: 'pages/index/activityDetail/index',
181
-    pkg: 'main',
182
-    type: 'activity',
183
-    auth: ['phone', 'avatar'],
177
+    name: "活动详情",
178
+    page: "pages/index/activityDetail/index",
179
+    pkg: "main",
180
+    type: "activity",
181
+    auth: ["phone", "avatar"],
184
   },
182
   },
185
   {
183
   {
186
-    name: '特价房',
187
-    page: 'pages/index/specialPriceHouse/index',
188
-    pkg: 'main',
189
-    type: 'building',
190
-    auth: ['phone', 'avatar'],
184
+    name: "特价房",
185
+    page: "pages/index/specialPriceHouse/index",
186
+    pkg: "main",
187
+    type: "building",
188
+    auth: ["phone", "avatar"],
191
   },
189
   },
192
   {
190
   {
193
-    name: '免责声明',
194
-    page: 'pages/index/disclaimer/index',
195
-    pkg: 'main',
196
-    type: 'building',
191
+    name: "免责声明",
192
+    page: "pages/index/disclaimer/index",
193
+    pkg: "main",
194
+    type: "building",
197
   },
195
   },
198
   {
196
   {
199
-    name: '康养',
200
-    page: 'pages/index/recovered/index',
201
-    pkg: 'main',
202
-    type: 'other',
197
+    name: "康养",
198
+    page: "pages/index/recovered/index",
199
+    pkg: "main",
200
+    type: "other",
203
   },
201
   },
204
   {
202
   {
205
-    name: '文旅商办',
206
-    page: 'pages/index/culturalAndBusiness/index',
207
-    pkg: 'main',
208
-    type: 'building',
203
+    name: "文旅商办",
204
+    page: "pages/index/culturalAndBusiness/index",
205
+    pkg: "main",
206
+    type: "building",
209
   },
207
   },
210
   {
208
   {
211
-    name: '资讯',
212
-    page: 'pages/index/newsList/index',
213
-    pkg: 'main',
214
-    type: 'news',
209
+    name: "资讯",
210
+    page: "pages/index/newsList/index",
211
+    pkg: "main",
212
+    type: "news",
215
   },
213
   },
216
   {
214
   {
217
-    name: '资讯详情',
218
-    page: 'pages/index/newsDetail/index',
219
-    pkg: 'main',
220
-    type: 'news',
215
+    name: "资讯详情",
216
+    page: "pages/index/newsDetail/index",
217
+    pkg: "main",
218
+    type: "news",
221
   },
219
   },
222
   {
220
   {
223
-    name: '购房百科',
224
-    page: 'pages/index/encyclopediasOfBuyHouse/index',
225
-    pkg: 'main',
226
-    type: 'building',
221
+    name: "购房百科",
222
+    page: "pages/index/encyclopediasOfBuyHouse/index",
223
+    pkg: "main",
224
+    type: "building",
227
   },
225
   },
228
   {
226
   {
229
-    name: '百科详情',
230
-    page: 'pages/index/encyDetail/index',
231
-    pkg: 'main',
232
-    type: 'building',
227
+    name: "百科详情",
228
+    page: "pages/index/encyDetail/index",
229
+    pkg: "main",
230
+    type: "building",
233
   },
231
   },
234
   {
232
   {
235
-    name: '课程详情',
236
-    page: 'pages/index/courseDetail/index',
237
-    pkg: 'main',
238
-    type: 'curriculum',
233
+    name: "课程详情",
234
+    page: "pages/index/courseDetail/index",
235
+    pkg: "main",
236
+    type: "curriculum",
239
   },
237
   },
240
 
238
 
241
   //视频
239
   //视频
242
   {
240
   {
243
-    name: '直播活动',
244
-    page: 'pages/video/liveDetail/index',
245
-    pkg: 'main',
246
-    type: 'live',
241
+    name: "直播活动",
242
+    page: "pages/video/liveDetail/index",
243
+    pkg: "main",
244
+    type: "live",
247
     // auth: ['phone'],
245
     // auth: ['phone'],
248
   },
246
   },
249
   {
247
   {
250
-    name: '视频详情',
251
-    page: 'pages/video/videoDetail/index',
252
-    pkg: 'main',
253
-    type: 'live',
254
-    auth: ['phone'],
248
+    name: "视频详情",
249
+    page: "pages/video/videoDetail/index",
250
+    pkg: "main",
251
+    type: "live",
252
+    auth: ["phone"],
255
   },
253
   },
256
 
254
 
257
   // 我的
255
   // 我的
258
   {
256
   {
259
-    name: '我的推广码',
260
-    page: 'pages/mine/myRecommendCode/index',
261
-    pkg: 'main',
262
-    type: 'mine',
257
+    name: "我的推广码",
258
+    page: "pages/mine/myRecommendCode/index",
259
+    pkg: "main",
260
+    type: "mine",
263
     // auth: ['phone'],
261
     // auth: ['phone'],
264
   },
262
   },
265
   {
263
   {
266
-    name: '房贷计算器',
267
-    page: 'pages/mine/mortgageCalc/index',
268
-    pkg: 'main',
269
-    type: 'other',
264
+    name: "房贷计算器",
265
+    page: "pages/mine/mortgageCalc/index",
266
+    pkg: "main",
267
+    type: "other",
270
   },
268
   },
271
   {
269
   {
272
-    name: '基本信息',
273
-    page: 'pages/mine/userInfo/index',
274
-    pkg: 'main',
275
-    type: 'center',
276
-    auth: ['phone', 'avatar'],
270
+    name: "基本信息",
271
+    page: "pages/mine/userInfo/index",
272
+    pkg: "main",
273
+    type: "center",
274
+    auth: ["phone", "avatar"],
277
   },
275
   },
278
   {
276
   {
279
-    name: '成为驻场管理',
280
-    page: 'pages/mine/toBeManager/index',
281
-    pkg: 'main',
282
-    type: 'center',
277
+    name: "成为驻场管理",
278
+    page: "pages/mine/toBeManager/index",
279
+    pkg: "main",
280
+    type: "center",
283
     // auth: ['phone'],
281
     // auth: ['phone'],
284
   },
282
   },
285
   {
283
   {
286
-    name: '成为合伙人',
287
-    page: 'pages/mine/toBeAgent/index',
288
-    pkg: 'main',
289
-    type: 'center',
284
+    name: "成为合伙人",
285
+    page: "pages/mine/toBeAgent/index",
286
+    pkg: "main",
287
+    type: "center",
290
     // auth: ['phone'],
288
     // auth: ['phone'],
291
   },
289
   },
292
   {
290
   {
293
-    name: '我的分享',
294
-    page: 'pages/mine/myShare/index',
295
-    pkg: 'main',
296
-    type: 'center',
291
+    name: "我的分享",
292
+    page: "pages/mine/myShare/index",
293
+    pkg: "main",
294
+    type: "center",
297
   },
295
   },
298
   {
296
   {
299
-    name: '我的课堂',
300
-    page: 'pages/mine/myCourse/index',
301
-    pkg: 'main',
302
-    type: 'center',
297
+    name: "我的课堂",
298
+    page: "pages/mine/myCourse/index",
299
+    pkg: "main",
300
+    type: "center",
303
     // auth: ['phone'],
301
     // auth: ['phone'],
304
   },
302
   },
305
   {
303
   {
306
-    name: '我的活动',
307
-    page: 'pages/mine/myActivity/index',
308
-    pkg: 'main',
309
-    type: 'center',
304
+    name: "我的活动",
305
+    page: "pages/mine/myActivity/index",
306
+    pkg: "main",
307
+    type: "center",
310
   },
308
   },
311
   {
309
   {
312
-    name: '我的客户',
313
-    page: 'pages/mine/myCustomer/index',
314
-    pkg: 'main',
315
-    type: 'center',
310
+    name: "我的客户",
311
+    page: "pages/mine/myCustomer/index",
312
+    pkg: "main",
313
+    type: "center",
316
     // auth: ['phone'],
314
     // auth: ['phone'],
317
   },
315
   },
318
   {
316
   {
319
-    name: '客户详情',
320
-    page: 'pages/mine/myCustomerDetail/index',
321
-    pkg: 'main',
322
-    type: 'other',
317
+    name: "客户详情",
318
+    page: "pages/mine/myCustomerDetail/index",
319
+    pkg: "main",
320
+    type: "other",
323
     // auth: ['phone'],
321
     // auth: ['phone'],
324
   },
322
   },
325
   {
323
   {
326
-    name: '操作人员',
327
-    page: 'pages/mine/myCustomerForOperator/index',
328
-    pkg: 'main',
329
-    type: 'other',
324
+    name: "操作人员",
325
+    page: "pages/mine/myCustomerForOperator/index",
326
+    pkg: "main",
327
+    type: "other",
330
     // auth: ['phone'],
328
     // auth: ['phone'],
331
   },
329
   },
332
   {
330
   {
333
-    name: '跟进记录',
334
-    page: 'pages/mine/myCustomerForRecord/index',
335
-    pkg: 'main',
336
-    type: 'other',
331
+    name: "跟进记录",
332
+    page: "pages/mine/myCustomerForRecord/index",
333
+    pkg: "main",
334
+    type: "other",
337
     // auth: ['phone'],
335
     // auth: ['phone'],
338
   },
336
   },
339
   {
337
   {
340
-    name: '我的收藏',
341
-    page: 'pages/mine/myCollect/index',
342
-    pkg: 'main',
343
-    type: 'other',
338
+    name: "我的收藏",
339
+    page: "pages/mine/myCollect/index",
340
+    pkg: "main",
341
+    type: "other",
344
   },
342
   },
345
   {
343
   {
346
-    name: '合作渠道',
347
-    page: 'pages/channel/partnerChannel/index',
348
-    pkg: 'subpackages',
349
-    type: 'other',
344
+    name: "合作渠道",
345
+    page: "pages/channel/partnerChannel/index",
346
+    pkg: "subpackages",
347
+    type: "other",
350
     // auth: ['phone'],
348
     // auth: ['phone'],
351
   },
349
   },
352
   {
350
   {
353
-    name: '添加客户',
354
-    page: 'pages/mine/addCustomer/index',
355
-    pkg: 'main',
356
-    type: 'other',
351
+    name: "添加客户",
352
+    page: "pages/mine/addCustomer/index",
353
+    pkg: "main",
354
+    type: "other",
357
     // auth: ['phone'],
355
     // auth: ['phone'],
358
   },
356
   },
359
   {
357
   {
360
-    name: '驻场管理',
361
-    page: 'pages/marketing/residentManager/index',
362
-    pkg: 'subpackages',
363
-    type: 'other',
358
+    name: "驻场管理",
359
+    page: "pages/marketing/residentManager/index",
360
+    pkg: "subpackages",
361
+    type: "other",
364
     // auth: ['phone'],
362
     // auth: ['phone'],
365
   },
363
   },
366
   {
364
   {
367
-    name: '确认到访',
368
-    page: 'pages/marketing/sureVisit/index',
369
-    pkg: 'subpackages',
370
-    type: 'other',
365
+    name: "确认到访",
366
+    page: "pages/marketing/sureVisit/index",
367
+    pkg: "subpackages",
368
+    type: "other",
371
     // auth: ['phone'],
369
     // auth: ['phone'],
372
   },
370
   },
373
   {
371
   {
374
-    name: '变更交易节点',
375
-    page: 'pages/marketing/changeVisit/index',
376
-    pkg: 'subpackages',
377
-    type: 'other',
372
+    name: "变更交易节点",
373
+    page: "pages/marketing/changeVisit/index",
374
+    pkg: "subpackages",
375
+    type: "other",
378
     // auth: ['phone'],
376
     // auth: ['phone'],
379
   },
377
   },
380
   {
378
   {
381
-    name: '盘客工具',
382
-    page: 'pages/consultant/statCustomer/index',
383
-    pkg: 'subpackages',
384
-    type: 'other',
379
+    name: "盘客工具",
380
+    page: "pages/consultant/statCustomer/index",
381
+    pkg: "subpackages",
382
+    type: "other",
385
     // auth: ['phone'],
383
     // auth: ['phone'],
386
   },
384
   },
387
   {
385
   {
388
-    name: '客户信息',
389
-    page: 'pages/mine/customerDetail/index',
390
-    pkg: 'main',
391
-    type: 'other',
386
+    name: "客户信息",
387
+    page: "pages/mine/customerDetail/index",
388
+    pkg: "main",
389
+    type: "other",
392
     // auth: ['phone'],
390
     // auth: ['phone'],
393
   },
391
   },
394
   {
392
   {
395
-    name: '客户分析',
396
-    page: 'pages/consultant/customerAnalyse/index',
397
-    pkg: 'subpackages',
398
-    type: 'other',
393
+    name: "客户分析",
394
+    page: "pages/consultant/customerAnalyse/index",
395
+    pkg: "subpackages",
396
+    type: "other",
399
     // auth: ['phone'],
397
     // auth: ['phone'],
400
   },
398
   },
401
   {
399
   {
402
-    name: '个人主页',
403
-    page: 'pages/consultant/myHomepage/index',
404
-    pkg: 'subpackages',
405
-    type: 'card',
400
+    name: "个人主页",
401
+    page: "pages/consultant/myHomepage/index",
402
+    pkg: "subpackages",
403
+    type: "card",
406
     // auth: ['phone'],
404
     // auth: ['phone'],
407
   },
405
   },
408
   {
406
   {
409
-    name: '意见反馈',
410
-    page: 'pages/mine/feedBack/index',
411
-    pkg: 'main',
412
-    type: 'other',
407
+    name: "意见反馈",
408
+    page: "pages/mine/feedBack/index",
409
+    pkg: "main",
410
+    type: "other",
411
+  },
412
+  {
413
+    name: "全景图",
414
+    page: "pages/index/webview/index",
415
+    pkg: "main",
416
+    type: "other",
417
+  },
418
+  {
419
+    name: "全民经纪人",
420
+    page: "pages/borker/toBeBorker/index",
421
+    pkg: "subpackages",
422
+    type: "other",
413
   },
423
   },
414
   {
424
   {
415
-    name: '全景图',
416
-    page: 'pages/index/webview/index',
417
-    pkg: 'main',
418
-    type: 'other',
425
+    name: "我的钱包",
426
+    page: "pages/borker/myWallet/index",
427
+    pkg: "subpackages",
428
+    type: "other",
419
   },
429
   },
420
   {
430
   {
421
-    name: '全民经纪人',
422
-    page: 'pages/borker/toBeBorker/index',
423
-    pkg: 'subpackages',
424
-    type: 'other',
431
+    name: "我的消息",
432
+    page: "pages/borker/myMessage/index",
433
+    pkg: "subpackages",
434
+    type: "other",
425
   },
435
   },
426
-  
427
-]
436
+  {
437
+    name: "排行榜",
438
+    page: "pages/borker/rankingList/index",
439
+    pkg: "subpackages",
440
+    type: "other",
441
+  },
442
+  {
443
+    name: "佣金结算",
444
+    page: "pages/borker/commissionSettlement/index",
445
+    pkg: "subpackages",
446
+    type: "other",
447
+  },
448
+];
428
 
449
 
429
 /**
450
 /**
430
  * 获取 app pages 列表
451
  * 获取 app pages 列表
431
  */
452
  */
432
 function getPages() {
453
 function getPages() {
433
   const grp = routes.reduce((g, r) => {
454
   const grp = routes.reduce((g, r) => {
434
-    const { pkg, page } = r
435
-    const pg = g[pkg] || []
436
-    
455
+    const { pkg, page } = r;
456
+    const pg = g[pkg] || [];
457
+
437
     return Object.assign(g, {
458
     return Object.assign(g, {
438
       [`${pkg}`]: pg.concat(page),
459
       [`${pkg}`]: pg.concat(page),
439
-    })
460
+    });
440
   }, {});
461
   }, {});
441
 
462
 
442
   const pages = grp.main;
463
   const pages = grp.main;
443
-  const subPackages = Object.keys(grp).filter(x => x !== 'main').reduce(((pkg, key) => {
444
-    return pkg.concat({
445
-      root: key,
446
-      pages: grp[key],
447
-    })
448
-  }),[])
449
-
464
+  const subPackages = Object.keys(grp)
465
+    .filter((x) => x !== "main")
466
+    .reduce((pkg, key) => {
467
+      return pkg.concat({
468
+        root: key,
469
+        pages: grp[key],
470
+      });
471
+    }, []);
450
 
472
 
451
   return {
473
   return {
452
     pages,
474
     pages,
453
     subPackages,
475
     subPackages,
454
-  }
476
+  };
455
 }
477
 }
456
 
478
 
457
 // eslint-disable-next-line import/no-commonjs
479
 // eslint-disable-next-line import/no-commonjs

+ 3
- 0
src/subpackages/pages/borker/commissionSettlement/index.config.js Прегледај датотеку

1
+export default {
2
+  navigationBarTitleText: '佣金结算'
3
+}

+ 110
- 0
src/subpackages/pages/borker/commissionSettlement/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from 'react'
2
+import Taro from '@tarojs/taro'
3
+import { useSelector } from 'react-redux'
4
+import withLayout from '@/layout'
5
+import { ScrollView, Input, Image, Block, Textarea } from '@tarojs/components'
6
+import { getImgURL } from '@/utils/image'
7
+import { fetch, uploadFiles } from '@/utils/request'
8
+import { UPDATE_USER_INFO, ROLE_CODE } from '@/constants/user'
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from '@/constants/api'
10
+import store from '@/store'
11
+import '@/assets/css/iconfont.css'
12
+import './index.scss'
13
+
14
+export default withLayout((props) => {
15
+
16
+  const {onChanel =()=>{}} =props
17
+  const [FormData, setFormData] = useState({
18
+    name: '',
19
+    phone: '',
20
+    description: ''
21
+  })
22
+
23
+
24
+
25
+  const Save = () => {
26
+
27
+  }
28
+
29
+  const FormChange = (key, e) => {
30
+    let Data = { ...FormData }
31
+    Data[key] = e.detail.value
32
+    setFormData(Data)
33
+  }
34
+
35
+
36
+
37
+  return (
38
+    <view className='Page UserInfo'>
39
+
40
+      <ScrollView scroll-y>
41
+        <view className='PageContent'>
42
+
43
+          <text>客户信息</text>
44
+          <view className='FormLine flex-h'>
45
+            <view className='flex-item'>
46
+             张三
47
+            </view>
48
+          </view>
49
+
50
+          <text>成交信息房源</text>
51
+          <view className='FormLine flex-h'>
52
+            <view className='flex-item'>
53
+            张三
54
+            </view>
55
+          </view>
56
+
57
+          <text>成交总价</text>
58
+          <view className='FormLine flex-h'>
59
+            <view className='flex-item'>
60
+             张三
61
+            </view>
62
+          </view>
63
+
64
+          <text>成交日期</text>
65
+          <view className='FormLine flex-h'>
66
+            <view className='flex-item'>
67
+            张三
68
+            </view>
69
+          </view>
70
+
71
+          <text>当前状态</text>
72
+          <view className='FormLine flex-h'>
73
+            <view className='flex-item'>
74
+             张三
75
+            </view>
76
+          </view>
77
+
78
+          <text>总佣金</text>
79
+          <view className='FormLine flex-h'>
80
+            <view className='flex-item'>
81
+            张三
82
+            </view>
83
+          </view>
84
+
85
+          <text>已结佣金</text>
86
+          <view className='FormLine flex-h'>
87
+            <view className='flex-item'>
88
+             张三
89
+            </view>
90
+          </view>
91
+
92
+          <text>本次结佣</text>
93
+          <view className='FormLine flex-h'>
94
+            <view className='flex-item'>
95
+              <Input placeholder='请输入金额' disabled value={FormData.phone} onInput={FormChange.bind(this, 'phone')}></Input>
96
+            </view>
97
+          </view>
98
+
99
+        </view>
100
+
101
+        <view className='Btn'>
102
+        
103
+          <text onClick={()=>onChanel()} >返回</text>
104
+          <text >确定</text>
105
+        </view>
106
+      </ScrollView>
107
+
108
+    </view>
109
+  )
110
+})

+ 104
- 0
src/subpackages/pages/borker/commissionSettlement/index.scss Прегледај датотеку

1
+.Page.UserInfo {
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: calc(100vh - 100px);
12
+      z-index: 1;
13
+      padding-bottom: 100px;
14
+      > text {
15
+        font-size: 34px;
16
+        font-weight: bold;
17
+        color: #333;
18
+        display: block;
19
+        text-indent: 40px;
20
+        margin-top: 30px;
21
+      }
22
+      > .flex-h {
23
+        padding: 20px 40px;
24
+        border-bottom: 2px solid rgba(0, 0, 0, 0.12);
25
+        margin-top: 10px;
26
+        align-items: center;
27
+        > view {
28
+          > .Icon {
29
+            width: 92px;
30
+            height: 92px;
31
+            position: relative;
32
+            overflow: hidden;
33
+            border-radius: 100%;
34
+            background: #eee;
35
+            > image {
36
+              width: 100%;
37
+              height: 100%;
38
+            }
39
+          }
40
+          > input {
41
+            display: block;
42
+            width: 100%;
43
+            background: none;
44
+            font-size: 26px;
45
+            line-height: 40px;
46
+            height: 40px;
47
+          }
48
+          > textarea {
49
+            font-size: 26px;
50
+            display: block;
51
+            width: 100%;
52
+          }
53
+          > text {
54
+            display: block;
55
+            width: 100%;
56
+            background: none;
57
+            font-size: 26px;
58
+            line-height: 40px;
59
+            height: 40px;
60
+          }
61
+        }
62
+        > text {
63
+          font-size: 30px;
64
+        }
65
+      }
66
+    }
67
+    .Btn {
68
+      padding: 0 40px;
69
+      position: relative;
70
+      overflow: hidden;
71
+      z-index: 2;
72
+      margin-top: -60px;
73
+      margin-bottom: 60px;
74
+      // padding: 0 40px;
75
+      // position: absolute;
76
+      // // box-sizing: border-box;
77
+      // width: 100vw;
78
+      // left: 0;
79
+      // bottom: 20px;
80
+      // z-index: 2;
81
+      // margin-top: 20px;
82
+      display: flex;
83
+      justify-content: space-between;
84
+      > text {
85
+        display: block;
86
+        text-align: center;
87
+        font-size: 32px;
88
+        line-height: 92px;
89
+        background: #193c83;
90
+        color: #fff;
91
+        font-weight: bold;
92
+        border-radius: 92px;
93
+        width: 320px;
94
+      }
95
+
96
+      text:first-child {
97
+        border: 2px solid #193C83;
98
+
99
+        background: #fff;
100
+        color: #193c83;
101
+      }
102
+    }
103
+  }
104
+}

+ 19
- 0
src/subpackages/pages/borker/myMessage/components/messageItem/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import { useSelector } from "react-redux";
3
+import { getDateForHumans } from '@/utils/chatDate'
4
+import "./index.scss";
5
+// const ossFastPath = OSS_FAST_PATH;
6
+export default (props) => {
7
+  const { message } = props;
8
+
9
+  return (
10
+    <view className="Item messageItem">
11
+     <view className="messageItem-top">
12
+      <image className="image" src={`${OSS_FAST_PATH}/miniapp/borker/消息.png`} alt="" srcset="" />
13
+      消息提醒
14
+     </view>
15
+     <view className="messageItem-bottom"></view>
16
+     {message}
17
+    </view>
18
+  );
19
+};

+ 30
- 0
src/subpackages/pages/borker/myMessage/components/messageItem/index.scss Прегледај датотеку

1
+.Item.messageItem {
2
+  margin-top: 20px;
3
+  // display: flex;
4
+  padding: 20px 20px 40px;
5
+  justify-content: center;
6
+  box-sizing: border-box;
7
+  background: #ffffff;
8
+  width: 100%;
9
+  .messageItem-top {
10
+    padding-bottom: 20px;
11
+    font-size: 26px;
12
+    font-family: DengXian;
13
+    font-weight: 600;
14
+    color: #121212;
15
+    border-bottom: 1px solid #f2f2f2;
16
+    .image {
17
+      width: 24px;
18
+      height: 28px;
19
+      margin-right: 14px;
20
+      vertical-align: bottom;
21
+    }
22
+  }
23
+  .messageItem-bottom {
24
+    padding-top: 30px;
25
+    font-size: 28px;
26
+    font-family: DengXian;
27
+    font-weight: 400;
28
+    color: #121212;
29
+  }
30
+}

+ 14
- 0
src/subpackages/pages/borker/myMessage/components/messageTime/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import { useSelector } from "react-redux";
3
+import { getDateForHumans } from '@/utils/chatDate'
4
+import "./index.scss";
5
+
6
+export default (props) => {
7
+  const { time } = props;
8
+
9
+  return (
10
+    <view className="Item messageTime">
11
+      <view className="time">{getDateForHumans(time, true)}</view>
12
+    </view>
13
+  );
14
+};

+ 16
- 0
src/subpackages/pages/borker/myMessage/components/messageTime/index.scss Прегледај датотеку

1
+.Item.messageTime {
2
+  margin-top: 40px;
3
+  display: flex;
4
+  justify-content: center;
5
+  box-sizing: border-box;
6
+  .time {
7
+    background: #cecece;
8
+    padding: 5px 12px 6px;
9
+    border-radius: 15px;
10
+
11
+    font-size: 20px;
12
+    font-family: DengXian;
13
+    font-weight: 400;
14
+    color: #ffffff;
15
+  }
16
+}

+ 3
- 0
src/subpackages/pages/borker/myMessage/index.config.js Прегледај датотеку

1
+export default {
2
+  navigationBarTitleText: '我的消息'
3
+}

+ 81
- 0
src/subpackages/pages/borker/myMessage/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import { useSelector } from "react-redux";
3
+import withLayout from "@/layout";
4
+import { ScrollView } from "@tarojs/components";
5
+import "@/assets/css/iconfont.css";
6
+import { fetch } from "@/utils/request";
7
+import { API_NEWS_LIST } from "@/constants/api";
8
+import MessageTime from "./components/messageTime";
9
+import MessageItem from "./components/messageItem";
10
+import "./index.scss";
11
+
12
+export default withLayout((props) => {
13
+  const [PageList, setPageList] = useState([]);
14
+  const [IsPull, setPull] = useState(false);
15
+  const [PersonId, setPersonId] = useState(null);
16
+  const [pageNumber, setPageNumber] = useState(1);
17
+  const [HasNextPage, setHasNextPage] = useState(true);
18
+
19
+  useEffect(() => {
20
+    GetPageList();
21
+  }, [pageNumber]);
22
+
23
+  const PageRefresh = () => {
24
+    // 页面下拉刷新回调
25
+    setPull(true);
26
+  };
27
+
28
+  const GetPageList = () => {
29
+    setHasNextPage(false);
30
+    // fetch({ url: API_NEWS_LIST, method: 'get', payload: { pageNumber, pageSize: 10, cityId: city.id } }).then((res) => {
31
+    //   setPageList(pageNumber === 1 ? res.records || [] : PageList.concat(res.records || []))
32
+    //   setHasNextPage(res.current < res.pages)
33
+    //   setPull(false)
34
+    // })
35
+  };
36
+
37
+  const PageLoadMore = () => {
38
+    // 页面上拉加载更多
39
+    // if(HasNextPage) {
40
+    //   setPageNumber(pageNumber + 1)
41
+    // }
42
+  };
43
+
44
+  useEffect(() => {
45
+    // 下拉刷新触发
46
+    // if (IsPull) {
47
+    //   if(pageNumber === 1) {
48
+    //     GetPageList()
49
+    //   } else {
50
+    //     setPageNumber(1)
51
+    //   }
52
+    // }
53
+  }, [IsPull]);
54
+
55
+  return (
56
+    <view className="Page myMessage">
57
+      <ScrollView
58
+        scroll-y
59
+        refresher-enabled
60
+        refresher-triggered={IsPull}
61
+        onrefresherrefresh={PageRefresh}
62
+        refresher-background="#F8F8F8"
63
+        onscrolltolower={PageLoadMore}
64
+      >
65
+        <view className="PageContent">
66
+          {/* {PageList.map((item, index) => (
67
+            <NewsListItem data={item} key={`ListItem-${index}`}></NewsListItem>
68
+          ))} */}
69
+          <MessageTime time="2022-07-31 9:52:14" />
70
+          <MessageItem
71
+            message="尊贵的李先生,您好!衷心的感谢您对xx地产的 关注和支持!经确认,您于2022年7月22日签署了.尊贵的李先生,您好!衷心的感谢您对xx地产的 关注和支持!经确认,您于2022年7月22日签署了"
72
+          />
73
+          {/* bottom */}
74
+          <view className="PageBottom">
75
+            <text>已经到底了~</text>
76
+          </view>
77
+        </view>
78
+      </ScrollView>
79
+    </view>
80
+  );
81
+});

+ 28
- 0
src/subpackages/pages/borker/myMessage/index.scss Прегледај датотеку

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

+ 3
- 0
src/subpackages/pages/borker/myWallet/index.config.js Прегледај датотеку

1
+export default {
2
+  navigationBarTitleText: '我的钱包'
3
+}

+ 45
- 0
src/subpackages/pages/borker/myWallet/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import store from "@/store";
11
+import WalletList from "./list";
12
+
13
+import "@/assets/css/iconfont.css";
14
+import "./index.scss";
15
+
16
+export default withLayout(() => {
17
+  const [activeKey, setActiveKey] = useState(1);
18
+  return (
19
+    <view className="Page myWallet">
20
+      <view className="top">
21
+        <view className="tabs">
22
+          <view
23
+            className={`tab ${activeKey === 1 ? "active" : ""}`}
24
+            onClick={() => setActiveKey(1)}
25
+          >
26
+            我的佣金
27
+          </view>
28
+          <view
29
+            className={`tab ${activeKey === 2 ? "active" : ""}`}
30
+            onClick={() => setActiveKey(2)}
31
+          >
32
+            我的奖励
33
+          </view>
34
+        </view>
35
+      </view>
36
+      <view className="middle">
37
+        <text className="text1">总资产(元)</text>
38
+        <text className="text2">9000.00</text>
39
+      </view>
40
+      <view className="bottom">
41
+        <WalletList></WalletList>
42
+      </view>
43
+    </view>
44
+  );
45
+});

+ 74
- 0
src/subpackages/pages/borker/myWallet/index.scss Прегледај датотеку

1
+.Page.myWallet {
2
+  background: #fff;
3
+  height: 100vh;
4
+  width: 100%;
5
+  display: flex;
6
+  flex-direction: column;
7
+  box-sizing: border-box;
8
+  .top {
9
+    width: 100%;
10
+    height: 396px;
11
+    background: linear-gradient(180deg, #1a3d83, #5981d1);
12
+    display: flex;
13
+    justify-content: center;
14
+    align-items: center;
15
+    .tabs {
16
+      width: 510px;
17
+      height: 78px;
18
+      background: rgba(229, 229, 229, 0.3);
19
+      border-radius: 39px;
20
+      display: flex;
21
+      align-items: center;
22
+      .tab {
23
+        line-height: 78px;
24
+        width: 50%;
25
+        text-align: center;
26
+
27
+        font-size: 34px;
28
+
29
+        font-weight: normal;
30
+        color: rgba(256, 256, 256, 0.8);
31
+      }
32
+      .active {
33
+        // width: 255px;
34
+        // height: 78px;
35
+        background: #ffffff;
36
+        border-radius: 39px;
37
+        color: #1a3d83;
38
+      }
39
+    }
40
+  }
41
+
42
+  .middle {
43
+    position: absolute;
44
+    top: 324px;
45
+    left: 30px;
46
+    width: 630px;
47
+    height: 174px;
48
+    background: #ffffff;
49
+    box-shadow: 0px 4px 28px 0px rgba(27, 62, 132, 0.18);
50
+    border-radius: 20px;
51
+    display: inline-flex;
52
+    padding: 0 30px;
53
+    justify-content: space-between;
54
+    align-items: center;
55
+    z-index: 99;
56
+    .text1 {
57
+      font-size: 28px;
58
+      font-family: DengXian;
59
+      font-weight: 400;
60
+      color: #121212;
61
+    }
62
+    .text2 {
63
+      font-size: 48px;
64
+      font-family: DengXian;
65
+      font-weight: bold;
66
+      color: #121212;
67
+    }
68
+  }
69
+
70
+  .bottom{
71
+    padding-top: 102px;
72
+  }
73
+  
74
+}

+ 18
- 0
src/subpackages/pages/borker/myWallet/list/Item/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+
3
+import "./index.scss";
4
+
5
+export default () => {
6
+  return (
7
+    <view className="components myWalletItem">
8
+      <view className="item-top">
9
+        <view className="top-text1">邀请好友</view>
10
+        <view className="top-text2">+20</view>
11
+      </view>
12
+      <view className="item-bottom">
13
+        <view className="bottom-text1">成功邀请张三</view>
14
+        <view className="bottom-text2">2022.01.01</view>
15
+      </view>
16
+    </view>
17
+  );
18
+};

+ 43
- 0
src/subpackages/pages/borker/myWallet/list/Item/index.scss Прегледај датотеку

1
+.components.myWalletItem {
2
+  padding: 40px 0 30px;
3
+  //  border-bottom: ;
4
+  box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.08);
5
+  .item-top {
6
+    display: flex;
7
+    justify-content: space-between;
8
+    .top-text1 {
9
+      font-size: 30px;
10
+      font-family: Adobe Heiti Std;
11
+      font-weight: normal;
12
+      color: #333333;
13
+    }
14
+    .top-text2 {
15
+      font-size: 32px;
16
+      font-family: DengXian;
17
+      font-weight: bold;
18
+      color: #fc2c2c;
19
+    }
20
+  }
21
+  .item-bottom {
22
+    display: flex;
23
+    justify-content: space-between;
24
+    font-size: 24px;
25
+    font-family: DengXian;
26
+    font-weight: 400;
27
+    color: #666666;
28
+    margin-top: 30px;
29
+    // .bottom-text1 {
30
+
31
+    //   font-size: 24px;
32
+    //   font-family: DengXian;
33
+    //   font-weight: 400;
34
+    //   color: #666666;
35
+    // }
36
+    // .bottom-text2 {
37
+    //   font-size: 24px;
38
+    //   font-family: DengXian;
39
+    //   font-weight: 400;
40
+    //   color: #666666;
41
+    // }
42
+  }
43
+}

+ 79
- 0
src/subpackages/pages/borker/myWallet/list/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from 'react'
2
+import { useSelector } from 'react-redux'
3
+import { useRouter } from '@tarojs/taro'
4
+import { ScrollView } from '@tarojs/components'
5
+
6
+
7
+
8
+import Item from './Item'
9
+
10
+import './index.scss'
11
+
12
+export default function MyCollectForActivity () {
13
+
14
+ const router=useRouter()
15
+   const { type,buildingId } = router.params;
16
+
17
+  
18
+
19
+  const [PageList, setPageList] = useState([{},{},{},{},{},{},{},{},{},{}])
20
+  const [IsPull, setPull] = useState(false)
21
+
22
+  const [pageNumber, setPageNumber] = useState(1)
23
+  const [HasNextPage, setHasNextPage] = useState(true)
24
+
25
+
26
+  useEffect(() => {
27
+    if(pageNumber) {
28
+    //   GetPageList()
29
+    }
30
+  }, [pageNumber])
31
+
32
+  const PageRefresh = () => { // 页面下拉刷新回调
33
+    // setPull(true)
34
+  }
35
+
36
+  const GetPageList = () => {
37
+    setHasNextPage(false)
38
+   
39
+  }
40
+
41
+  const PageLoadMore = () => { // 页面上拉加载更多
42
+    if(HasNextPage) {
43
+      setPageNumber(pageNumber + 1)
44
+    }
45
+  }
46
+
47
+  useEffect(() => { // 下拉刷新触发
48
+    // if (IsPull) {
49
+    //   if(pageNumber === 1) {
50
+    //     GetPageList()
51
+    //   } else {
52
+    //     setPageNumber(1)
53
+    //   }
54
+    // }
55
+  }, [IsPull])
56
+
57
+  return (
58
+    <view className='components myWalletList'>
59
+      <ScrollView scroll-y  refresher-triggered={IsPull}  onscrolltolower={PageLoadMore} refresher-background='#fff'>
60
+        <view className='PageContent'>
61
+          <view className='List'>
62
+            {
63
+              PageList.map((item, index) => (
64
+                <Item data={item} key={`myWalletList-${index}`}></Item>
65
+              ))
66
+            }
67
+          </view>
68
+
69
+          {/* bottom */}
70
+          <view className='PageBottom'>
71
+            <text>已经到底了~</text>
72
+          </view>
73
+        </view>
74
+
75
+
76
+      </ScrollView>
77
+    </view>
78
+  )
79
+}

+ 30
- 0
src/subpackages/pages/borker/myWallet/list/index.scss Прегледај датотеку

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

+ 45
- 0
src/subpackages/pages/borker/rankingList/components/list/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import store from "@/store";
11
+
12
+import "@/assets/css/iconfont.css";
13
+import "./index.scss";
14
+
15
+export default withLayout((props) => {
16
+  const { columns, dataSource } = props;
17
+
18
+  return (
19
+    <view className="component rankingListList">
20
+      <view className="list-header">
21
+        {columns?.map((x, index) => (
22
+          <view key={index} style={{ width: x.width, textAlign: "center" }}>
23
+            {x.title}
24
+          </view>
25
+        ))}
26
+      </view>
27
+      <view className="list-tbody">
28
+        {dataSource?.map((item, index) => {
29
+          return (
30
+            <view className="list-tbody-row" key={index}>
31
+              {columns?.map((x) => (
32
+                <view
33
+                  key={x.key}
34
+                  style={{ width: x.width, textAlign: "center" }}
35
+                >
36
+                  {(x?.render && x?.render(item)) || item[x.dataIndex] || ""}
37
+                </view>
38
+              ))}
39
+            </view>
40
+          );
41
+        })}
42
+      </view>
43
+    </view>
44
+  );
45
+});

+ 19
- 0
src/subpackages/pages/borker/rankingList/components/list/index.scss Прегледај датотеку

1
+.component.rankingListList {
2
+  margin-top: 50px;
3
+  .list-header {
4
+    display: flex;
5
+    font-size: 26px;
6
+    font-family: Adobe Heiti Std;
7
+    font-weight: normal;
8
+    color: #666666;
9
+    margin-bottom: 13px;
10
+  }
11
+  .list-tbody{
12
+    .list-tbody-row{
13
+      display: flex;
14
+      justify-content: space-around;
15
+      align-items: center;
16
+      padding: 16px 0;
17
+    }
18
+  }
19
+}

+ 0
- 0
src/subpackages/pages/borker/rankingList/components/list/item.jsx Прегледај датотеку


+ 28
- 0
src/subpackages/pages/borker/rankingList/components/myAchievement/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import store from "@/store";
11
+
12
+import "@/assets/css/iconfont.css";
13
+import "./index.scss";
14
+
15
+export default withLayout((props) => {
16
+  const { columns, data } = props;
17
+  const [activeKey, setActiveKey] = useState(1);
18
+  return (
19
+    <view className="component myAchievement">
20
+      <view className="myAchievement-tag">我的成绩</view>
21
+      <view className="info">
22
+        {columns.map((x, index) => (
23
+          <view key={index} style={{width:x.width,textAlign:'center'}}>{data[x.dataIndex]}</view>
24
+        ))}
25
+      </view>
26
+    </view>
27
+  );
28
+});

+ 27
- 0
src/subpackages/pages/borker/rankingList/components/myAchievement/index.scss Прегледај датотеку

1
+.component.myAchievement {
2
+  width: 690px;
3
+  height: 168px;
4
+  box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.2);
5
+  border-radius: 40px;
6
+  z-index: 45;
7
+  position: relative;
8
+  // background: rgba(0, 0, 0, 0.2);
9
+  .myAchievement-tag {
10
+    position: absolute;
11
+    top: 0;
12
+    left: 0;
13
+    padding: 11px 22px 12px;
14
+    background: #1a3d84;
15
+    border-radius: 33px 0px 33px 0px;
16
+    font-size: 20px;
17
+    font-family: Adobe Heiti Std;
18
+    font-weight: normal;
19
+    color: #ffffff;
20
+  }
21
+  .info{
22
+    height: 100%;
23
+    display: flex;
24
+    justify-content: space-around;
25
+    align-items: center;
26
+  }
27
+}

+ 3
- 0
src/subpackages/pages/borker/rankingList/index.config.js Прегледај датотеку

1
+export default {
2
+  navigationBarTitleText: '排行榜'
3
+}

+ 73
- 0
src/subpackages/pages/borker/rankingList/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import store from "@/store";
11
+import InvitationList from "./invitationList";
12
+import TransactionList from "./transactionList";
13
+import "@/assets/css/iconfont.css";
14
+import "./index.scss";
15
+
16
+export default withLayout(() => {
17
+  const [activeKey, setActiveKey] = useState(1);
18
+  return (
19
+    <view className="rankingList">
20
+      <view className="rankingList-backimage">
21
+        <image
22
+          className="image"
23
+          src={`${OSS_FAST_PATH}/miniapp/borker/全民排行榜.png`}
24
+          alt=""
25
+          srcset=""
26
+        />
27
+        {/* <view className="tabs">
28
+          <view
29
+            className={`tab ${activeKey === 1 ? "active" : ""}`}
30
+            onClick={() => setActiveKey(1)}
31
+          >
32
+            我的佣金
33
+          </view>
34
+          <view
35
+            className={`tab ${activeKey === 2 ? "active" : ""}`}
36
+            onClick={() => setActiveKey(2)}
37
+          >
38
+            我的奖励
39
+          </view>
40
+        </view> */}
41
+      </view>
42
+      <view className="content">
43
+        <view className="tabs">
44
+          <view
45
+            className={`tab ${activeKey === 1 ? "active" : ""}`}
46
+            onClick={() => setActiveKey(1)}
47
+          >
48
+            邀请排行榜
49
+          </view>
50
+          <view
51
+            className={`tab ${activeKey === 2 ? "active" : ""}`}
52
+            onClick={() => setActiveKey(2)}
53
+          >
54
+            成交榜
55
+          </view>
56
+        </view>
57
+        <view className="bottom">
58
+          <view style={{display:activeKey==1?'block':'none'}}>
59
+            <InvitationList />
60
+          </view>
61
+          <view style={{display:activeKey==2?'block':'none'}}>
62
+
63
+            <TransactionList />
64
+          </view>
65
+
66
+          {/* <view></view> */}
67
+        </view>
68
+      </view>
69
+
70
+      {/* <view className="bottom"></view> */}
71
+    </view>
72
+  );
73
+});

+ 55
- 0
src/subpackages/pages/borker/rankingList/index.scss Прегледај датотеку

1
+.rankingList {
2
+  background: #fff;
3
+  height: 100vh;
4
+  width: 100%;
5
+  display: flex;
6
+  flex-direction: column;
7
+  box-sizing: border-box;
8
+  .rankingList-backimage {
9
+    width: 100%;
10
+    position: absolute;
11
+    top: 0;
12
+    left: 0;
13
+    z-index: 1;
14
+
15
+    .image {
16
+      width: 750px;
17
+      height: 840px;
18
+    }
19
+  }
20
+  .content {
21
+    z-index: 99;
22
+    .tabs {
23
+      margin: 600px auto 40px;
24
+      width: 510px;
25
+      height: 78px;
26
+      background: rgba(229, 229, 229, 0.3);
27
+      border-radius: 39px;
28
+      display: flex;
29
+      align-items: center;
30
+      .tab {
31
+        line-height: 78px;
32
+        width: 50%;
33
+        text-align: center;
34
+
35
+        font-size: 34px;
36
+
37
+        font-weight: normal;
38
+        color: rgba(255, 255, 255, 1);
39
+      }
40
+      .active {
41
+        // width: 255px;
42
+        // height: 78px;
43
+        background: #ffffff;
44
+        border-radius: 39px;
45
+        color: #1a3d83;
46
+      }
47
+    }
48
+  }
49
+
50
+  .bottom {
51
+    // min-height: calc(100vh - 359px);
52
+    // background-color: rgba(0, 0, 0, 0.0800);
53
+    // background-color: rgba(0, 0, 0, 0.0800);
54
+  }
55
+}

+ 82
- 0
src/subpackages/pages/borker/rankingList/invitationList/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import MyAchievement from "../components/myAchievement";
11
+import AchievementList from "../components/list";
12
+import store from "@/store";
13
+
14
+import "@/assets/css/iconfont.css";
15
+import "./index.scss";
16
+
17
+export default withLayout(() => {
18
+  const columns = [
19
+    {
20
+      title: "排名",
21
+      width: "30%",
22
+      dataIndex: "a",
23
+    },
24
+    {
25
+      title: "经纪人",
26
+      width: "30%",
27
+      dataIndex: "name",
28
+      render: (x) => (
29
+        <view>
30
+          <image
31
+            className="list-image"
32
+            src={`${OSS_FAST_PATH}/miniapp/borker/消息.png`}
33
+            alt=""
34
+            srcset=""
35
+          />
36
+          {x.name}
37
+        </view>
38
+      ),
39
+    },
40
+    {
41
+      title: "邀请人(个)",
42
+      width: "40%",
43
+      dataIndex: "number",
44
+    },
45
+  ];
46
+
47
+  const list = [
48
+    {
49
+      a: 1,
50
+      name: "张三",
51
+      number: 4433,
52
+      key: 1,
53
+    },
54
+    {
55
+      a: 2,
56
+      name: "李四",
57
+      number: 4433,
58
+      key: 2,
59
+    },
60
+    {
61
+      a: 3,
62
+      name: "张三",
63
+      number: 4433,
64
+      key: 3,
65
+    },
66
+  ];
67
+
68
+  return (
69
+    <view className="invitationList">
70
+      <MyAchievement
71
+        columns={columns}
72
+        data={{
73
+          a: 3,
74
+          name: "张三",
75
+          number: 4433,
76
+          key: 3,
77
+        }}
78
+      />
79
+      <AchievementList columns={columns} dataSource={list} />
80
+    </view>
81
+  );
82
+});

+ 15
- 0
src/subpackages/pages/borker/rankingList/invitationList/index.scss Прегледај датотеку

1
+.invitationList {
2
+  padding: 30px;
3
+  min-height: calc(100vh - 359px);
4
+  background: #ffffff;
5
+  box-shadow: 0px 10px 46px 0px rgba(0, 0, 0, 0.08);
6
+  border-radius: 40px 40px 0px 0px;
7
+  z-index: 111;
8
+  .list-image {
9
+    width: 60px;
10
+    height:60px;
11
+    border-radius: 50%;
12
+    vertical-align: middle;
13
+    margin-right: 14px;
14
+  }
15
+}

+ 87
- 0
src/subpackages/pages/borker/rankingList/transactionList/index.jsx Прегледај датотеку

1
+import { useState, useEffect } from "react";
2
+import Taro from "@tarojs/taro";
3
+import { useSelector } from "react-redux";
4
+import withLayout from "@/layout";
5
+import { ScrollView, Input, Image, Block, Textarea } from "@tarojs/components";
6
+import { getImgURL } from "@/utils/image";
7
+import { fetch, uploadFiles } from "@/utils/request";
8
+import { UPDATE_USER_INFO, ROLE_CODE } from "@/constants/user";
9
+import { API_EDIT_AGENT, API_UPDATE_PHOTO } from "@/constants/api";
10
+import MyAchievement from "../components/myAchievement";
11
+import AchievementList from "../components/list";
12
+import store from "@/store";
13
+
14
+import "@/assets/css/iconfont.css";
15
+import "./index.scss";
16
+
17
+export default withLayout(() => {
18
+  const columns = [
19
+    {
20
+      title: "排名",
21
+      width: "15%",
22
+      dataIndex: "a",
23
+    },
24
+    {
25
+      title: "姓名",
26
+      width: "20%",
27
+      dataIndex: "name",
28
+      render: (x) => (
29
+        <view>
30
+          <image
31
+            className="list-image"
32
+            src={`${OSS_FAST_PATH}/miniapp/borker/消息.png`}
33
+            alt=""
34
+            srcset=""
35
+          />
36
+          {x.name}
37
+        </view>
38
+      ),
39
+    },
40
+    {
41
+      title: "数量(组)",
42
+      width: "35%",
43
+      dataIndex: "number",
44
+    },
45
+    {
46
+      title: "佣金(元)",
47
+      width: "30%",
48
+      dataIndex: "money",
49
+    },
50
+  ];
51
+
52
+  const list = [
53
+    {
54
+      a: 1,
55
+      name: "张三",
56
+      number: 4433,
57
+      key: 1,
58
+    },
59
+    {
60
+      a: 2,
61
+      name: "李四",
62
+      number: 4433,
63
+      key: 2,
64
+    },
65
+    {
66
+      a: 3,
67
+      name: "张三",
68
+      number: 4433,
69
+      key: 3,
70
+    },
71
+  ];
72
+
73
+  return (
74
+    <view className="invitationList">
75
+      <MyAchievement
76
+        columns={columns}
77
+        data={{
78
+          a: 3,
79
+          name: "张三",
80
+          number: 4433,
81
+          key: 3,
82
+        }}
83
+      />
84
+      <AchievementList columns={columns} dataSource={list} />
85
+    </view>
86
+  );
87
+});

+ 15
- 0
src/subpackages/pages/borker/rankingList/transactionList/index.scss Прегледај датотеку

1
+.invitationList {
2
+  padding: 30px;
3
+  min-height: calc(100vh - 359px);
4
+  background: #ffffff;
5
+  box-shadow: 0px 10px 46px 0px rgba(0, 0, 0, 0.08);
6
+  border-radius: 40px 40px 0px 0px;
7
+  z-index: 111;
8
+  .list-image {
9
+    width: 60px;
10
+    height:60px;
11
+    border-radius: 50%;
12
+    vertical-align: middle;
13
+    margin-right: 14px;
14
+  }
15
+}