Yansen 2 years ago
parent
commit
49e15b52c7

+ 1
- 1
src/components/layout/index.jsx View File

15
     ]
15
     ]
16
 
16
 
17
     const url = tabPage[index];
17
     const url = tabPage[index];
18
-    Taro.redirectTo({ url });
18
+    Taro.reLaunch({ url });
19
   }
19
   }
20
 
20
 
21
   return (
21
   return (

+ 34
- 8
src/pages/index/index.jsx View File

3
 import { View } from '@tarojs/components';
3
 import { View } from '@tarojs/components';
4
 import Uploader from '@/components/Uploader';
4
 import Uploader from '@/components/Uploader';
5
 import Layout from '@/components/layout';
5
 import Layout from '@/components/layout';
6
-import { Button, Form, FormItem, Radio, RadioGroup, Icon, Field } from '@antmjs/vantui';
7
-import { saveBind } from '@/services/bind';
6
+import { NoticeBar, Button, Form, FormItem, Radio, RadioGroup, Icon, Field } from '@antmjs/vantui';
7
+import { saveBind, updateBind, getBoundDetail } from '@/services/bind';
8
 import useRequest from '@/utils/useRequest';
8
 import useRequest from '@/utils/useRequest';
9
 import './index.less'
9
 import './index.less'
10
 
10
 
11
 export default (props) => {
11
 export default (props) => {
12
   const form = Form.useForm();
12
   const form = Form.useForm();
13
+  const { params } = Taro.useRouter();
14
+  const { id } = params;
15
+  const [disabled, setDisabled] = React.useState(false);
13
 
16
 
14
   const [loading, request] = useRequest(saveBind);
17
   const [loading, request] = useRequest(saveBind);
18
+  const [loading2, request2] = useRequest(updateBind);
15
 
19
 
16
   const onScan = () => {
20
   const onScan = () => {
17
     Taro.scanCode({
21
     Taro.scanCode({
27
   const onFinish = (errs, values) => {
31
   const onFinish = (errs, values) => {
28
     console.log(errs, values);
32
     console.log(errs, values);
29
     if (!errs) {
33
     if (!errs) {
30
-      request(values).then(res => {
31
-        Taro.switchTab({
32
-          url: '/pages/mine/index',
34
+      if (id) {
35
+        request2(id, values).then(res => {
36
+          Taro.reLaunch({
37
+            url: '/pages/mine/index',
38
+          });
33
         });
39
         });
34
-      });
40
+      } else  {
41
+        request(values).then(res => {
42
+          Taro.reLaunch({
43
+            url: '/pages/mine/index',
44
+          });
45
+        });
46
+      }
35
     }
47
     }
36
   }
48
   }
37
 
49
 
50
+  React.useEffect(() => {
51
+    if (id) {
52
+      getBoundDetail(id).then(res => {
53
+        form.setFields(res);
54
+
55
+        // 如果已经入库, 禁止编辑
56
+        setDisabled(res.status === 1);
57
+      })
58
+    }
59
+  }, [id])
60
+
38
   return (
61
   return (
39
     <Layout active={0}>
62
     <Layout active={0}>
63
+      {
64
+        disabled && <NoticeBar text="车辆信息已入库, 禁止编辑" />
65
+      }      
40
       <Form className="bind-form" form={form} onFinish={onFinish}>
66
       <Form className="bind-form" form={form} onFinish={onFinish}>
41
         <FormItem
67
         <FormItem
42
           required
68
           required
90
           <Field placeholder="请输入" clearable />
116
           <Field placeholder="请输入" clearable />
91
         </FormItem>
117
         </FormItem>
92
         <FormItem
118
         <FormItem
93
-          required
94
           label="身 份 证"
119
           label="身 份 证"
95
           name="idCard"
120
           name="idCard"
96
           validateTrigger="onBlur"
121
           validateTrigger="onBlur"
102
             block
127
             block
103
             type="primary"
128
             type="primary"
104
             formType="submit"
129
             formType="submit"
105
-            loading={loading}
130
+            loading={loading || loading2}
131
+            disabled={disabled}
106
           >
132
           >
107
             提交
133
             提交
108
           </Button>
134
           </Button>

+ 2
- 2
src/pages/mine/components/Item.jsx View File

4
 import './style.less'
4
 import './style.less'
5
 
5
 
6
 export default (props) => {
6
 export default (props) => {
7
-  const { data } = props;
7
+  const { data, onClick } = props;
8
 
8
 
9
   return (
9
   return (
10
     <View className="device-card">
10
     <View className="device-card">
15
           src={data?.machineryThumb}
15
           src={data?.machineryThumb}
16
         />
16
         />
17
       </View>
17
       </View>
18
-      <View className="device-card-body">        
18
+      <View className="device-card-body" onClick={onClick}>        
19
         <Row>
19
         <Row>
20
           <Col span={16}>
20
           <Col span={16}>
21
             <View className="device-card-title">{ data?.machineryName }</View>
21
             <View className="device-card-title">{ data?.machineryName }</View>

+ 2
- 2
src/pages/mine/components/List.jsx View File

53
       scrollDirection === 'forward' &&
53
       scrollDirection === 'forward' &&
54
       // 5 = (列表高度 / 单项列表高度)
54
       // 5 = (列表高度 / 单项列表高度)
55
       // 100 = 滚动提前加载量,可根据样式情况调整
55
       // 100 = 滚动提前加载量,可根据样式情况调整
56
-      scrollOffset > ((dataLen - Math.ceil(height / itemSize) ) * itemSize + 100)
56
+      scrollOffset > ((dataLen - Math.floor(height / itemSize) ) * itemSize - 50)
57
     ) {
57
     ) {
58
-      queryData({ pageNum: pageInfo.current + 1 , pageSize: 10 })
58
+      queryData({ pageNum: pageInfo.current + 1 , pageSize: 6 })
59
     }
59
     }
60
   }
60
   }
61
 
61
 

+ 3
- 0
src/services/bind.js View File

1
 import request from "@/utils/request";
1
 import request from "@/utils/request";
2
 
2
 
3
 export const saveBind = data => request('/tcBind', { method: 'post', data });
3
 export const saveBind = data => request('/tcBind', { method: 'post', data });
4
+export const updateBind = (id, data) => request(`/tcBind/${id}`, { method: 'put', data });
4
 
5
 
5
 export const getBoundList = params => request('/tcBind', { params });
6
 export const getBoundList = params => request('/tcBind', { params });
7
+
8
+export const getBoundDetail = id => request(`/tcBind/${id}`);