|
@@ -10,8 +10,10 @@ import newly0 from "@/assets/image/CID/newly0.png";
|
|
|
import LeaderLine from "../../../../public/leader-line.min.js";
|
|
|
import AnimEvent from "../../../../public/anim-event.min.js";
|
|
|
import { hiddenLine2, hiddenLineDialog } from "@/utils/linesPosition";
|
|
|
+import cid from "@/api/cid/cid";
|
|
|
import jiantou from "@/assets/image/CID/jiantou.png";
|
|
|
-import { translate } from "element-plus";
|
|
|
+import { useRoute } from "vue-router";
|
|
|
+const route = useRoute();
|
|
|
const props = defineProps({
|
|
|
clickRowDatas: {
|
|
|
type: Object,
|
|
@@ -29,10 +31,27 @@ const props = defineProps({
|
|
|
type: String,
|
|
|
default: "",
|
|
|
},
|
|
|
+ //在CID处点击差异得到的数据
|
|
|
+ clickCodeInfoCid: {
|
|
|
+ type: Array,
|
|
|
+ default: () => {},
|
|
|
+ },
|
|
|
});
|
|
|
|
|
|
const clickRow = ref(props.clickRowDatas);
|
|
|
let tagList = ref(null); //左侧更改的设备列表
|
|
|
+
|
|
|
+//CID数据,点击差异的每一条数据
|
|
|
+const CodeInfoCid = ref(props.clickCodeInfoCid);
|
|
|
+watch(
|
|
|
+ () => props.clickCodeInfoCid,
|
|
|
+ (newValue) => {
|
|
|
+ if (newValue) {
|
|
|
+ CodeInfoCid.value = newValue;
|
|
|
+ getDataCid();
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
//对比文件:头部对比的单个数据
|
|
|
watch(
|
|
|
() => props.clickRowDatas,
|
|
@@ -50,7 +69,11 @@ watch(
|
|
|
tagList.value = newValue;
|
|
|
clickLineResult();
|
|
|
clickLineResultMain();
|
|
|
- getData();
|
|
|
+ if (clickRow.value && clickRow.value.id) {
|
|
|
+ getData();
|
|
|
+ } else if (CodeInfoCid.value) {
|
|
|
+ getDataCid();
|
|
|
+ }
|
|
|
nextTick(() => {
|
|
|
setTimeout(() => {
|
|
|
setLeaderlineMain();
|
|
@@ -77,7 +100,11 @@ watch(
|
|
|
clickLineResult(); //重置
|
|
|
clickLineResultMain(); //重置
|
|
|
loading.value = true;
|
|
|
- getData();
|
|
|
+ if (clickRow.value && clickRow.value.id) {
|
|
|
+ getData();
|
|
|
+ } else if (CodeInfoCid.value) {
|
|
|
+ getDataCid();
|
|
|
+ }
|
|
|
nextTick(() => {
|
|
|
//一来左右两侧展示的线条
|
|
|
setTimeout(() => {
|
|
@@ -130,19 +157,7 @@ const getData = async () => {
|
|
|
let text;
|
|
|
text = item.diff_desc.replace(/[\r|\n|\t]/g, ""); //处理返回的数据中换行等,整理好规整数据
|
|
|
item.diff_desc = JSON.parse(text);
|
|
|
- isDiffdescUpAdd.value = false;
|
|
|
- isDiffdescUpDel.value = false;
|
|
|
- switch (item.diff_opt) {
|
|
|
- case "i": //新增
|
|
|
- leftI.value.push(item);
|
|
|
- break;
|
|
|
- case "d":
|
|
|
- rightD.value.push(item);
|
|
|
- break;
|
|
|
- case "u": //修改
|
|
|
- dataU.value.push(item);
|
|
|
- break;
|
|
|
- }
|
|
|
+ commonGetData(item);
|
|
|
});
|
|
|
}
|
|
|
mapList.value = res.data;
|
|
@@ -152,6 +167,40 @@ const getData = async () => {
|
|
|
});
|
|
|
// loading.value = false;
|
|
|
};
|
|
|
+const getDataCid = () => {
|
|
|
+ console.log("clickCodeValue", cClickCode.value);
|
|
|
+ const cidsnode = CodeInfoCid.value.childItemCid;
|
|
|
+ if (cClickCode.value == "scd.ied" && cidsnode && cidsnode.length > 0) {
|
|
|
+ mapList.value = cidsnode[0].diff_desc;
|
|
|
+ } else if (cidsnode) {
|
|
|
+ mapList.value = cidsnode;
|
|
|
+ mapList.value.forEach((item) => {
|
|
|
+ commonGetData(item);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ console.log("leftI.value", leftI.value);
|
|
|
+ console.log("leftI.value", rightD.value);
|
|
|
+ nextTick(() => {
|
|
|
+ middleLine.value.style.height = 0;
|
|
|
+ middleLine.value.style.height = mianItem.value.scrollHeight + "px";
|
|
|
+ });
|
|
|
+};
|
|
|
+const commonGetData = (item) => {
|
|
|
+ isDiffdescUpAdd.value = false;
|
|
|
+ isDiffdescUpDel.value = false;
|
|
|
+ dones();
|
|
|
+ switch (item.diff_opt) {
|
|
|
+ case "i": //新增
|
|
|
+ leftI.value.push(item);
|
|
|
+ break;
|
|
|
+ case "d":
|
|
|
+ rightD.value.push(item);
|
|
|
+ break;
|
|
|
+ case "u": //修改
|
|
|
+ dataU.value.push(item);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+};
|
|
|
//点击新增或删除的图片
|
|
|
const DelClick = ref({});
|
|
|
const clickTypeImg = (item, event) => {
|
|
@@ -274,12 +323,12 @@ const clickUpTypeImgUpDel = (arr, event) => {
|
|
|
let found = false;
|
|
|
arr[0].DAI.forEach((item2) => {
|
|
|
if (item1.Name === item2.Name) {
|
|
|
- CommunicationS1.value.push({...item1,upAndDel:true});
|
|
|
+ CommunicationS1.value.push({ ...item1, upAndDel: true });
|
|
|
found = true;
|
|
|
}
|
|
|
});
|
|
|
if (!found) {
|
|
|
- CommunicationS1.value.push({ ...item1, del: true,upAndDel:true });
|
|
|
+ CommunicationS1.value.push({ ...item1, del: true, upAndDel: true });
|
|
|
}
|
|
|
});
|
|
|
CommunicationS1.value.sort((a, b) => {
|
|
@@ -825,13 +874,16 @@ watch(
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
+//CID右侧数据
|
|
|
//连线===
|
|
|
onMounted(() => {
|
|
|
CodeImg(props.clickCodeValue);
|
|
|
if (props.iedRelation) {
|
|
|
tagList.value = Object.values(props.iedRelation)[0];
|
|
|
}
|
|
|
- getData();
|
|
|
+ if (clickRow.value && clickRow.value.id) {
|
|
|
+ getData();
|
|
|
+ }
|
|
|
});
|
|
|
</script>
|
|
|
|
|
@@ -1082,7 +1134,10 @@ onMounted(() => {
|
|
|
v-for="(value, key) in CommunicationS1"
|
|
|
:key="key"
|
|
|
class="middle-frame"
|
|
|
- :class="{ 'del-middle-frame': value.del,'add-middle-frame': value.add}"
|
|
|
+ :class="{
|
|
|
+ 'del-middle-frame': value.del,
|
|
|
+ 'add-middle-frame': value.add,
|
|
|
+ }"
|
|
|
>
|
|
|
<!-- 是修改的,!value.add 是修改加新增的 !value.del是修改加删除的 -->
|
|
|
<div
|
|
@@ -1091,8 +1146,10 @@ onMounted(() => {
|
|
|
:ref="(el) => setdomUPLeftName(el, key)"
|
|
|
>
|
|
|
<!-- 左侧类型修改 -->
|
|
|
- <span v-if="value.Type&&!value.upAndDel"> {{ value.Type }}</span>
|
|
|
- <span v-else-if="value.Name&&value.upAndDel"> {{ value.Name }}</span>
|
|
|
+ <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"
|
|
@@ -1132,18 +1189,24 @@ onMounted(() => {
|
|
|
>
|
|
|
<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-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">{{
|
|
|
+ <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-if="value.Val && value.upAndDel">{{
|
|
|
+ value.Val.InnerText
|
|
|
+ }}</span>
|
|
|
<span v-else>【空】</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1184,8 +1247,10 @@ onMounted(() => {
|
|
|
class="middle-type-text"
|
|
|
:ref="(el) => setdomUpRightName(el, key)"
|
|
|
>
|
|
|
- <span v-if="value.Type&&!value.upAndDel"> {{ value.Type }}</span>
|
|
|
- <span v-else-if="value.Name&&value.upAndDel"> {{ value.Name }}</span>
|
|
|
+ <span v-if="value.Type && !value.upAndDel"> {{ value.Type }}</span>
|
|
|
+ <span v-else-if="value.Name && value.upAndDel">
|
|
|
+ {{ value.Name }}</span
|
|
|
+ >
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1461,7 +1526,7 @@ onMounted(() => {
|
|
|
.add-middle-frame {
|
|
|
width: 50%;
|
|
|
}
|
|
|
- .del-middle-frame{
|
|
|
+ .del-middle-frame {
|
|
|
width: 50%;
|
|
|
position: absolute;
|
|
|
right: 20px;
|