张延森 пре 3 година
родитељ
комит
e53da8448c

+ 13
- 0
src/components/Form/FormItem.jsx Прегледај датотеку

@@ -0,0 +1,13 @@
1
+import { Slot } from '@tarojs/components';
2
+import FieldLabel from './FieldLabel'
3
+
4
+export default function (props) {
5
+  const { title, required = false } = props
6
+
7
+  return (
8
+    <mp-cell>
9
+      <Slot name='title'><FieldLabel required={required}>{title}</FieldLabel></Slot>
10
+      {props.children}
11
+    </mp-cell>
12
+  )
13
+}

+ 27
- 39
src/pages/setDogInfo/index.jsx Прегледај датотеку

@@ -1,8 +1,8 @@
1
-import { View, Button, Slot, Picker, Input, ScrollView } from '@tarojs/components'
1
+import { View, Button, Picker, Input, ScrollView } from '@tarojs/components'
2 2
 import Taro, { useRouter } from '@tarojs/taro';
3 3
 import { useState, useEffect } from 'react';
4 4
 import Form from '@/components/Form';
5
-import FieldLabel from '@/components/Form/FieldLabel'
5
+import FormItem from '@/components/Form/FormItem'
6 6
 import { addDogInfo, getDogInfo, getDogType, setDogInfo } from '@/services/dogAPI';
7 7
 import { useModel } from '@/store'
8 8
 import { handleFile } from '@/utils/request';
