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/Document/NcDocumentAssignModal.vue | 92 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 75 insertions(+), 17 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue index f00bfda..2679fb1 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue @@ -45,15 +45,9 @@ <div style="display: flex"> <a-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" allowClear v-model="searchInput" @change="handleSearchInputChange"/> - <a-dropdown :trigger="['click']" placement="bottomCenter" style="margin: 0 8px"> - <a-menu slot="overlay"> - <a-menu-item key="1" @click="expandedKeys = allTreeKeys">灞曞紑鎵�鏈�</a-menu-item> - <a-menu-item key="2" @click="expandedKeys = []">鍚堝苟鎵�鏈�</a-menu-item> - </a-menu> - <a-button> - <a-icon type="bars"/> - </a-button> - </a-dropdown> + <a-button type="primary" @click="isExpandAllTreeNode=!isExpandAllTreeNode" style="margin: 0 8px"> + 灞曞紑/鎶樺彔 + </a-button> </div> <!--浜у搧缁撴瀯鏍�--> @@ -89,11 +83,10 @@ import { getAction } from '@/api/manage' import dncApi from '@/api/dnc' import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import ATextarea from 'ant-design-vue/es/input/TextArea' export default { name: 'NcDocumentAssignModal', - components: { ATextarea }, + components: {}, mixins: [JeecgListMixin], props: { currentDocumentInfo: { @@ -133,6 +126,7 @@ checkedKeys: [], expandedKeys: [], autoExpandParent: true, + isExpandAllTreeNode: false, url: { list: '/nc/doc/find/list' } @@ -146,6 +140,12 @@ this.loadData() this.getDocumentAssignDeviceTreeByApi() } + } + }, + isExpandAllTreeNode: { + handler(value) { + if (value) this.expandedKeys = this.allTreeKeys + else this.expandedKeys = [] } } }, @@ -161,7 +161,6 @@ return false } const { attributionType, attributionId, param } = this.currentDocumentInfo - console.log('currentDocumentInfo', this.currentDocumentInfo) params.attributionType = attributionType params.attributionId = attributionId params.docClassCode = param @@ -195,15 +194,71 @@ }, handleAssignDocumentToDevice() { - const param = {} - console.log('table', this.selectedRowKeys) + const { checkedKeys, selectedRowKeys, dataList, $confirm, $notification, currentDocumentInfo, queryParam: { applyReason }, $set } = this + const { publishFileId, attributionId } = currentDocumentInfo + const paramsArray = [] + // 杩囨护鍒嗙粍Id浠呮斁鍏ヨ澶嘔d const treeCheckedDeviceKeys = [] - this.checkedKeys.forEach(checkedKey => { - const deviceId = this.dataList.find(item => item.key === checkedKey && item.type === 2) + checkedKeys.forEach(checkedKey => { + const deviceId = dataList.find(item => item.key === checkedKey && item.type === 2) if (deviceId) treeCheckedDeviceKeys.push(deviceId.key) }) - console.log('treeCheckedDeviceKeys', treeCheckedDeviceKeys) + if (treeCheckedDeviceKeys.length === 0 || selectedRowKeys.length === 0) { + $notification.warning({ + message: '娑堟伅', + description: '璇烽�夋嫨璁惧鎴栨枃妗�' + }) + return + } + + $confirm({ + title: '鎻愮ず', + content: `纭鎻愪氦鍚楋紵`, + okText: '纭', + cancelText: '鍙栨秷', + onOk: () => { + treeCheckedDeviceKeys.forEach(deviceId => { + selectedRowKeys.forEach(docId => { + paramsArray.push({ + docId, + deviceId, + fileId: publishFileId, + processId: attributionId, + applyReason + }) + }) + }) + + paramsArray.forEach(item => { + dncApi.assignDocumentToDeviceApi(item) + .then(res => { + if (res.success) { + this.$bus.$emit('reloadMainBottomTableData', 'useDocumentEquipment') + $notification.success({ + message: '娑堟伅', + description: res.message + }) + } else { + $notification.error({ + message: '娑堟伅', + description: res.message + }) + } + }) + .catch(err => { + $notification.error({ + message: '娑堟伅', + description: err.message + }) + }) + }) + console.log('paramsArray', paramsArray) + } + }) + // console.log('table', this.selectedRowKeys) + // console.log('treeCheckedDeviceKeys', treeCheckedDeviceKeys) + // console.log('currentDocumentInfo', this.currentDocumentInfo) }, /* 杈撳叆鏌ヨ鍐呭鍙樺寲鏃惰Е鍙� */ @@ -311,4 +366,7 @@ } + ::-webkit-scrollbar { + width: 8px; + } </style> \ No newline at end of file -- Gitblit v1.9.3