From d289be3b10e9b259625ca9128b54bc62950c4e48 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 08 九月 2025 17:57:49 +0800 Subject: [PATCH] 出库状态改为生命周期 其他文档改为电子文档 电子文档新增指派设备结构树 --- src/views/dnc/base/modules/ProductStructure/Document/OtherDocumentTableList.vue | 122 +++++++++++++++++++++++++++++++++++----- 1 files changed, 106 insertions(+), 16 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/Document/OtherDocumentTableList.vue b/src/views/dnc/base/modules/ProductStructure/Document/OtherDocumentTableList.vue index b21d552..32481e2 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/OtherDocumentTableList.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/OtherDocumentTableList.vue @@ -1,22 +1,29 @@ <template> <div> - <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" - :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="docId"> - + <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" :loading="loading" + :scroll="{y:265}" :customRow="customRow" :size="size" rowKey="docId" @change="handleTableChange"> + <!-- 瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず--> + <span slot="docName" slot-scope="text"> + <j-ellipsis :value="text"/> + </span> </a-table> <DocumentModal ref="modalForm" @ok="modalFormOk"/> + + <NcDocumentAssignModal :size="size" ref="documentAssignModalRef" + :currentDocumentInfo="currentRightClickedDocumentInfo"/> </div> </template> <script> import { getAction } from '@/api/manage' import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import DocumentModal from './DocumentModal' + import DocumentModal from '../../../../common/DocumentModal' + import NcDocumentAssignModal from '@views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue' export default { name: 'OtherDocumentTableList', - components: { DocumentModal }, + components: { NcDocumentAssignModal, DocumentModal }, mixins: [JeecgListMixin], props: { currentTreeNodeInfo: { @@ -40,17 +47,62 @@ return parseInt(index) + 1 } }, - { title: '鏂囦欢鍚嶇О', dataIndex: 'docName', align: 'center' }, + { + title: '鏂囦欢鍚嶇О', + dataIndex: 'docName', + key: 'docName', + align: 'center', + scopedSlots: { customRender: 'docName' }, + width: 300, + sorter: true + }, { title: '璁惧缂栧彿', dataIndex: 'docCode', align: 'center' }, - { title: '鍑哄簱鐘舵��', dataIndex: 'pullStatus', align: 'center' }, - { title: '鐘� 鎬�', dataIndex: 'docStatus', align: 'center' }, - { title: '绯荤粺鎸囧畾鐗堟湰', dataIndex: 'publishVersion', align: 'center' }, - { title: '涓婁紶鏃堕棿', dataIndex: 'createTime', align: 'center' } + { + title: '鐢熷懡鍛ㄦ湡', + dataIndex: 'pullStatus_dictText', + key: 'pullStatus', + align: 'center', + filters: [ + { text: '鏈嚭搴�', value: 1 }, + { text: '宸插嚭搴�', value: 2 } + ] + }, + { + title: '鐘� 鎬�', + dataIndex: 'docDispatchStatus_dictText', + key: 'docDispatchStatus', + align: 'center', + filters: [ + { text: '缂栧埗', value: 1 }, + { text: '鏍″', value: 2 }, + { text: '鎵瑰噯', value: 3 }, + { text: '璇曞垏', value: 4 }, + { text: '瀹氬瀷', value: 5 } + ] + }, + { title: '绯荤粺鎸囧畾鐗堟湰', dataIndex: 'publishVersion', align: 'center', width: 200 }, + { + title: '鍒涘缓鏃堕棿', + dataIndex: 'createTime', + align: 'center', + width: 200, + sorter: true + } ], dataSource: [], + currentRightClickedDocumentInfo: {}, + currentClickedDocumentInfo: {}, url: { list: '/nc/doc/find/page' } + } + }, + watch: { + currentTreeNodeInfo: { + handler(value) { + this.currentClickedDocumentInfo = this.currentRightClickedDocumentInfo = {} + }, + immediate: true } }, created() { @@ -74,9 +126,9 @@ this.loading = true getAction(this.url.list + `/${this.ipagination.current}/${this.ipagination.pageSize}`, params).then((res) => { if (res.success) { - this.dataSource = res.page.records - if (res.page.total) { - this.ipagination.total = res.page.total + this.dataSource = res.result.records + if (res.result.total) { + this.ipagination.total = res.result.total } else { this.ipagination.total = 0 } @@ -90,25 +142,63 @@ customRow(record) { return { + style: { + backgroundColor: this.currentClickedDocumentInfo.docId === record.docId ? '#BAE7FF' : 'transparent' + }, on: { contextmenu: event => { event.preventDefault() - this.$emit('handleTableContextMenuOpen', { ...record, param: 'document' }) + this.currentRightClickedDocumentInfo = Object.assign({ param: 'OTHER' }, record) + this.$emit('handleTableContextMenuOpen', { ...record, param: 'OTHER' }) }, click: () => { - this.$bus.$emit('sendCurrentLevelInfo', record) + 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.attributionType === 1) this[methodName](tableRowInfo, modalTitle) + if (this[methodName] && tableRowInfo.param === 'OTHER') this[methodName](tableRowInfo, modalTitle) } } } -- Gitblit v1.9.3