Ver código fonte

静态页面

xcx 4 anos atrás
pai
commit
88c4f0c405

+ 60
- 62
src/components/AddYeZhuRenZheng/index.jsx Ver arquivo

@@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react'
2 2
 import { Input, Picker } from '@tarojs/components'
3 3
 import Taro from '@tarojs/taro'
4 4
 import request, { apis } from '@/utils/request'
5
-import Page from '@/layouts'
6 5
 import { useModel } from '@/store'
7 6
 import '@/assets/css/reset.less'
8 7
 import '@/assets/css/iconfont.less'
@@ -30,6 +29,7 @@ export default function AddYeZhuRenZheng (props) {
30 29
   const [Level6List, setLevel6List] = useState([])
31 30
 
32 31
   useEffect(() => {
32
+    console.log(user, `user`)
33 33
     GetLevel2List()
34 34
   }, [Level1Value])
35 35
 
@@ -254,74 +254,72 @@ export default function AddYeZhuRenZheng (props) {
254 254
   }
255 255
 
256 256
   return (
257
-    <Page>
258
-      <view className='AddYeZhuRenZheng'>
259
-        <view className='Close'>
260
-          <text className='iconfont iconguanbi' onClick={Close}></text>
257
+    <view className='AddYeZhuRenZheng'>
258
+      <view className='Close'>
259
+        <text className='iconfont iconguanbi' onClick={Close}></text>
260
+      </view>
261
+      <view className='Form'>
262
+        <view className='flex-h'>
263
+          <text className='iconfont iconxingming'></text>
264
+          <Input className='flex-item' placeholder='请输入您的姓名' value={FormData.RealName} onInput={(e) => { setFormData({ ...FormData, RealName: e.detail.value }) }}></Input>
261 265
         </view>
262
-        <view className='Form'>
263
-          <view className='flex-h'>
264
-            <text className='iconfont iconxingming'></text>
265
-            <Input className='flex-item' placeholder='请输入您的姓名' value={FormData.RealName} onInput={(e) => { setFormData({ ...FormData, RealName: e.detail.value }) }}></Input>
266
-          </view>
267
-          <view className='flex-h'>
268
-            <text className='iconfont iconshenfenzheng'></text>
269
-            <Input type='idcard' className='flex-item' placeholder='请输入您的身份证号码' value={FormData.IdCard} onInput={(e) => { setFormData({ ...FormData, IdCard: e.detail.value }) }}></Input>
270
-          </view>
271
-          <view className='flex-h'>
272
-            <text className='iconfont iconshouji'></text>
273
-            <Input type='idcard' className='flex-item' placeholder='请输入您的手机号码' value={FormData.Phone} onInput={(e) => { setFormData({ ...FormData, Phone: e.detail.value }) }}></Input>
274
-          </view>
275
-          <view className='flex-h'>
276
-            <text className='iconfont iconyanzhengma'></text>
277
-            <Input type='idcard' className='flex-item' placeholder='请输入验证码' value={PhoneCode} onInput={(e) => { setPhoneCode(e.detail.value) }}></Input>
278
-            <text className={CodeTimerNum - 0 === 60 ? 'active' : ''} onClick={ToGetPhoneCode}>{CodeTimerNum - 0 === 60 ? `获取验证码` : `${CodeTimerNum > 9 ? `${CodeTimerNum}s后再次获取` : `0${CodeTimerNum}s后再次获取`}`}</text>
279
-          </view>
280
-          <view className='flex-h'>
281
-            <text>期号</text>
282
-            <view className='flex-item'>
283
-              <Picker value={Level2Value} range-key='name' range={Level2List} onChange={Level2Change}>
284
-                <view className='PickerText'>{Level2List.length > 0 && Level2Value !== null ? Level2List[Level2Value].name : '请选择期号'}</view>
285
-              </Picker>
286
-            </view>
287
-          </view>
288
-          <view className='flex-h'>
289
-            <text>楼栋</text>
290
-            <view className='flex-item'>
291
-              <Picker value={Level3Value} range-key='name' range={Level3List} onChange={Level3Change}>
292
-                <view className='PickerText'>{Level3List.length > 0 && Level3Value !== null ? Level3List[Level3Value].name : '请选择楼栋'}</view>
293
-              </Picker>
294
-            </view>
266
+        <view className='flex-h'>
267
+          <text className='iconfont iconshenfenzheng'></text>
268
+          <Input type='idcard' className='flex-item' placeholder='请输入您的身份证号码' value={FormData.IdCard} onInput={(e) => { setFormData({ ...FormData, IdCard: e.detail.value }) }}></Input>
269
+        </view>
270
+        <view className='flex-h'>
271
+          <text className='iconfont iconshouji'></text>
272
+          <Input type='idcard' className='flex-item' placeholder='请输入您的手机号码' value={FormData.Phone} onInput={(e) => { setFormData({ ...FormData, Phone: e.detail.value }) }}></Input>
273
+        </view>
274
+        <view className='flex-h'>
275
+          <text className='iconfont iconyanzhengma'></text>
276
+          <Input type='idcard' className='flex-item' placeholder='请输入验证码' value={PhoneCode} onInput={(e) => { setPhoneCode(e.detail.value) }}></Input>
277
+          <text className={CodeTimerNum - 0 === 60 ? 'active' : ''} onClick={ToGetPhoneCode}>{CodeTimerNum - 0 === 60 ? `获取验证码` : `${CodeTimerNum > 9 ? `${CodeTimerNum}s后再次获取` : `0${CodeTimerNum}s后再次获取`}`}</text>
278
+        </view>
279
+        <view className='flex-h'>
280
+          <text>期号</text>
281
+          <view className='flex-item'>
282
+            <Picker value={Level2Value} range-key='name' range={Level2List} onChange={Level2Change}>
283
+              <view className='PickerText'>{Level2List.length > 0 && Level2Value !== null ? Level2List[Level2Value].name : '请选择期号'}</view>
284
+            </Picker>
295 285
           </view>
296
-          <view className='flex-h'>
297
-            <text>单元</text>
298
-            <view className='flex-item'>
299
-              <Picker value={Level4Value} range-key='name' range={Level4List} onChange={Level4Change}>
300
-                <view className='PickerText'>{Level4List.length > 0 && Level4Value !== null ? Level4List[Level4Value].name : '请选择单元'}</view>
301
-              </Picker>
302
-            </view>
286
+        </view>
287
+        <view className='flex-h'>
288
+          <text>楼栋</text>
289
+          <view className='flex-item'>
290
+            <Picker value={Level3Value} range-key='name' range={Level3List} onChange={Level3Change}>
291
+              <view className='PickerText'>{Level3List.length > 0 && Level3Value !== null ? Level3List[Level3Value].name : '请选择楼栋'}</view>
292
+            </Picker>
303 293
           </view>
304
-          <view className='flex-h'>
305
-            <text>楼层</text>
306
-            <view className='flex-item'>
307
-              <Picker value={Level5Value} range-key='name' range={Level5List} onChange={Level5Change}>
308
-                <view className='PickerText'>{Level5List.length > 0 && Level5Value !== null ? Level5List[Level5Value].name : '请选择楼层'}</view>
309
-              </Picker>
310
-            </view>
294
+        </view>
295
+        <view className='flex-h'>
296
+          <text>单元</text>
297
+          <view className='flex-item'>
298
+            <Picker value={Level4Value} range-key='name' range={Level4List} onChange={Level4Change}>
299
+              <view className='PickerText'>{Level4List.length > 0 && Level4Value !== null ? Level4List[Level4Value].name : '请选择单元'}</view>
300
+            </Picker>
311 301
           </view>
312
-          <view className='flex-h'>
313
-            <text>房号</text>
314
-            <view className='flex-item'>
315
-              <Picker value={Level6Value} range-key='name' range={Level6List} onChange={Level6Change}>
316
-                <view className='PickerText'>{Level6List.length > 0 && Level6Value !== null ? Level6List[Level6Value].name : '请选择房号'}</view>
317
-              </Picker>
318
-            </view>
302
+        </view>
303
+        <view className='flex-h'>
304
+          <text>楼层</text>
305
+          <view className='flex-item'>
306
+            <Picker value={Level5Value} range-key='name' range={Level5List} onChange={Level5Change}>
307
+              <view className='PickerText'>{Level5List.length > 0 && Level5Value !== null ? Level5List[Level5Value].name : '请选择楼层'}</view>
308
+            </Picker>
319 309
           </view>
320 310
         </view>
321
-        <view className='BottomBtn' onClick={Submit}>
322
-          <text>提交</text>
311
+        <view className='flex-h'>
312
+          <text>房号</text>
313
+          <view className='flex-item'>
314
+            <Picker value={Level6Value} range-key='name' range={Level6List} onChange={Level6Change}>
315
+              <view className='PickerText'>{Level6List.length > 0 && Level6Value !== null ? Level6List[Level6Value].name : '请选择房号'}</view>
316
+            </Picker>
317
+          </view>
323 318
         </view>
324 319
       </view>
325
-    </Page>
320
+      <view className='BottomBtn' onClick={Submit}>
321
+        <text>提交</text>
322
+      </view>
323
+    </view>
326 324
   )
327 325
 }

