From 5ffe205b81d80bff5f64c9799f54d4309b86369d Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期一, 20 一月 2025 15:11:25 +0800
Subject: [PATCH] 产品结构树页面新增NC程序指派到设备功能

---
 src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue |   84 +++++++++++++++++++++++++++++++++---------
 1 files changed, 66 insertions(+), 18 deletions(-)

diff --git a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
index 9f265d2..3d5c716 100644
--- a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
@@ -8,11 +8,12 @@
     @ok="handleOk"
     @cancel="handleCancel"
     cancelText="鍏抽棴">
-    <ProcessModalForm ref="realForm" @ok="submitCallback"/>
+    <ProcessModalForm ref="realForm" @ok="submitCallback" :allDeviceList="allDeviceList"/>
   </j-modal>
 </template>
 
 <script>
+  import dncApi from '@/api/dnc'
   import ProcessModalForm from './ProcessModalForm.vue'
 
   export default {
@@ -29,46 +30,90 @@
       return {
         title: '',
         width: 700,
-        visible: false
+        visible: false,
+        allDeviceList: [],
+        isAddNextLevel: false // 鏄惁涓烘坊鍔犱笅绾э紝浣滀负鏍戣妭鐐规槸鍚﹀睍寮�鐨勫垽鏂�
+      }
+    },
+    watch: {
+      visible: {
+        handler(value) {
+          if (value) this.getAllDeviceListByApi()
+        }
       }
     },
     created() {
       this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod)
     },
     methods: {
+      getAllDeviceListByApi() {
+        dncApi.getAllDeviceListApi()
+          .then(res => {
+            if (res.success) this.allDeviceList = res.list
+          })
+      },
+
       /**
-       * 鍒涘缓
-       * @param modalTitle
+       * 鐐瑰嚮閮ㄤ欢鍒涘缓閮ㄤ欢涓嬬骇宸ュ簭
        */
-      handleComponentAddRelative(modalTitle) {
-        this.title = modalTitle
+      handleComponentAddRelative() {
+        this.isAddNextLevel = true
         this.visible = true
         this.$nextTick(() => {
-          this.$refs.realForm.add()
+          if (this.$refs.realForm) {
+            this.$refs.realForm.add({
+              productId: this.currentTreeNodeInfo.entity.productId,
+              componentId: this.currentTreeNodeInfo.entity.componentId
+            })
+          }
         })
       },
 
-      handleProcessAdd(modalTitle) {
-        this.title = modalTitle
+
+      /**
+       * 鐐瑰嚮闆朵欢鍒涘缓闆朵欢涓嬬骇宸ュ簭
+       */
+      handlePartsAddRelative() {
+        this.isAddNextLevel = true
         this.visible = true
         this.$nextTick(() => {
-          this.$refs.realForm.add()
+          if (this.$refs.realForm) {
+            this.$refs.realForm.add({
+              productId: this.currentTreeNodeInfo.entity.productId,
+              componentId: this.currentTreeNodeInfo.entity.componentId,
+              partsId: this.currentTreeNodeInfo.entity.partsId
+            })
+          }
         })
       },
 
-      handlePartsAddRelative(modalTitle) {
-        this.title = modalTitle
+      /**
+       * 鐐瑰嚮宸ュ簭娣诲姞鍚岀骇宸ュ簭
+       */
+      handleProcessAdd() {
+        this.isAddNextLevel = false
         this.visible = true
         this.$nextTick(() => {
-          this.$refs.realForm.add()
+          if (this.$refs.realForm) {
+            this.$refs.realForm.add({
+              productId: this.currentTreeNodeInfo.entity.productId,
+              componentId: this.currentTreeNodeInfo.entity.componentId,
+              partsId: this.currentTreeNodeInfo.entity.partsId
+            })
+          }
         })
       },
 
-      handleProcessEdit(modalTitle) {
-        this.title = modalTitle
+      /**
+       * 缂栬緫宸ュ簭淇℃伅
+       */
+      handleProcessEdit() {
+        this.isAddNextLevel = false
         this.visible = true
         this.$nextTick(() => {
-          this.$refs.realForm.edit(this.currentTreeNodeInfo.entity)
+          if (this.$refs.realForm) {
+            this.$refs.realForm.edit({ id: this.currentTreeNodeInfo.id, ...this.currentTreeNodeInfo.entity })
+          }
         })
       },
 
@@ -77,7 +122,7 @@
       },
 
       submitCallback() {
-        this.$emit('submitSuccess')
+        this.$emit('submitSuccess', this.isAddNextLevel)
         this.visible = false
       },
 
@@ -87,7 +132,10 @@
       },
 
       triggerCorrespondingMethod({ methodName, modalTitle }) {
-        if (this[methodName]) this[methodName](modalTitle)
+        if (this[methodName]) {
+          this[methodName]()
+          this.title = modalTitle
+        }
       }
     }
   }

--
Gitblit v1.9.3