From a1ab0ef9382e1380a73575c81ee2910b3fb4bf5b Mon Sep 17 00:00:00 2001 From: JiangSheng Date: Wed, 5 Nov 2025 10:35:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=20=E5=B7=A5=E5=86=B5=E5=BA=93?= =?UTF-8?q?=E3=80=81=E6=8C=87=E6=A0=87=E5=BA=93=E6=9B=BF=E6=8D=A2=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/table/treeTable.vue | 18 ++ .../common/treeCaseTable/loadCaseTable.vue | 165 +++++++++- .../common/treeCaseTable/nodeDetailDialog.vue | 80 +++++ .../common/treeCaseTable/treeTable.vue | 1 + src/utils/node.ts | 6 +- .../condition/components/taskPool.scss | 13 +- .../condition/components/taskPool.vue | 299 +++++++++++------- 7 files changed, 452 insertions(+), 130 deletions(-) create mode 100644 src/components/common/treeCaseTable/nodeDetailDialog.vue diff --git a/src/components/common/table/treeTable.vue b/src/components/common/table/treeTable.vue index 9760c60..0cac2d2 100644 --- a/src/components/common/table/treeTable.vue +++ b/src/components/common/table/treeTable.vue @@ -37,6 +37,7 @@ :data="formatData" height="100%" v-bind="$attrs" + keepSource :seq-config="{startIndex: (current - 1) * size}" :column-config="{ drag: true, @@ -111,6 +112,7 @@ import TableSearch from './tableSearch.vue'; import TableFormDia from './tableFormDia.vue'; import { getFormConfigureApi } from '@/api/system/systemData'; import { formOptionsFormat } from './lib'; +import { uniqBy } from 'lodash-es'; const emit = defineEmits(['searchChange', 'load']); @@ -332,6 +334,21 @@ const removeFun = (data: any) => { return vxeTableRef.value.remove(data); } }; +const editRecords = ref({ + insertRecords: [], + removeRecords: [], + updateRecords: [], +}); +// 获取表格增删改的行 +const getRecordSetFun = () => { + const { insertRecords, removeRecords, updateRecords } = vxeTableRef.value?.getRecordset(); + + return { + insertRecords: uniqBy([...insertRecords, ...editRecords.value.insertRecords], 'fakeId'), + removeRecords: uniqBy([...removeRecords, ...editRecords.value.removeRecords], 'fakeId'), + updateRecords: uniqBy([...updateRecords, ...editRecords.value.updateRecords], 'fakeId'), + }; +}; watch(() => props.tableName, () => { initFun(); @@ -349,6 +366,7 @@ defineExpose({ setOptionsFun, getCheckboxRecordsFun, removeFun, + getRecordSetFun, }); diff --git a/src/components/common/treeCaseTable/loadCaseTable.vue b/src/components/common/treeCaseTable/loadCaseTable.vue index da4cab9..35a60a5 100644 --- a/src/components/common/treeCaseTable/loadCaseTable.vue +++ b/src/components/common/treeCaseTable/loadCaseTable.vue @@ -9,14 +9,14 @@ :actionsWidth="95" @checkbox-change="checkboxChangeFun" > - - {{ $t('工况库.提交评审') }} + {{ $t("工况库.提交评审") }} - {{ $t('工况库.删除库') }} + {{ $t("工况库.删除库") }} -
+
- + - +
+