From c3e8d4cb5edcacfd77a51d388e32a2bd0fb79643 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 14 三月 2025 17:59:10 +0800 Subject: [PATCH] 1、产品结构树以及设备结构树中的列表增加行选中样式 2、产品结构树实现点击设备类出现设备类下挂载的NC程序列表 3、产品结构树实现在设备类中导入NC程序功能 --- src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue | 349 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 177 insertions(+), 172 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue index 079bd14..8afb748 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue @@ -1,7 +1,7 @@ <template> <div style="flex: 1"> <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" - :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="docId" @change="handleTableChange"> + :scroll="{y:265}" :customRow="customRow" :size="size" rowKey="docId" @change="handleTableChange"> </a-table> @@ -13,185 +13,190 @@ </template> <script> - import { getAction } from '@/api/manage' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import DocumentModal from '../../../../common/DocumentModal' - import NcDocumentAssignModal from './NcDocumentAssignModal' +import { getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import DocumentModal from '../../../../common/DocumentModal' +import NcDocumentAssignModal from './NcDocumentAssignModal' - export default { - name: 'NcDocumentTableList', - components: { NcDocumentAssignModal, DocumentModal }, - mixins: [JeecgListMixin], - props: { - currentTreeNodeInfo: { - type: Object - }, - size: { - type: String - } +export default { + name: 'NcDocumentTableList', + components: { NcDocumentAssignModal, DocumentModal }, + mixins: [JeecgListMixin], + props: { + currentNCDocumentAttributionInfo: { + type: Object }, - data() { - return { - disableMixinCreated: true, - columns: [ - { - title: '搴忓彿', - dataIndex: 'rowIndex', - key: 'rowIndex', - width: 65, - align: 'center', - customRender: function(t, r, index) { - return parseInt(index) + 1 - } - }, - { - title: '鏂囦欢鍚嶇О', - dataIndex: 'docName', - key: 'docName', - align: 'center', - width: 300, - sorter: true - }, - { title: '浠g爜鐗堟湰', dataIndex: 'docAlias', align: 'center' }, - { - title: '鍑哄簱鐘舵��', - dataIndex: 'pullStatus_dictText', - key: 'pullStatus', - align: 'center', - filters: [ - { text: '鏈嚭搴�', value: 1 }, - { text: '宸插嚭搴�', value: 2 } - ] - }, - { - title: '鐘� 鎬�', - dataIndex: 'docStatus_dictText', - key: 'docStatus', - align: 'center', - filters: [ - { text: '璁捐', value: 1 }, - { text: '鍙戝竷', value: 2 }, - { text: '褰掓。', value: 3 } - ] - }, - { title: '绯荤粺鎸囧畾鐗堟湰', dataIndex: 'publishVersion', align: 'center', width: 200 }, - { - title: '鍒涘缓鏃堕棿', - dataIndex: 'createTime', - align: 'center', - width: 200, - sorter: true + size: { + type: String + } + }, + data() { + return { + disableMixinCreated: true, + columns: [ + { + title: '搴忓彿', + dataIndex: 'rowIndex', + key: 'rowIndex', + width: 65, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 } - ], - dataSource: [], - currentRightClickedDocumentInfo: {}, - currentClickedDocumentInfo: {}, - url: { - list: '/nc/doc/find/page' - } - } - }, - watch: { - currentTreeNodeInfo: { - handler(value) { - this.currentClickedDocumentInfo = {} }, - immediate: true - } - }, - created() { - this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) - }, - methods: { - loadData(arg) { - if (!this.url.list) { - this.$message.error('璇疯缃畊rl.list灞炴��!') - return + { + title: '鏂囦欢鍚嶇О', + dataIndex: 'docName', + key: 'docName', + align: 'center', + width: 300, + sorter: true + }, + { title: '浠g爜鐗堟湰', dataIndex: 'docAlias', align: 'center' }, + { + title: '鍑哄簱鐘舵��', + dataIndex: 'pullStatus_dictText', + key: 'pullStatus', + align: 'center', + filters: [ + { text: '鏈嚭搴�', value: 1 }, + { text: '宸插嚭搴�', value: 2 } + ] + }, + { + title: '鐘� 鎬�', + dataIndex: 'docStatus_dictText', + key: 'docStatus', + align: 'center', + filters: [ + { text: '璁捐', value: 1 }, + { text: '鍙戝竷', value: 2 }, + { text: '褰掓。', value: 3 } + ] + }, + { title: '绯荤粺鎸囧畾鐗堟湰', dataIndex: 'publishVersion', align: 'center', width: 200 }, + { + title: '鍒涘缓鏃堕棿', + dataIndex: 'createTime', + align: 'center', + width: 200, + sorter: true } - //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 - if (arg === 1) this.ipagination.current = 1 - var params = this.getQueryParams()//鏌ヨ鏉′欢 - params.attributionId = this.currentTreeNodeInfo.id - params.attributionType = this.currentTreeNodeInfo.type - params.docClassCode = 'NC' - if (!params) return false - this.dataSource = [] - this.loading = true - getAction(this.url.list + `/${this.ipagination.current}/${this.ipagination.pageSize}`, params).then((res) => { - if (res.success) { - this.dataSource = res.result.records - if (res.result.total) { - this.ipagination.total = res.result.total - } else { - this.ipagination.total = 0 - } - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - - customRow(record) { - return { - on: { - contextmenu: event => { - event.preventDefault() - this.currentRightClickedDocumentInfo = Object.assign({ param: 'NC' }, record) - this.$emit('handleTableContextMenuOpen', this.currentRightClickedDocumentInfo) - }, - click: () => { - if (this.currentClickedDocumentInfo.docId === record.docId) return - this.currentClickedDocumentInfo = Object.assign({}, record) - this.$bus.$emit('sendCurrentClickedDocumentInfo', record) - } - } - } - }, - - /** - * 琛ㄦ牸鍒嗛〉銆佹帓搴忔敼鍙樸�佺瓫閫夋椂瑙﹀彂 - * @param pagination 鍒嗛〉鍣ㄩ�夐」 - * @param filters 绛涢�夐�夐」 - * @param sorter 鎺掑簭閫夐」 - */ - handleTableChange(pagination, filters, sorter) { - if (sorter.order) { - this.isorter.column = sorter.field - this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc' - } else { - this.isorter.column = 'createTime' - this.isorter.order = 'desc' - } - for (let key in filters) { - this.filters[key] = filters[key].join(',') - } - this.ipagination = pagination - this.loadData() - }, - - handleDocumentEdit(record, modalTitle) { - if (!this.$refs.modalForm) return - this.$refs.modalForm.edit(record) - this.$refs.modalForm.title = modalTitle - }, - - handleDocumentAssign(record, modalTitle) { - if (!this.$refs.documentAssignModalRef) return - this.$refs.documentAssignModalRef.title = modalTitle - this.$refs.documentAssignModalRef.visible = true - }, - - handleDelete() { - // 姝ゅ鍑芥暟涓哄睆钄絤ixins涓殑鍚屽悕鍑芥暟锛岄�氱敤鍑芥暟鍐欏湪鐖剁骇涓� - }, - - triggerCorrespondingMethod({ methodName, level, modalTitle, tableRowInfo }) { - if (this[methodName] && tableRowInfo.param === 'NC') this[methodName](tableRowInfo, modalTitle) + ], + dataSource: [], + currentRightClickedDocumentInfo: {}, + currentClickedDocumentInfo: {}, + url: { + list: '/nc/doc/find/page' } } + }, + watch: { + currentNCDocumentAttributionInfo: { + handler(value) { + this.currentClickedDocumentInfo = {} + }, + immediate: true + } + }, + created() { + this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) + }, + methods: { + loadData(arg) { + if (!this.url.list) { + this.$message.error('璇疯缃畊rl.list灞炴��!') + return + } + console.log('currentNCDocumentAttributionInfo', this.currentNCDocumentAttributionInfo) + const { attributionId, attributionType, docClassCode } = this.currentNCDocumentAttributionInfo + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 + if (arg === 1) this.ipagination.current = 1 + var params = this.getQueryParams()//鏌ヨ鏉′欢 + params.attributionId = attributionId + params.attributionType = attributionType + params.docClassCode = docClassCode + if (!params) return false + this.dataSource = [] + this.loading = true + getAction(this.url.list + `/${this.ipagination.current}/${this.ipagination.pageSize}`, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records + if (res.result.total) { + this.ipagination.total = res.result.total + } else { + this.ipagination.total = 0 + } + } else { + this.$message.warning(res.message) + } + }).finally(() => { + this.loading = false + }) + }, + + customRow(record) { + return { + style: { + backgroundColor: this.currentClickedDocumentInfo.docId === record.docId ? '#BAE7FF' : 'transparent' + }, + on: { + contextmenu: event => { + event.preventDefault() + this.currentRightClickedDocumentInfo = Object.assign({ param: 'NC' }, record) + this.$emit('handleTableContextMenuOpen', this.currentRightClickedDocumentInfo) + }, + click: () => { + if (this.currentClickedDocumentInfo.docId === record.docId) return + this.currentClickedDocumentInfo = Object.assign({}, record) + this.$bus.$emit('sendCurrentClickedDocumentInfo', record) + } + } + } + }, + + /** + * 琛ㄦ牸鍒嗛〉銆佹帓搴忔敼鍙樸�佺瓫閫夋椂瑙﹀彂 + * @param pagination 鍒嗛〉鍣ㄩ�夐」 + * @param filters 绛涢�夐�夐」 + * @param sorter 鎺掑簭閫夐」 + */ + handleTableChange(pagination, filters, sorter) { + if (sorter.order) { + this.isorter.column = sorter.field + this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc' + } else { + this.isorter.column = 'createTime' + this.isorter.order = 'desc' + } + for (let key in filters) { + this.filters[key] = filters[key].join(',') + } + this.ipagination = pagination + this.loadData() + }, + + handleDocumentEdit(record, modalTitle) { + if (!this.$refs.modalForm) return + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = modalTitle + }, + + handleDocumentAssign(record, modalTitle) { + if (!this.$refs.documentAssignModalRef) return + this.$refs.documentAssignModalRef.title = modalTitle + this.$refs.documentAssignModalRef.visible = true + }, + + handleDelete() { + // 姝ゅ鍑芥暟涓哄睆钄絤ixins涓殑鍚屽悕鍑芥暟锛岄�氱敤鍑芥暟鍐欏湪鐖剁骇涓� + }, + + triggerCorrespondingMethod({ methodName, level, modalTitle, tableRowInfo }) { + if (this[methodName] && tableRowInfo.param === 'NC') this[methodName](tableRowInfo, modalTitle) + } } +} </script> <style scoped> -- Gitblit v1.9.3