|
@@ -213,13 +213,18 @@
|
|
|
</el-tree>
|
|
|
</div>
|
|
|
<!-- 装置列表 -->
|
|
|
- <div class="unitBox">
|
|
|
+ <div
|
|
|
+ class="unitBox"
|
|
|
+ v-loading="iedLoading"
|
|
|
+ element-loading-text="正在解析间隔..."
|
|
|
+ >
|
|
|
<div
|
|
|
style="
|
|
|
display: flex;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
margin: 10px 10px;
|
|
|
+ height: 43px;
|
|
|
"
|
|
|
>
|
|
|
<div>
|
|
@@ -229,13 +234,20 @@
|
|
|
style="vertical-align: middle"
|
|
|
/>
|
|
|
</div>
|
|
|
- <div style="height: 24px; line-height: 22px; margin-left: 5px">
|
|
|
+ <div style="height: 24px; margin-left: 5px">
|
|
|
<span style="font-size: 16px; font-weight: 400"
|
|
|
>装置列表——间隔:<em style="color: #255ce7">{{ jg }}</em></span
|
|
|
>
|
|
|
- <span style="font-size: 16px; font-weight: 400; margin-left: 50px"
|
|
|
+ <span
|
|
|
+ :title="flashLevel ? flashLevel : ''"
|
|
|
+ style="
|
|
|
+ font-size: 16px;
|
|
|
+ cursor: pointer;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-left: 30px;
|
|
|
+ "
|
|
|
>检测模型:<em style="color: #255ce7">{{
|
|
|
- flashLevel ? flashLevel : ""
|
|
|
+ flashLevel ? flashLevel.slice(0, 4) : ""
|
|
|
}}</em></span
|
|
|
>
|
|
|
</div>
|
|
@@ -271,7 +283,7 @@
|
|
|
</div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-loading="iedLoading" style="margin: 10px; float: left">
|
|
|
+ <div style="margin: 10px; float: left">
|
|
|
<!-- <div v-for="(item, index) in mx">
|
|
|
{{ item.ied_name }}
|
|
|
</div> -->
|
|
@@ -316,7 +328,7 @@
|
|
|
v-if="treeMool"
|
|
|
:treeMool="treeMool"
|
|
|
:treeNeed="treeNeed"
|
|
|
- :spaceInterval ="spaceInterval"
|
|
|
+ :spaceInterval="spaceInterval"
|
|
|
:checkedNodeNames="checkedNodeNames"
|
|
|
@treeBack="treeBack"
|
|
|
@treeNum="treeNum"
|
|
@@ -415,6 +427,7 @@ import {
|
|
|
toRefs,
|
|
|
nextTick,
|
|
|
} from "vue";
|
|
|
+import { debounce } from "lodash";
|
|
|
import flashPower from "../../../api/flashPower";
|
|
|
import report from "@/api/report";
|
|
|
import scd from "@/api/scd";
|
|
@@ -509,7 +522,7 @@ let editAndAdd = ref("新建检测任务");
|
|
|
let textIs = ref(false);
|
|
|
let filterLength = ref(0); //装置筛选有无attr_desc属性时的数组长度
|
|
|
let editTask_models = ref([]); //编辑任务时的原模型列表。保存时需要与选择的模型进行差异对比
|
|
|
-const spaceInterval = ref([]);//所属间隔的数据
|
|
|
+const spaceInterval = ref([]); //所属间隔的数据
|
|
|
watch(
|
|
|
() => props.editRow,
|
|
|
(newVal) => {
|
|
@@ -551,10 +564,13 @@ const reload = () => {
|
|
|
editTask_models.value = res.data.models;
|
|
|
spaceInterval.value = res.data.models;
|
|
|
let treeNeedAry = [];
|
|
|
- spaceInterval.value = []
|
|
|
+ spaceInterval.value = [];
|
|
|
let arr = res.data.models.map((item, index) => {
|
|
|
treeNeedAry.push(item.sys_model_id);
|
|
|
- spaceInterval.value.push({model_id:item.model_id,model_name:item.model_name})
|
|
|
+ spaceInterval.value.push({
|
|
|
+ model_id: item.model_id,
|
|
|
+ model_name: item.model_name,
|
|
|
+ });
|
|
|
return item.model_id;
|
|
|
});
|
|
|
newMission.value.cmodel = modelnames.join(",");
|
|
@@ -578,11 +594,11 @@ const modelId = ref(null);
|
|
|
const areaType = ref("");
|
|
|
const loadAreaInfo = (scdid) => {
|
|
|
mx.value = [];
|
|
|
- iedLoading.value = true;
|
|
|
scd.getLoadScd({ scd_id: scdid }).then((res) => {
|
|
|
iedLoading.value = false;
|
|
|
if (res.code == 0) {
|
|
|
successScd.value = true;
|
|
|
+ anyData.value = [];
|
|
|
if (res.data == null) {
|
|
|
ElMessage({
|
|
|
message: "未解析到间隔",
|
|
@@ -591,7 +607,6 @@ const loadAreaInfo = (scdid) => {
|
|
|
return;
|
|
|
}
|
|
|
modelId.value = res.data.length ? res.data[0].model_id : null;
|
|
|
- const arrType = [];
|
|
|
anyData.value = res.data.map((item) => {
|
|
|
//获取可能有问题的ied数量,比如没找到的装置
|
|
|
let alertieds =
|
|
@@ -706,7 +721,7 @@ const saveMent = () => {
|
|
|
saveLoading.value = false;
|
|
|
// emit("createBack", 0)
|
|
|
loadAreaInfo(loadScdId.value * 1);
|
|
|
- reload();//编辑 的时候
|
|
|
+ reload(); //编辑 的时候
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
message: res.msg,
|
|
@@ -804,6 +819,7 @@ const handleCheckChange = (e) => {
|
|
|
const aginParseArea = () => {
|
|
|
ElMessageBox.confirm("将清除原来的间隔数据,确定吗?", "间隔解析")
|
|
|
.then(() => {
|
|
|
+ iedLoading.value = true;
|
|
|
scd
|
|
|
.aginParseArea({ scd_id: loadScdId.value * 1 })
|
|
|
.then((res) => {
|
|
@@ -820,6 +836,7 @@ const aginParseArea = () => {
|
|
|
message: res.msg,
|
|
|
duration: 3000,
|
|
|
});
|
|
|
+ iedLoading.value = false;
|
|
|
}
|
|
|
})
|
|
|
.catch((res) => {
|
|
@@ -901,12 +918,12 @@ const modelOpen = () => {
|
|
|
treeMool.value = true;
|
|
|
};
|
|
|
//模型树选择返回的模型数据 //modelTree.vue返回的id函数
|
|
|
-const treeNum = (data, name,chooseData) => {
|
|
|
+const treeNum = (data, name, chooseData) => {
|
|
|
mxId.value = data;
|
|
|
- console.log("选中树返回的model_id mxId.value ",chooseData);
|
|
|
+ console.log("选中树返回的model_id mxId.value ", chooseData);
|
|
|
// cmodel.value = name.toString()
|
|
|
newMission.value.cmodel = name.toString();
|
|
|
- spaceInterval.value = chooseData
|
|
|
+ spaceInterval.value = chooseData;
|
|
|
};
|
|
|
const lookNum = (name, id) => {
|
|
|
scdId.value = id;
|
|
@@ -1027,12 +1044,10 @@ const rules = reactive({
|
|
|
});
|
|
|
const addInterval = () => {
|
|
|
reset();
|
|
|
-
|
|
|
openAddInterval.value = true;
|
|
|
};
|
|
|
-
|
|
|
-const sureAdd = async () => {
|
|
|
- queryRef.value.validate(async(val) => {
|
|
|
+const sureAdd = debounce(async () => {
|
|
|
+ queryRef.value.validate(async (val) => {
|
|
|
if (val) {
|
|
|
const data = {
|
|
|
...queryParams.value,
|
|
@@ -1042,13 +1057,13 @@ const sureAdd = async () => {
|
|
|
const meg =
|
|
|
res && res.code == 0
|
|
|
? { type: "success", message: `添加成功` }
|
|
|
- : { type: "error", message: `添加失败` };
|
|
|
+ : { type: "error", message: res.msg };
|
|
|
ElMessage(meg);
|
|
|
- loadAreaInfo(loadScdId.value * 1)
|
|
|
+ loadAreaInfo(loadScdId.value * 1);
|
|
|
openAddInterval.value = false;
|
|
|
}
|
|
|
});
|
|
|
-};
|
|
|
+}, 500);
|
|
|
const cancelClick = () => {
|
|
|
reset();
|
|
|
openAddInterval.value = false;
|
|
@@ -1214,9 +1229,10 @@ em {
|
|
|
}
|
|
|
|
|
|
.choose-base {
|
|
|
- height: 48px;
|
|
|
+ height: 42px;
|
|
|
margin-left: 5px;
|
|
|
width: 112px;
|
|
|
+ font-size: 14px;
|
|
|
color: #255ce7;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|