告警规则
This commit is contained in:
26
src/api/fault/warning.js
Normal file
26
src/api/fault/warning.js
Normal file
@ -0,0 +1,26 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 获取全部告警规则
|
||||
export function select(params) {
|
||||
return request({
|
||||
url: "/system/warningRule/select",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
// 获取全部告警类型
|
||||
export function type(params) {
|
||||
return request({
|
||||
url: "/system/signal/fault/select",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
// 保存信号量告警规则
|
||||
export function update(data) {
|
||||
return request({
|
||||
url: "/system/warningRule/save",
|
||||
method: "POST",
|
||||
data
|
||||
});
|
||||
}
|
@ -7,9 +7,10 @@ const getters = {
|
||||
token: state => state.user.token,
|
||||
avatar: state => state.user.avatar,
|
||||
name: state => state.user.name,
|
||||
userId: state => state.user.userId,
|
||||
introduction: state => state.user.introduction,
|
||||
roles: state => state.user.roles,
|
||||
permissions: state => state.user.permissions,
|
||||
permission_routes: state => state.permission.routes
|
||||
}
|
||||
export default getters
|
||||
};
|
||||
export default getters;
|
||||
|
@ -1,96 +1,112 @@
|
||||
import { login, logout, getInfo } from '@/api/login'
|
||||
import { getToken, setToken, removeToken } from '@/utils/auth'
|
||||
import { login, logout, getInfo } from "@/api/login";
|
||||
import { getToken, setToken, removeToken } from "@/utils/auth";
|
||||
|
||||
const user = {
|
||||
state: {
|
||||
token: getToken(),
|
||||
name: '',
|
||||
avatar: '',
|
||||
name: "",
|
||||
userId: "",
|
||||
avatar: "",
|
||||
roles: [],
|
||||
permissions: []
|
||||
},
|
||||
|
||||
mutations: {
|
||||
SET_TOKEN: (state, token) => {
|
||||
state.token = token
|
||||
state.token = token;
|
||||
},
|
||||
SET_NAME: (state, name) => {
|
||||
state.name = name
|
||||
state.name = name;
|
||||
},
|
||||
SET_USERID: (state, userId) => {
|
||||
state.userId = userId;
|
||||
},
|
||||
SET_AVATAR: (state, avatar) => {
|
||||
state.avatar = avatar
|
||||
state.avatar = avatar;
|
||||
},
|
||||
SET_ROLES: (state, roles) => {
|
||||
state.roles = roles
|
||||
state.roles = roles;
|
||||
},
|
||||
SET_PERMISSIONS: (state, permissions) => {
|
||||
state.permissions = permissions
|
||||
state.permissions = permissions;
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
// 登录
|
||||
Login({ commit }, userInfo) {
|
||||
const username = userInfo.username.trim()
|
||||
const password = userInfo.password
|
||||
const code = userInfo.code
|
||||
const uuid = userInfo.uuid
|
||||
const username = userInfo.username.trim();
|
||||
const password = userInfo.password;
|
||||
const code = userInfo.code;
|
||||
const uuid = userInfo.uuid;
|
||||
return new Promise((resolve, reject) => {
|
||||
login(username, password, code, uuid).then(res => {
|
||||
setToken(res.token)
|
||||
commit('SET_TOKEN', res.token)
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
login(username, password, code, uuid)
|
||||
.then(res => {
|
||||
setToken(res.token);
|
||||
commit("SET_TOKEN", res.token);
|
||||
resolve();
|
||||
})
|
||||
.catch(error => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// 获取用户信息
|
||||
GetInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getInfo(state.token).then(res => {
|
||||
const user = res.user
|
||||
const avatar = user.avatar == "" ? require("@/assets/image/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
|
||||
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
||||
commit('SET_ROLES', res.roles)
|
||||
commit('SET_PERMISSIONS', res.permissions)
|
||||
getInfo(state.token)
|
||||
.then(res => {
|
||||
const user = res.user;
|
||||
const avatar =
|
||||
user.avatar == ""
|
||||
? require("@/assets/image/profile.jpg")
|
||||
: process.env.VUE_APP_BASE_API + user.avatar;
|
||||
if (res.roles && res.roles.length > 0) {
|
||||
// 验证返回的roles是否是一个非空数组
|
||||
commit("SET_ROLES", res.roles);
|
||||
commit("SET_PERMISSIONS", res.permissions);
|
||||
} else {
|
||||
commit('SET_ROLES', ['ROLE_DEFAULT'])
|
||||
commit("SET_ROLES", ["ROLE_DEFAULT"]);
|
||||
}
|
||||
commit('SET_NAME', user.userName)
|
||||
commit('SET_AVATAR', avatar)
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
commit("SET_NAME", user.userName);
|
||||
commit("SET_USERID", user.userId);
|
||||
commit("SET_AVATAR", avatar);
|
||||
|
||||
resolve(res);
|
||||
})
|
||||
.catch(error => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// 退出系统
|
||||
LogOut({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
logout(state.token).then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
commit('SET_PERMISSIONS', [])
|
||||
removeToken()
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
logout(state.token)
|
||||
.then(() => {
|
||||
commit("SET_TOKEN", "");
|
||||
commit("SET_ROLES", []);
|
||||
commit("SET_PERMISSIONS", []);
|
||||
removeToken();
|
||||
resolve();
|
||||
})
|
||||
.catch(error => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// 前端 登出
|
||||
FedLogOut({ commit }) {
|
||||
return new Promise(resolve => {
|
||||
commit('SET_TOKEN', '')
|
||||
removeToken()
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
commit("SET_TOKEN", "");
|
||||
removeToken();
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default user
|
||||
export default user;
|
||||
|
144
src/views/fault/warningRule/index.vue
Normal file
144
src/views/fault/warningRule/index.vue
Normal file
@ -0,0 +1,144 @@
|
||||
<template>
|
||||
<section class="app-container">
|
||||
<el-form v-loading="loading">
|
||||
<el-form-item v-for="item1 in formTitle" :key="item1.id">
|
||||
<section v-if="item1.signalCode">
|
||||
<div class="tab">
|
||||
{{ item1.signalName }}
|
||||
</div>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6" v-for="item2 in formList" :key="item2.id">
|
||||
<el-form-item
|
||||
class="row"
|
||||
:label="
|
||||
item2.optValName
|
||||
? item2.optValName
|
||||
: (item2.optValName = item2.warningName)
|
||||
"
|
||||
label-width="200px"
|
||||
v-if="item1.signalCode === item2.signalCode"
|
||||
>
|
||||
<el-select v-model="item2.signalLevel">
|
||||
<el-option
|
||||
v-for="item in signalLevelList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</section>
|
||||
<section v-else>
|
||||
<div class="tab">
|
||||
{{ item1.signalName }}
|
||||
</div>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6" v-for="item2 in otherList" :key="item2.id">
|
||||
<el-form-item
|
||||
class="row"
|
||||
:label="
|
||||
item2.optValName
|
||||
? item2.optValName
|
||||
: (item2.optValName = item2.warningName)
|
||||
"
|
||||
label-width="200px"
|
||||
>
|
||||
<el-select v-model="item2.signalLevel">
|
||||
<el-option
|
||||
v-for="item in signalLevelList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</section>
|
||||
</el-form-item>
|
||||
<!-- 表单操作 -->
|
||||
<el-form-item class="right">
|
||||
<el-button type="primary" @click="submitForm">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</section>
|
||||
</template>
|
||||
<script>
|
||||
import { select, type, update } from "@/api/fault/warning";
|
||||
export default {
|
||||
name: "warning",
|
||||
data() {
|
||||
return {
|
||||
formTitle: [],
|
||||
formList: [],
|
||||
value: "",
|
||||
signalLevelList: [
|
||||
{ label: "一级", value: "1" },
|
||||
{ label: "二级", value: "2" },
|
||||
{ label: "三级", value: "3" },
|
||||
{ label: "四级", value: "4" }
|
||||
],
|
||||
loading: true
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 获取 title 的类型
|
||||
async getTitle() {
|
||||
const { select: data } = await type();
|
||||
this.formTitle = data;
|
||||
const { select: res } = await select({
|
||||
userId: this.$store.getters.userId
|
||||
});
|
||||
this.formList = res;
|
||||
this.loading = false;
|
||||
},
|
||||
async submitForm() {
|
||||
const array = JSON.parse(
|
||||
JSON.stringify(this.formList).replace(/optValName/g, "warningName")
|
||||
);
|
||||
this.loading = true;
|
||||
const { code } = await update({
|
||||
userId: this.$store.getters.userId,
|
||||
signalList: array
|
||||
});
|
||||
this.loading = false;
|
||||
if (code !== 200) {
|
||||
return this.$message.error("更新错误,请稍后重试");
|
||||
}
|
||||
this.$message.success("更新成功");
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
otherList() {
|
||||
let signalCodes = this.formTitle.map(v => v.signalCode).filter(v => !!v);
|
||||
return this.formList.filter(v => {
|
||||
return signalCodes.indexOf(v.signalCode) == -1;
|
||||
});
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getTitle();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.app-container {
|
||||
.tab {
|
||||
font-weight: 700;
|
||||
}
|
||||
.row {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
.el-select {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user