Yansen 2 년 전
부모
커밋
49e15b52c7
5개의 변경된 파일42개의 추가작업 그리고 13개의 파일을 삭제
  1. 1
    1
      src/components/layout/index.jsx
  2. 34
    8
      src/pages/index/index.jsx
  3. 2
    2
      src/pages/mine/components/Item.jsx
  4. 2
    2
      src/pages/mine/components/List.jsx
  5. 3
    0
      src/services/bind.js

+ 1
- 1
src/components/layout/index.jsx 파일 보기

@@ -15,7 +15,7 @@ export default (props) => {
15 15
     ]
16 16
 
17 17
     const url = tabPage[index];
18
-    Taro.redirectTo({ url });
18
+    Taro.reLaunch({ url });
19 19
   }
20 20
 
21 21
   return (

+ 34
- 8
src/pages/index/index.jsx 파일 보기

@@ -3,15 +3,19 @@ import Taro from '@tarojs/taro';
3 3
 import { View } from '@tarojs/components';
4 4
 import Uploader from '@/components/Uploader';
5 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 8
 import useRequest from '@/utils/useRequest';
9 9
 import './index.less'
10 10
 
11 11
 export default (props) => {
12 12
   const form = Form.useForm();
13
+  const { params } = Taro.useRouter();
14
+  const { id } = params;
15
+  const [disabled, setDisabled] = React.useState(false);
13 16
 
14 17
   const [loading, request] = useRequest(saveBind);
18
+  const [loading2, request2] = useRequest(updateBind);
15 19
 
16 20
   const onScan = () => {
17 21
     Taro.scanCode({
@@ -27,16 +31,38 @@ export default (props) => {
27 31
   const onFinish = (errs, values) => {
28 32
     console.log(errs, values);
29 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 61
   return (
39 62
     <Layout active={0}>
63
+      {
64
+        disabled && <NoticeBar text="车辆信息已入库, 禁止编辑" />
65
+      }      
40 66
       <Form className="bind-form" form={form} onFinish={onFinish}>
41 67
         <FormItem
42 68
           required
@@ -90,7 +116,6 @@ export default (props) => {
90 116
           <Field placeholder="请输入" clearable />
91 117
         </FormItem>
92 118
         <FormItem
93
-          required
94 119
           label="身 份 证"
95 120
           name="idCard"
96 121
           validateTrigger="onBlur"
@@ -102,7 +127,8 @@ export default (props) => {
102 127
             block
103 128
             type="primary"
104 129
             formType="submit"
105
-            loading={loading}
130
+            loading={loading || loading2}
131
+            disabled={disabled}
106 132
           >
107 133
             提交
108 134
           </Button>

+ 2
- 2
src/pages/mine/components/Item.jsx 파일 보기

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

+ 2
- 2
src/pages/mine/components/List.jsx 파일 보기

@@ -53,9 +53,9 @@ export default (props) => {
53 53
       scrollDirection === 'forward' &&
54 54
       // 5 = (列表高度 / 单项列表高度)
55 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 파일 보기

@@ -1,5 +1,8 @@
1 1
 import request from "@/utils/request";
2 2
 
3 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 6
 export const getBoundList = params => request('/tcBind', { params });
7
+
8
+export const getBoundDetail = id => request(`/tcBind/${id}`);