|
@@ -1,13 +1,25 @@
|
|
|
<template>
|
|
|
- <el-button type="primary" @click="handleSelect">选择指标</el-button>
|
|
|
- <metrics-list :listData="listData" :edit="true">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-button type="primary" @click="handleSelect">选择指标</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="text-align: right"> 接口配置已完成: {{ scheduleData.complete }}/{{ scheduleData.total }} </el-col>
|
|
|
+ </el-row>
|
|
|
+ <metrics-list :listData="listData" :edit="false">
|
|
|
<template #operation="scope">
|
|
|
- <el-button link type="primary" icon="Edit" @click="handleUpdateMetrics(scope.row)">保存</el-button>
|
|
|
+ <el-button link
|
|
|
+ :type="!scope.row.dataExp ? 'primary' : 'success'"
|
|
|
+ :icon="!scope.row.dataExp ? 'Edit' : 'CircleCheck'"
|
|
|
+ @click="handleConfigMetrics(scope.row)">
|
|
|
+ {{!scope.row.dataExp?'未配置' : '已配置'}}
|
|
|
+ </el-button>
|
|
|
+<!-- <el-button link type="primary" icon="Edit" @click="handleUpdateMetrics(scope.row)">保存</el-button>-->
|
|
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
</template>
|
|
|
</metrics-list>
|
|
|
- <el-dialog title="选择指标" v-model="openDialog" :width="1000" append-to-body style="top:20vh">
|
|
|
- <metrics-list :listData="addMetricsList" :edit="false">
|
|
|
+ <el-dialog title="选择指标" v-model="openDialog" :width="1000" append-to-body style="top:15vh">
|
|
|
+ <metrics-config :metrics="metricsRow" v-if="metricsType==='config'" @cancel="openDialog=false" @success="initData"/>
|
|
|
+ <metrics-list :listData="addMetricsList" :edit="false" v-else>
|
|
|
<template #operation="scope">
|
|
|
<el-button link type="primary" icon="Delete" @click="handleAddMetrics(scope.row)">添加</el-button>
|
|
|
</template>
|
|
@@ -15,8 +27,10 @@
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
|
+import {scheduleObj} from "@/api/obj/obj"
|
|
|
import {onMounted, ref} from "vue";
|
|
|
import metricsList from "./metricsList.vue"
|
|
|
+import metricsConfig from "./metricsConfig.vue"
|
|
|
const {proxy,emit} = getCurrentInstance()
|
|
|
const props = defineProps(['rowId'])
|
|
|
import {selectMetrics,addMetrics} from "@/api/obj/obj"
|
|
@@ -24,10 +38,30 @@ import {listMetrics,delMetrics,updateMetrics} from '@/api/obj/metrics'
|
|
|
const listData=ref([])
|
|
|
const openDialog=ref(false)
|
|
|
const addMetricsList=ref([])
|
|
|
+const metricsRow=ref({})
|
|
|
+const metricsType=ref("list")
|
|
|
+const scheduleData=ref({})
|
|
|
onMounted(()=>{
|
|
|
- queryList()
|
|
|
+ initData()
|
|
|
})
|
|
|
|
|
|
+const initData=()=>{
|
|
|
+ openDialog.value = false
|
|
|
+ queryList()
|
|
|
+ getScheduleTotal()
|
|
|
+}
|
|
|
+
|
|
|
+const getScheduleTotal=()=>{
|
|
|
+ scheduleObj(props.rowId).then(res=>{
|
|
|
+ scheduleData.value = res.data
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const handleConfigMetrics=(row)=>{
|
|
|
+ metricsType.value = "config"
|
|
|
+ metricsRow.value = {...row}
|
|
|
+ openDialog.value = true
|
|
|
+}
|
|
|
|
|
|
const queryList=()=>{
|
|
|
listMetrics({objId:props.rowId,tplId:-1}).then(res=>{
|
|
@@ -43,6 +77,7 @@ const handleAddMetrics = row =>{
|
|
|
}
|
|
|
|
|
|
const handleSelect=()=>{
|
|
|
+ metricsType.value = "list"
|
|
|
openDialog.value = true
|
|
|
selectMetrics(props.rowId).then(res=>{
|
|
|
addMetricsList.value = res.rows.map(p=>{
|