feat(web): 新增 syslog 日志功能

- 在 EditCom 组件中添加 syslog 相关配置和逻辑
- 在 log.vue 中使用 EditCom 组件实现 syslog 日志的编辑功能
- 优化 monitor.vue 中的场站切换功能,调整选择框宽度
- 修复 request/index.js 中的错误处理逻辑
This commit is contained in:
zhoumengru
2025-09-15 14:23:28 +08:00
parent 59b78d678d
commit 443338b539
4 changed files with 24 additions and 28 deletions

View File

@@ -27,7 +27,6 @@
</template>
<template #role_id="item">
<a-select
:dropdown-match-select-width="false"
v-model:value="detailInfo.ruleForm[item.key]"
@@ -94,7 +93,8 @@ import {
deviceFormRules,
alarmlogOptions,
serviceApiOptions,
serviceApiFormRules
serviceApiFormRules,
syslogOptions
} from '../../public/config/columnList'
import DetailInfo from './DetailInfo.vue'
import { postReq, getReq } from '@/request/api'
@@ -177,25 +177,23 @@ export default {
watch: {
workModeIdSelect: {
handler(n) {
switch (n) {
case '1':
this.detailInfos[0].list[this.detailInfos[0].list.length-1].type='select'
this.detailInfos[0].list[this.detailInfos[0].list.length - 1].type = 'select'
break;
break
case '5':
this.detailInfos[0].list[this.detailInfos[0].list.length-1].type='select'
this.detailInfos[0].list[this.detailInfos[0].list.length - 1].type = 'select'
break;
break
default:
this.detailInfos[0].list[this.detailInfos[0].list.length-1].type='unshow'
break;
this.detailInfos[0].list[this.detailInfos[0].list.length - 1].type = 'unshow'
break
}
},
}
// immediate: true
},
action: {
handler(n) {
if (n === 'read') {
@@ -229,7 +227,7 @@ export default {
case 'station':
this.detailInfos = stationOptions
this.formRules = stationFormRules
this.workModeIdSelect=this.detailInfos[0].ruleForm['work_mode']
this.workModeIdSelect = this.detailInfos[0].ruleForm['work_mode']
break
case 'device':
@@ -240,6 +238,11 @@ export default {
this.detailInfos = alarmlogOptions
this.formRules = {}
break
case 'syslog':
this.detailInfos = syslogOptions
this.formRules = {}
break
case 'serviceApi':
this.detailInfos = serviceApiOptions
this.formRules = serviceApiFormRules
@@ -257,8 +260,7 @@ export default {
this.getRoleIdList()
},
unmounted() {
console.log('modal');
console.log('modal')
},
methods: {
async getRoleIdList() {
@@ -378,7 +380,6 @@ export default {
}
const { selectedRowKeys } = this.$refs.treeTable[0]
const data = this.filterTreeData(selectedRowKeys, this.$refs.treeTable[0].tableData)
const arr = data.map((item) => ({
...item,
@@ -567,13 +568,11 @@ export default {
return ids
},
//移除校验
clearValidate(){
clearValidate() {
for (let i = 0; i < this.detailInfos.length; i++) {
// console.log(`detailInfo${i}`);
this.$refs[`detailInfo${i}`].handleReset()
}
}
}

View File

@@ -1,6 +1,6 @@
import axios from 'axios'
import openNotification from '../utils/notification'
// import { message } from 'ant-design-vue'
import { message } from 'ant-design-vue'
import router from 'vue-router'
const service = axios.create({
baseURL: '/api',
@@ -17,8 +17,7 @@ service.interceptors.response.use(
const res = response.data
if (res.errCode !== 0) {
console.log(res, 'res')
if ((res.ERR_TOKEN = 2 || res.errmsg == '校验token过期')) {
if (res.ERR_TOKEN == 2 || res.errmsg == '校验token过期') {
setTimeout(() => {
// router.push({ path: '/login' })
}, 1000)
@@ -31,8 +30,6 @@ service.interceptors.response.use(
// })
}
} else {
console.log(res.errmsg, 'res.errmsg')
message.error(res.errmsg)
}
return res

View File

@@ -4,7 +4,7 @@
<div class="left">
<div class="search-item">
<span>场站切换</span>
<a-select v-model:value="selectStationId" style="width: 400px" @change="getStationChange">
<a-select v-model:value="selectStationId" style="width: 300px" @change="getStationChange">
<a-select-option v-for="station in stations" :value="station['station_id']"
>{{ station.name }}
</a-select-option>

View File

@@ -26,9 +26,9 @@
<a-modal v-model:open="formModal" width="750px" style="top: 80px" :footer="null">
<!-- action:edit add -->
<EditCom
:record="record"
:record="formState"
@operateForm="operateForm"
type="user"
type="syslog"
:action="formStatus"
></EditCom>
</a-modal>