From 8fbfac872e852a0ad0dbe04f2b7b69e4cff3c85c Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期三, 19 三月 2025 11:26:24 +0800 Subject: [PATCH] 1、MDC零件加工管理和OEE页面开发100% 2、DNC结构树取消搜索框侧边下拉菜单改为树组件空白处右键菜单 --- src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue | 111 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 82 insertions(+), 29 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue index e67db7c..bfff7df 100644 --- a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue +++ b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue @@ -1,5 +1,5 @@ <template> - <div v-if="+currentTreeNodeInfo.type!==4"> + <div> <a-tabs v-model="activeTabKey" @contextmenu.native="e=>e.preventDefault()" @change="handleTabChange" v-if="Object.keys(currentTreeNodeInfo).length!==0"> <a-tab-pane :key="1" tab="NC绠$悊" v-if="+currentTreeNodeInfo.type===5||+currentTreeNodeInfo.type===6"> @@ -10,7 +10,8 @@ ref="deviceCustomTypeTableList" :currentTreeNodeInfo="currentTreeNodeInfo" @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> - <NcDocumentTableList ref="ncDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo" + <NcDocumentTableList ref="ncDocumentTableListRef" + :currentNCDocumentAttributionInfo="currentNCDocumentAttributionInfo" @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> </div> </a-tab-pane> @@ -55,15 +56,24 @@ isProcessStepHasDeviceTypeList: false, currentRightClickedTableRowInfo: {}, currentTreeNodeInfo: {}, + currentClickedTypeInfo: {}, + currentNCDocumentAttributionInfo: {},//褰撳墠NC鏂囨。鐨勬墍灞炵骇鍗崇埗绾х殑璇︾粏淇℃伅锛堝紩鍏ヨ澶囩被鍚嶯C鎸傝浇鑷宠澶囩被涓嬪弽涔嬪垯鎸傝浇鍦ㄥ伐搴忓拰宸ユ涓嬶級 hasLoadedDataTabKeyArray: [] } }, created() { this.$bus.$on('sendCurrentTreeNodeInfo', this.receiveCurrentTreeNodeInfo) + this.$bus.$on('sendCurrentClickedTypeInfo', this.receiveCurrentClickedTypeInfo) this.$bus.$on('reloadDocumentListData', this.reloadDocumentListData) this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) this.getDeviceTypeListDisplayPermission('dnc_device_type_process', 'isProcessHasDeviceTypeList') this.getDeviceTypeListDisplayPermission('dnc_device_type_step', 'isProcessStepHasDeviceTypeList') + }, + beforeDestroy() { + this.$bus.$off('sendCurrentTreeNodeInfo', this.receiveCurrentTreeNodeInfo) + this.$bus.$off('sendCurrentClickedTypeInfo', this.receiveCurrentClickedTypeInfo) + this.$bus.$off('reloadDocumentListData', this.reloadDocumentListData) + this.$bus.$off('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) }, methods: { /** @@ -85,15 +95,25 @@ */ receiveCurrentTreeNodeInfo(treeNodeInfo) { console.log('treeNodeInfo', treeNodeInfo) - // 浠庢爲缁勪欢鎺ュ彈鏍戣妭鐐逛俊鎭悗浠庣埗缁勪欢娴佸叆瀛愮粍浠� + const { id, type } = treeNodeInfo + // 浠庢爲缁勪欢鎺ュ彈鏍戣妭鐐逛俊鎭悗浠庣埗缁勪欢娴佸叆瀛愮粍浠跺苟閲嶇疆鏁版嵁 + this.currentClickedTypeInfo = this.currentRightClickedTableRowInfo = {} this.currentTreeNodeInfo = treeNodeInfo - // 娓呯┖涓婁竴鑺傜偣宸茬粡鍔犺浇杩囧緱鏂囨。鍒楄〃tabKey + this.currentNCDocumentAttributionInfo = Object.assign({}, { + attributionId: id, + attributionType: type, + docClassCode: 'NC' + }) this.hasLoadedDataTabKeyArray = [] - if (+treeNodeInfo.type === 5 || +treeNodeInfo.type === 6) { + + if (+type === 5 || +type === 6) { this.activeTabKey = 1 this.$nextTick(() => { - if (this.$refs.deviceCustomTypeTableList) this.$refs.deviceCustomTypeTableList.setQueryParamAndLoadData() - else if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) + if (this.$refs.deviceCustomTypeTableList) { + this.$refs.deviceCustomTypeTableList.setQueryParamAndLoadData() + // 鍒囨崲鏍戜箣鍚庢竻绌篘C绋嬪簭鍒楄〃 + if (this.$refs.ncDocumentTableListRef && this.$refs.ncDocumentTableListRef.dataSource.length > 0) this.$refs.ncDocumentTableListRef.dataSource = [] + } else if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) }) } else { this.activeTabKey = 2 @@ -105,12 +125,28 @@ }, /** + * 鎺ュ彈褰撳墠鐐瑰嚮鐨勮澶囩被淇℃伅 + * @param record 褰撳墠鐐瑰嚮鐨勮澶囩被琛屼俊鎭� + */ + receiveCurrentClickedTypeInfo(record) { + const { id, attributionType } = record + this.currentClickedTypeInfo = Object.assign({}, record) + this.currentNCDocumentAttributionInfo = Object.assign({}, { + attributionId: id, + attributionType, + docClassCode: 'NC' + }) + this.$nextTick(() => { + if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) + }) + }, + + /** * 鎺у埗鍙抽敭鑿滃崟寮�鍚� * @param record 褰撳墠琛ㄦ牸琛屼俊鎭� */ handleTableContextMenuOpen(record) { this.currentRightClickedTableRowInfo = Object.assign({}, record) - console.log('currentRightClickedTableRowInfo', this.currentRightClickedTableRowInfo) this.$refs.tableContextMenuRef.currentMenuLevel = record.param this.$refs.tableContextMenuRef.menuStyle.top = event.clientY + 'px' this.$refs.tableContextMenuRef.menuStyle.left = event.clientX + 'px' @@ -131,16 +167,34 @@ this.hasLoadedDataTabKeyArray.push(activeTabKey) } }, + /** - * 鏂囨。浠ュ強NC绋嬪簭瀵煎叆/鍑哄簱/鍏ュ簱鎴愬姛鍚庤Е鍙戦噸鏂板姞杞芥枃妗e垪琛� + * 鏂囨。浠ュ強NC绋嬪簭瀵煎叆/鍑哄簱/鍏ュ簱/鍙栨秷鍑哄簱/鍙戝竷/褰掓。鎴愬姛鍚庤Е鍙戦噸鏂板姞杞芥枃妗e垪琛� * @param docClassCode 鏂囨。绫诲埆 - * @param attributionId 鑺傜偣Id + * @param attributionType 鏂囨。鐖剁骇type绫诲瀷 + * @param attributionId 鏂囨。鐖剁骇Id */ - reloadDocumentListData({ docClassCode, attributionId }) { - // 濡傛灉涓婁紶鐨勬枃妗d笉鏄墍灞炰簬褰撳墠鎵�灞曠ず鑺傜偣鐨勬枃妗e垯涓嶉噸鏂拌幏鍙栨枃妗e垪琛� - if (this.currentTreeNodeInfo.id !== attributionId) return + reloadDocumentListData({ docClassCode, attributionType, attributionId }) { + console.log('docClassCode, attributionType, attributionId', docClassCode, attributionType, attributionId) + // 鍦ㄦ澶勮澶嘚C鏂囨。鐖剁骇鍙傛暟鏄彲姝ゆ柟娉曟槸缁撴瀯鏍戜互鍙婅澶囩被涓ょ涓嶅悓瀵煎叆鏂瑰紡鐨勫叡鍚屽嚭鍙� + this.currentNCDocumentAttributionInfo = Object.assign({}, { docClassCode, attributionId, attributionType }) + + // 鍒ゆ柇褰撳墠鍙充晶灞曠ず鐨勬枃妗g殑鎵�灞炴槸鍚︽槸褰撳墠宸﹂敭閫変腑鏍戣妭鐐规垨璁惧绫伙紝鑻ヤ笉鏄綋鍓嶅乏閿�変腑鐨勫垯鍦ㄥ鍏ュ悗涓嶅埛鏂板彸渚х殑鏂囨。鍒楄〃(閬垮厤鏃犳晥鍒锋柊) + // 鍒ゆ柇鏄惁鏄湪鏂囨。鍒楄〃涓繘琛屽嚭搴�/鍏ュ簱/鍙戝竷/褰掓。绛夋搷浣�,鑻ユ槸鍦ㄦ枃妗e垪琛ㄤ腑鎿嶄綔鍒欐搷浣滄垚鍔熷悗鐩存帴鍒锋柊鏂囨。鍒楄〃 + if (!this.currentRightClickedTableRowInfo.hasOwnProperty('docId')) { + if (this.currentRightClickedTableRowInfo.hasOwnProperty('deviceManagementId')) { + // 姝ょ鎯呭喌鏄湪寮曞叆璁惧绫诲苟鍦ㄨ澶囩被鍒楄〃涓繘琛孨C鏂囨。瀵煎叆 + if (this.currentClickedTypeInfo.id !== attributionId) return + } else { + // 姝ょ鎯呭喌鏄湪缁撴瀯鏍戣妭鐐逛笂杩涜鏂囨。瀵煎叆 + if (this.currentTreeNodeInfo.id !== attributionId) return + } + } + if (docClassCode === 'NC') { - if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) + this.$nextTick(() => { + if (this.$refs.ncDocumentTableListRef) this.$refs.ncDocumentTableListRef.loadData(1) + }) } else { if (this.$refs.otherDocumentTableListRef) this.$refs.otherDocumentTableListRef.loadData(1) } @@ -152,7 +206,7 @@ const { docId, docName } = this.currentRightClickedTableRowInfo dncApi.downloadDocumentApi({ docId, docName }) .then(res => { - if (res && !res.success) { + if (!res.success) { that.$notification.error({ message: '娑堟伅', description: res.message @@ -169,7 +223,7 @@ // 鍒犻櫎褰撳墠鍙抽敭閫変腑鏂囨。 handleDelete() { - const { docId, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo const that = this that.$confirm({ title: '鎻愮ず', @@ -184,7 +238,7 @@ message: '娑堟伅', description: res.message }) - that.reloadDocumentListData({ docClassCode: param, attributionId }) + that.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) } else { that.$notification.warning({ message: '娑堟伅', @@ -218,7 +272,7 @@ */ handlePull(menuLabel) { const that = this - const { docId, docName, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, docName, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo that.$confirm({ title: '鎻愮ず', content: `纭${menuLabel}鍚楋紵`, @@ -227,9 +281,8 @@ onOk: () => { dncApi.documentOutboundApi({ docId, docName }) .then(res => { - console.log('res------------------', res) if (res.success) { - that.reloadDocumentListData({ docClassCode: param, attributionId }) + that.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) that.$notification.success({ message: '娑堟伅', description: `${menuLabel}鎴愬姛` @@ -263,7 +316,7 @@ */ handleCancelPull(menuLabel) { const that = this - const { docId, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo that.$confirm({ title: '鎻愮ず', content: `纭${menuLabel}鍚楋紵`, @@ -273,7 +326,7 @@ dncApi.documentCancelOutboundApi(docId) .then(res => { if (res.success) { - this.reloadDocumentListData({ docClassCode: param, attributionId }) + this.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) that.$notification.success({ message: '娑堟伅', description: res.message @@ -307,7 +360,7 @@ */ handlePublish(menuLabel) { const that = this - const { docId, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo that.$confirm({ title: '鎻愮ず', content: `纭${menuLabel}鍚楋紵`, @@ -317,7 +370,7 @@ dncApi.documentPublishApi(docId) .then(res => { if (res.success) { - this.reloadDocumentListData({ docClassCode: param, attributionId }) + this.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) this.$bus.$emit('reloadMainBottomTableData', 'documentVersion') that.$notification.success({ message: '娑堟伅', @@ -352,7 +405,7 @@ */ handleRepublish(menuLabel) { const that = this - const { docId, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo that.$confirm({ title: '鎻愮ず', content: `纭${menuLabel}鍚楋紵`, @@ -362,7 +415,7 @@ dncApi.documentRepublishApi(docId) .then(res => { if (res.success) { - this.reloadDocumentListData({ docClassCode: param, attributionId }) + this.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) that.$notification.success({ message: '娑堟伅', description: res.message @@ -391,12 +444,12 @@ }, /** - * 閲嶅綊妗e綋鍓嶅彸閿�変腑鏂囨。涓斿悗缁棤娉曠户缁彂甯冩垨褰掓。 + * 褰掓。褰撳墠鍙抽敭閫変腑鏂囨。涓斿悗缁棤娉曠户缁彂甯冩垨褰掓。 * @param menuLabel */ handlePigeonhole(menuLabel) { const that = this - const { docId, param, attributionId } = this.currentRightClickedTableRowInfo + const { docId, param, attributionId, attributionType } = this.currentRightClickedTableRowInfo that.$confirm({ title: '鎻愮ず', content: `${menuLabel}鍚庝笉鍙彇娑堬紝纭${menuLabel}鍚楋紵`, @@ -406,7 +459,7 @@ dncApi.documentPigeonholeApi(docId) .then(res => { if (res.success) { - this.reloadDocumentListData({ docClassCode: param, attributionId }) + this.reloadDocumentListData({ docClassCode: param, attributionId, attributionType }) that.$notification.success({ message: '娑堟伅', description: res.message -- Gitblit v1.9.3