From 0bb7dffa90bfa3bd5ad04b75da9c31d21347c668 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期一, 13 一月 2025 17:06:02 +0800 Subject: [PATCH] 用户管理页面调整 --- src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue b/src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue index 367c59f..896a93d 100644 --- a/src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue +++ b/src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue @@ -36,17 +36,11 @@ <el-form-item> <el-button icon="ele-Refresh" @click="resetQuery">閲嶇疆 </el-button> </el-form-item> - <div class="absolute top-0 right-0 w-[112px] h-[24[x]] bg-white z-50 leading-3 pt-2"> - <el-radio-group v-model="canvasRadio" size="small"> - <el-radio-button label="鍒楄〃" :value="RadioType.List" /> - <el-radio-button label="鐢诲竷" :value="RadioType.Canvas" /> - </el-radio-group> - </div> </el-form> </template> <template #main> <div class="w100 h100"> - <div class="h-full" v-show="canvasRadio === RadioType.List"> + <div class="h-full"> <el-table v-loading="tableLoading" ref="draggableTableRef" @@ -56,8 +50,16 @@ :data="displayTableData" highlight-current-row > + <el-table-column type="index" label="搴忓彿" width="55" fixed="left" align="center"></el-table-column> + <el-table-column prop="title" label="鍚嶇О" width="300" fixed="left" show-overflow-tooltip> </el-table-column> - <el-table-column label="鍒涘缓浜�" prop="creator" width="100" show-overflow-tooltip> </el-table-column> + <el-table-column label="璋冪敤鏂瑰紡" prop="inner_call" width="100" show-overflow-tooltip> + <template #default="scope"> + {{ scope.row.inner_call === 'Y' ? '鍐呴儴' : '澶栭儴' }} + </template> + </el-table-column> + + <el-table-column label="鍒涘缓浜�" prop="create_user" width="100" show-overflow-tooltip> </el-table-column> <el-table-column label="鍒涘缓鏃堕棿" prop="create_time" width="105" show-overflow-tooltip> </el-table-column> <el-table-column label="鍙戝竷鐘舵��" prop="published" width="85" show-overflow-tooltip> <template #default="scope"> @@ -80,7 +82,12 @@ @click="openMetricNameDlg(scope.row)" ></i> </el-tooltip> - + <el-tooltip effect="dark" content="鎸囨爣鍥捐氨" placement="top"> + <i + class="ywifont ywicon-duoweidu !text-[17px] text-blue-400 cursor-pointer" + @click="gotoAgentGraph(scope.row)" + ></i> + </el-tooltip> <el-tooltip effect="dark" content="瀵硅瘽娴嬭瘯" placement="top"> <i class="ywifont ywicon-ceshi !text-[20px] text-blue-400 cursor-pointer" @click="openChatTest(scope.row)"></i> </el-tooltip> @@ -106,7 +113,6 @@ <Chat ref="chatRef" class="flex-auto px-2" :questionApi="questionAi"> </Chat> </div> </div> - <AgentGraph v-if="canvasRadio ===RadioType.Canvas" /> </div> </template> <!-- <OptDlg v-model="optDlgIsShow" :item="optDlgMapRow" @insert="insertOpt" @update="updateOpt" :groupId="currentListID"></OptDlg> --> @@ -129,10 +135,10 @@ import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue'; import { useQueryTable } from '/@/hooks/useQueryTable'; import { useSearch } from '/@/hooks/useSearch'; +import { gotoRoute } from '/@/utils/route'; import { useCompRef } from '/@/utils/types'; -import { convertListToTree, debounce } from '/@/utils/util'; +import { convertListToTree, debounce, travelTree } from '/@/utils/util'; import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics'; -import AgentGraph from './graph/AgentGraph.vue'; //#region ====================== 宸︿晶鏍戞暟鎹紝tree init ====================== const leftTreeRef = useCompRef(LeftTreeByMgr); const treeLoading = ref(false); @@ -181,12 +187,20 @@ const isDragStatus = ref(false); const metricStatus = ref(false); const allTableData = ref(null); +const getLenById = (data: any[], id: string, value: any) => { + return data.filter((item) => item.agent_group === id || value.children?.some((treeItem) => treeItem.group_id === item.agent_group)) + .length; +}; const getTableData = async () => { if (!allTableData.value) { const res = await metricApi.getMetricAgentListByPost(); allTableData.value = (res.values || []).map((item) => { item.create_time = item.create_time?.slice(0, 10); 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})`; }); } tableData.value = allTableData.value; @@ -212,15 +226,7 @@ showQuotaList.value = tableData.value; }); //#endregion -//#region ====================== 妯″瀷绠$悊(娌℃湁鐖惰妭鐐�) ====================== - const enum RadioType { - List = 'list', - Canvas='canvas' -} -const canvasRadio = ref(RadioType.List); -const getNodeTableData = () => {}; -//#endregion //#region ====================== Chat 娴嬭瘯 ====================== const chatRef = useCompRef(Chat); const chatTestMapRow = ref(null); @@ -278,6 +284,15 @@ metricNameMapRow.value = row; metricNameIsShow.value = true; }; + +const gotoAgentGraph = (row) => { + gotoRoute({ + name: 'AgentGraph', + query: { + id: row.id, + }, + }); +}; //#endregion onMounted(() => { -- Gitblit v1.9.3