From 8d83544ff6e123df4facf40c446e7d9bf4a522b6 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期二, 31 十二月 2024 18:07:54 +0800 Subject: [PATCH] 序号 --- src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue | 63 +++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue index 0ab119e..9cdca4f 100644 --- a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue +++ b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue @@ -8,7 +8,7 @@ ref="leftTreeRef" :defaultProps="{ id: 'group_id', - label: 'group_name', + label: 'label', children: 'children', }" :treedata="listTreeData" @@ -52,10 +52,12 @@ <template v-for="item in columnList" :key="item.prop"> <el-table-column v-if="item.isShow ?? true" + :type="item.type" :prop="item.prop" :label="item.label" :fixed="item.fixed" :width="item.width" + :align="item.align" showOverflowTooltip > <template #default="scope" v-if="item.prop === 'published'"> @@ -107,6 +109,7 @@ deleteCurrentRow(scope.row, '椤甸潰', supervisorAdminApi.deleteSupervisor, () => { const foundIndex = tableData.findIndex((item) => item === scope.row); foundIndex > -1 && tableData.splice(foundIndex, 1); + setCurrentLen(-1); }); } " @@ -198,14 +201,15 @@ <script setup lang="ts"> import { useDraggable } from '@vueuse/core'; -import { debounce, travelTree } from '/@/utils/util'; +import { debounce, deleteCurrentRow, travelTree } from '/@/utils/util'; import { computed, onMounted, ref } from 'vue'; import { usePageDisplay } from '/@/hooks/usePageDisplay'; import { useQueryTable } from '/@/hooks/useQueryTable'; // import { useTableSort } from '/@/hooks/useTableSort'; // import { useValidateUniqueness } from '/@/hooks/useValidateUniqueness'; -import axios, { CancelTokenSource } from 'axios'; +import type { CancelTokenSource } from 'axios'; +import axios from 'axios'; import type { FormInstance, FormRules } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus'; import { nextTick } from 'vue'; @@ -219,7 +223,7 @@ import Chat from '/@/components/chat/Chat.vue'; import AHMContainer from '/@/components/layout/AHMContainer.vue'; import ColFilter from '/@/components/table/colFilter/ColFilter.vue'; -import { TableCol } from '/@/components/table/colFilter/types'; +import type { TableCol } from '/@/components/table/colFilter/types'; import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; import { useUpdateData } from '/@/hooks/useUpdateData'; import emitter from '/@/utils/mitt'; @@ -230,6 +234,7 @@ import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics'; const columnList = ref<TableCol[]>([ + { type: 'index', label: '搴忓彿', width: 55, fixed: 'left', align: 'center' }, { prop: 'title', label: '鏍囬', width: 300, fixed: 'left' }, { prop: 'published', label: '鍙戝竷鐘舵��', width: 85 }, { prop: 'prompt', label: '鎻愮ず璇�', width: 300 }, @@ -240,6 +245,7 @@ { prop: 'note', label: '澶囨敞' }, { prop: 'operate', label: '鎿嶄綔', width: 200, fixed: 'right' }, ]); + //#region ====================== 宸︿晶鏍戞暟鎹紝tree init ====================== const leftTreeRef = useCompRef(LeftTreeByMgr); const treeLoading = ref(false); @@ -393,12 +399,38 @@ //#endregion //#region ====================== 琛ㄦ牸鏁版嵁锛宼able init ====================== -const getLenById =(data:any[],id:string,value:any)=>{ - return data.filter( - (item) => - item.group_id === id || value.children?.some((treeItem) => treeItem.group_id === item.group_id) - ).length; -} + +const setCurrentLen = (offset: 1 | -1) => { + currentNode.value.label = `${currentNode.value.group_name} (${tableData.value.length})`; + const pId = currentNode.value.p_group_id; + if (pId) { + travelTree(listTreeData.value, (value) => { + if (value.group_id === pId) { + value.len += offset; + value.label = `${value.group_name} (${value.len})`; + return true; + } + }); + } + // 淇敼鍚嶇О鍚庯紝涓嶇煡閬撲负浠�涔堜細澶卞幓 current 閫変腑 + setTimeout(() => { + leftTreeRef.value?.treeRef.setCurrentKey(currentListID.value); + }, 0); +}; +const setListLen = () => { + travelTree(listTreeData.value, (value, index, array, parent) => { + const id = value.group_id; + const len = allTableData.value.filter( + (item) => item.group_id === id || value.children?.some((treeItem) => treeItem.group_id === item.group_id) + ).length; + value.len = len; + value.label = `${value.group_name} (${len})`; + }); + // 淇敼鍚嶇О鍚庯紝涓嶇煡閬撲负浠�涔堜細澶卞幓 current 閫変腑 + setTimeout(() => { + leftTreeRef.value?.treeRef.setCurrentKey(currentListID.value); + }, 0); +}; const tableLoading = ref(false); const tableData = ref([]); const isDragStatus = ref(false); @@ -412,13 +444,7 @@ return item; }); - - travelTree(listTreeData.value, (value, index, array, parent) => { - const len = getLenById(allTableData.value,value.group_id,value); - value.group_name =`${value.group_name} (${len})` - - }) - + setListLen(); } tableData.value = allTableData.value.filter( (item) => @@ -492,6 +518,9 @@ const insertOpt = (newData) => { tableData.value.unshift({ ...newData, published: SupervisorPublished.N }); + allTableData.value.unshift({ ...newData, published: SupervisorPublished.N }); + + setCurrentLen(1); }; //#endregion -- Gitblit v1.9.3