From 54497207654bd7af80bcd4ec48163fad62b62434 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期一, 18 十一月 2024 11:18:10 +0800 Subject: [PATCH] Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.Admin.V1.0 into test --- src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue | 85 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 68 insertions(+), 17 deletions(-) diff --git a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue index 3544210..9355cc4 100644 --- a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue +++ b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue @@ -8,12 +8,13 @@ ref="leftTreeRef" :defaultProps="{ id: 'group_id', - label: 'group_name', + label: 'label', children: 'children', }" :treedata="listTreeData" - title-name="鍒嗙粍鍒楄〃" + title-name="鍦烘櫙鍒楄〃" :show-more-operate="false" + defaultExpandAll :show-add="false" :current-node-key="currentListID" :node-icon="() => 'ele-Document'" @@ -24,11 +25,11 @@ <template #header> <el-form ref="queryFormRef" :inline="true" :model="queryParams"> <el-form-item label="鏍囬" prop="title"> - <el-input v-model="queryParams.title" style="width: 226.4px" placeholder="鏍囬" clearable /> + <el-input v-model="queryParams.title" style="width: 226.4px" placeholder="鏍囬" clearable @input="debounceQueryTable" /> </el-form-item> <el-form-item> - <el-button type="primary" icon="ele-Search" @click="handleQueryTable"> 鏌ヨ </el-button> + <!-- <el-button type="primary" icon="ele-Search" @click="handleQueryTable"> 鏌ヨ </el-button> --> <el-button icon="ele-Refresh" @click="resetQuery">閲嶇疆 </el-button> <el-button icon="ele-Plus" @click="openOptDlg()"> 娣诲姞 </el-button> </el-form-item> @@ -106,6 +107,7 @@ deleteCurrentRow(scope.row, '椤甸潰', supervisorAdminApi.deleteSupervisor, () => { const foundIndex = tableData.findIndex((item) => item === scope.row); foundIndex > -1 && tableData.splice(foundIndex, 1); + setCurrentLen(-1); }); } " @@ -167,6 +169,7 @@ label: 'title', children: 'children', }" + defaultExpandAll :data="parentSelectOptions" node-key="id" :clearable="true" @@ -196,36 +199,36 @@ <script setup lang="ts"> import { useDraggable } from '@vueuse/core'; -import { deleteCurrentRow, 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 { FormInstance, FormRules } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus'; import { nextTick } from 'vue'; import SqlAmisEdit from './edit/SqlAmisEdit.vue'; import OptDlg from './optDlg/OptDlg.vue'; import { SupervisorPublished, supervisorPublishedMap } from './types'; +import * as agentGroupApi from '/@/api/ai/agentGroup'; import * as supervisorAdminApi from '/@/api/supervisorAdmin'; import { checkSupervisorValidate, updatePublishStatus } from '/@/api/supervisorAdmin'; +import * as supervisorGroupApi from '/@/api/supervisorAdmin/supervisorGroup'; 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 LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; +import { useUpdateData } from '/@/hooks/useUpdateData'; import emitter from '/@/utils/mitt'; import { deepClone } from '/@/utils/other'; import { gotoRoute } from '/@/utils/route'; import { useCompRef } from '/@/utils/types'; import { convertListToTree } from '/@/utils/util'; -import * as agentGroupApi from '/@/api/ai/agentGroup'; - -import axios, { CancelTokenSource } from 'axios'; -import * as supervisorGroupApi from '/@/api/supervisorAdmin/supervisorGroup'; -import AHMContainer from '/@/components/layout/AHMContainer.vue'; -import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; -import { useUpdateData } from '/@/hooks/useUpdateData'; -import ColFilter from '/@/components/table/colFilter/ColFilter.vue'; -import { TableCol } from '/@/components/table/colFilter/types'; +import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics'; const columnList = ref<TableCol[]>([ { prop: 'title', label: '鏍囬', width: 300, fixed: 'left' }, @@ -246,10 +249,19 @@ const currentNode = ref(null); const listTreeData = computed(() => { - const result = convertListToTree(listData.value, { + const byParentData = convertListToTree(listData.value, { ID: 'group_id', ParentID: 'p_group_id', Children: 'children', + }); + const result = []; + byParentData.forEach((item) => { + if ( + item.group_type != OptClassificationMap[classificationEnum.Office] && + item.group_type != OptClassificationMap[classificationEnum.Knowledge] + ) { + result.push(item); + } }); return result; }); @@ -382,6 +394,38 @@ //#endregion //#region ====================== 琛ㄦ牸鏁版嵁锛宼able init ====================== + +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); @@ -395,8 +439,12 @@ return item; }); + setListLen(); } - tableData.value = allTableData.value.filter((item) => item.group_id === currentListID.value); + tableData.value = allTableData.value.filter( + (item) => + item.group_id === currentListID.value || currentNode.value.children?.some((treeItem) => treeItem.group_id === item.group_id) + ); }; //#endregion @@ -408,7 +456,7 @@ const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(tableData, queryParams, () => { displayTableData.value = tableData.value; }); - +const debounceQueryTable = debounce(handleQueryTable, 400); //#endregion //#region ====================== 鏌ヨ蹇嵎閿� ====================== @@ -465,6 +513,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