tangning 6 months ago
parent
commit
5531b8a310
3 changed files with 75 additions and 37 deletions
  1. 11 1
      src/api/equity/index.ts
  2. 59 15
      src/views/work/checkModel.vue
  3. 5 21
      src/views/work/recoveryModal.vue

+ 11 - 1
src/api/equity/index.ts

@@ -14,6 +14,7 @@ enum Api {
   listExport = '/service/sale/repairInfo/exportRepairInfo',
   listExport = '/service/sale/repairInfo/exportRepairInfo',
   treeItem = '/service/sale/dict/tree/',
   treeItem = '/service/sale/dict/tree/',
   treeList = '/service/sale/dict/list/',
   treeList = '/service/sale/dict/list/',
+  faultTree = '/service/sale/fault/tree/',
 }
 }
 
 
 export const listApi = (params: listParams) =>
 export const listApi = (params: listParams) =>
@@ -102,9 +103,18 @@ export const cameraIncrementLog = (params: checkParams) =>
       ignoreCancelToken: true,
       ignoreCancelToken: true,
     },
     },
   });
   });
+export const faultTree = (dictKey) =>
+  defHttp.get<dincrementResult>({
+    url: Api.faultTree + dictKey,
+    params: {},
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
 export const treeItem = (dictKey) =>
 export const treeItem = (dictKey) =>
   defHttp.get<dincrementResult>({
   defHttp.get<dincrementResult>({
-    url: Api.treeItem + dictKey,
+    url: dictKey == 'fault-type' ? '/service/sale/fault/tree' : Api.treeItem + dictKey,
     params: {},
     params: {},
     headers: {
     headers: {
       // @ts-ignore
       // @ts-ignore

+ 59 - 15
src/views/work/checkModel.vue

@@ -36,7 +36,7 @@
   import { partAllList, faultAllList, checkRegister, checkRegisterInfo } from '/@/api/spares';
   import { partAllList, faultAllList, checkRegister, checkRegisterInfo } from '/@/api/spares';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { uploadApi } from '/@/api/product/index';
   import { uploadApi } from '/@/api/product/index';
-  import { treeItem } from '/@/api/equity/index';
+  import { treeItem, faultTree } from '/@/api/equity/index';
 
 
   const { t } = useI18n();
   const { t } = useI18n();
   export default defineComponent({
   export default defineComponent({
@@ -83,16 +83,16 @@
         {
         {
           field: 'faultIds',
           field: 'faultIds',
           component: 'ApiCascader',
           component: 'ApiCascader',
-          label: '故障类型',
           required: true,
           required: true,
+          label: '维修物品',
           componentProps: ({ formModel }) => {
           componentProps: ({ formModel }) => {
             return {
             return {
-              placeholder: '请选择故障类型',
+              placeholder: '请选择维修物品',
               api: async function () {
               api: async function () {
-                return await treeItem('fault-type');
+                return await faultTree('V2');
               },
               },
-              labelField: 'name',
-              valueField: 'id',
+              labelField: 'faultMsg',
+              valueField: 'faultId',
               immediate: true,
               immediate: true,
               multiple: true,
               multiple: true,
               isLeaf: (val) => {
               isLeaf: (val) => {
@@ -101,9 +101,43 @@
             };
             };
           },
           },
           colProps: {
           colProps: {
-            span: 18,
+            span: 12,
           },
           },
         },
         },
+        // {
+        //   field: 'faultIds',
+        //   component: 'ApiCascader',
+        //   label: '故障类型',
+        //   required: true,
+        //   componentProps: ({ formModel }) => {
+        //     return {
+        //       placeholder: '请选择故障类型',
+        //       api: async function () {
+        //         // return await faultTree('V2');
+        //         return await treeItem('repair-item');
+        //       },
+        //       // labelField: 'faultMsg',
+        //       // valueField: 'faultId',
+        //       // fieldNames: {
+        //       //   label: 'faultMsg',
+        //       //   value: 'faultId',
+        //       //   children: 'children',
+        //       // },
+        //       // immediate: true,
+        //       // multiple: true,
+        //       labelField: 'name',
+        //       valueField: 'id',
+        //       immediate: true,
+        //       multiple: true,
+        //       isLeaf: (val) => {
+        //         return !val.children;
+        //       },
+        //     };
+        //   },
+        //   colProps: {
+        //     span: 18,
+        //   },
+        // },
         {
         {
           field: 'defineDamage',
           field: 'defineDamage',
           component: 'RadioGroup',
           component: 'RadioGroup',
@@ -189,7 +223,7 @@
         },
         },
       });
       });
       onMounted(() => {});
       onMounted(() => {});
-      getFaultList();
+      // getFaultList();
       let addListFunc = () => {};
       let addListFunc = () => {};
       const [register, { closeModal }] = useModalInner((data) => {
       const [register, { closeModal }] = useModalInner((data) => {
         data && onDataReceive(data);
         data && onDataReceive(data);
@@ -224,18 +258,27 @@
             backfill[`partCount${index + b}`] = ele.partCount;
             backfill[`partCount${index + b}`] = ele.partCount;
             add();
             add();
           });
           });
-          backfill.faultIds = res.faultIds;
+          backfill.faultIds = res.faultIds//.map(ele => [ele]);
           backfill.defineDamage = res.defineDamage;
           backfill.defineDamage = res.defineDamage;
           backfill.checkResult = res.checkResult;
           backfill.checkResult = res.checkResult;
           backfill.checkImg = res.checkImg;
           backfill.checkImg = res.checkImg;
         }
         }
         updateSchema([
         updateSchema([
-          // {
-          //   field: 'faultIds',
-          //   componentProps: {
-          //     options: fileFlow.faultList,
-          //   },
-          // },
+          {
+            field: 'faultIds',
+            componentProps: {
+              api: async function () {
+                return await faultTree(data.faultVersion || 'V2');
+              },
+              labelField: 'faultMsg',
+              valueField: 'faultId',
+              immediate: true,
+              multiple: true,
+              isLeaf: (val) => {
+                return !val.children;
+              },
+            },
+          },
           {
           {
             field: 'damage',
             field: 'damage',
             ifShow: data.warrantyType == 0,
             ifShow: data.warrantyType == 0,
@@ -345,6 +388,7 @@
           console.log('params', params, partList);
           console.log('params', params, partList);
           await checkRegister({
           await checkRegister({
             ...params,
             ...params,
+            faultIds: params.faultIds.map((ele) => ele[ele.length - 1]),
             partList,
             partList,
           });
           });
           clearInfo(false);
           clearInfo(false);

+ 5 - 21
src/views/work/recoveryModal.vue

@@ -18,7 +18,7 @@
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { supplyOrderList, getByRoleType, recording } from '/@/api/spares';
   import { supplyOrderList, getByRoleType, recording } from '/@/api/spares';
   import { uploadApi } from '/@/api/product/index';
   import { uploadApi } from '/@/api/product/index';
-  import { treeList, treeItem } from '/@/api/equity/index';
+  import { treeList, treeItem, faultTree } from '/@/api/equity/index';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useI18n } from '/@/hooks/web/useI18n';
   const { t } = useI18n();
   const { t } = useI18n();
   export default defineComponent({
   export default defineComponent({
@@ -121,7 +121,7 @@
           },
           },
         },
         },
         {
         {
-          field: 'ApiCascader',
+          field: 'faultIds',
           component: 'ApiCascader',
           component: 'ApiCascader',
           required: true,
           required: true,
           label: '维修物品',
           label: '维修物品',
@@ -129,10 +129,10 @@
             return {
             return {
               placeholder: '请选择维修物品',
               placeholder: '请选择维修物品',
               api: async function () {
               api: async function () {
-                return await treeItem('repair-item');
+                return await faultTree('V2');
               },
               },
-              labelField: 'name',
-              valueField: 'id',
+              labelField: 'faultMsg',
+              valueField: 'faultId',
               immediate: true,
               immediate: true,
               multiple: true,
               multiple: true,
               isLeaf: (val) => {
               isLeaf: (val) => {
@@ -140,22 +140,6 @@
               },
               },
             };
             };
           },
           },
-          // componentProps: {
-          //   maxLength: 50,
-          //   width: '100%',
-          //   api: async function () {
-          //     return await treeItem('repair-item');
-          //   },
-          //   multiple: true,
-          //   // numberToString: true,
-          //   labelField: 'name',
-          //   valueField: 'id',
-          //   immediate: true,
-          //   maxTagCount: 'responsive',
-          //   isLeaf: (val) => {
-          //     return !val.children;
-          //   },
-          // },
           colProps: {
           colProps: {
             span: 12,
             span: 12,
           },
           },