From ba9490368b8bf27e0d4a6471420044dadf5b720e Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期二, 21 一月 2025 15:33:42 +0800
Subject: [PATCH] 产品结构树: 1、新增指定文档为当前版本功能与文档版本内容差异比对功能(新增插件vue-code-diff) 2、调整产品及部件属性tab栏标题为属性信息 3、删除产品及部件属性信息中对应层级名称 全局: 调整设置后端接口地址方式由vue.config.js改为env环境文件配置

---
 src/views/dnc/common/TableContextMenu.vue |   94 +++++++++++++++++++++++++---------------------
 1 files changed, 51 insertions(+), 43 deletions(-)

diff --git a/src/views/dnc/common/TableContextMenu.vue b/src/views/dnc/common/TableContextMenu.vue
index b9dcdbe..7b50a4b 100644
--- a/src/views/dnc/common/TableContextMenu.vue
+++ b/src/views/dnc/common/TableContextMenu.vue
@@ -1,7 +1,7 @@
 <template>
   <a-menu :style="menuStyle" @click="menuItemClick" v-if="menuVisible" mode="vertical">
-    <template v-for="menuItem in defaultContextMenuList[currentMenuLevel]">
-      <a-menu-item :key="menuItem.code" v-if="menuItem.show&&menuItem.subMenu.length===0">
+    <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"/>
         {{menuItem.label}}
       </a-menu-item>
@@ -9,7 +9,7 @@
       <a-sub-menu v-if="menuItem.subMenu.length>0">
         <span slot="title"><a-icon :type="menuItem.icon"/><span>{{menuItem.label}}</span></span>
 
-        <a-menu-item v-for="subMenuItem in menuItem.subMenu" :key="subMenuItem.code" v-if="subMenuItem.show"
+        <a-menu-item v-for="subMenuItem in menuItem.subMenu" :key="subMenuItem.code" v-has="subMenuItem.code"
                      style="height: 32px;line-height: 32px">
           <a-icon :type="subMenuItem.icon"/>
           {{subMenuItem.label}}
@@ -41,49 +41,50 @@
         },
         currentMenuLevel: '',
         defaultContextMenuList: {
-          //鏂囨。
-          document: [
-            { show: true, label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
+          //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_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 },
             {
-              show: true,
-              label: '鎸囨淳鍒拌澶�',
-              code: 'document_assign',
-              subMenu: [],
-              icon: 'cluster',
-              isCommonMethod: false
-            },
-            {
-              show: false,
-              label: '瀵煎嚭NC绋嬪簭',
-              code: 'document_export',
-              subMenu: [],
-              icon: 'export',
-              isCommonMethod: true
-            },
-            { show: true, label: '瀵煎叆NC绋嬪簭', code: 'document_import', subMenu: [], icon: 'import', isCommonMethod: true },
-            { show: true, label: '涓嬭浇', code: 'document_download', subMenu: [], icon: 'download', isCommonMethod: true },
-            { show: true, label: '鍒犻櫎', code: 'document_delete', subMenu: [], icon: 'delete', isCommonMethod: true },
-            {
-              show: true,
-              label: '鎵归噺鍒犻櫎',
-              code: 'document_batch_remove',
-              subMenu: [],
-              icon: 'delete',
-              isCommonMethod: false
-            },
-            {
-              show: true,
               label: '鐢熷懡鍛ㄦ湡',
               subMenu: [
-                { show: true, label: '鍑哄簱', code: 'document_pull', icon: 'export', isCommonMethod: false },
-                { show: true, label: '鍙栨秷鍑哄簱', code: 'document_cancel_pull', icon: 'stop', isCommonMethod: false },
-                { show: true, label: '鍏ュ簱', code: 'document_push', icon: 'import', isCommonMethod: true },
-                { show: true, label: '鍙戝竷', code: 'document_publish', icon: 'flag', isCommonMethod: false },
-                { show: true, label: '閲嶆柊鍙戝竷', code: 'document_republish', icon: 'reload', isCommonMethod: false },
-                { show: true, label: '褰掓。', code: 'document_pigeonhole', icon: 'database', isCommonMethod: false }
+                { 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'
             }
+          ],
+          OTHER: [
+            { label: '缂栬緫鏂囨。淇℃伅', code: 'document_edit', subMenu: [], icon: 'edit', isCommonMethod: false },
+            { label: '瀵煎叆鏂囨。', code: 'document_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: '鐢熷懡鍛ㄦ湡',
+              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'
+            }
+          ],
+          //鏂囦欢
+          file: [
+            { label: '鎸囧畾褰撳墠鐗堟湰', code: 'file_assign', subMenu: [], icon: 'export', isCommonMethod: false },//鏂囦欢-鎸囧畾褰撳墠鐗堟湰
+            { label: '姣斿', code: 'file_add_relative', subMenu: [], icon: 'export', isCommonMethod: false }//姣斿
           ]
         }
       }
@@ -91,7 +92,16 @@
     methods: {
       menuItemClick({ item, key }) {
         const menuKeyArray = key.split('_')
-        const isCommonMethod = this.defaultContextMenuList[this.currentMenuLevel].find(item => item.code === key).isCommonMethod
+        const menuArrayItem = this.defaultContextMenuList[this.tableRowInfo.param].find(item => item.code === key)
+        let isCommonMethod, modalTitle
+        if (menuArrayItem) {
+          isCommonMethod = menuArrayItem.isCommonMethod
+          modalTitle = menuArrayItem.label
+        } else {
+          const subMenuArrayItem = this.defaultContextMenuList[this.tableRowInfo.param].find(item => item.subMenu.length > 0).subMenu.find(item => item.code === key)
+          isCommonMethod = subMenuArrayItem.isCommonMethod
+          modalTitle = subMenuArrayItem.label
+        }
         let methodName
         // 鍒ゆ柇鏄惁涓哄叕鍏辨柟娉曪紝濡傛灉涓哄叕鍏辨柟娉曞垯鎴彇涓撴湁灞炴�roduct/component/part/process绛夊瓧娈�
         if (isCommonMethod) {
@@ -101,8 +111,6 @@
           // product_add => handleProcessAdd 瑙﹀彂瀵瑰簲缁勪欢浜嬩欢
           methodName = 'handle' + menuKeyArray.map(item => item[0].toUpperCase() + item.slice(1)).join('')
         }
-        const modalTitle = this.defaultContextMenuList[this.currentMenuLevel].find(item => item.code === key).label
-        console.log('methodName---------------------------------------', methodName)
         console.log('tableRowInfo---------------------------------------', this.tableRowInfo)
         this.$bus.$emit('tableMenuItemMethodTrigger', {
           methodName,

--
Gitblit v1.9.3