@@ -19,7 +19,6 @@ const rules = {
19 19
 
20 20
 export default (props) => {
21 21
   const {dogs, setDogs} = useModel('userData')
22
-  const [dogDate, setDogDate] = useState({ birthday: '请选择生日', sex: '请选择性别', petType: '请选择犬种' })
23 22
   const [dogType, setDogType] = useState([])
24 23
   const [formData, setFormData] = useState()
25 24
 
@@ -35,7 +34,6 @@ export default (props) => {
35 34
     if (petId) {
36 35
       getDogInfo(petId).then((e) => {
37 36
         setFormData(e)
38
-        setDogDate(e)
39 37
       })
40 38
     }
41 39
     return;
@@ -97,41 +95,31 @@ export default (props) => {
97 95
     <ScrollView scrollY style={{ height: '100vh' }}>
98 96
       <View class='page' >
99 97
         <Form rules={rules} onSubmit={formSubmit}>
100
-          <mp-form>
101
-            <mp-cells>
102
-              <mp-cell>
103
-                <Slot name='title'><FieldLabel required>狗狗名称</FieldLabel></Slot>
104
-                <Input name='name' value={formData?.name} placeholder='请输入狗狗名称' />
105
-              </mp-cell>
106
-              <mp-cell>
107
-                <Slot name='title'><FieldLabel required>狗狗性别</FieldLabel></Slot>
108
-                <s-picker name='sex' rangeKey='text' rangeValue='value' range={dogSex} value={formData?.sex} />
109
-              </mp-cell>
110
-              <mp-cell>
111
-                <Slot name='title'><FieldLabel required>犬种</FieldLabel></Slot>
112
-                <s-picker name='petType' rangeKey='text' rangeValue='value' range={dogType} value={formData?.petType} />
113
-              </mp-cell>
114
-              <mp-cell>
115
-                <Slot name='title'><FieldLabel required>生日</FieldLabel></Slot>
116
-                <Picker name='birthday' mode='date' onChange={handleBirthday}>
117
-                  { formData?.birthday ? (
118
-                    <View className='picker'>
119
-                      {formData?.birthday }
120
-                    </View>
121
-                    ) : <View style={{ color: '#858585' }}>请选择...</View>
122
-                  }
123
-                </Picker>
124
-              </mp-cell>
125
-              <mp-cell>
126
-                <Slot name='title'><FieldLabel required>毛色</FieldLabel></Slot>
127
-                <Input name='color' placeholder='请输入毛色' value={formData?.color} />
128
-              </mp-cell>
129
-              <mp-cell>
130
-                <Slot name='title'><FieldLabel required>狗狗照片</FieldLabel></Slot>
131
-                <uploader name='image' value={formData?.image} onFile={handleFile} />
132
-              </mp-cell>
133
-            </mp-cells>
134
-          </mp-form>
98
+          <FormItem title='狗狗名称' required>
99
+            <Input name='name' value={formData?.name} placeholder='请输入狗狗名称' />
100
+          </FormItem>
101
+          <FormItem title='狗狗性别' required>
102
+            <s-picker name='sex' rangeKey='text' rangeValue='value' range={dogSex} value={formData?.sex} />
103
+          </FormItem>
104
+          <FormItem title='犬种' required>
105
+            <s-picker name='petType' rangeKey='text' rangeValue='value' range={dogType} value={formData?.petType} />
106
+          </FormItem>
107
+          <FormItem title='生日' required>
108
+            <Picker name='birthday' mode='date' onChange={handleBirthday}>
109
+              { formData?.birthday ? (
110
+                <View className='picker'>
111
+                  {formData?.birthday }
112
+                </View>
113
+                ) : <View style={{ color: '#858585' }}>请选择...</View>
114
+              }
115
+            </Picker>
116
+          </FormItem>
117
+          <FormItem title='毛色' required>
118
+            <Input name='color' placeholder='请输入毛色' value={formData?.color} />
119
+          </FormItem>
120
+          <FormItem title='狗狗照片' required>
121
+            <uploader name='image' value={formData?.image} onFile={handleFile} />
122
+          </FormItem>
135 123
           <View slot='button' style={{ margin: '4em 0 2em 0' }}>
136 124
             <Button style={{ backgroundColor: '#fbd804', borderRadius: '40px', color: '#000', border: '0px' }} class='weui-btn' type='primary' loading={false} formType='submit'>确定</Button>
137 125
           </View>

+ 1
- 1
src/pages/setDogLicense/index.config.js Прегледај датотеку

@@ -10,8 +10,8 @@ export default {
10 10
     "mp-form-page": "weui-miniprogram/form-page/form-page",
11 11
     "mp-form": "weui-miniprogram/form/form",
12 12
     "mp-dialog": "weui-miniprogram/dialog/dialog",
13
+    "mp-toptips": "weui-miniprogram/toptips/toptips",
13 14
     "s-picker": "../../components/s-picker/index"
14
-
15 15
   }
16 16
 
17 17
 }

+ 10
- 6
src/pages/setDogLicense/index.jsx Прегледај датотеку

@@ -1,14 +1,14 @@
1
-import { View, Button, Text, RadioGroup, Picker, Image, Input, Radio, Label, ScrollView } from '@tarojs/components'
2
-import Taro, { useDidShow } from '@tarojs/taro';
1
+import { View, Button, Text, RadioGroup, Picker, Image, Input, Radio, Label, ScrollView, Slot } from '@tarojs/components'
2
+import Taro, { useDidShow, useRouter } from '@tarojs/taro';
3 3
 import { useState } from 'react';
4 4
 import Form from '@/components/Form';
5
+import FieldLabel from '@/components/Form/FieldLabel';
5 6
 import AuthProfile from '@/components/Authorize/AuthProfile';
6
-
7
-import { addDogList, addlication, getDogInfo } from '../../services/dogAPI';
8
-import { useModel } from '../../store';
7
+import { addDogList, addlication, getDogInfo } from '@/services/dogAPI';
8
+import { uploadFile } from '@/utils/request';
9
+import { useModel } from '@/store';
9 10
 
10 11
 import './style.less'
11
-import { uploadFile } from '../../utils/request';
12 12
 
13 13
 export default (props) => {
14 14
   const { dogs, person } = useModel('userData')
@@ -17,6 +17,9 @@ export default (props) => {
17 17
   const [dogDate, setDogDate] = useState({ immunizationDate: '请选择日期', petBirthday: '请选择生日', petSex: [], petType: [] })
18 18
   const [imgUrl, setImgUrl] = useState({ img1: null, immunizationImg: null })
19 19
   const [mainDog, setMainDog] = useState([])
20
+
21
+
22
+
20 23
   useDidShow(() => {
21 24
     addDogList().then((res) => {
22 25
       setMainDog(res.records)
@@ -152,6 +155,7 @@ export default (props) => {
152 155
           <mp-form  >
153 156
             <mp-cells >
154 157
               <mp-cell title='犬主姓名' extClass=''>
158
+                <Slot><FieldLabel></FieldLabel> </Slot>
155 159
                 <View >{person?.nickName}</View>
156 160
               </mp-cell>
157 161
               <mp-cell title='狗狗名称' extClass=''>

+ 16
- 25
src/pages/setUser/index.jsx Прегледај датотеку

@@ -5,7 +5,7 @@ import { setPersons } from '@/services/dogAPI';
5 5
 import { useModel } from '@/store';
6 6
 import { handleFile } from '@/utils/request';
7 7
 import Form from '@/components/Form';
8
-import FieldLabel from '@/components/Form/FieldLabel';
8
+import FormItem from '@/components/Form/FormItem'
9 9
 
10 10
 import './style.less'
11 11
 
@@ -63,30 +63,21 @@ export default (props) => {
63 63
     <ScrollView scrollY style={{ height: '100vh' }}>
64 64
       <View class='page' >
65 65
         <Form rules={rules} onSubmit={formSubmit}>
66
-          <mp-form>
67
-            <mp-cells>
68
-              <mp-cell>
69
-                <Slot name='title'><FieldLabel required>姓名</FieldLabel></Slot>
70
-                <Input name='nickName' placeholder='请输入姓名' value={person?.nickName} />
71
-              </mp-cell>
72
-              <mp-cell>
73
-                <Slot name='title'><FieldLabel required>性别</FieldLabel></Slot>
74
-                <s-picker name='sex' rangeKey='text' rangeValue='value' range={userSex} value={person?.sex} />
75
-              </mp-cell>
76
-              <mp-cell>
77
-                <Slot name='title'><FieldLabel required>手机号</FieldLabel></Slot>
78
-                <Input name='phone' type='number' placeholder='请输入手机号' maxlength={11} value={person?.phone} />
79
-              </mp-cell>
80
-              <mp-cell>
81
-                <Slot name='title'><FieldLabel required>身份证号</FieldLabel></Slot>
82
-                <Input name='idCard' placeholder='请输入身份证号' type='idcard' maxlength={18} value={person?.idCard} />
83
-              </mp-cell>
84
-              <mp-cell>
85
-                <Slot name='title'><FieldLabel required>身份证图片</FieldLabel></Slot>
86
-                <uploader name='cardImg1' value={person?.cardImg1} onFile={handleFile} />
87
-              </mp-cell>
88
-            </mp-cells>
89
-          </mp-form>
66
+          <FormItem title='姓名' required>
67
+            <Input name='nickName' placeholder='请输入姓名' value={person?.nickName} />
68
+          </FormItem>
69
+          <FormItem title='性别' required>
70
+            <s-picker name='sex' rangeKey='text' rangeValue='value' range={userSex} value={person?.sex} />
71
+          </FormItem>
72
+          <FormItem title='手机号' required>
73
+            <Input name='phone' type='number' placeholder='请输入手机号' maxlength={11} value={person?.phone} />
74
+          </FormItem>
75
+          <FormItem title='身份证号' required>
76
+            <Input name='idCard' placeholder='请输入身份证号' type='idcard' maxlength={18} value={person?.idCard} />
77
+          </FormItem>
78
+          <FormItem title='身份证图片' required>
79
+            <uploader name='cardImg1' value={person?.cardImg1} onFile={handleFile} />
80
+          </FormItem>
90 81
           <View style={{ margin: '4em 0 2em 0' }}>
91 82
             <Button style={{ backgroundColor: '#fbd804', borderRadius: '40px', color: '#000', border: '0px' }} class='weui-btn' type='primary' loading={false} formType='submit'>确定</Button>
92 83
           </View>