xcx vor 4 Jahren
Ursprung
Commit
88c4f0c405

+ 60
- 62
src/components/AddYeZhuRenZheng/index.jsx Datei anzeigen

2
 import { Input, Picker } from '@tarojs/components'
2
 import { Input, Picker } from '@tarojs/components'
3
 import Taro from '@tarojs/taro'
3
 import Taro from '@tarojs/taro'
4
 import request, { apis } from '@/utils/request'
4
 import request, { apis } from '@/utils/request'
5
-import Page from '@/layouts'
6
 import { useModel } from '@/store'
5
 import { useModel } from '@/store'
7
 import '@/assets/css/reset.less'
6
 import '@/assets/css/reset.less'
8
 import '@/assets/css/iconfont.less'
7
 import '@/assets/css/iconfont.less'
30
   const [Level6List, setLevel6List] = useState([])
29
   const [Level6List, setLevel6List] = useState([])
31
 
30
 
32
   useEffect(() => {
31
   useEffect(() => {
32
+    console.log(user, `user`)
33
     GetLevel2List()
33
     GetLevel2List()
34
   }, [Level1Value])
34
   }, [Level1Value])
35
 
35
 
254
   }
254
   }
255
 
255
 
256
   return (
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
         </view>
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
           </view>
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
           </view>
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
           </view>
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
           </view>
309
           </view>
320
         </view>
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
         </view>
318
         </view>
324
       </view>
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 Datei anzeigen

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 Datei anzeigen

1
-import React, { useState } from 'react'
1
+import React, { } from 'react'
2
 import AddYeZhuRenZheng from '@/components/AddYeZhuRenZheng'
2
 import AddYeZhuRenZheng from '@/components/AddYeZhuRenZheng'
3
+import { ScrollView } from '@tarojs/components'
4
+import { useModel } from '@/store'
3
 import '@/assets/css/reset.less'
5
 import '@/assets/css/reset.less'
4
 import '@/assets/css/iconfont.less'
6
 import '@/assets/css/iconfont.less'
5
 import './index.less'
7
 import './index.less'
6
 
8
 
7
 export default function YeZhuRenZhengPopup (props) {
9
 export default function YeZhuRenZhengPopup (props) {
8
 
10
 
11
+  const { user } = useModel('user')
9
   const { Show = false, Close = () => { } } = props
12
   const { Show = false, Close = () => { } } = props
10
 
13
 
11
   return (
14
   return (
12
     <view className={Show ? 'YeZhuRenZhengPopup active' : 'YeZhuRenZhengPopup'}>
15
     <view className={Show ? 'YeZhuRenZhengPopup active' : 'YeZhuRenZhengPopup'}>
13
       <view className='centerLabel'>
16
       <view className='centerLabel'>
14
         <view>
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
         </view>
33
         </view>
22
       </view>
34
       </view>
23
     </view>
35
     </view>

+ 18
- 1
src/components/YeZhuRenZhengPopup/index.less Datei anzeigen

6
   bottom: 0;
6
   bottom: 0;
7
   background: rgba(0, 0, 0, 0.8);
7
   background: rgba(0, 0, 0, 0.8);
8
   display: none;
8
   display: none;
9
+  z-index: 200000;
9
 
10
 
10
   &.active {
11
   &.active {
11
     display: block;
12
     display: block;
19
       position: relative;
20
       position: relative;
20
       overflow: hidden;
21
       overflow: hidden;
21
 
22
 
22
-      >scroll-view {
23
+      scroll-view {
23
         padding: 30px 0;
24
         padding: 30px 0;
24
         background: #fff;
25
         background: #fff;
25
         border-radius: 10px;
26
         border-radius: 10px;
28
         overflow-y: scroll;
29
         overflow-y: scroll;
29
         -webkit-overflow-scrolling: touch;
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 Datei anzeigen

24
   const [showAuthBasic, setShowAuthBasic] = useState(false)
24
   const [showAuthBasic, setShowAuthBasic] = useState(false)
25
   const [showAuthYeZhu, setShowAuthYeZhu] = useState(false)
25
   const [showAuthYeZhu, setShowAuthYeZhu] = useState(false)
26
   const [showAuthPhone, setShowAuthPhone] = useState(false)
26
   const [showAuthPhone, setShowAuthPhone] = useState(false)
27
-  const { user, setUser } = useModel('user')
27
+  const { user } = useModel('user')
28
 
28
 
29
   const loading = !user || !user.personId
29
   const loading = !user || !user.personId
30
   const isAuthedBasic = user && user.avatarurl && user.nickname
30
   const isAuthedBasic = user && user.avatarurl && user.nickname
31
   const isAuthedPhone = user && user.phone
31
   const isAuthedPhone = user && user.phone
32
-  const isAuthedYeZhu = user
32
+  const isAuthedYeZhu = user && user.verifyStatus === 'certified'
33
 
33
 
34
   const page = getPage()
34
   const page = getPage()
35
   const needAuthBasic = (page.auth || []).indexOf('avatar') > -1
35
   const needAuthBasic = (page.auth || []).indexOf('avatar') > -1
81
     setShowAuthBasic(needShow)
81
     setShowAuthBasic(needShow)
82
   }, [isAuthedBasic, needAuthBasic, isAuthedPhone, isAuthedYeZhu, needAuthYeZhu])
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
   return (
91
   return (
85
     <Spin loading={loading}>
92
     <Spin loading={loading}>
86
 
93
 
88
       <AdvLayer></AdvLayer>
95
       <AdvLayer></AdvLayer>
89
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
96
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
90
       <GetUserPhone visible={showAuthPhone} onError={err => showError(`授权手机失败: ${err}`)} />
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
         props.children
100
         props.children
94
       }
101
       }

+ 1
- 1
src/pages/WoDe/WoDeRenZheng/index.jsx Datei anzeigen

37
                       <text>{toolclass.FormatDate(item.createDate)}</text>
37
                       <text>{toolclass.FormatDate(item.createDate)}</text>
38
                     </view>
38
                     </view>
39
                     <view>
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
                     </view>
41
                     </view>
42
                   </view>
42
                   </view>
43
                 </view>
43
                 </view>

+ 3
- 3
src/pages/WoDe/YeZhuShenHe/index.jsx Datei anzeigen

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