wujingjing
2025-01-13 0bb7dffa90bfa3bd5ad04b75da9c31d21347c668
src/views/project/yw/systemManage/metricAgentMgr/MetricAgentMgr.vue
@@ -36,13 +36,11 @@
            <el-form-item>
               <el-button icon="ele-Refresh" @click="resetQuery">重置 </el-button>
            </el-form-item>
         </el-form>
      </template>
      <template #main>
         <div class="w100 h100">
            <div class="h-full" >
            <div class="h-full">
               <el-table
                  v-loading="tableLoading"
                  ref="draggableTableRef"
@@ -52,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">
@@ -129,10 +135,10 @@
import LeftTreeByMgr from '/@/components/tree/leftTreeByMgr.vue';
import { useQueryTable } from '/@/hooks/useQueryTable';
import { useSearch } from '/@/hooks/useSearch';
import { useCompRef } from '/@/utils/types';
import { convertListToTree, debounce } from '/@/utils/util';
import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics';
import { gotoRoute } from '/@/utils/route';
import { useCompRef } from '/@/utils/types';
import { convertListToTree, debounce, travelTree } from '/@/utils/util';
import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics';
//#region ====================== 左侧树数据,tree init ======================
const leftTreeRef = useCompRef(LeftTreeByMgr);
const treeLoading = ref(false);
@@ -181,6 +187,10 @@
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();
@@ -188,6 +198,10 @@
         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;
};