+ 44
- 0
src/components/YeZhuRenZhengPopup/index.css Ver arquivo

@@ -0,0 +1,44 @@
1
+.YeZhuRenZhengPopup {
2
+  width: 100%;
3
+  position: fixed;
4
+  left: 0;
5
+  top: 0;
6
+  bottom: 0;
7
+  background: rgba(0, 0, 0, 0.8);
8
+  display: none;
9
+  z-index: 200000;
10
+}
11
+.YeZhuRenZhengPopup.active {
12
+  display: block;
13
+}
14
+.YeZhuRenZhengPopup > view {
15
+  width: 100%;
16
+}
17
+.YeZhuRenZhengPopup > view > view {
18
+  padding: 0 30px;
19
+  position: relative;
20
+  overflow: hidden;
21
+}
22
+.YeZhuRenZhengPopup > view > view scroll-view {
23
+  padding: 30px 0;
24
+  background: #fff;
25
+  border-radius: 10px;
26
+  position: relative;
27
+  max-height: 90vh;
28
+  overflow-y: scroll;
29
+  -webkit-overflow-scrolling: touch;
30
+}
31
+.YeZhuRenZhengPopup > view > view .Checking {
32
+  padding: 30px 0;
33
+  width: 50%;
34
+  background: #fff;
35
+  border-radius: 10px;
36
+  position: relative;
37
+  margin: 0 auto;
38
+}
39
+.YeZhuRenZhengPopup > view > view .Checking text {
40
+  font-size: 28px;
41
+  display: block;
42
+  text-align: center;
43
+  line-height: 40px;
44
+}

