Parcourir la source

form gegeVies

[baozhangchao] il y a 3 ans
Parent
révision
4c1deb73eb

+ 1
- 0
src/app.js Voir le fichier

31
 
31
 
32
       }
32
       }
33
     })
33
     })
34
+
34
   }
35
   }
35
 
36
 
36
   // this.props.children 是将要会渲染的页面
37
   // this.props.children 是将要会渲染的页面

+ 1
- 1
src/pages/DepartmentSelection/index.jsx Voir le fichier

104
   const onClickItem = ({ detail }) => {
104
   const onClickItem = ({ detail }) => {
105
     const activeIdaa = activeId === detail.id ? null : detail.id
105
     const activeIdaa = activeId === detail.id ? null : detail.id
106
     setActiveId(activeIdaa)
106
     setActiveId(activeIdaa)
107
-    setDeptName(detail?.name)
107
+    setDeptName(detail)
108
     console.log('自己: detail.index || 0', activeId, detail?.name);
108
     console.log('自己: detail.index || 0', activeId, detail?.name);
109
 
109
 
110
   }
110
   }

+ 13
- 9
src/pages/index/index.jsx Voir le fichier

10
 
10
 
11
 export default (props) => {
11
 export default (props) => {
12
   const { deptName, person, formValue } = useModel('userData')
12
   const { deptName, person, formValue } = useModel('userData')
13
+  const [useInfo, setUseInfo] = useState()
13
 
14
 
14
 
15
 
15
   const goUserInfo = () => {
16
   const goUserInfo = () => {
19
     })
20
     })
20
   }
21
   }
21
   useEffect(() => {
22
   useEffect(() => {
22
-    console.log('formValue', formValue);
23
-    if (deptName) {
23
+    setUseInfo(person)
24
+    console.log('person?.idNo', person?.idNo);
25
+    if (!person?.idNo) {
26
+      console.log('没有身份证',);
24
       Taro.showModal({
27
       Taro.showModal({
25
         title: '提示',
28
         title: '提示',
26
         content: '未添加个人信息!',
29
         content: '未添加个人信息!',
27
         showCancel: false,
30
         showCancel: false,
28
         success: function (res) {
31
         success: function (res) {
29
           if (res.confirm) {
32
           if (res.confirm) {
30
-            Taro.redirectTo({
31
-              url: '/pages/setUserInfo/index'
32
-            })
33
+            // Taro.redirectTo({
34
+            //   url: '/pages/setUserInfo/index'
35
+            // })
33
 
36
 
34
           }
37
           }
35
         }
38
         }
36
       })
39
       })
37
 
40
 
41
+    } else {
42
+      console.log('有身份证',);
38
     }
43
     }
39
-
40
-  }, [deptName])
44
+  }, [person])
41
 
45
 
42
   const today = useMemo(() => dayjs().format('YYYY-MM-DD'))
46
   const today = useMemo(() => dayjs().format('YYYY-MM-DD'))
43
 
47
 
47
       {/* <View className='index-UserQRcode-headerInfo' style={{ backgroundImage: `url(${userBck})` }}> */}
51
       {/* <View className='index-UserQRcode-headerInfo' style={{ backgroundImage: `url(${userBck})` }}> */}
48
       <View className='index-UserQRcode-headerInfo' >
52
       <View className='index-UserQRcode-headerInfo' >
49
         <View className='index-UserQRcode-headerInfo-User'>
53
         <View className='index-UserQRcode-headerInfo-User'>
50
-          <View className='index-UserQRcode-headerInfo-User-NameInfo'>姓名:{person?.personName}</View>
54
+          <View className='index-UserQRcode-headerInfo-User-NameInfo'>姓名:{useInfo?.personName}</View>
51
           <View onClick={goUserInfo} className='index-UserQRcode-headerInfo-User-setNameInfo'><Icon name='edit' />修改信息</View>
55
           <View onClick={goUserInfo} className='index-UserQRcode-headerInfo-User-setNameInfo'><Icon name='edit' />修改信息</View>
