From 74448f9a9f1f8cb779023db3ea9eda762fc6ad0a Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期五, 28 二月 2025 14:29:42 +0800
Subject: [PATCH] 维修工接单、维修

---
 eims-ui/apps/web-antd/src/views/eims/repair-res/repair-res-drawer.vue |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/eims-ui/apps/web-antd/src/views/eims/repair-res/repair-res-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/repair-res/repair-res-drawer.vue
index a38953a..2313d88 100644
--- a/eims-ui/apps/web-antd/src/views/eims/repair-res/repair-res-drawer.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/repair-res/repair-res-drawer.vue
@@ -10,6 +10,7 @@
 import { useVbenForm } from '#/adapter/form';
 import { addRepairRes, getRepairRes, updateRepairRes } from '#/api/eims/repair-res';
 import { getDeptTree, userList } from '#/api/system/user';
+import { REPAIR_RES_STATUS } from '#/constants/dict';
 import reqModal from '#/views/eims/components/repair-req-modal.vue';
 
 import { drawerSchema } from './data';
@@ -44,6 +45,7 @@
 
     drawerApi.drawerLoading(true);
     const { id } = drawerApi.getData() as { id?: number | string };
+    const { action } = drawerApi.getData() as { action?: string };
     const { resUser } = drawerApi.getData() as { resUser?: number | string };
     const { resDept } = drawerApi.getData() as { resDept?: number | string };
     isUpdate.value = !!id;
@@ -70,11 +72,141 @@
         await setupUserOptions(record.resDept);
       }
     }
+    showAllColumns();
+    // 鏍规嵁action 鏄剧ず闅愯棌鍒�
+    if (action && action === REPAIR_RES_STATUS.WEIXIU) {
+      await formApi.setValues({ 'status': REPAIR_RES_STATUS.WEIXIU });
+      showWeixiuColumns();
+    } else if (action && action === REPAIR_RES_STATUS.WANCHENG) {
+      await formApi.setValues({ 'status': REPAIR_RES_STATUS.WANCHENG });
+      showWanchengColumns();
+    }
 
     drawerApi.drawerLoading(false);
   }
 });
 
+function showAllColumns() {
+  const show = true;
+  formApi.updateSchema([
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resReason'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resHandle'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resPrevent'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'status'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'endTime'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resDept'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resUser'
+    }
+  ]);
+}
+function showWeixiuColumns() {
+  const show = false;
+  formApi.updateSchema([
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resReason'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resHandle'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resPrevent'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'status'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'endTime'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resDept'
+    },
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'resUser'
+    }
+  ]);
+}
+function showWanchengColumns() {
+  const show = false;
+  formApi.updateSchema([
+    {
+      dependencies: {
+        show: () => show,
+        triggerFields: ['']
+      },
+      fieldName: 'status'
+    }
+  ]);
+}
+
 const [ReqModal, reqModalApi] = useVbenModal({
   connectedComponent: reqModal,
   draggable: true,

--
Gitblit v1.9.3