+ 19
- 7
src/components/YeZhuRenZhengPopup/index.jsx Ver arquivo

@@ -1,23 +1,35 @@
1
-import React, { useState } from 'react'
1
+import React, { } from 'react'
2 2
 import AddYeZhuRenZheng from '@/components/AddYeZhuRenZheng'
3
+import { ScrollView } from '@tarojs/components'
4
+import { useModel } from '@/store'
3 5
 import '@/assets/css/reset.less'
4 6
 import '@/assets/css/iconfont.less'
5 7
 import './index.less'
6 8
 
7 9
 export default function YeZhuRenZhengPopup (props) {
8 10
 
11
+  const { user } = useModel('user')
9 12
   const { Show = false, Close = () => { } } = props
10 13
 
11 14
   return (
12 15
     <view className={Show ? 'YeZhuRenZhengPopup active' : 'YeZhuRenZhengPopup'}>
13 16
       <view className='centerLabel'>
14 17
         <view>
15
-          <scroll-view scroll-y='true'>
16
-            {
17
-              Show &&
18
-              <AddYeZhuRenZheng Close={Close}></AddYeZhuRenZheng>
19
-            }
20
-          </scroll-view>
18
+          {
19
+            user.verifyStatus !== 'certified' && user.verifyStatus !== 'certification_in_progress' &&
20
+            <ScrollView scroll-y='true'>
21
+              {
22
+                Show &&
23
+                <AddYeZhuRenZheng Close={Close}></AddYeZhuRenZheng>
24
+              }
25
+            </ScrollView>
26
+          }
27
+          {
28
+            user.verifyStatus === 'certification_in_progress' &&
29
+            <view className='Checking'>
30
+              <text>认证正在审核中</text>
31
+            </view>
32
+          }
21 33
         </view>
22 34
       </view>
23 35
     </view>

+ 18
- 1
src/components/YeZhuRenZhengPopup/index.less Ver arquivo

@@ -6,6 +6,7 @@
6 6
   bottom: 0;
7 7
   background: rgba(0, 0, 0, 0.8);
8 8
   display: none;
9
+  z-index: 200000;
9 10
 
10 11
   &.active {
11 12
     display: block;
@@ -19,7 +20,7 @@
19 20
       position: relative;
20 21
       overflow: hidden;
21 22
 
22
-      >scroll-view {
23
+      scroll-view {
23 24
         padding: 30px 0;
24 25
         background: #fff;
25 26
         border-radius: 10px;
@@ -28,6 +29,22 @@
28 29
         overflow-y: scroll;
29 30
         -webkit-overflow-scrolling: touch;
30 31
       }
32
+
33
+      .Checking {
34
+        padding: 30px 0;
35
+        width: 50%;
36
+        background: #fff;
37
+        border-radius: 10px;
38
+        position: relative;
39
+        margin: 0 auto;
40
+
41
+        text {
42
+          font-size: 28px;
43
+          display: block;
44
+          text-align: center;
45
+          line-height: 40px;
46
+        }
47
+      }
31 48
     }
32 49
   }
33 50
 }

+ 10
- 3
src/layouts/index.jsx Ver arquivo

@@ -24,12 +24,12 @@ export default function (props) {
24 24
   const [showAuthBasic, setShowAuthBasic] = useState(false)
25 25
   const [showAuthYeZhu, setShowAuthYeZhu] = useState(false)
26 26
   const [showAuthPhone, setShowAuthPhone] = useState(false)
27
-  const { user, setUser } = useModel('user')
27
+  const { user } = useModel('user')
28 28
 
29 29
   const loading = !user || !user.personId
30 30
   const isAuthedBasic = user && user.avatarurl && user.nickname
31 31
   const isAuthedPhone = user && user.phone
32
-  const isAuthedYeZhu = user
32
+  const isAuthedYeZhu = user && user.verifyStatus === 'certified'
33 33
 
34 34
   const page = getPage()
35 35
   const needAuthBasic = (page.auth || []).indexOf('avatar') > -1
@@ -81,6 +81,13 @@ export default function (props) {
81 81
     setShowAuthBasic(needShow)
82 82
   }, [isAuthedBasic, needAuthBasic, isAuthedPhone, isAuthedYeZhu, needAuthYeZhu])
83 83
 
84
+  // 业主认证状态
85
+  useEffect(() => {
86
+    if (user !== null && user.verifyStatus !== 'certified') {
87
+      setShowAuthYeZhu(true)
88
+    }
89
+  }, [user])
90
+
84 91
   return (
85 92
     <Spin loading={loading}>
86 93
 
@@ -88,7 +95,7 @@ export default function (props) {
88 95
       <AdvLayer></AdvLayer>
89 96
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
90 97
       <GetUserPhone visible={showAuthPhone} onError={err => showError(`授权手机失败: ${err}`)} />
91
-      <YeZhuRenZhengPopup Show={showAuthYeZhu} Close={() => { setShowAuthYeZhu(false) }}></YeZhuRenZhengPopup>
98
+      <YeZhuRenZhengPopup Show={user !== null && user.verifyStatus !== 'certified'} Close={() => { }}></YeZhuRenZhengPopup>
92 99
       {
93 100
         props.children
94 101
       }

+ 1
- 1
src/pages/WoDe/WoDeRenZheng/index.jsx Ver arquivo

@@ -37,7 +37,7 @@ export default function WoDeRenZheng () {
37 37
                       <text>{toolclass.FormatDate(item.createDate)}</text>
38 38
                     </view>
39 39
                     <view>
40
-                      <text className={item.verifyStatus === 'certification_in_progress' ? '' : item.verifyStatus === 'certified' ? 'Green' : 'Red'}>{item.verifyStatus === 'certification_in_progress' ? '审核中' : item.verifyStatus === 'certified' ? '审核通过' : item.verifyStatus === 'not_certified' ? '未认证' : '审核未通过'}</text>
40
+                      <text className={item.verifyStatus - 0 === 0 ? '' : item.verifyStatus - 0 === 1 ? 'Green' : 'Red'}>{item.verifyStatus - 0 === 0 ? '审核中' : item.verifyStatus - 0 === 1 ? '审核通过' : '审核未通过'}</text>
41 41
                     </view>
42 42
                   </view>
43 43
                 </view>

+ 3
- 3
src/pages/WoDe/YeZhuShenHe/index.jsx Ver arquivo

@@ -67,7 +67,7 @@ export default function YeZhuShenHe () {
67 67
 
68 68
             {/* 审核中 */}
69 69
             {
70
-              Detail.verifyStatus === 'certification_in_progress' &&
70
+              Detail.verifyStatus - 0 === 0 &&
71 71
               <view className='CheckStatus Checking'>
72 72
                 <view className='Status'>
73 73
                   <text className='iconfont iconshenhezhong'></text>
@@ -90,7 +90,7 @@ export default function YeZhuShenHe () {
90 90
 
91 91
             {/* 审核通过 */}
92 92
             {
93
-              Detail.verifyStatus === 'certified' &&
93
+              Detail.verifyStatus - 0 === 1 &&
94 94
               <view className='CheckStatus Pass'>
95 95
                 <view className='Status'>
96 96
                   <text className='iconfont iconyitongguo'></text>
@@ -112,7 +112,7 @@ export default function YeZhuShenHe () {
112 112
 
113 113
             {/* 审核未通过 */}
114 114
             {
115
-              Detail.verifyStatus === 'certification_failed' &&
115
+              Detail.verifyStatus - 0 === 2 &&
116 116
               <view className='CheckStatus NoPass'>
117 117
                 <view className='Status'>
118 118
                   <text className='iconfont iconweitongguo'></text>