|
@@ -16,7 +16,7 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <div style="width: 100%;display: flex;justify-content: center;align-items: center;">
|
|
|
+ <!-- <div style="width: 100%;display: flex;justify-content: center;align-items: center;">
|
|
|
<el-form :inline="true" @submit.stop.prevent>
|
|
|
<el-form-item label="标签:" style="width: 100%;" prop="labelId">
|
|
|
<el-select v-model="Data.Filter.labelId" placeholder="请选择标签">
|
|
@@ -24,7 +24,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div style="width: 100%;display: flex;justify-content: center;align-items: center;">
|
|
|
<el-form :inline="true" @submit.stop.prevent>
|
|
|
<el-form-item label="推送用户:" style="width: 100%;" prop="pushUserid">
|
|
@@ -67,12 +67,12 @@
|
|
|
<el-form :inline="true" @submit.stop.prevent>
|
|
|
<el-form-item label="模  板:" style="width: 50%;" prop="mode1">
|
|
|
<el-select v-model="Data.mode1" class="m-2" placeholder="微信模板" v-if="Data.radioValue1" @change="modeChange">
|
|
|
- <el-option v-for="item in templateData.wxList" :key="item.id" :label="item.templateName" :value="item.id" />
|
|
|
+ <el-option v-for="item in templateData.wxList" :key="item.id" :label="item.templateName" :value="item.templateName" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="    " style="width: 100%;" prop="mode2">
|
|
|
<el-select v-model="Data.mode2" class="m-2" placeholder="邮箱模板" v-if="Data.radioValue2" @change="modeChange">
|
|
|
- <el-option v-for="item in templateData.emailList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-option v-for="item in templateData.emailList" :key="item.id" :label="item.name" :value="item.templateName" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -127,11 +127,11 @@
|
|
|
<el-row :gutter="20" style="width: 100%;">
|
|
|
<!-- 报警设备 -->
|
|
|
<el-col :span="8">
|
|
|
- <div>
|
|
|
+ <div style="flex:1;">
|
|
|
<!-- style="display: flex; align-items: center;" -->
|
|
|
<span style="margin-right: 13px;">报警设备:</span>
|
|
|
- <el-form-item prop="equipment">
|
|
|
- <el-select v-model="condition.equipment" placeholder="请选择" style="flex: 1;">
|
|
|
+ <el-form-item prop="equipment" style="display:flex">
|
|
|
+ <el-select v-model="condition.equipment" placeholder="请选择" >
|
|
|
<el-option
|
|
|
v-for="item in Data.alarmEquipment"
|
|
|
:key="item"
|
|
@@ -139,17 +139,16 @@
|
|
|
:value="item"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- <span>   &</span>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
|
|
|
<!-- 报警类型 -->
|
|
|
<el-col :span="8">
|
|
|
- <div>
|
|
|
+ <div style="flex:1;">
|
|
|
<span style="margin-right: 13px;">报警类型:</span>
|
|
|
- <el-form-item prop="type">
|
|
|
- <el-select v-model="condition.type" placeholder="请选择" style="flex: 1;">
|
|
|
+ <el-form-item prop="type" style="display:flex">
|
|
|
+ <el-select v-model="condition.type" placeholder="请选择" >
|
|
|
<el-option
|
|
|
v-for="item in Data.alarmType"
|
|
|
:key="item"
|
|
@@ -157,17 +156,16 @@
|
|
|
:value="item"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- <span>   &</span>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
|
|
|
<!-- 报警来源 -->
|
|
|
<el-col :span="8">
|
|
|
- <div>
|
|
|
+ <div style="flex:1;">
|
|
|
<span style="margin-right: 13px;">报警来源:</span>
|
|
|
- <el-form-item prop="source">
|
|
|
- <el-select v-model="condition.source" placeholder="请选择" style="flex: 1;">
|
|
|
+ <el-form-item prop="source" style="display:flex">
|
|
|
+ <el-select v-model="condition.source" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in Data.alarmSource"
|
|
|
:key="item"
|
|
@@ -224,10 +222,10 @@
|
|
|
<el-form-item :label="index === 0 ? '条  件:' : '附加条件:'" style="width: 130%;">
|
|
|
<el-row :gutter="20" style="width: 100%;">
|
|
|
<el-col :span="8">
|
|
|
- <div>
|
|
|
+ <div style="flex:1;">
|
|
|
<span style="margin-right: 13px;width: 90px;">维修类型:</span>
|
|
|
<el-form-item prop="proType">
|
|
|
- <el-select v-model="condition2.proType" placeholder="请选择" style="flex: 1;">
|
|
|
+ <el-select v-model="condition2.proType" placeholder="请选择" style="display:flex">
|
|
|
<el-option
|
|
|
v-for="item in Data.alarmproType"
|
|
|
:key="item"
|
|
@@ -235,16 +233,15 @@
|
|
|
:value="item"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- <span>   &</span>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
- <div>
|
|
|
+ <div style="flex:1;">
|
|
|
<span style="margin-right: 13px;">维修状态:</span>
|
|
|
<el-form-item prop="proStatus">
|
|
|
- <el-select v-model="condition2.proStatus" placeholder="请选择" style="flex: 1;">
|
|
|
+ <el-select v-model="condition2.proStatus" placeholder="请选择" style="display:flex">
|
|
|
<el-option
|
|
|
v-for="item in Data.alarmproStatus"
|
|
|
:key="item"
|
|
@@ -328,7 +325,7 @@ const Data = reactive({
|
|
|
userId:"",
|
|
|
condition2:"",
|
|
|
condition:"",
|
|
|
- mode1:""
|
|
|
+ mode1:''
|
|
|
} as unknown as alarmRluesFilterModel,
|
|
|
/** 角色列表 */
|
|
|
roleList: [] as any,
|
|
@@ -470,12 +467,16 @@ const funSelect = async () => {
|
|
|
|
|
|
// 获取模板元素id
|
|
|
const modeChange = (() => {
|
|
|
+ const wxItem = templateData.wxList.filter(item => item.templateName === Data.mode1)
|
|
|
+ const emailItem = templateData.emailList.filter(item => item.templateName === Data.mode1)
|
|
|
+
|
|
|
+ console.log(Data.mode1,wxItem,emailItem,templateData.wxList,templateData.emailList)
|
|
|
Data.Filter.pushTemplateMappingID = []
|
|
|
- if (Data.Filter.pushTemplateMappingID.includes(Number(Data.mode1)) == false && Data.mode1 != '') {
|
|
|
- Data.Filter.pushTemplateMappingID?.push(Number(Data.mode1))
|
|
|
+ if (!Data.Filter.pushTemplateMappingID.includes(Number(wxItem[0].id))) {
|
|
|
+ Data.Filter.pushTemplateMappingID?.push(Number(wxItem[0].id))
|
|
|
}
|
|
|
- if (Data.Filter.pushTemplateMappingID.includes(Number(Data.mode2)) == false && Data.mode2 != '') {
|
|
|
- Data.Filter.pushTemplateMappingID?.push(Number(Data.mode2))
|
|
|
+ if (!Data.Filter.pushTemplateMappingID.includes(Number(emailItem[0].id))) {
|
|
|
+ Data.Filter.pushTemplateMappingID?.push(Number(emailItem[0].id))
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -563,10 +564,10 @@ const submitForm = async () => {
|
|
|
ElMessage.warning('请输入规则名称')
|
|
|
return
|
|
|
}
|
|
|
- if (!Data.Filter.labelId) {
|
|
|
- ElMessage.warning('请选择标签')
|
|
|
- return
|
|
|
- }
|
|
|
+ // if (!Data.Filter.labelId) {
|
|
|
+ // ElMessage.warning('请选择标签')
|
|
|
+ // return
|
|
|
+ // }
|
|
|
if (!Data.Filter.pushUserid || Data.Filter.pushUserid.length === 0) {
|
|
|
ElMessage.warning('请选择推送用户')
|
|
|
return
|
|
@@ -657,7 +658,7 @@ const openDialog = (row: alarmRluesFilterModel) => {
|
|
|
console.log(row)
|
|
|
if(row){
|
|
|
console.log(Data.Filter)
|
|
|
- const { triggerMethod, maintenanceTriggerMethod, ruleName, roleMappingId, labelId,pushUserid,condition,condition2, ...rest } = Data.Filter;
|
|
|
+ const { triggerMethod, maintenanceTriggerMethod, ruleName, roleMappingId, labelId,pushUserid,condition,condition2,isExclusive,isExclusiveMaintenance, ...rest } = Data.Filter;
|
|
|
Data.Filter = { ...rest, ...row };
|
|
|
Data.Filter.triggerMethod = triggerMethod || Data.Filter.triggerMethod;
|
|
|
Data.Filter.maintenanceTriggerMethod = maintenanceTriggerMethod || Data.Filter.maintenanceTriggerMethod;
|
|
@@ -668,17 +669,31 @@ const openDialog = (row: alarmRluesFilterModel) => {
|
|
|
Data.Filter.ruleName = ruleName || Data.Filter.ruleName;
|
|
|
Data.Filter.pushUserid = pushUserid || Data.Filter.pushUserid;
|
|
|
|
|
|
- if (Data.Filter.isExclusive == '是') {
|
|
|
- Data.Filter.isExclusive = true;
|
|
|
- } else {
|
|
|
- Data.Filter.isExclusive = false;
|
|
|
- }
|
|
|
|
|
|
- if (Data.Filter.isExclusiveMaintenance == '是') {
|
|
|
- Data.Filter.isExclusiveMaintenance = true;
|
|
|
- } else {
|
|
|
- Data.Filter.isExclusiveMaintenance = false;
|
|
|
+ Data.Filter.isExclusive = Boolean(row.isExclusive);
|
|
|
+ Data.Filter.isExclusiveMaintenance = Boolean(row.isExclusiveMaintenance);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Data.Filter.pushUserid = Array.isArray(row.pushUserid)
|
|
|
+ ? row.pushUserid
|
|
|
+ : [row.pushUserid || 0]; // 处理可能的非数组情况
|
|
|
+
|
|
|
+ if(row.pushTemplateMappingID != undefined && row.pushTemplateMappingID.length > 0) {
|
|
|
+ const id = row.pushTemplateMappingID[0]
|
|
|
+ const wxItem = templateData.wxList.filter(item => item.id === id);
|
|
|
+ const emailItem = templateData.emailList.filter(item => item.id === id);
|
|
|
+
|
|
|
+ if(wxItem != undefined) {
|
|
|
+ Data.mode1 = wxItem[0].templateName
|
|
|
+ } else {
|
|
|
+ Data.mode1 = emailItem[0].templateName
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
const temp = <string[]>Data.Filter.pushMethod?.split(',');
|
|
|
for (var i = 0; i < temp.length; i++) {
|
|
@@ -715,6 +730,8 @@ const openDialog = (row: alarmRluesFilterModel) => {
|
|
|
console.error('解析维修条件JSON失败:', e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ console.log(Data.Filter,Data.mode1)
|
|
|
} else {
|
|
|
Data.Filter = {
|
|
|
ruleName: '',
|
|
@@ -733,6 +750,19 @@ const openDialog = (row: alarmRluesFilterModel) => {
|
|
|
maintenanceTriggerMethod:null,
|
|
|
pushUserid: []
|
|
|
} as unknown as alarmRluesFilterModel;
|
|
|
+ Data.mode1 = "",
|
|
|
+ Data.condition = [{
|
|
|
+ equipment: '',
|
|
|
+ type: '',
|
|
|
+ source: ''
|
|
|
+ }]
|
|
|
+ Data.showAlarmConditions = false
|
|
|
+ Data.condition2 = [{
|
|
|
+ equipment: '',
|
|
|
+ type: '',
|
|
|
+ source: ''
|
|
|
+ }]
|
|
|
+ Data.showRepairConditions = false
|
|
|
}
|
|
|
|
|
|
Data.isShowDialog = true;
|