Browse Source

feat(device): 多个sn问题

gemercheung 3 years ago
parent
commit
6b3ee297b1
2 changed files with 23 additions and 32 deletions
  1. 22 31
      src/views/devices/AddModal.vue
  2. 1 1
      src/views/devices/list.vue

+ 22 - 31
src/views/devices/AddModal.vue

@@ -2,8 +2,9 @@
   <BasicModal
     v-bind="$attrs"
     @register="register"
-    :title="t('routes.devices.addSubAccount')"
+    title="新增相机"
     @visible-change="handleVisibleChange"
+    @cancel="resetFields"
     @ok="handleSubmit"
   >
     <div class="pt-2px pr-3px">
@@ -64,25 +65,6 @@
             options: [4, 1, 9, 10, 6].map((ele) => {
               return { value: ele, key: ele, label: rendercameraTypeLabel(ele) };
             }),
-            onChange: function (val) {
-              console.log('appendSchemaByField', val);
-              if (val !== 6) {
-                appendSchemaByField(
-                  {
-                    field: 'snCode',
-                    component: 'Input',
-                    label: t('routes.devices.snCode'),
-                    required: true,
-                    colProps: {
-                      span: 24,
-                    },
-                  },
-                  'address',
-                );
-              } else {
-                removeSchemaByFiled('snCode');
-              }
-            },
           },
         },
         {
@@ -111,6 +93,23 @@
           },
         },
         {
+          field: 'snCode',
+          component: 'Input',
+          label: t('routes.devices.snCode'),
+          required: true,
+          ifShow: ({ model }) => {
+            console.log('record', model['cameraType']);
+            if (model['cameraType'] && [4, 1, 9, 10].includes(model['cameraType'])) {
+              return true;
+            } else {
+              return false;
+            }
+          },
+          colProps: {
+            span: 24,
+          },
+        },
+        {
           field: 'balance',
           component: 'Input',
           label: t('routes.devices.balance'),
@@ -147,17 +146,7 @@
           },
         },
       ];
-      const [
-        registerForm,
-        {
-          getFieldsValue,
-          validateFields,
-          appendSchemaByField,
-          removeSchemaByFiled,
-          // setFieldsValue,
-          // setProps
-        },
-      ] = useForm({
+      const [registerForm, { getFieldsValue, validateFields, resetFields }] = useForm({
         labelWidth: 120,
         schemas,
         showActionButtonGroup: false,
@@ -220,6 +209,7 @@
           } else {
             emit('getList');
             closeModal();
+            resetFields();
           }
         } catch (error) {
           console.log('not passing', error);
@@ -239,6 +229,7 @@
         handleVisibleChange,
         handleSubmit,
         addListFunc,
+        resetFields,
         t,
       };
     },

+ 1 - 1
src/views/devices/list.vue

@@ -72,7 +72,7 @@
       const columns: BasicColumn[] = [
         {
           title: t('routes.devices.childName'),
-          dataIndex: 'id',
+          dataIndex: 'childName',
           fixed: 'left',
           width: 100,
         },