|
@@ -236,7 +236,6 @@ const clickUpTypeImgLeft = (arr, event, name, list) => {
|
|
|
setLeaderlines("UpLeft");
|
|
|
newPositionLine2(leaderLineShow.value);
|
|
|
}, 100);
|
|
|
- console.log("arr-----", arr);
|
|
|
if (!isDiffdescUpAdd.value && !isDiffdescUpDel.value && arr.length > 0) {
|
|
|
//只有修改
|
|
|
clickUpTypeImg(arr, event);
|
|
@@ -275,12 +274,21 @@ const clickUpTypeImgUpDel = (arr, event) => {
|
|
|
let found = false;
|
|
|
arr[0].DAI.forEach((item2) => {
|
|
|
if (item1.Name === item2.Name) {
|
|
|
- CommunicationS1.value.push(item1);
|
|
|
+ CommunicationS1.value.push({...item1,upAndDel:true});
|
|
|
found = true;
|
|
|
}
|
|
|
});
|
|
|
if (!found) {
|
|
|
- CommunicationS1.value.push({ ...item1, del: true });
|
|
|
+ CommunicationS1.value.push({ ...item1, del: true,upAndDel:true });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ CommunicationS1.value.sort((a, b) => {
|
|
|
+ if (a.del && !b.del) {
|
|
|
+ return 1; // 如果a.del为true且b.del为false,a排在b后面
|
|
|
+ } else if (!a.del && b.del) {
|
|
|
+ return -1; // 如果a.del为false且b.del为true,a排在b前面
|
|
|
+ } else {
|
|
|
+ return 0; // 其他情况保持原来的顺序
|
|
|
}
|
|
|
});
|
|
|
//修改遥控 如果data[0].DAI数组对象中的Name和如果data[0].DAI数组中的Name和data[1].DAI数组对象中的Name相同,
|
|
@@ -293,7 +301,6 @@ const clickUpTypeImgUpAdd = (arr, event) => {
|
|
|
// // 如果data中[0]的属性的数组中的Type值等于了data中[1]的属性的数组中的Type值并且nnerText值不 相同,
|
|
|
// // 那么把data中[1]中的Type相等的nnerText值赋给data中[0]的nnerTextRight,如果data中[0]的Type值,data[1]中没有,那么data中[0]属性nnerTextRight的值为 空 字符串
|
|
|
// //nnerText是展示在左侧的数据,nnerTextRight是展示在右侧的数据,如果nnerTextRight为空,那么同时展示在左侧最下方表示新增
|
|
|
- console.log("arr-----", arr);
|
|
|
clickLineResult();
|
|
|
setTopDiffName(event);
|
|
|
if (arr.length && arr.length > 0) {
|
|
@@ -335,7 +342,6 @@ const clickUpTypeImgUpAdd = (arr, event) => {
|
|
|
}
|
|
|
});
|
|
|
CommunicationS1.value.push(...itemsToAdd);
|
|
|
- console.log(" CommunicationS1.value", CommunicationS1.value);
|
|
|
};
|
|
|
const setTopDiffName = (event) => {
|
|
|
const dom1Rect = rightStartDom.value.getBoundingClientRect();
|
|
@@ -529,7 +535,6 @@ const setdomUpRightName = (el, item) => {
|
|
|
if (el) {
|
|
|
domListUpRightName.value.set(item, el);
|
|
|
}
|
|
|
- console.log('domListUpRightName.value', domListUpRightName.value)
|
|
|
};
|
|
|
const lineStyleAdd = {
|
|
|
color: "#134bea",
|
|
@@ -626,7 +631,8 @@ const setLeaderlines = (types) => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else if (//点击修改的左侧图标或装置信息中的基本信息
|
|
|
+ } else if (
|
|
|
+ //点击修改的左侧图标或装置信息中的基本信息
|
|
|
(types == "UpLeft" && domListUpLeft.value) ||
|
|
|
(types == "UpLeftBasic" && cClickCode.value == "scd.ied")
|
|
|
) {
|
|
@@ -637,7 +643,7 @@ const setLeaderlines = (types) => {
|
|
|
const doms =
|
|
|
types == "UpLeftBasic"
|
|
|
? domListUpRight.value
|
|
|
- : document.querySelectorAll(`#${clickUpIdDomName.value}`);//基本信息固定了id,其他的是动态生成的
|
|
|
+ : document.querySelectorAll(`#${clickUpIdDomName.value}`); //基本信息固定了id,其他的是动态生成的
|
|
|
let sameDom;
|
|
|
if (types == "UpLeft") {
|
|
|
sameDom = doms && doms.length > 1 ? doms[1] : doms[0]; //点击修改左侧或右侧每点击相同名字的dom
|
|
@@ -655,7 +661,6 @@ const setLeaderlines = (types) => {
|
|
|
endSocket: "left",
|
|
|
};
|
|
|
//左侧点击修改数据
|
|
|
- console.log('domListUpRightName.value', domListUpRightName.value)
|
|
|
for (const [key, value] of domListUpLeftName.value) {
|
|
|
for (const [key2, value2] of domListUpMiddleName.value) {
|
|
|
//又有新增又有修改,站控层
|
|
@@ -669,17 +674,15 @@ const setLeaderlines = (types) => {
|
|
|
hiddenLine2();
|
|
|
}
|
|
|
for (const [key3, value3] of domListUpRightName.value) {
|
|
|
- console.log('key2,key3', key2,key3)
|
|
|
if (typeof key2 == "string" && key2.includes("del") && key2 == key3) {
|
|
|
- console.log('33333', 33333)
|
|
|
- let line4; //从左往右的线条
|
|
|
- line4 = new LeaderLine(startDom, value, lineStyleDel);
|
|
|
- leaderLineShow.value.push(line4);
|
|
|
- let lineValue5;
|
|
|
- lineValue5 = new LeaderLine(value, value2, lineStyleDel);
|
|
|
- leaderLineShow.value.push(lineValue5);
|
|
|
- hiddenLine2();
|
|
|
- }
|
|
|
+ let line4; //从右往左的线条
|
|
|
+ line4 = new LeaderLine(value3, sameDom, lineStyleDel);
|
|
|
+ leaderLineShow.value.push(line4);
|
|
|
+ let lineValue5;
|
|
|
+ lineValue5 = new LeaderLine(value2, value3, lineStyleDel);
|
|
|
+ leaderLineShow.value.push(lineValue5);
|
|
|
+ hiddenLine2();
|
|
|
+ }
|
|
|
if (key == key2 && key2 == key3) {
|
|
|
let line; //从左往右的线条
|
|
|
line = new LeaderLine(startDom, value, lineStylUp);
|
|
@@ -715,7 +718,6 @@ const setLeaderlines = (types) => {
|
|
|
//左侧点击修改数据
|
|
|
for (const [key, value] of domListUpRightName.value) {
|
|
|
for (const [key2, value2] of domListUpMiddleName.value) {
|
|
|
-
|
|
|
for (const [key3, value3] of domListUpLeftName.value) {
|
|
|
if (key == key2 && key2 == key3) {
|
|
|
let line; //从左往右的线条
|
|
@@ -1025,9 +1027,7 @@ onMounted(() => {
|
|
|
>
|
|
|
<!-- 修改中间数据的名字 -->
|
|
|
<div
|
|
|
- v-if="
|
|
|
- (cClickCode != 'scd.ied' && !isDiffdescUpAdd&& !isDiffdescUpDel)
|
|
|
- "
|
|
|
+ v-if="cClickCode != 'scd.ied' && !isDiffdescUpAdd && !isDiffdescUpDel"
|
|
|
>
|
|
|
<div v-for="(value, key) in newleftDataMiddle" :key="key">
|
|
|
<div
|
|
@@ -1082,7 +1082,7 @@ onMounted(() => {
|
|
|
v-for="(value, key) in CommunicationS1"
|
|
|
:key="key"
|
|
|
class="middle-frame"
|
|
|
- :class="{ 'add-middle-frame': value.add == true }"
|
|
|
+ :class="{ 'del-middle-frame': value.add||value.del}"
|
|
|
>
|
|
|
<!-- 是修改的,!value.add 是修改加新增的 !value.del是修改加删除的 -->
|
|
|
<div
|
|
@@ -1091,7 +1091,8 @@ onMounted(() => {
|
|
|
:ref="(el) => setdomUPLeftName(el, key)"
|
|
|
>
|
|
|
<!-- 左侧类型修改 -->
|
|
|
- {{ value.Type }}
|
|
|
+ <span v-if="value.Type&&!value.upAndDel"> {{ value.Type }}</span>
|
|
|
+ <span v-else-if="value.Name&&value.upAndDel"> {{ value.Name }}</span>
|
|
|
</div>
|
|
|
<div
|
|
|
v-if="value.add"
|
|
@@ -1123,14 +1124,37 @@ onMounted(() => {
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
+ <!-- 中间纯修改类型的值 -->
|
|
|
+ <div
|
|
|
+ class="middle-item"
|
|
|
+ :ref="(el) => setdomUPMiddleName(el, key)"
|
|
|
+ v-if="!value.add && !value.del"
|
|
|
+ >
|
|
|
+ <div class="middle-left">
|
|
|
+ <div class="type-text up-type-text wraps middle-up-type-text">
|
|
|
+ <span v-if="value.InnerText&&!value.upAndDel">{{ value.InnerText }}</span>
|
|
|
+ <span v-else-if="value.Val&&value.upAndDel">{{ value.Val.InnerText }}</span>
|
|
|
+ <span v-else>【空】</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <img :src="jiantou" alt="" style="width: 40px" />
|
|
|
+ <div class="middle-right">
|
|
|
+ <div class="type-text up-type-text wraps middle-up-type-text">
|
|
|
+ <span v-if="value.nnerTextRight != '空'&!value.upAndDel">{{
|
|
|
+ value.nnerTextRight
|
|
|
+ }}</span>
|
|
|
+ <span v-else-if="value.Val&&value.upAndDel">{{ value.Val.InnerText }}</span>
|
|
|
+ <span v-else>【空】</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<!-- 右侧类型修改删除的值 -->
|
|
|
<div
|
|
|
class="middle-item"
|
|
|
style="
|
|
|
border: 2px dashed #e50505;
|
|
|
justify-content: start;
|
|
|
- margin-left: 30px;
|
|
|
+ margin-right: 30px;
|
|
|
"
|
|
|
:ref="(el) => setdomUPMiddleName(el, key + key + 'del')"
|
|
|
v-if="value.del"
|
|
@@ -1154,44 +1178,14 @@ onMounted(() => {
|
|
|
>
|
|
|
{{ value.Name }}
|
|
|
</div>
|
|
|
- <!-- 类型的值 -->
|
|
|
- <div
|
|
|
- class="middle-item"
|
|
|
- :ref="(el) => setdomUPMiddleName(el, key)"
|
|
|
- v-if="!value.add"
|
|
|
- >
|
|
|
- <div class="middle-left">
|
|
|
- <div class="type-text up-type-text wraps middle-up-type-text">
|
|
|
- <span v-if="value.InnerText">{{ value.InnerText }}</span>
|
|
|
- <span v-else>【空】</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <img :src="jiantou" alt="" style="width: 40px" />
|
|
|
- <div class="middle-right">
|
|
|
- <div class="type-text up-type-text wraps middle-up-type-text">
|
|
|
- <span v-if="value.nnerTextRight != '空'">{{
|
|
|
- value.nnerTextRight
|
|
|
- }}</span>
|
|
|
- <span v-else>【空】</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- <div
|
|
|
- v-if="value.nnerTextRight == '空'"
|
|
|
- class="middle-type-text"
|
|
|
- :ref="(el) => setdomUPLeftName(el, key)"
|
|
|
- >
|
|
|
- 左侧类型新增的值
|
|
|
- {{ value.InnerText }}
|
|
|
- </div> -->
|
|
|
- <!-- 右侧类型 -->
|
|
|
|
|
|
<div
|
|
|
- v-if="!value.add"
|
|
|
+ v-if="!value.add && !value.del"
|
|
|
class="middle-type-text"
|
|
|
:ref="(el) => setdomUpRightName(el, key)"
|
|
|
>
|
|
|
- {{ value.Type }}
|
|
|
+ <span v-if="value.Type&&!value.upAndDel"> {{ value.Type }}</span>
|
|
|
+ <span v-else-if="value.Name&&value.upAndDel"> {{ value.Name }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1467,6 +1461,11 @@ onMounted(() => {
|
|
|
.add-middle-frame {
|
|
|
width: 50%;
|
|
|
}
|
|
|
+ .del-middle-frame{
|
|
|
+ width: 50%;
|
|
|
+ position: absolute;
|
|
|
+ right: 20px;
|
|
|
+ }
|
|
|
.middle-item {
|
|
|
border: 2px dashed #ffa011;
|
|
|
color: #09162c;
|