|
@@ -86,7 +86,7 @@
|
|
|
<!-- <el-tree :props="anyProps" :data="anyData" @node-click="handleCheckChange" /> -->
|
|
|
<el-tree :props="anyProps" :data="anyData" @node-click="handleCheckChange" node-key="id">
|
|
|
<template #default="{ node, data }">
|
|
|
- <el-badge v-if="data.isLog" :value="filterLength" class="item">
|
|
|
+ <el-badge v-if="data.isLog" :value="data.filterLength" class="item">
|
|
|
<span>{{ node.label }}</span>
|
|
|
</el-badge>
|
|
|
<span v-else>{{ node.label }}</span>
|
|
@@ -101,7 +101,7 @@
|
|
|
</div>
|
|
|
<div style="height: 24px;line-height: 22px;margin-left: 5px;">
|
|
|
<span style="font-size: 16px;font-weight: 400;">装置列表——间隔:<em>{{ jg }}</em></span>
|
|
|
- <span style="font-size: 16px;font-weight: 400;">检测模型:<em>{{ flashLevel ? flashLevel : ''
|
|
|
+ <span style="font-size: 16px;font-weight: 400;margin-left:50px">检测模型:<em>{{ flashLevel ? flashLevel : ''
|
|
|
}}</em></span>
|
|
|
</div>
|
|
|
<div
|
|
@@ -112,7 +112,7 @@
|
|
|
</div> -->
|
|
|
|
|
|
<div style="margin: 5px;">
|
|
|
- <el-button type="primary" size="small" plain @click="checkTime">选择装置</el-button>
|
|
|
+ <el-button type="primary" size="small" plain @click="checkTime">追加装置</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -246,6 +246,7 @@ export default {
|
|
|
let editAndAdd = ref("新建检测任务")
|
|
|
let textIs = ref(false)
|
|
|
let filterLength = ref(0)//装置筛选有无attr_desc属性时的数组长度
|
|
|
+ let editTask_models=ref([])//编辑任务时的原模型列表。保存时需要与选择的模型进行差异对比
|
|
|
watch(() => props.editRow, (newVal) => {
|
|
|
needEdit.value = newVal
|
|
|
})
|
|
@@ -278,8 +279,9 @@ export default {
|
|
|
let modelnames = res.data.models.map((item, index) => {
|
|
|
return item.model_name
|
|
|
})
|
|
|
+ editTask_models.value = res.data.models
|
|
|
let arr = res.data.models.map((item, index) => {
|
|
|
- return item.sys_model_id
|
|
|
+ return item.model_id
|
|
|
})
|
|
|
newMission.value.cmodel = modelnames.join(',')
|
|
|
mxId.value = arr
|
|
@@ -292,7 +294,11 @@ export default {
|
|
|
if (res.code == 0) {
|
|
|
successScd.value = true
|
|
|
anyData.value = res.data.map(item => {
|
|
|
- return { ...item, isLog: false }; // 使用展开运算符为每个对象添加一个名为 isLog 的新属性,并设置其值为 true
|
|
|
+ //获取可能有问题的ied数量,比如没找到的装置
|
|
|
+ let alertieds= item.ieds==null ? [] : item.ieds.filter((r)=>{
|
|
|
+ return r.attr_desc==null || r.attr_desc=='';
|
|
|
+ })
|
|
|
+ return { ...item, isLog: alertieds.length>0 ? true : false,filterLength:alertieds.length }; // 使用展开运算符为每个对象添加一个名为 isLog 的新属性,并设置其值为 true
|
|
|
});
|
|
|
}
|
|
|
})
|
|
@@ -359,6 +365,16 @@ export default {
|
|
|
function saveMent() {//保存检测任务
|
|
|
myForm.value.validate((val) => {
|
|
|
if (val) {
|
|
|
+ let tmpmodelid=mxId.value.toString().split(',')
|
|
|
+ for(let i=0;i<tmpmodelid.length;i++){
|
|
|
+ for(let j=0;i<editTask_models.value.length;j++){
|
|
|
+ if(tmpmodelid[i]==editTask_models.value[j].sys_model_id || tmpmodelid[i]==editTask_models.value[j].model_id){
|
|
|
+ tmpmodelid[i] = editTask_models.value[j].model_id
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mxId.value=tmpmodelid.join(",")
|
|
|
saveLoading.value = true
|
|
|
task.createTask({
|
|
|
// id: newMission.value.misId - 0,
|
|
@@ -382,7 +398,11 @@ export default {
|
|
|
if (res.code == 0) {
|
|
|
successScd.value = true
|
|
|
anyData.value = res.data.map(item => {
|
|
|
- return { ...item, isLog: false }; // 使用展开运算符为每个对象添加一个名为 isLog 的新属性,并设置其值为 true
|
|
|
+ //获取可能有问题的ied数量,比如没找到的装置
|
|
|
+ let alertieds= item.ieds==null ? [] : item.ieds.filter((r)=>{
|
|
|
+ return r.attr_desc==null || r.attr_desc=='';
|
|
|
+ })
|
|
|
+ return { ...item, isLog: alertieds.length>0 ? true : false,filterLength: alertieds.length}; // 使用展开运算符为每个对象添加一个名为 isLog 的新属性,并设置其值为 true
|
|
|
});
|
|
|
} else {
|
|
|
ElMessage({
|
|
@@ -434,7 +454,17 @@ export default {
|
|
|
function handleCheckChange(e) {
|
|
|
jg.value = e.area_name
|
|
|
loadAreaId.value = e.area_id
|
|
|
- flashLevel.value = e.model_name.split(']')[1]
|
|
|
+ flashLevel.value = e.model_name.split(']')[1]
|
|
|
+ //优先从间隔结果中查找其ied装置列表,如果没找到,则尝试调用接口获取
|
|
|
+ let areaInfo = anyData.value.filter((r)=>{
|
|
|
+ return r.area_id==e.area_id
|
|
|
+ })
|
|
|
+ if(areaInfo.length>0){
|
|
|
+ mx.value = areaInfo[0].ieds.map(item => ({ ...item, isChoose: false }));
|
|
|
+ iedName.value = mx.value.map(item => item.ied_name).join(',')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //调用接口获取
|
|
|
iedLoading.value = true
|
|
|
scd.getTikIed({ scd_id: loadScdId.value - 0, area_id: e.area_id - 0 }).then(res => {
|
|
|
if (res.data != null) {
|
|
@@ -446,14 +476,6 @@ export default {
|
|
|
return param
|
|
|
}
|
|
|
})
|
|
|
- // 去除掉undefined
|
|
|
- const filteredArray = ccc.filter(item => item !== undefined);
|
|
|
- console.log(filteredArray, 'filter');
|
|
|
- if (filteredArray.length > 0) {
|
|
|
- filterLength.value = filteredArray.length
|
|
|
- e.isLog = true
|
|
|
- console.log(e, '修改');
|
|
|
- }
|
|
|
iedLoading.value = false
|
|
|
} else {
|
|
|
mx.value = []
|
|
@@ -463,7 +485,6 @@ export default {
|
|
|
}
|
|
|
function iedSave() {
|
|
|
scd.stickIed({ scd_id: loadScdId.value - 0, area_id: loadAreaId.value - 0, ied_ids: iedName.value }).then(res => {
|
|
|
- console.log(res, 'res');
|
|
|
if (res.code == 0) {
|
|
|
ElMessage({
|
|
|
type: "success",
|
|
@@ -509,6 +530,7 @@ export default {
|
|
|
function modelOpen() {
|
|
|
treeMool.value = true
|
|
|
}
|
|
|
+ //模型树选择返回的模型数据
|
|
|
function treeNum(data, name) {
|
|
|
mxId.value = data
|
|
|
// cmodel.value = name.toString()
|