|
|
@@ -14,9 +14,9 @@
|
|
|
<el-option v-for="s in filterOpts.severities" :key="s.value" :label="s.label" :value="s.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="场景">
|
|
|
- <el-select v-model="query.sceneCode" clearable placeholder="全部" style="width: 180px">
|
|
|
- <el-option v-for="s in filterOpts.scenes" :key="s.value" :label="s.label" :value="s.value" />
|
|
|
+ <el-form-item label="模块">
|
|
|
+ <el-select v-model="query.moduleCode" clearable placeholder="全部" style="width: 180px">
|
|
|
+ <el-option v-for="m in filterOpts.modules" :key="m.value" :label="m.label" :value="m.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="部门">
|
|
|
@@ -67,7 +67,9 @@
|
|
|
<el-table :data="rows" v-loading="loading" border stripe @row-click="onRowClick">
|
|
|
<el-table-column prop="exceptionCode" label="编号" width="160" show-overflow-tooltip />
|
|
|
<el-table-column prop="title" label="标题" min-width="200" show-overflow-tooltip />
|
|
|
- <el-table-column prop="sceneName" label="场景" width="120" show-overflow-tooltip />
|
|
|
+ <el-table-column label="模块" width="120" show-overflow-tooltip>
|
|
|
+ <template #default="{ row }">{{ row.moduleName || row.moduleCode || row.sceneName || row.sceneCode || '-' }}</template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="statusLabel" label="状态" width="100" />
|
|
|
<el-table-column prop="severityLabel" label="严重度" width="90" />
|
|
|
<el-table-column prop="priorityLevel" label="优先级" width="90" />
|
|
|
@@ -127,11 +129,13 @@ const filterOpts = reactive<{
|
|
|
statuses: { value: string; label: string }[];
|
|
|
severities: { value: string; label: string }[];
|
|
|
scenes: { value: string; label: string }[];
|
|
|
+ modules: { value: string; label: string }[];
|
|
|
departments: { value: number; label: string }[];
|
|
|
}>({
|
|
|
statuses: [],
|
|
|
severities: [],
|
|
|
scenes: [],
|
|
|
+ modules: [],
|
|
|
departments: [],
|
|
|
});
|
|
|
|
|
|
@@ -151,6 +155,7 @@ const query = reactive({
|
|
|
statusBucket: '' as string,
|
|
|
severity: '' as string,
|
|
|
sceneCode: '' as string,
|
|
|
+ moduleCode: '' as string,
|
|
|
deptId: undefined as number | undefined,
|
|
|
timeoutFlag: undefined as boolean | undefined,
|
|
|
ruleType: '' as string,
|
|
|
@@ -198,11 +203,13 @@ async function loadFilters() {
|
|
|
statuses: { value: string; label: string }[];
|
|
|
severities: { value: string; label: string }[];
|
|
|
scenes?: { value: string; label: string }[];
|
|
|
+ modules?: { value: string; label: string }[];
|
|
|
departments?: { value: number; label: string }[];
|
|
|
};
|
|
|
filterOpts.statuses = fo.statuses ?? [];
|
|
|
filterOpts.severities = fo.severities ?? [];
|
|
|
filterOpts.scenes = fo.scenes ?? [];
|
|
|
+ filterOpts.modules = fo.modules ?? [];
|
|
|
filterOpts.departments = fo.departments ?? [];
|
|
|
}
|
|
|
|
|
|
@@ -217,6 +224,7 @@ async function loadList() {
|
|
|
statusBucket: query.status ? undefined : query.statusBucket || undefined,
|
|
|
severity: query.severity || undefined,
|
|
|
sceneCode: query.sceneCode || undefined,
|
|
|
+ moduleCode: query.moduleCode || undefined,
|
|
|
deptId: query.deptId || undefined,
|
|
|
keyword: query.keyword || undefined,
|
|
|
timeoutFlag: query.timeoutFlag,
|
|
|
@@ -239,6 +247,7 @@ function resetQuery() {
|
|
|
query.statusBucket = '';
|
|
|
query.severity = '';
|
|
|
query.sceneCode = '';
|
|
|
+ query.moduleCode = '';
|
|
|
query.deptId = undefined;
|
|
|
query.timeoutFlag = undefined;
|
|
|
query.ruleType = '';
|