Commit 1294ebf8 authored by 胡占生's avatar 胡占生 🇨🇳

feat:算法预警等级管理新增修改删除接口对接联调

parent f268f589
/**
* 新增告警等级配置
* @param {object} params 告警等级配置
* @param {string} params.alarmColor 告警颜色
* @param {string} params.alarmName 告警名称
* @param {string} params.alarmShowType 告警展示方式
* @param {number} params.id 主键
* @returns
*/
import request from '@/utils/request'
// 查询算法列表
export function listAlgLevel(query) {
return request({
url: '/system/alarmLevel/list',
method: 'get',
params: query
})
}
// 查询算法列表x详情
export function detailAlgLevel(id) {
return request({
url: `/system/alarmLevel/${id}`,
method: 'get',
})
}
// 新增算法列表
export function addAlgLevel(data) {
return request({
url: '/system/alarmLevel',
method: 'post',
data: data
})
}
// 修改算法列表
export function updateAlgLevel(data) {
return request({
url: '/system/alarmLevel',
method: 'put',
data: data
})
}
// 删除算法列表
export function deleteAlgLevel(ids) {
return request({
url: `/system/alarmLevel/${ids}`,
method: 'delete'
})
}
......@@ -9,82 +9,32 @@
<img src="@/assets/images/logo_video.png" width="25px" alt=""> <span>{{title}}</span>
</div>
</template>
<el-row :gutter="10" class="mb8">
<div class="form-title" style="display: flex;justify-content: flex-start;align-items: center;">
<span>基础信息</span>
</div>
</el-row>
<el-form ref="algRef" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="算法名称" prop="postName">
<el-input v-model="form.postName" placeholder="请输入岗位名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="算法英文" prop="postCode">
<el-input v-model="form.postCode" placeholder="请输入编码名称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="硬件平台" prop="yjpt">
<el-select v-model="form.yjpt" placeholder="请选择">
<el-option :label="'英伟达'" :value="'英伟达'"></el-option>
<el-option :label="'登临'" :value="'登临'"></el-option>
<el-option :label="'灵汐'" :value="'灵汐'"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="告警等级" prop="status">
<el-input v-model="form.gjdj" placeholder="请输入告警等级" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="8" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="卡片图片" prop="status">
<ImageUpload />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="10" class="mb8" style="justify-content: space-between;">
<el-col :span="1.5">
<div class="form-title" style="display: flex;justify-content: flex-start;align-items: center;">
<span>算法维护</span>
<span>告警等级</span>
</div>
</el-col>
<el-col :span="6.8" style="display: flex;">
<el-button
type="primary"
plain
icon="Search"
@click="handleAdd"
>搜索</el-button>
<el-button
type="success"
plain
icon="Refresh"
@click="handleUpdate"
>版本更新</el-button>
icon="Plus"
@click="handleLevelAdd"
>新增</el-button>
</el-col>
</el-row>
</el-row>
<el-card class="left-list">
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange">
<el-table-column label="文件名称" align="center" prop="postId" />
<el-table-column label="状态" align="center" prop="postCode" />
<el-table-column label="MD5核对结果" align="center" prop="postName" />
<el-table-column label="文件大小" align="center" prop="postSort" />
<el-table-column label="进度" align="center" prop="postSort" />
<el-table v-loading="loading" :data="algLevelList">
<el-table-column label="告警等级名称" align="center" prop="alarmName" />
<el-table-column label="告警等级颜色" align="center" prop="alarmColor">
<template #default="scope">
<span>
<el-tag type="success" :style="{backgroundColor: scope.row.alarmColor,width:'50px'}">{{ }}</el-tag>
</span>
</template>
</el-table-column>
<el-table-column label="告警等级展示方式" align="center" prop="alarmShowType" />
<el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:post:edit']">修改</el-button>
......@@ -92,8 +42,37 @@
</template>
</el-table-column>
</el-table>
</el-card>
<template #footer>
</el-card>
</el-dialog>
<el-dialog
v-model="openAdd"
width="800px"
append-to-body
>
<template v-slot:header>
<div class="cleartitle" style="display: flex;justify-content: flex-start;align-items: center;">
<img src="@/assets/images/logo_video.png" width="25px" alt=""> <span>{{titleLevel}}</span>
</div>
</template>
<el-form ref="algLevelRef" :model="form" :rules="rules" label-width="160px">
<el-form-item label="告警等级名称" prop="alarmName">
<el-input v-model="form.alarmName" placeholder="请输入告警等级名称" />
</el-form-item>
<el-form-item label="告警等级颜色" prop="alarmColor">
<el-color-picker v-model="form.alarmColor" />
</el-form-item>
<el-form-item label="告警展示方式" prop="alarmShowType">
<el-checkbox-group v-model="form.alarmShowType">
<el-checkbox label="H5推送" value="H5推送" />
<el-checkbox label="企业微信群推送" value="企业微信群推送" />
<el-checkbox label="钉钉群推送" value="钉钉群推送" />
<el-checkbox label="短信推送" value="短信推送" />
<el-checkbox label="语音推送" value="语音推送" />
</el-checkbox-group>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
......@@ -103,22 +82,24 @@
</template>
<script setup>
import { listPost, addPost, delPost, getPost, updatePost } from "@/api/system/post";
import { listAlgLevel, detailAlgLevel , addAlgLevel, updateAlgLevel, deleteAlgLevel} from "@/api/algorithmList/algorithmDown.js";
const { proxy } = getCurrentInstance();
const emit = defineEmits();
const open = ref(false);
const openAdd = ref(false);
const title = ref("");
const titleLevel = ref("");
const loading = ref(true);
const algLevelList = ref([]);
const data = reactive({
form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
postCode: undefined,
postName: undefined,
status: undefined
},
rules: {
postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
alarmName: [{ required: true, message: "告警等级名称不能为空", trigger: "blur" }],
postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
}
......@@ -129,50 +110,64 @@ const { queryParams, form, rules } = toRefs(data);
/** 表单重置 */
function reset() {
form.value = {
postId: undefined,
postCode: undefined,
postName: undefined,
postSort: 0,
status: "0",
remark: undefined
id: undefined,
alarmName: undefined,
alarmColor: '#409EFF',
alarmShowType: []
};
proxy.resetForm("algRef");
proxy.resetForm("algLevelRef");
}
/** 查询算法列表 */
function getLevelList() {
loading.value = true;
listAlgLevel(queryParams.value).then(response => {
algLevelList.value = response.rows
loading.value = false;
});
}
/** 新增按钮操作 */
function handleAdd() {
reset();
open.value = true;
title.value = "告警等级列表";
getLevelList()
}
/** 等级新增按钮操作 */
function handleLevelAdd() {
reset();
openAdd.value = true;
titleLevel.value = "新增告警等级";
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const postId = row.postId || ids.value;
getPost(postId).then(response => {
const id = row.id || ids.value;
detailAlgLevel(id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改算法";
form.value.alarmShowType=form.value.alarmShowType.split(',')
openAdd.value = true;
titleLevel.value = "修改告警等级";
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["algRef"].validate(valid => {
proxy.$refs["algLevelRef"].validate(valid => {
if (valid) {
if (form.value.postId != undefined) {
updatePost(form.value).then(response => {
form.value.alarmShowType=form.value.alarmShowType.join()
if (form.value.id != undefined) {
updateAlgLevel(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
openAdd.value = false;
getLevelList();
});
} else {
addPost(form.value).then(response => {
addAlgLevel(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
openAdd.value = false;
getLevelList();
});
}
}
......@@ -180,9 +175,19 @@ function submitForm() {
}
/** 取消按钮 */
function cancel() {
open.value = false;
openAdd.value = false;
reset();
}
/** 删除按钮操作 */
function handleDelete(row) {
const id = row.id || ids.value;
proxy.$modal.confirm('删除后,已配置的告警等级将被清空').then(function() {
return deleteAlgLevel(id);
}).then(() => {
getLevelList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
defineExpose({ handleAdd , handleUpdate })
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment