From f2d1b5615b05c002ec63db4df7164c9ed3ecc4a3 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期二, 26 八月 2025 16:42:21 +0800
Subject: [PATCH] 1、优化产品结构树以及设备结构树、列表右键菜单重复右键后出现window菜单问题 2、优化产品结构树节点删除后的loading展示时机 3、优化产品以及设备结构树权限配置获取列表时的loading展示时机

---
 src/views/dnc/common/TableContextMenu.vue |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/src/views/dnc/common/TableContextMenu.vue b/src/views/dnc/common/TableContextMenu.vue
index 96406b6..a72765f 100644
--- a/src/views/dnc/common/TableContextMenu.vue
+++ b/src/views/dnc/common/TableContextMenu.vue
@@ -1,5 +1,5 @@
 <template>
-  <a-menu :style="menuStyle" @click="menuItemClick" v-if="menuVisible" mode="vertical">
+  <a-menu :style="menuStyle" @click="menuItemClick" v-if="menuVisible" mode="vertical" @contextmenu="menuContextMenu">
     <template v-for="menuItem in defaultContextMenuList[tableRowInfo.param]">
       <a-menu-item :key="menuItem.code" v-has="menuItem.code" v-if="menuItem.subMenu.length===0">
         <a-icon :type="menuItem.icon"/>
@@ -41,14 +41,22 @@
         },
         currentMenuLevel: '',
         defaultContextMenuList: {
+          //璁惧绫�
+          deviceCustomType: [
+            { label: '缂栬緫璁惧绫讳俊鎭�', code: 'type_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
+            { label: '鍒犻櫎', code: 'type_delete', subMenu: [], icon: 'delete', isCommonMethod: false },
+            { label: '瀵煎叆NC绋嬪簭', code: 'type_nc_import', subMenu: [], icon: 'import', isCommonMethod: true }
+          ],
           //NC鏂囨。
           NC: [
             { label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
             { label: '鎸囨淳鍒拌澶�', code: 'document_assign', subMenu: [], icon: 'cluster', isCommonMethod: false },
-            { label: '瀵煎叆NC绋嬪簭', code: 'document_import', subMenu: [], icon: 'import', isCommonMethod: true },
+            { label: '鎻愬彇鍒�鍏�', code: 'document_extract', subMenu: [], icon: 'tool', isCommonMethod: false },
+            { label: '瀵煎叆NC绋嬪簭', code: 'document_nc_import', subMenu: [], icon: 'import', isCommonMethod: true },
             { label: '涓嬭浇', code: 'document_download', subMenu: [], icon: 'download', isCommonMethod: true },
             { label: '鍒犻櫎', code: 'document_delete', subMenu: [], icon: 'delete', isCommonMethod: true },
-            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: false },
+            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: true },
+            { label: '瀹氬瀷', code: 'document_appoint', subMenu: [], icon: 'swap-right', isCommonMethod: true },
             {
               label: '鐢熷懡鍛ㄦ湡',
               subMenu: [
@@ -62,12 +70,54 @@
               icon: 'hourglass'
             }
           ],
+          //鍏跺畠鏂囨。
           OTHER: [
             { label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
-            { label: '瀵煎叆鏂囨。', code: 'document_import', subMenu: [], icon: 'import', isCommonMethod: true },
+            { label: '瀵煎叆鏂囨。', code: 'document_other_import', subMenu: [], icon: 'import', isCommonMethod: true },
             { label: '涓嬭浇', code: 'document_download', subMenu: [], icon: 'download', isCommonMethod: true },
             { label: '鍒犻櫎', code: 'document_delete', subMenu: [], icon: 'delete', isCommonMethod: true },
-            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: false },
+            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: true },
+            {
+              label: '鐢熷懡鍛ㄦ湡',
+              subMenu: [
+                { label: '鍑哄簱', code: 'document_pull', icon: 'export', isCommonMethod: true },
+                { label: '鍙栨秷鍑哄簱', code: 'document_cancel_pull', icon: 'stop', isCommonMethod: true },
+                { label: '鍏ュ簱', code: 'document_push', icon: 'import', isCommonMethod: true },
+                { label: '鍙戝竷', code: 'document_publish', icon: 'flag', isCommonMethod: true },
+                { label: '閲嶆柊鍙戝竷', code: 'document_republish', icon: 'reload', isCommonMethod: true },
+                { label: '褰掓。', code: 'document_pigeonhole', icon: 'database', isCommonMethod: true }
+              ],
+              icon: 'hourglass'
+            }
+          ],
+          //宸插彂閫佹枃妗�
+          SEND: [
+            { label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
+            { label: '瀵煎叆NC绋嬪簭', code: 'document_nc_import', subMenu: [], icon: 'import', isCommonMethod: true },
+            { label: '涓嬭浇', code: 'document_download', subMenu: [], icon: 'download', isCommonMethod: true },
+            { label: '鍒犻櫎', code: 'document_delete', subMenu: [], icon: 'delete', isCommonMethod: true },
+            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: true },
+            {
+              label: '鐢熷懡鍛ㄦ湡',
+              subMenu: [
+                { label: '鍑哄簱', code: 'document_pull', icon: 'export', isCommonMethod: true },
+                { label: '鍙栨秷鍑哄簱', code: 'document_cancel_pull', icon: 'stop', isCommonMethod: true },
+                { label: '鍏ュ簱', code: 'document_push', icon: 'import', isCommonMethod: true },
+                { label: '鍙戝竷', code: 'document_publish', icon: 'flag', isCommonMethod: true },
+                { label: '閲嶆柊鍙戝竷', code: 'document_republish', icon: 'reload', isCommonMethod: true },
+                { label: '褰掓。', code: 'document_pigeonhole', icon: 'database', isCommonMethod: true }
+              ],
+              icon: 'hourglass'
+            }
+          ],
+          //宸叉帴鏀舵枃妗�
+          REC: [
+            { label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
+            { label: '瀵煎叆NC绋嬪簭', code: 'document_nc_import', subMenu: [], icon: 'import', isCommonMethod: true },
+            { label: '涓嬭浇', code: 'document_download', subMenu: [], icon: 'download', isCommonMethod: true },
+            { label: '鍒犻櫎', code: 'document_delete', subMenu: [], icon: 'delete', isCommonMethod: true },
+            { label: '鎵归噺鍒犻櫎', code: 'document_batch_remove', subMenu: [], icon: 'delete', isCommonMethod: true },
+            { label: '鎸囨淳鍒颁骇鍝�', code: 'document_rec_assign', subMenu: [], icon: 'cluster', isCommonMethod: false },
             {
               label: '鐢熷懡鍛ㄦ湡',
               subMenu: [
@@ -112,11 +162,21 @@
           methodName = 'handle' + menuKeyArray.map(item => item[0].toUpperCase() + item.slice(1)).join('')
         }
         console.log('tableRowInfo---------------------------------------', this.tableRowInfo)
+        console.log('methodName---------------------------------------', methodName)
         this.$bus.$emit('tableMenuItemMethodTrigger', {
           methodName,
           modalTitle,
           tableRowInfo: this.tableRowInfo
         })
+      },
+
+      /**
+       * 閬垮厤鍗曟閲嶅鍙抽敭鍚庡叧闂彍鍗曟垨鎵撳紑window鑿滃崟
+       * @param event 浜嬩欢瀵硅薄
+       */
+      menuContextMenu(event) {
+        event.preventDefault()
+        event.stopPropagation()
       }
     }
   }

--
Gitblit v1.9.3