|
@@ -1,76 +1,28 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
- <el-form-item label="指标名称" prop="metricsName">
|
|
|
|
- <el-input
|
|
|
|
- v-model="queryParams.metricsName"
|
|
|
|
- placeholder="请输入指标名称"
|
|
|
|
- clearable
|
|
|
|
- @keyup.enter="handleQuery"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="指标编码" prop="metricsCode">
|
|
|
|
- <el-input
|
|
|
|
- v-model="queryParams.metricsCode"
|
|
|
|
- placeholder="请输入指标编码"
|
|
|
|
- clearable
|
|
|
|
- @keyup.enter="handleQuery"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="指标类型" prop="metricsType">
|
|
|
|
- <el-select v-model="queryParams.metricsType" placeholder="请选择指标类型" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in metrics_category"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
- />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="创建人" prop="createBy">
|
|
|
|
- <el-input
|
|
|
|
- v-model="queryParams.createBy"
|
|
|
|
- placeholder="请输入创建人"
|
|
|
|
- clearable
|
|
|
|
- @keyup.enter="handleQuery"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="创建时间" style="width: 308px">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="daterangeCreateTime"
|
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
|
- type="daterange"
|
|
|
|
- range-separator="-"
|
|
|
|
- start-placeholder="开始日期"
|
|
|
|
- end-placeholder="结束日期"
|
|
|
|
- ></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="更新人" prop="updateBy">
|
|
|
|
- <el-input
|
|
|
|
- v-model="queryParams.updateBy"
|
|
|
|
- placeholder="请输入更新人"
|
|
|
|
- clearable
|
|
|
|
- @keyup.enter="handleQuery"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="更新时间" style="width: 308px">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="daterangeUpdateTime"
|
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
|
- type="daterange"
|
|
|
|
- range-separator="-"
|
|
|
|
- start-placeholder="开始日期"
|
|
|
|
- end-placeholder="结束日期"
|
|
|
|
- ></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
|
- <el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
-
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-row :gutter="10" class="mb8">
|
|
- <el-col :span="1.5">
|
|
|
|
|
|
+ <el-col :span="18">
|
|
|
|
+ <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="0" @submit.native.prevent>
|
|
|
|
+ <el-form-item label="" prop="metricsName" style="margin-right:10px">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="queryParams.metricsName"
|
|
|
|
+ placeholder="请输入指标名称"
|
|
|
|
+ clearable
|
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
|
+ />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="" prop="metricsClass" style="margin-right:10px">
|
|
|
|
+ <el-select v-model="queryParams.metricsClass" placeholder="请选择指标分类">
|
|
|
|
+ <el-option :label="item.typeName" :value="item.typeId" v-for="item in typeListData" :key="item.typeId"/>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
|
+ <el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="6" style="text-align: right">
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
plain
|
|
plain
|
|
@@ -80,66 +32,24 @@
|
|
>新增
|
|
>新增
|
|
</el-button>
|
|
</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-button
|
|
|
|
- type="success"
|
|
|
|
- plain
|
|
|
|
- icon="Edit"
|
|
|
|
- :disabled="single"
|
|
|
|
- @click="handleUpdate"
|
|
|
|
- v-hasPermi="['metrics:def:edit']"
|
|
|
|
- >修改
|
|
|
|
- </el-button>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-button
|
|
|
|
- type="danger"
|
|
|
|
- plain
|
|
|
|
- icon="Delete"
|
|
|
|
- :disabled="multiple"
|
|
|
|
- @click="handleDelete"
|
|
|
|
- v-hasPermi="['metrics:def:remove']"
|
|
|
|
- >删除
|
|
|
|
- </el-button>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-button
|
|
|
|
- type="warning"
|
|
|
|
- plain
|
|
|
|
- icon="Download"
|
|
|
|
- @click="handleExport"
|
|
|
|
- v-hasPermi="['metrics:def:export']"
|
|
|
|
- >导出
|
|
|
|
- </el-button>
|
|
|
|
- </el-col>
|
|
|
|
- <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
</el-row>
|
|
</el-row>
|
|
-
|
|
|
|
- <el-table v-loading="loading" :data="defList" @selection-change="handleSelectionChange">
|
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
|
- <el-table-column label="指标ID" align="center" prop="metricsId"/>
|
|
|
|
- <el-table-column label="指标名称" align="center" prop="metricsName"/>
|
|
|
|
- <el-table-column label="指标编码" align="center" prop="metricsCode"/>
|
|
|
|
- <el-table-column label="指标公式" align="center" prop="metricsExp"/>
|
|
|
|
- <el-table-column label="指标类型" align="center" prop="metricsType">
|
|
|
|
|
|
+ <el-table v-loading="loading" :data="defList" border>
|
|
|
|
+ <el-table-column label="指标ID" align="center" prop="metricsId" width="80"/>
|
|
|
|
+ <el-table-column label="指标类型" align="left" prop="metricsType" width="150">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<dict-tag :options="metrics_category" :value="scope.row.metricsType"/>
|
|
<dict-tag :options="metrics_category" :value="scope.row.metricsType"/>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="创建人" align="center" prop="createBy"/>
|
|
|
|
- <el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="更新人" align="center" prop="updateBy"/>
|
|
|
|
|
|
+ <el-table-column label="指标名称" align="left" prop="metricsName" width="260"/>
|
|
|
|
+ <el-table-column label="指标编码" align="left" prop="metricsCode" width="200"/>
|
|
|
|
+ <el-table-column label="指标获取公式" align="left" prop="metricsExp"/>
|
|
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
|
|
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
|
|
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="备注" align="center" prop="remark"/>
|
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
|
|
|
+ <el-table-column label="备注" align="left" prop="remark" width="200"/>
|
|
|
|
+ <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="200">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['metrics:def:edit']">
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['metrics:def:edit']">
|
|
修改
|
|
修改
|
|
@@ -160,17 +70,8 @@
|
|
/>
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改指标定义对话框 -->
|
|
<!-- 添加或修改指标定义对话框 -->
|
|
- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
|
- <el-form ref="defRef" :model="form" :rules="rules" label-width="80px">
|
|
|
|
- <el-form-item label="指标名称" prop="metricsName">
|
|
|
|
- <el-input v-model="form.metricsName" placeholder="请输入指标名称"/>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="指标编码" prop="metricsCode">
|
|
|
|
- <el-input v-model="form.metricsCode" placeholder="请输入指标编码"/>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="指标公式" prop="metricsExp">
|
|
|
|
- <el-input v-model="form.metricsExp" type="textarea" placeholder="请输入内容"/>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <el-dialog :title="title" v-model="open" width="800px" append-to-body>
|
|
|
|
+ <el-form ref="defRef" :model="form" :rules="rules" label-width="120px">
|
|
<el-form-item label="指标类型" prop="metricsType">
|
|
<el-form-item label="指标类型" prop="metricsType">
|
|
<el-select v-model="form.metricsType" placeholder="请选择指标类型">
|
|
<el-select v-model="form.metricsType" placeholder="请选择指标类型">
|
|
<el-option
|
|
<el-option
|
|
@@ -181,8 +82,22 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="指标名称" prop="metricsName">
|
|
|
|
+ <el-input v-model="form.metricsName" placeholder="请输入指标名称"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="指标编码" prop="metricsCode">
|
|
|
|
+ <el-input v-model="form.metricsCode" placeholder="请输入指标编码"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="指标分类" prop="metricsClass">
|
|
|
|
+ <el-radio-group v-model="form.metricsClass" >
|
|
|
|
+ <el-radio-button :label="item.typeName" :value="item.typeId" v-for="item in typeListData" :key="item.typeId"/>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="指标获取公式" prop="metricsExp">
|
|
|
|
+ <el-input v-model="form.metricsExp" type="textarea" placeholder="请输入内容"/>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="备注" prop="remark">
|
|
<el-form-item label="备注" prop="remark">
|
|
- <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
|
|
|
|
|
|
+ <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" show-word-limit maxlength="300" :autosize="{minRows: 4, maxRows: 6}" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -197,6 +112,8 @@
|
|
|
|
|
|
<script setup name="Def">
|
|
<script setup name="Def">
|
|
import {addDef, delDef, getDef, listDef, updateDef} from "@/api/metrics/def";
|
|
import {addDef, delDef, getDef, listDef, updateDef} from "@/api/metrics/def";
|
|
|
|
+import { listType } from "@/api/metrics/type";
|
|
|
|
+import {onMounted} from "vue";
|
|
|
|
|
|
const {proxy} = getCurrentInstance();
|
|
const {proxy} = getCurrentInstance();
|
|
const {metrics_category} = proxy.useDict('metrics_category');
|
|
const {metrics_category} = proxy.useDict('metrics_category');
|
|
@@ -213,6 +130,8 @@ const title = ref("");
|
|
const daterangeCreateTime = ref([]);
|
|
const daterangeCreateTime = ref([]);
|
|
const daterangeUpdateTime = ref([]);
|
|
const daterangeUpdateTime = ref([]);
|
|
|
|
|
|
|
|
+const typeListData = ref([])
|
|
|
|
+
|
|
const data = reactive({
|
|
const data = reactive({
|
|
form: {},
|
|
form: {},
|
|
queryParams: {
|
|
queryParams: {
|
|
@@ -225,7 +144,8 @@ const data = reactive({
|
|
createTime: null,
|
|
createTime: null,
|
|
updateBy: null,
|
|
updateBy: null,
|
|
updateTime: null,
|
|
updateTime: null,
|
|
- remark: null
|
|
|
|
|
|
+ remark: null,
|
|
|
|
+ metricsClass:null,
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
metricsName: [
|
|
metricsName: [
|
|
@@ -240,6 +160,9 @@ const data = reactive({
|
|
metricsType: [
|
|
metricsType: [
|
|
{required: true, message: "指标类型不能为空", trigger: "change"}
|
|
{required: true, message: "指标类型不能为空", trigger: "change"}
|
|
],
|
|
],
|
|
|
|
+ metricsClass:[
|
|
|
|
+ {required: true, message: "指标分类不能为空", trigger: "change"}
|
|
|
|
+ ]
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
@@ -270,6 +193,12 @@ function cancel() {
|
|
reset();
|
|
reset();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+onMounted(()=>{
|
|
|
|
+ listType({pageNum: 1,pageSize: 20}).then(res => {
|
|
|
|
+ typeListData.value = res.rows;
|
|
|
|
+ });
|
|
|
|
+})
|
|
|
|
+
|
|
// 表单重置
|
|
// 表单重置
|
|
function reset() {
|
|
function reset() {
|
|
form.value = {
|
|
form.value = {
|
|
@@ -301,18 +230,12 @@ function resetQuery() {
|
|
handleQuery();
|
|
handleQuery();
|
|
}
|
|
}
|
|
|
|
|
|
-// 多选框选中数据
|
|
|
|
-function handleSelectionChange(selection) {
|
|
|
|
- ids.value = selection.map(item => item.metricsId);
|
|
|
|
- single.value = selection.length != 1;
|
|
|
|
- multiple.value = !selection.length;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/** 新增按钮操作 */
|
|
/** 新增按钮操作 */
|
|
function handleAdd() {
|
|
function handleAdd() {
|
|
reset();
|
|
reset();
|
|
open.value = true;
|
|
open.value = true;
|
|
title.value = "添加指标定义";
|
|
title.value = "添加指标定义";
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|
|
@@ -359,12 +282,5 @@ function handleDelete(row) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
-/** 导出按钮操作 */
|
|
|
|
-function handleExport() {
|
|
|
|
- proxy.download('metrics/def/export', {
|
|
|
|
- ...queryParams.value
|
|
|
|
- }, `def_${new Date().getTime()}.xlsx`)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
getList();
|
|
getList();
|
|
</script>
|
|
</script>
|