Browse Source

Merge branch 'main' of http://git.ycjcjy.com/marketing/miniapp into main

Your Name 3 years ago
parent
commit
90871be2ed

BIN
src/assets/index-icon18.png View File


BIN
src/assets/index-icon19.png View File


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


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


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


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


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


+ 2
- 0
src/components/ProjectItemCard/index.jsx View File

@@ -17,6 +17,8 @@ export default (props) => {
17 17
     <view className='components ProjectItemCard'>
18 18
       <view className='Img' onClick={() => goto(Data)}>
19 19
         <Image mode='scaleToFill' src={getImgURL(Data?.buildingListImg?.length ? Data.buildingListImg[0].url : null)} className='centerLabel'></Image>
20
+        <Image mode='heightFix' className='Tips Vr' src={require('@/assets/index-icon18.png')} />
21
+        <Image mode='heightFix' className='Tips Video' src={require('@/assets/index-icon19.png')} />
20 22
       </view>
21 23
       <view className='Name flex-h' onClick={() => goto(Data)}>
22 24
         <view className='flex-item'>

+ 14
- 1
src/components/ProjectItemCard/style.scss View File

@@ -9,9 +9,22 @@
9 9
     overflow: hidden;
10 10
     background: #eee;
11 11
     border-radius: 8px;
12
-    > image {
12
+    > image.centerLabel {
13 13
       width: 100%;
14 14
       height: 100%;
15
+      z-index: 1;
16
+    }
17
+    >.Tips {
18
+      width: 30px;
19
+      height: 30px;
20
+      display: block;
21
+      position: absolute;
22
+      z-index: 2;
23
+      bottom: 10px;
24
+      left: 18px;
25
+      &.Vr {
26
+        left: 58px;
27
+      }
15 28
     }
16 29
   }
17 30
   > .Name {

+ 4
- 2
src/components/ProjectListItem/index.jsx View File

@@ -1,9 +1,9 @@
1
-import React, { useState, useEffect } from 'react'
2
-import './index.scss'
1
+
3 2
 import '@/assets/css/iconfont.css'
4 3
 import Taro from '@tarojs/taro'
5 4
 import { Image } from '@tarojs/components'
6 5
 import { getImgURL } from '@/utils/image'
6
+import './index.scss'
7 7
 
8 8
 export default function ProjectListItem (props) {
9 9
   const { Data = {} } = props
@@ -13,6 +13,8 @@ export default function ProjectListItem (props) {
13 13
       <view className='Img'>
14 14
         <view>
15 15
           <Image mode='aspectFill' className='centerLabel' src={getImgURL(Data.buildingListImg?.length ? Data.buildingListImg[0].url : null)} />
16
+          <Image mode='heightFix' className='Tips Vr' src={require('@/assets/index-icon18.png')} />
17
+          <Image mode='heightFix' className='Tips Video' src={require('@/assets/index-icon19.png')} />
16 18
         </view>
17 19
       </view>
18 20
       <view className='flex-item'>

+ 14
- 1
src/components/ProjectListItem/index.scss View File

@@ -13,9 +13,22 @@
13 13
       position: relative;
14 14
       overflow: hidden;
15 15
       border-radius: 8px;
16
-      > image {
16
+      > image.centerLabel {
17 17
         width: 100%;
18 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
+        &.Vr {
30
+          left: 50px;
31
+        }
19 32
       }
20 33
     }
21 34
   }

+ 1
- 0
src/constants/api.js View File

@@ -24,6 +24,7 @@ export const API_GET_CUSTOMER_INFO = resolvePath('customerInfo') // 查询客户
24 24
 export const API_SURE_CHIP = resolvePath('marking/preparatory') // 确认认筹
25 25
 export const API_SURE_BUY = resolvePath('marking/commission') // 确认结佣
26 26
 export const API_SURE_SIGN = resolvePath('marking/signatory') // 确认签约
27
+export const API_INVALID = resolvePath('marking/invalidCustomer') // 无效
27 28
 
28 29
 // 获取经纪人绑定楼盘列表
29 30
 export const API_GET_AGENT_BUILDINGS = resolvePath('buildingChannel/buildings')

+ 6
- 5
src/pages/index/specialPriceHouse/index.jsx View File

@@ -5,7 +5,6 @@ import { ScrollView, Image } from '@tarojs/components'
5 5
 import Disclaimer from '@/components/Disclaimer'
6 6
 import { getImgURL } from '@/utils/image'
7 7
 import { formateLeftTime } from '@/utils/tools'
8
-import { useSelector } from 'react-redux'
9 8
 import { fetch } from '@/utils/request'
10 9
 import { API_SPECIAL_ROOM_LIST } from '@/constants/api'
11 10
 import '@/assets/css/iconfont.css'
@@ -15,7 +14,7 @@ const defaultRuleImage = 'https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/ind
15 14
 
16 15
 export default withLayout((props) => {
17 16
   const { city } = props
18
-  
17
+
19 18
   const [PageList, setPageList] = useState([])
20 19
   const [IsPull, setPull] = useState(false)
21 20
   const [pageNumber, setPageNumber] = useState(1)
@@ -39,14 +38,14 @@ export default withLayout((props) => {
39 38
   }
40 39
 
41 40
   const PageLoadMore = () => { // 页面上拉加载更多
42
-    if(HasNextPage) {
41
+    if (HasNextPage) {
43 42
       setPageNumber(pageNumber + 1)
44 43
     }
45 44
   }
46 45
 
47 46
   useEffect(() => { // 下拉刷新触发
48 47
     if (IsPull) {
49
-      if(pageNumber === 1) {
48
+      if (pageNumber === 1) {
50 49
         GetPageList()
51 50
       } else {
52 51
         setPageNumber(1)
@@ -84,7 +83,7 @@ export default withLayout((props) => {
84 83
 
85 84
                 //
86 85
                 const specialRoomList = item.specialRoomList || []
87
-                
86
+
88 87
                 return (
89 88
                   <view key={item.buildingId}>
90 89
                     <view className='Title'>
@@ -98,6 +97,8 @@ export default withLayout((props) => {
98 97
                     <view className='InfoContent'>
99 98
                       <view className='Img' onClick={() => goto(item)}>
100 99
                         <Image mode='scaleToFill' src={mainImg} className='centerLabel'></Image>
100
+                        <Image mode='heightFix' className='Tips Vr' src={require('@/assets/index-icon18.png')} />
101
+                        <Image mode='heightFix' className='Tips Video' src={require('@/assets/index-icon19.png')} />
101 102
                       </view>
102 103
                       <view className='Name flex-h' onClick={() => goto(item)}>
103 104
                         <view className='flex-item'>

+ 14
- 1
src/pages/index/specialPriceHouse/index.scss View File

@@ -77,9 +77,22 @@
77 77
               overflow: hidden;
78 78
               background: #eee;
79 79
               border-radius: 8px;
80
-              >image {
80
+              > image.centerLabel {
81 81
                 width: 100%;
82 82
                 height: 100%;
83
+                z-index: 1;
84
+              }
85
+              >.Tips {
86
+                width: 30px;
87
+                height: 30px;
88
+                display: block;
89
+                position: absolute;
90
+                z-index: 2;
91
+                bottom: 10px;
92
+                left: 18px;
93
+                &.Vr {
94
+                  left: 58px;
95
+                }
83 96
               }
84 97
             }
85 98
             >.Name {

+ 36
- 13
src/pages/mine/components/ResidentListItem/index.jsx View File

@@ -1,11 +1,19 @@
1
-import React, { useState, useEffect } from 'react'
1
+
2 2
 import Taro from '@tarojs/taro'
3
-import { Image } from '@tarojs/components'
3
+import { Image, Block } from '@tarojs/components'
4 4
 import { formatDate } from '@/utils/chatDate'
5
+import { fetch } from '@/utils/request'
6
+import { API_INVALID } from '@/constants/api'
5 7
 import './index.scss'
6 8
 
7 9
 export default function ResidentListItem (props) {
8
-  const { data = {} } = props
10
+  const { data = {}, change = () => { } } = props
11
+  const ToUnVisable = () => {
12
+    fetch({ url: API_INVALID, method: 'put', payload: { type: data.type, id: data.id } }).then(() => {
13
+      Taro.showToast({ title: '审核成功', icon: 'none', duration: 2000 })
14
+      change()
15
+    })
16
+  }
9 17
   return (
10 18
     <view className='components ResidentListItem'>
11 19
       <view className='flex-h'>
@@ -13,10 +21,10 @@ export default function ResidentListItem (props) {
13 21
         <view className='flex-item'>
14 22
           <text>{data.name}</text>
15 23
         </view>
16
-        {
24
+        {/* {
17 25
           data.customerStatus - 0 === 1 &&
18 26
           <text className='Status'>已报备</text>
19
-        }
27
+        } */}
20 28
         {
21 29
           data.type === 'report' && (data.channelStatus - 0) === 1 &&
22 30
           <text className='Status' onClick={() => { Taro.navigateTo({ url: `/pages/mine/sureVisit/index?id=${data.id}` }) }}>到访确认</text>
@@ -29,23 +37,38 @@ export default function ResidentListItem (props) {
29 37
         </view>
30 38
         {
31 39
           data.customerStatus - 0 === 1 &&
32
-          <text className='Type'>报备</text>
40
+          <Block>
41
+            <Image mode='heightFix' src={require('@/assets/mine-icon29.png')}></Image>
42
+            <text className='Type'>报备</text>
43
+          </Block>
33 44
         }
34 45
         {
35 46
           data.customerStatus - 0 === 2 &&
36
-          <text className='Type'>到访</text>
47
+          <Block>
48
+            <Image mode='heightFix' src={require('@/assets/mine-icon30.png')}></Image>
49
+            <text className='Type'>到访</text>
50
+          </Block>
37 51
         }
38 52
         {
39 53
           data.customerStatus - 0 === 3 &&
40
-          <text className='Type'>认筹</text>
54
+          <Block>
55
+            <Image mode='heightFix' src={require('@/assets/mine-icon33.png')}></Image>
56
+            <text className='Type'>认筹</text>
57
+          </Block>
41 58
         }
42 59
         {
43 60
           data.customerStatus - 0 === 4 &&
44
-          <text className='Type'>签约</text>
61
+          <Block>
62
+            <Image mode='heightFix' src={require('@/assets/mine-icon32.png')}></Image>
63
+            <text className='Type'>签约</text>
64
+          </Block>
45 65
         }
46 66
         {
47 67
           data.customerStatus - 0 === 5 &&
48
-          <text className='Type'>结佣</text>
68
+          <Block>
69
+            <Image mode='heightFix' src={require('@/assets/mine-icon31.png')}></Image>
70
+            <text className='Type'>结佣</text>
71
+          </Block>
49 72
         }
50 73
         {/* <Image mode='heightFix' src={require('@/assets/mine-icon27.png')}></Image> */}
51 74
       </view>
@@ -63,12 +86,12 @@ export default function ResidentListItem (props) {
63 86
       </view>
64 87
       <view className='Opt'>
65 88
         {
66
-          !(data.type === 'report' && data.channelStatus === 3) &&
89
+          !(data.type === 'report' && data.channelStatus - 0 === 3) &&
67 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>
68 91
         }
69 92
         {
70
-          data.type === 'report' && data.channelStatus === 3 &&
71
-          <text>无效</text>
93
+          data.type === 'report' && data.channelStatus - 0 === 1 &&
94
+          <text onClick={ToUnVisable}>无效</text>
72 95
         }
73 96
       </view>
74 97
     </view>

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

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '我的推广码'
3
+}

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

@@ -0,0 +1,13 @@
1
+// import { useState, useEffect } from 'react'
2
+import withLayout from '@/layout'
3
+import '@/assets/css/iconfont.css'
4
+import './index.scss'
5
+
6
+export default withLayout(() => {
7
+
8
+  return (
9
+    <view className='Page myRecommendCode'>
10
+      我的推广码
11
+    </view>
12
+  )
13
+})

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

@@ -0,0 +1,7 @@
1
+.Page.myRecommendCode {
2
+  background: #f8f8f8;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+}

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

@@ -130,6 +130,14 @@ export default withLayout(() => {
130 130
     setFilterData({ ...FilterData, keywords: e.detail.value })
131 131
   }
132 132
 
133
+  const ListChange = (index) => {
134
+    return () => {
135
+      let List = [...PageList]
136
+      List.splice(index, 1)
137
+      setPageList(List)
138
+    }
139
+  }
140
+
133 141
   return (
134 142
     <view className='Page residentManager flex-v'>
135 143
 
@@ -169,7 +177,7 @@ export default withLayout(() => {
169 177
               <view className='List'>
170 178
                 {
171 179
                   PageList.map((item, index) => (
172
-                    <ResidentListItem data={item} key={`ResidentListItem-${index}`}></ResidentListItem>
180
+                    <ResidentListItem data={item} key={`ResidentListItem-${index}`} change={ListChange(index)}></ResidentListItem>
173 181
                   ))
174 182
                 }
175 183
               </view>

+ 1
- 0
src/pages/mine/tabData.js View File

@@ -32,6 +32,7 @@ const MineMenuList = {
32 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' },
35 36
       { name: '房贷计算器', icon: require('../../assets/mine-icon4.png'), router: '/pages/mine/mortgageCalc/index' },
36 37
       { name: '购房百科', icon: require('../../assets/mine-icon2.png'), router: '/pages/index/encyclopediasOfBuyHouse/index' },
37 38
       { name: '意见反馈', icon: require('../../assets/mine-icon16.png'), router: '/pages/mine/feedBack/index' }

+ 6
- 0
src/routes.js View File

@@ -253,6 +253,12 @@ const routes = [
253 253
   },
254 254
 
255 255
   // 我的
256
+  {
257
+    name: '我的推广码',
258
+    page: 'pages/mine/myRecommendCode/index',
259
+    pkg: 'main',
260
+    type: 'mine',
261
+  },
256 262
   {
257 263
     name: '房贷计算器',
258 264
     page: 'pages/mine/mortgageCalc/index',