From 6ecce65da54f4dbc1e13a3c8f94deff2e51e97c0 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 15 五月 2025 15:41:10 +0800
Subject: [PATCH] art: 设备管理-设备处置 报废 基础代码修改

---
 src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue |   80 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 74 insertions(+), 6 deletions(-)

diff --git a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
index 60bea4b..0f35c26 100644
--- a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModal.vue
@@ -20,36 +20,104 @@
     components: {
       ProcessModalForm
     },
+    props: {
+      currentTreeNodeInfo: {
+        type: Object
+      }
+    },
     data() {
       return {
         title: '',
         width: 700,
-        visible: false
+        visible: false,
+        isAddNextLevel: false // 鏄惁涓烘坊鍔犱笅绾э紝浣滀负鏍戣妭鐐规槸鍚﹀睍寮�鐨勫垽鏂�
       }
     },
+    created() {
+      this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod)
+    },
     methods: {
-      add() {
+      /**
+       * 鐐瑰嚮閮ㄤ欢鍒涘缓閮ㄤ欢涓嬬骇宸ュ簭
+       */
+      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
+            })
+          }
         })
       },
-      edit(record) {
+
+      /**
+       * 鐐瑰嚮宸ュ簭娣诲姞鍚岀骇宸ュ簭
+       */
+      handleProcessAdd() {
+        this.isAddNextLevel = false
         this.visible = true
         this.$nextTick(() => {
-          this.$refs.realForm.edit(record)
+          if (this.$refs.realForm) {
+            this.$refs.realForm.add({
+              productId: this.currentTreeNodeInfo.entity.productId,
+              componentId: this.currentTreeNodeInfo.entity.componentId,
+              partsId: this.currentTreeNodeInfo.entity.partsId
+            })
+          }
         })
       },
+
+      // 鍒涘缓宸ヨ壓瑙勭▼鐗堟湰涓嬬骇宸ュ簭
+      handleVersionAddChild() {
+        this.isAddNextLevel = true
+        this.visible = true
+        this.$nextTick(() => {
+          if (this.$refs.realForm) {
+            this.$refs.realForm.add({
+              productId: this.currentTreeNodeInfo.entity.productId,
+              componentId: this.currentTreeNodeInfo.entity.componentId,
+              partsId: this.currentTreeNodeInfo.entity.partsId,
+              psvId: this.currentTreeNodeInfo.id
+            })
+          }
+        })
+      },
+
+      /**
+       * 缂栬緫宸ュ簭淇℃伅
+       */
+      handleProcessEdit() {
+        this.isAddNextLevel = false
+        this.visible = true
+        this.$nextTick(() => {
+          if (this.$refs.realForm) {
+            this.$refs.realForm.edit({ id: this.currentTreeNodeInfo.id, ...this.currentTreeNodeInfo.entity })
+          }
+        })
+      },
+
       handleOk() {
         this.$refs.realForm.submitForm()
       },
+
       submitCallback() {
-        this.$emit('ok')
+        this.$emit('submitSuccess', this.isAddNextLevel)
         this.visible = false
       },
+
       handleCancel() {
         this.$emit('close')
         this.visible = false
+      },
+
+      triggerCorrespondingMethod({ methodName, modalTitle }) {
+        if (this[methodName]) {
+          this[methodName]()
+          this.title = modalTitle
+        }
       }
     }
   }

--
Gitblit v1.9.3