--添加解析execl插件,活动告警部分功能
This commit is contained in:
@@ -29,7 +29,8 @@
|
||||
"vue": "^3.3.4",
|
||||
"vue-codemirror": "^6.1.1",
|
||||
"vue-i18n": "^9.3.0",
|
||||
"vue-router": "^4.2.4"
|
||||
"vue-router": "^4.2.4",
|
||||
"xlsx": "^0.18.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/file-saver": "^2.0.5",
|
||||
|
||||
BIN
public/alarmHelp/20001.xlsx
Normal file
BIN
public/alarmHelp/20001.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/20002.xlsx
Normal file
BIN
public/alarmHelp/20002.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/20003.xlsx
Normal file
BIN
public/alarmHelp/20003.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/20004.xlsx
Normal file
BIN
public/alarmHelp/20004.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/20005.xlsx
Normal file
BIN
public/alarmHelp/20005.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30001.xlsx
Normal file
BIN
public/alarmHelp/30001.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30002.xlsx
Normal file
BIN
public/alarmHelp/30002.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30003.xlsx
Normal file
BIN
public/alarmHelp/30003.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30004.xlsx
Normal file
BIN
public/alarmHelp/30004.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30005.xlsx
Normal file
BIN
public/alarmHelp/30005.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30006.xlsx
Normal file
BIN
public/alarmHelp/30006.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30007.xlsx
Normal file
BIN
public/alarmHelp/30007.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/30008.xlsx
Normal file
BIN
public/alarmHelp/30008.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/40001.xlsx
Normal file
BIN
public/alarmHelp/40001.xlsx
Normal file
Binary file not shown.
BIN
public/alarmHelp/40002.xlsx
Normal file
BIN
public/alarmHelp/40002.xlsx
Normal file
Binary file not shown.
75
src/api/faultManage/actAlarm.ts
Normal file
75
src/api/faultManage/actAlarm.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||
import { request } from '@/plugins/http-fetch';
|
||||
import { parseObjLineToHump } from '@/utils/parse-utils';
|
||||
import { toRaw } from '@vue/reactivity';
|
||||
|
||||
/**
|
||||
* <20><>ѯ<EFBFBD>б<EFBFBD>
|
||||
* @param query <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||
* @returns object
|
||||
*/
|
||||
export async function listAct(query: Record<string, any>) {
|
||||
let filterData = '';
|
||||
let totalSQL = `select count(*) as total from alarm where alarm_status='1' ${filterData} `;
|
||||
let rowsSQL = `select * from alarm where alarm_status='1' ${filterData}`;
|
||||
|
||||
// <20><>ѯ
|
||||
let querySQL = '';
|
||||
if (query.alarm_code) {
|
||||
querySQL += ` and alarm_code = '${query.alarm_code}' `;
|
||||
}
|
||||
if (query.alarm_type) {
|
||||
querySQL += ` and alarm_type = ${query.alarm_type} `;
|
||||
}
|
||||
if (query.pv_flag) {
|
||||
querySQL += ` and pv_flag = ${query.pv_flag} `;
|
||||
}
|
||||
if (query.orig_severity) {
|
||||
querySQL += ` and orig_severity in (${query.orig_severity} )`;
|
||||
}
|
||||
if (query.ne_id) {
|
||||
querySQL += ` and ne_id like '%${query.ne_id}%' `;
|
||||
}
|
||||
if (query.ne_name) {
|
||||
querySQL += ` and ne_name like '%${query.ne_name}%' `;
|
||||
}
|
||||
if (query.ne_type) {
|
||||
querySQL += ` and ne_type like '%${query.ne_type}%' `;
|
||||
}
|
||||
|
||||
// <20><>ҳ
|
||||
const pageNum = (query.pageNum - 1) * query.pageSize;
|
||||
const limtSql = ` order by event_time desc limit ${pageNum},${query.pageSize} `;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const result = await request({
|
||||
url: `/databaseManagement/v1/select/omc_db/alarm`,
|
||||
method: 'get',
|
||||
params: {
|
||||
SQL: totalSQL + querySQL,
|
||||
rowsSQL: rowsSQL + querySQL + limtSql,
|
||||
},
|
||||
});
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (result.code === RESULT_CODE_SUCCESS) {
|
||||
const data: DataList = {
|
||||
total: 0,
|
||||
rows: [],
|
||||
code: result.code,
|
||||
msg: result.msg,
|
||||
};
|
||||
result.data.data.forEach((item: any) => {
|
||||
const itemData = item['alarm'];
|
||||
if (Array.isArray(itemData)) {
|
||||
if (itemData.length === 1 && itemData[0]['total']) {
|
||||
data.total = itemData[0]['total'];
|
||||
} else {
|
||||
data.rows = itemData.map(v => parseObjLineToHump(v));
|
||||
}
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -246,8 +246,9 @@ export default {
|
||||
delTaskTip: 'Are you sure to delete the data item with record number {num}?',
|
||||
},
|
||||
},
|
||||
alarm: {
|
||||
alarmAct: {
|
||||
faultManage: {
|
||||
activeAlarm: {
|
||||
all:'All',
|
||||
neType: 'Alarm device type',
|
||||
neName: 'Alarm network element name',
|
||||
neId: 'Alarm network element identification',
|
||||
@@ -263,6 +264,22 @@ export default {
|
||||
exportAll: 'Export All',
|
||||
disPlayFilfter: 'Display Filters',
|
||||
autoConfirm: 'Automatic confirmation of configuration',
|
||||
critical:'Critical',
|
||||
major:'Major',
|
||||
minor:'Minor',
|
||||
warning:'Warning',
|
||||
eventAlarm:'Event',
|
||||
communicationAlarm:'CommunicationAlarm',
|
||||
equipmentAlarm:'EquipmentAlarm',
|
||||
processingFailure:'ProcessingFailure',
|
||||
environmentalAlarm:'EnvironmentalAlarm',
|
||||
qualityOfServiceAlarm:'QualityOfServiceAlarm',
|
||||
alarmId:'alarm ID',
|
||||
alarmTitle:'alarm Title',
|
||||
clearUser:'clear User',
|
||||
clearType:'clear Type',
|
||||
ackState:'Alarm confirmation status',
|
||||
ackUser:'Alarm confirmation user'
|
||||
},
|
||||
},
|
||||
monitor: {
|
||||
|
||||
@@ -246,8 +246,9 @@ export default {
|
||||
delTaskTip: '确认删除记录编号为 {num} 的数据项?',
|
||||
},
|
||||
},
|
||||
alarm: {
|
||||
alarmAct: {
|
||||
faultManage: {
|
||||
activeAlarm: {
|
||||
all:'所有',
|
||||
neType: '告警设备类型',
|
||||
neName: '告警网元名称',
|
||||
neId: '告警网元标识',
|
||||
@@ -263,6 +264,22 @@ export default {
|
||||
exportAll: '导出全部',
|
||||
disPlayFilfter: '显示过滤',
|
||||
autoConfirm: '自动确认配置',
|
||||
critical:'严重告警',
|
||||
major:'主要告警',
|
||||
minor:'次要告警',
|
||||
warning:'警告告警',
|
||||
eventAlarm:'事件告警',
|
||||
communicationAlarm:'通信告警',
|
||||
equipmentAlarm:'设备告警',
|
||||
processingFailure:'处理错误告警',
|
||||
environmentalAlarm:'环境告警',
|
||||
qualityOfServiceAlarm:'服务质量告警',
|
||||
alarmId:'告警唯一标识',
|
||||
alarmTitle:'告警名称',
|
||||
clearUser:'告警清除用户',
|
||||
clearType:'告警清除类型',
|
||||
ackState:'告警确认状态',
|
||||
ackUser:'告警确认用户'
|
||||
},
|
||||
},
|
||||
monitor: {
|
||||
|
||||
@@ -27,6 +27,8 @@ type UserInfo = {
|
||||
email: string;
|
||||
/**用户性别 */
|
||||
sex: string | undefined;
|
||||
/**个人化设置 */
|
||||
profile: Record<string, any>;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -56,6 +58,7 @@ const useUserStore = defineStore('user', {
|
||||
phonenumber: '',
|
||||
email: '',
|
||||
sex: undefined,
|
||||
profile: {},
|
||||
}),
|
||||
getters: {
|
||||
/**
|
||||
@@ -129,6 +132,19 @@ const useUserStore = defineStore('user', {
|
||||
this.phonenumber = user.phone;
|
||||
this.email = user.email;
|
||||
this.sex = user.gender;
|
||||
// this.profile = JSON.parse(user.profile);
|
||||
try {
|
||||
this.profile = JSON.parse(user.profile);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.profile = {
|
||||
critical: '#FF5722',
|
||||
major: '#FFB800',
|
||||
minor: '#393D49',
|
||||
warning: '#009688',
|
||||
event: '#1E9FFF',
|
||||
};
|
||||
}
|
||||
|
||||
// 验证返回的roles是否是一个非空数组
|
||||
if (Array.isArray(roles) && roles.length > 0) {
|
||||
|
||||
30
src/utils/execl-utils.ts
Normal file
30
src/utils/execl-utils.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { read, utils } from 'xlsx';
|
||||
|
||||
/**
|
||||
* <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD>-<2D><>̬<EFBFBD><CCAC>Դ<EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
|
||||
*/
|
||||
const baseUrl = import.meta.env.VITE_HISTORY_BASE_URL;
|
||||
export const scriptUrl = `${
|
||||
baseUrl.length === 1 && baseUrl.indexOf('/') === 0
|
||||
? ''
|
||||
: baseUrl.indexOf('/') === -1
|
||||
? '/' + baseUrl
|
||||
: baseUrl
|
||||
}/alarmHelp`;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <20><>ʽʱ<CABD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
* @param dateStr ʱ<><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
* @param formatStr ʱ<><CAB1><EFBFBD><EFBFBD>ʽ Ĭ<><C4AC>YYYY-MM-DD HH:mm:ss
|
||||
* @returns Date<74><65><EFBFBD><EFBFBD>
|
||||
*/
|
||||
export async function parseStrToDate(): Promise<Record<string, any>[]> {
|
||||
|
||||
const f = await (await fetch(scriptUrl+"/20001.xlsx")).arrayBuffer();
|
||||
const wb = read(f);1
|
||||
const data = utils.sheet_to_json< Record<string, any>>(wb.Sheets[wb.SheetNames[0]]);
|
||||
console.log(data);
|
||||
return data;
|
||||
}
|
||||
@@ -1,15 +1,18 @@
|
||||
<script setup lang="ts">
|
||||
import { useRoute } from 'vue-router';
|
||||
import dayjs, { Dayjs } from 'dayjs';
|
||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||
import { message } from 'ant-design-vue/lib';
|
||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||
import { listUE } from '@/api/neUser/ue';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import { listAct } from '@/api/faultManage/actAlarm';
|
||||
import useNeInfoStore from '@/store/modules/neinfo';
|
||||
import useI18n from '@/hooks/useI18n';
|
||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||
import { parseStrToDate } from '@/utils/execl-utils';
|
||||
const { t } = useI18n();
|
||||
const route = useRoute();
|
||||
|
||||
@@ -21,12 +24,22 @@ let neOtions = ref<Record<string, any>[]>([]);
|
||||
|
||||
/**查询参数 */
|
||||
let queryParams = reactive({
|
||||
/**网元ID */
|
||||
neId: undefined,
|
||||
/**IMSI */
|
||||
imsi: '',
|
||||
/**msisdn */
|
||||
msisdn: '',
|
||||
/**告警设备类型 */
|
||||
ne_type: '',
|
||||
/**告警网元名称 */
|
||||
ne_name: '',
|
||||
/**告警网元标识 */
|
||||
ne_id: '',
|
||||
/**告警编号 */
|
||||
alarm_code: '',
|
||||
/**告警级别 */
|
||||
orig_severity: "'Critical','Major','Minor','Warning','Event'",
|
||||
/**告警产生时间 */
|
||||
eventTime: '',
|
||||
/**虚拟化标识 */
|
||||
pv_flag: '',
|
||||
/**告警类型 */
|
||||
alarm_type: '',
|
||||
/**当前页数 */
|
||||
pageNum: 1,
|
||||
/**每页条数 */
|
||||
@@ -72,54 +85,104 @@ let tableState: TabeStateType = reactive({
|
||||
/**表格字段列 */
|
||||
let tableColumns: ColumnsType = [
|
||||
{
|
||||
title: 'IMSI',
|
||||
dataIndex: 'imsi',
|
||||
title: t('views.faultManage.activeAlarm.alarmId'),
|
||||
dataIndex: 'alarmId',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.neId'),
|
||||
dataIndex: 'neId',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.neName'),
|
||||
dataIndex: 'neName',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.neType'),
|
||||
dataIndex: 'neType',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.origLevel'),
|
||||
dataIndex: 'origSeverity',
|
||||
align: 'center',
|
||||
customRender(opt) {
|
||||
const idx = opt.value.lastIndexOf('-');
|
||||
if (idx != -1) {
|
||||
return opt.value.substring(idx + 1);
|
||||
let levelName: any = {
|
||||
Critical: '严重告警',
|
||||
Major: '主要告警',
|
||||
Minor: '次要告警',
|
||||
Warning: '警告告警',
|
||||
Event: '事件告警',
|
||||
};
|
||||
if (levelName[opt.value]) {
|
||||
return levelName[opt.value];
|
||||
}
|
||||
return opt.value;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'MSISDN',
|
||||
dataIndex: 'msisdn',
|
||||
title: t('views.faultManage.activeAlarm.alarmCode'),
|
||||
dataIndex: 'alarmCode',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.alarmTitle'),
|
||||
dataIndex: 'alarmTitle',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.eventTime'),
|
||||
dataIndex: 'eventTime',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.alarmType'),
|
||||
dataIndex: 'alarmType',
|
||||
align: 'center',
|
||||
customRender(opt) {
|
||||
const idx = opt.value.lastIndexOf('-');
|
||||
if (idx != -1) {
|
||||
return opt.value.substring(idx + 1);
|
||||
let levelName: any = {
|
||||
CommunicationAlarm: '通信告警',
|
||||
EquipmentAlarm: '设备告警',
|
||||
ProcessingFailure: '处理错误告警',
|
||||
EnvironmentalAlarm: '环境告警',
|
||||
QualityOfServiceAlarm: '服务质量告警',
|
||||
};
|
||||
if (levelName[opt.value]) {
|
||||
return levelName[opt.value];
|
||||
}
|
||||
return opt.value;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'RatType',
|
||||
dataIndex: 'ratType',
|
||||
title: t('views.faultManage.activeAlarm.pvFlag'),
|
||||
dataIndex: 'alarm_id',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: 'DnnList',
|
||||
dataIndex: 'pduSessionInfo',
|
||||
title: t('views.faultManage.activeAlarm.clearUser'),
|
||||
dataIndex: 'clearUser',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.clearType'),
|
||||
dataIndex: 'clearType',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.ackState'),
|
||||
dataIndex: 'ackState',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: t('views.faultManage.activeAlarm.ackUser'),
|
||||
dataIndex: 'ackUser',
|
||||
align: 'center',
|
||||
customRender(opt) {
|
||||
if (opt.value) {
|
||||
let arr = [];
|
||||
for (const v of opt.value) {
|
||||
if (v.dnn) {
|
||||
arr.push(v.dnn);
|
||||
}
|
||||
}
|
||||
return arr.sort().join(',');
|
||||
}
|
||||
return '';
|
||||
},
|
||||
},
|
||||
{
|
||||
title: t('common.operate'),
|
||||
key: 'imsi',
|
||||
key: 'alarm_id',
|
||||
align: 'center',
|
||||
},
|
||||
];
|
||||
@@ -157,6 +220,47 @@ function fnTableSize({ key }: MenuInfo) {
|
||||
tableState.size = key as SizeType;
|
||||
}
|
||||
|
||||
/**表格所需option */
|
||||
const actAlarmOption = reactive({
|
||||
pvFlag: [
|
||||
{ label: 'PNF', value: "'PNF'" },
|
||||
{ label: 'VNF', value: "'VNF'" },
|
||||
],
|
||||
alarmType: [
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.communicationAlarm'),
|
||||
value: "'CommunicationAlarm'",
|
||||
},
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.equipmentAlarm'),
|
||||
value: "'EquipmentAlarm'",
|
||||
},
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.processingFailure'),
|
||||
value: "'ProcessingFailure'",
|
||||
},
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.environmentalAlarm'),
|
||||
value: "'EnvironmentalAlarm'",
|
||||
},
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.qualityOfServiceAlarm'),
|
||||
value: "'QualityOfServiceAlarm'",
|
||||
},
|
||||
],
|
||||
origSeverity: [
|
||||
{
|
||||
label: t('views.faultManage.activeAlarm.all'),
|
||||
value: "'Critical','Major','Minor','Warning','Event'",
|
||||
},
|
||||
{ label: t('views.faultManage.activeAlarm.critical'), value: "'Critical'" },
|
||||
{ label: t('views.faultManage.activeAlarm.major'), value: "'Major'" },
|
||||
{ label: t('views.faultManage.activeAlarm.minor'), value: "'Minor'" },
|
||||
{ label: t('views.faultManage.activeAlarm.warning'), value: "'Warning'" },
|
||||
{ label: t('views.faultManage.activeAlarm.eventAlarm'), value: "'Event'" },
|
||||
],
|
||||
});
|
||||
|
||||
/**对话框对象信息状态类型 */
|
||||
type ModalStateType = {
|
||||
/**详情框是否显示 */
|
||||
@@ -175,12 +279,31 @@ type ModalStateType = {
|
||||
let modalState: ModalStateType = reactive({
|
||||
visibleByView: false,
|
||||
visibleByEdit: false,
|
||||
title: '在线信息',
|
||||
title: '全部信息',
|
||||
from: {
|
||||
imsi: '',
|
||||
msisdn: '',
|
||||
pduSessionInfo: undefined,
|
||||
ratType: '',
|
||||
alarmId: '',
|
||||
alarmSeq: '',
|
||||
neId:'',
|
||||
neName: '',
|
||||
neType: '',
|
||||
alarmCode: '',
|
||||
alarmTitle: '',
|
||||
eventTime: '',
|
||||
alarmType: '',
|
||||
pvFlag: '',
|
||||
objectName: '',
|
||||
locationInfo: '',
|
||||
province: '',
|
||||
alarmStatus: '',
|
||||
specificProblemId: '',
|
||||
specificProblem: '',
|
||||
addInfo: '',
|
||||
clearType: '',
|
||||
clearTime: '',
|
||||
ackState: '',
|
||||
ackUser: '',
|
||||
ackTime: '',
|
||||
origSeverity: '',
|
||||
},
|
||||
confirmLoading: false,
|
||||
});
|
||||
@@ -190,10 +313,9 @@ let modalState: ModalStateType = reactive({
|
||||
* @param row 单行记录信息
|
||||
*/
|
||||
function fnModalVisibleByVive(row: Record<string, any>) {
|
||||
if (!row.imsi) {
|
||||
message.error(`记录信息存在错误`, 2);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(toRaw(row))
|
||||
return false;
|
||||
const imsiIdx = row.imsi.lastIndexOf('-');
|
||||
if (imsiIdx != -1) {
|
||||
row.imsi = row.imsi.substring(imsiIdx + 1);
|
||||
@@ -206,6 +328,11 @@ function fnModalVisibleByVive(row: Record<string, any>) {
|
||||
modalState.title = `${row.imsi} 记录信息`;
|
||||
modalState.visibleByView = true;
|
||||
}
|
||||
function fnModalVisibleBy() {
|
||||
parseStrToDate();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 对话框弹出关闭执行函数
|
||||
@@ -220,7 +347,7 @@ function fnModalCancel() {
|
||||
function fnGetList() {
|
||||
if (tableState.loading) return;
|
||||
tableState.loading = true;
|
||||
listUE(toRaw(queryParams)).then(res => {
|
||||
listAct(toRaw(queryParams)).then(res => {
|
||||
if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) {
|
||||
// 取消勾选
|
||||
if (tableState.selectedRowKeys.length > 0) {
|
||||
@@ -236,8 +363,10 @@ function fnGetList() {
|
||||
});
|
||||
}
|
||||
|
||||
const profile = useUserStore().profile;
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
fnGetList();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -249,7 +378,7 @@ onMounted(() => {
|
||||
:body-style="{ marginBottom: '24px', paddingBottom: 0 }"
|
||||
>
|
||||
<!-- 表格搜索栏 -->
|
||||
<a-form :model="queryParams" name="queryParams" layout="horizontal" >
|
||||
<a-form :model="queryParams" name="queryParams" layout="horizontal">
|
||||
<a-row :gutter="16">
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<!-- <a-form-item :label="t('views.neUser.ue.neType')" name="neId ">
|
||||
@@ -259,34 +388,42 @@ onMounted(() => {
|
||||
:placeholder="t('views.neUser.ue.neTypePlease')"
|
||||
/>
|
||||
</a-form-item> -->
|
||||
<a-form-item :label="t('views.neUser.ue.neTypePlease')" name="imsi">
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.neType')"
|
||||
name="ne_type"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="queryParams.imsi"
|
||||
v-model:value="queryParams.ne_type"
|
||||
allow-clear
|
||||
placeholder="查询IMSI"
|
||||
placeholder="查询告警设备类型"
|
||||
></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="IMSI" name="imsi">
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.neName')"
|
||||
name="ne_name"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="queryParams.imsi"
|
||||
v-model:value="queryParams.ne_name"
|
||||
allow-clear
|
||||
placeholder="查询IMSI"
|
||||
placeholder="查询告警网元名称"
|
||||
></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.neId')"
|
||||
name="ne_id"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
v-model:value="queryParams.ne_id"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
placeholder="查询告警网元标识"
|
||||
></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item>
|
||||
<a-space :size="8">
|
||||
@@ -304,50 +441,67 @@ onMounted(() => {
|
||||
</a-row>
|
||||
<a-row :gutter="16">
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.alarmCode')"
|
||||
name="alarm_code"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
v-model:value="queryParams.alarm_code"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
placeholder="查询告警编号"
|
||||
></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
></a-input>
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.origLevel')"
|
||||
name="orig_severity"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="queryParams.orig_severity"
|
||||
placeholder="Select alarm Type"
|
||||
show-search
|
||||
:options="actAlarmOption.origSeverity"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
></a-input>
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.eventTime')"
|
||||
name="eventTime"
|
||||
>
|
||||
<a-range-picker show-time style="width: 400px" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="16">
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
></a-input>
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.pvFlag')"
|
||||
name="pv_flag"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="queryParams.pv_flag"
|
||||
placeholder="Select a person"
|
||||
show-search
|
||||
:options="actAlarmOption.pvFlag"
|
||||
/>
|
||||
<!-- <a-select-option value="'PNF'">PNF</a-select-option>
|
||||
<a-select-option value="'VNF'">VNF</a-select-option>
|
||||
</a-select> -->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6" :md="12" :xs="24">
|
||||
<a-form-item label="MSISDN" name="msisdn">
|
||||
<a-input
|
||||
v-model:value="queryParams.msisdn"
|
||||
allow-clear
|
||||
placeholder="查询MSISDN"
|
||||
></a-input>
|
||||
<a-form-item
|
||||
:label="t('views.faultManage.activeAlarm.alarmType')"
|
||||
name="alarm_type"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="queryParams.alarm_type"
|
||||
placeholder="Select alarm Type"
|
||||
show-search
|
||||
:options="actAlarmOption.alarmType"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -415,7 +569,7 @@ onMounted(() => {
|
||||
:scroll="{ x: true }"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'imsi'">
|
||||
<template v-if="column.key === 'alarm_id'">
|
||||
<a-space :size="8" align="center">
|
||||
<a-tooltip>
|
||||
<template #title>查看详情</template>
|
||||
@@ -423,7 +577,16 @@ onMounted(() => {
|
||||
type="link"
|
||||
@click.prevent="fnModalVisibleByVive(record)"
|
||||
>
|
||||
<template #icon><ProfileOutlined /></template>
|
||||
<template #icon><InfoCircleOutlined /></template>
|
||||
</a-button>
|
||||
</a-tooltip>
|
||||
<a-tooltip>
|
||||
<template #title>帮助文档</template>
|
||||
<a-button
|
||||
type="link"
|
||||
@click.prevent="fnModalVisibleBy()"
|
||||
>
|
||||
<template #icon><QuestionCircleOutlined style="color:crimson;"/></template>
|
||||
</a-button>
|
||||
</a-tooltip>
|
||||
</a-space>
|
||||
|
||||
@@ -381,7 +381,7 @@ function fnBatchModalOk() {
|
||||
* 对话框弹出 批量删除确认执行函数
|
||||
* 进行表达规则校验
|
||||
*/
|
||||
function fnBatchDelModalOk() {
|
||||
function fnBatchDelModalOk() {
|
||||
modalStateBatchDelFrom
|
||||
.validate()
|
||||
.then(e => {
|
||||
@@ -434,7 +434,7 @@ function fnBatchModalCancel() {
|
||||
* 批量删除对话框弹出关闭执行函数
|
||||
* 进行表达规则校验
|
||||
*/
|
||||
function fnBatchDelModalCancel() {
|
||||
function fnBatchDelModalCancel() {
|
||||
modalState.visibleByBatchDel = false;
|
||||
modalState.visibleByView = false;
|
||||
modalStateBatchDelFrom.resetFields();
|
||||
@@ -859,7 +859,6 @@ onMounted(() => {
|
||||
>
|
||||
<a-row :gutter="16">
|
||||
<a-col :lg="12" :md="12" :xs="24">
|
||||
{{ modalState.from }}
|
||||
<a-form-item
|
||||
label="IMSI"
|
||||
name="imsi"
|
||||
@@ -1058,9 +1057,8 @@ onMounted(() => {
|
||||
</a-form>
|
||||
</a-modal>
|
||||
|
||||
|
||||
<!-- 批量删除框 -->
|
||||
<a-modal
|
||||
<!-- 批量删除框 -->
|
||||
<a-modal
|
||||
width="1000px"
|
||||
:keyboard="false"
|
||||
:mask-closable="false"
|
||||
@@ -1090,7 +1088,7 @@ onMounted(() => {
|
||||
></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :lg="12" :md="12" :xs="24">
|
||||
<a-form-item
|
||||
:label="t('views.neUser.sub.startIMSI')"
|
||||
@@ -1115,8 +1113,7 @@ onMounted(() => {
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-modal>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user