From 08e52db54ce1e7563f1efe402a3f6c3931188013 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 14 二月 2025 10:47:53 +0800 Subject: [PATCH] 产品结构树: 1、实现文档批量删除功能 2、实现文档列表的排序以及筛选功能 设备结构树: 1、新增权限配置弹窗,提交后由后端测试 --- src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue | 279 +++++++++++++++++++++++++++---------------------------- 1 files changed, 139 insertions(+), 140 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue index f4f7136..5381b00 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentTableList.vue @@ -1,24 +1,38 @@ <template> - <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" - :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="docId"> + <div> + <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" + :scroll="{y:189}" :customRow="customRow" :size="size" rowKey="docId" @change="handleTableChange"> - </a-table> + </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 '../../../../common/DocumentModal' + import NcDocumentAssignModal from './NcDocumentAssignModal' export default { name: 'NcDocumentTableList', - components: {}, + components: { NcDocumentAssignModal, DocumentModal }, mixins: [JeecgListMixin], props: { + currentTreeNodeInfo: { + type: Object + }, size: { type: String } }, data() { return { + disableMixinCreated: true, columns: [ { title: '搴忓彿', @@ -30,165 +44,150 @@ return parseInt(index) + 1 } }, - { title: '鏂囦欢鍚嶇О', dataIndex: 'docName', align: 'center' }, + { + title: '鏂囦欢鍚嶇О', + dataIndex: 'docName', + key: 'docName', + align: 'center', + width: 300, + sorter: true + }, { title: '浠g爜鐗堟湰', dataIndex: 'docAlias', align: 'center' }, - { title: '鍑哄簱鐘舵��', dataIndex: 'pullStatus', align: 'center' }, - { title: '鐘� 鎬�', dataIndex: 'docStatus', align: 'center' }, - { title: '绯荤粺鎸囧畾鐗堟湰', dataIndex: 'publishVersion', align: 'center' }, - { title: '涓婁紶鏃堕棿', dataIndex: 'createTime', align: 'center' } - ], - dataSource: [ { - 'docId': '1876099281127645185', - 'docName': 'avatar2.jpg', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'jpg', - 'docStatus': 1, - 'publishFileId': '1876099281458995202', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 10:51:40', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null + title: '鍑哄簱鐘舵��', + dataIndex: 'pullStatus_dictText', + key: 'pullStatus', + align: 'center', + filters: [ + { text: '鏈嚭搴�', value: 1 }, + { text: '宸插嚭搴�', value: 2 } + ] }, { - 'docId': '1876114720452943873', - 'docName': 'color.less', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'less', - 'docStatus': 1, - 'publishFileId': '1876114720582967297', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 11:53:01', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null + 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 }, { - 'docId': '1876114736512933889', - 'docName': 'index.html', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'html', - 'docStatus': 1, - 'publishFileId': '1876114736705871874', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 11:53:05', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null - }, - { - 'docId': '1876114746621206529', - 'docName': 'logo.png', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'png', - 'docStatus': 1, - 'publishFileId': '1876114746818338818', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 11:53:07', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null - }, - { - 'docId': '1876114758923100161', - 'docName': 'lxzn.png', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'png', - 'docStatus': 1, - 'publishFileId': '1876114759111843842', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 11:53:10', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null - }, - { - 'docId': '1876114776241381377', - 'docName': 'v2.js', - 'docAlias': null, - 'docCode': null, - 'docSuffix': 'js', - 'docStatus': 1, - 'publishFileId': '1876114776438513666', - 'publishVersion': 'a.1', - 'description': null, - 'createTime': '2025-01-06 11:53:14', - 'updateTime': null, - 'createUser': '1254966905669160962', - 'updateUser': null, - 'docClassCode': null, - 'pullStatus': 1, - 'pullUser': null, - 'attributionType': 5, - 'attributionId': '1868504592315248641', - 'classificationId': '1257965381181095938', - 'syncStatus': null + title: '鍒涘缓鏃堕棿', + dataIndex: 'createTime', + align: 'center', + width: 200, + sorter: true } ], + dataSource: [], + currentRightClickedDocumentInfo: {}, + currentClickedDocumentInfo: {}, url: { - list: '' + 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 + } + //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�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.$emit('handleTableContextMenuOpen', { ...record, param: 'document' }) + this.currentRightClickedDocumentInfo = Object.assign({ param: 'NC' }, record) + this.$emit('handleTableContextMenuOpen', this.currentRightClickedDocumentInfo) }, 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) { + 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) } } } -- Gitblit v1.9.3