52
         </View>
56
         </View>
53
-        <View className='index-UserQRcode-headerInfo-UserID'>身份证:{person?.idNo.replace(/^(\d{6})\d+(\d{4})$/, "$1******$2")}</View>
57
+        <View className='index-UserQRcode-headerInfo-UserID'>科室:{useInfo?.deptName}</View>
54
       </View>
58
       </View>
55
       <View className='index-UserQRcode-cententQR'>
59
       <View className='index-UserQRcode-cententQR'>
56
         <View className='index-UserQRcode-cententQR-Barcode'>
60
         <View className='index-UserQRcode-cententQR-Barcode'>

+ 35
- 33
src/pages/setUserInfo/index.jsx Voir le fichier

10
 
10
 
11
 
11
 
12
 export default (props) => {
12
 export default (props) => {
13
-  const [phone, setPhone] = useState('')
13
+  const [phone, setPhone] = useState('18052044111')
14
 
14
 
15
   const { deptName, person, sessionKey, setFormValue, formValue } = useModel('userData')
15
   const { deptName, person, sessionKey, setFormValue, formValue } = useModel('userData')
16
   console.log('formValue', formValue);
16
   console.log('formValue', formValue);
17
   let form = null
17
   let form = null
18
+  useEffect(() => {
19
+    form.getFieldsValue(person)
20
+  }, [person])
18
   const onSubmit = (e) => {
21
   const onSubmit = (e) => {
19
     form.validateFields((errorMessage, fieldValues) => {
22
     form.validateFields((errorMessage, fieldValues) => {
20
       if (errorMessage && errorMessage.length) {
23
       if (errorMessage && errorMessage.length) {
24
+        console.info('fieldValues', fieldValues)
25
+
21
         return console.info('errorMessage', errorMessage)
26
         return console.info('errorMessage', errorMessage)
22
       } else {
27
       } else {
23
-        console.info(fieldValues)
28
+        console.info('fieldValues', fieldValues)
24
         // setFormValue(fieldValues)
29
         // setFormValue(fieldValues)
25
         // Taro.redirectTo({
30
         // Taro.redirectTo({
26
         //   url: '/pages/index/index'
31
         //   url: '/pages/index/index'
27
         // })
32
         // })
28
-        setUserInfo({ ...fieldValues, person: person?.personId }).then(() => {
29
-          setFormValue(fieldValues)
30
-
31
-          Taro.showToast({
32
-            title: '保存成功',
33
-            icon: 'none',
34
-            duration: 2000
35
-          }).then(() => {
36
-            Taro.redirectTo({
37
-              url: '/pages/index/index'
38
-            })
39
-          })
33
+        // setUserInfo({ ...fieldValues, person: person?.personId, deptCode: deptName?.id }).then(() => {
34
+        //   // setFormValue(fieldValues)
35
+
36
+        //   Taro.showToast({
37
+        //     title: '保存成功',
38
+        //     icon: 'none',
39
+        //     duration: 2000
40
+        //   }).then(() => {
41
+        //     Taro.redirectTo({
42
+        //       url: '/pages/index/index'
43
+        //     })
44
+        //   })
40
 
45
 
41
-        })
46
+        // })
42
 
47
 
43
       }
48
       }
44
     })
49
     })
45
-
46
-
47
   }
50
   }
51
+
48
   const goDepartmen = () => {
52
   const goDepartmen = () => {
49
     Taro.navigateTo({
53
     Taro.navigateTo({
50
       url: '/pages/DepartmentSelection/index'
54
       url: '/pages/DepartmentSelection/index'
51
     })
55
     })
52
 
56
 
53
   }
57
   }
58
+
59
+  useEffect(() => {
60
+    console.log('form', form);
61
+    form.setFields(person)
62
+  }, [person])
63
+
64
+
54
   const getPhone = (e) => {
65
   const getPhone = (e) => {
55
     console.log('deptName', deptName);
66
     console.log('deptName', deptName);
56
     console.log('手机号', e);
67
     console.log('手机号', e);
65
   return (
76
   return (
66
     <View className='page-index'>
77
     <View className='page-index'>
67
       <Form
78
       <Form
68
-        initialValues={{
69
-          // ...formValue,
70
-          // phone: formValue?.phone || phone,
71
-          phone: phone,
72
-          deptName: deptName
73
-
74
-
75
-        }}
76
         ref={(el) => (form = el)}
79
         ref={(el) => (form = el)}
77
         onFinish={(e) => onSubmit(e)}
80
         onFinish={(e) => onSubmit(e)}
78
       >
81
       >
82
           required
85
           required
83
           trigger='onInput'
86
           trigger='onInput'
84
           validateTrigger='onBlur'
87
           validateTrigger='onBlur'
85
-          // taro的input的onInput事件返回对应表单的最终值为e.detail.value
86
           valueFormat={(e) => e.detail.value}
88
           valueFormat={(e) => e.detail.value}
87
         >
89
         >
88
           <Input placeholder='请输入用户名' />
90
           <Input placeholder='请输入用户名' />
94
           required
96
           required
95
           validateTrigger='onBlur'
97
           validateTrigger='onBlur'
96
           valueFormat={(e) => e.detail.value}
98
           valueFormat={(e) => e.detail.value}
97
-        >
98
-          <Input placeholder='请输入手机号' type='number' maxlength={11} disabled value={formValue?.phone || phone} />
99
-          <Button
99
+          renderRight={<Button
100
             plain
100
             plain
101
             hairline
101
             hairline
102
             size='small'
102
             size='small'
106
             onGetPhoneNumber={getPhone}
106
             onGetPhoneNumber={getPhone}
107
           >
107
           >
108
             授权手机
108
             授权手机
109
-          </Button>
109
+          </Button>}
110
+        >
111
+          <Input placeholder='请输入手机号' maxlength={11} disabled />
112
+
113
+
110
         </FormItem>
114
         </FormItem>
111
 
115
 
112
         <FormItem
116
         <FormItem
115
           required
119
           required
116
           trigger='onInput'
120
           trigger='onInput'
117
           validateTrigger='onBlur'
121
           validateTrigger='onBlur'
118
-          // taro的input的onInput事件返回对应表单的最终值为e.detail.value
119
           valueFormat={(e) => e.detail.value}
122
           valueFormat={(e) => e.detail.value}
120
         >
123
         >
121
           <Input placeholder='请输入身份证号' type='number' maxlength={18} />
124
           <Input placeholder='请输入身份证号' type='number' maxlength={18} />
127
           trigger='onInput'
130
           trigger='onInput'
128
           required
131
           required
129
           validateTrigger='onBlur'
132
           validateTrigger='onBlur'
130
-          // taro的input的onInput事件返回对应表单的最终值为e.detail.value
131
           valueFormat={(e) => e.detail.value}
133
           valueFormat={(e) => e.detail.value}
132
         >
134
         >
133
-          <Input placeholder='请选择科室' disabled onClick={goDepartmen} />
135
+          <Input placeholder='请选择科室' onClick={goDepartmen} disabled />
134
         </FormItem>
136
         </FormItem>
135
         <View className='buttom-box'>
137
         <View className='buttom-box'>
136
           <Button
138
           <Button

+ 1
- 1
src/store/userData.js Voir le fichier

8
   const [sessionKey, setSessionKey] = useState()
8
   const [sessionKey, setSessionKey] = useState()
9
   const [userPhoneInfo, setUserPhoneInfo] = useState()
9
   const [userPhoneInfo, setUserPhoneInfo] = useState()
10
   const [deptName, setDeptName] = useState()
10
   const [deptName, setDeptName] = useState()
11
-  const [formValue, setFormValue] = useState({})
11
+  const [formValue, setFormValue] = useState()
12
 
12
 
13
 
13
 
14
 
14