wujingjing
2025-01-13 0bb7dffa90bfa3bd5ad04b75da9c31d21347c668
src/views/project/yw/systemManage/metricAgentMgr/optDlg/MetricName.vue
@@ -1,11 +1,22 @@
<template>
   <yw-dialog v-model="isShow" :showFooter="false" width="1030" :title="title">
      <div class="h-full">
         <el-table class="h-full" :data="tableData" :span-method="objectSpanMethod" border>
            <el-table-column prop="title" width="100" label="名称" />
            <el-table-column label="维度" >
               <el-table-column label="名称" prop="dimension.title"> </el-table-column>
               <el-table-column label="类型" width="100" prop="dimension.type"> </el-table-column>
         <el-table
            class="h-full"
            :data="tableData"
            :span-method="objectSpanMethod"
            border
            highlight-current-row
            :headerCellStyle="{ backgroundColor: 'var(--el-table-header-bg-color)' }"
         >
            <el-table-column prop="title" label="名称" width="120" fixed="left" show-overflow-tooltip> </el-table-column>
            <el-table-column prop="full_name" label="全称" width="170" show-overflow-tooltip> </el-table-column>
            <el-table-column prop="metrics_define" label="定义" show-overflow-tooltip> </el-table-column>
            <el-table-column prop="calcu_method" label="计算方法" width="120" show-overflow-tooltip> </el-table-column>
            <el-table-column label="维度" prop="dimension" show-overflow-tooltip>
               <el-table-column label="名称" width="100" prop="dimension.title" show-overflow-tooltip> </el-table-column>
               <el-table-column label="类型" width="95" prop="dimension.type" show-overflow-tooltip> </el-table-column>
            </el-table-column>
         </el-table>
      </div>
@@ -13,10 +24,10 @@
</template>
<script setup lang="ts">
import { computed, ref, watch } from 'vue';
import * as metricApi from '/@/api/metric';
import ywDialog from '/@/components/dialog/yw-dialog.vue';
import _ from 'lodash';
import { computed, ref, watch } from 'vue';
import * as metricApi from '/@/api/metrics';
import ywDialog from '/@/components/dialog/yw-dialog.vue';
const props = defineProps(['metricItem']);
const isShow = defineModel({
@@ -26,8 +37,10 @@
const tableData = ref([]);
const title = computed(() => props.metricItem?.title + '——指标名称');
// 需要合并单元格的 prop
const GROUP_PROP = ['title', 'full_name', 'metrics_define', 'calcu_method'];
const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
   if (columnIndex === 0) {
   if (GROUP_PROP.includes(column.property)) {
      return {
         rowspan: row.rowspan,
         colspan: 1,