|
@@ -47,7 +47,7 @@ const props = defineProps({
|
|
|
});
|
|
|
|
|
|
const clickRow = ref(props.clickRowDatas);
|
|
|
-let tagList = ref(props.clickList?props.clickList:''); //左侧更改的设备列表
|
|
|
+let tagList = ref(props.clickList ? props.clickList : ""); //左侧更改的设备列表
|
|
|
|
|
|
//CID数据,点击差异的每一条数据
|
|
|
const CodeInfoCid = ref(props.clickCodeInfoCid);
|
|
@@ -89,7 +89,7 @@ watch(
|
|
|
if (newValue) {
|
|
|
dones();
|
|
|
tagList.value = newValue;
|
|
|
- console.log(' tagList.value3333', tagList.value)
|
|
|
+ cClickCode.value = "";
|
|
|
clickLineResult();
|
|
|
clickLineResultMain();
|
|
|
if (clickRow.value && clickRow.value.id) {
|
|
@@ -180,7 +180,7 @@ const getData = async () => {
|
|
|
if (res.data && cClickCode.value != "scd.ied") {
|
|
|
res.data.forEach((item) => {
|
|
|
let text;
|
|
|
- if(!item.diff_desc) return;
|
|
|
+ if (!item.diff_desc) return;
|
|
|
text = item.diff_desc.replace(/[\r|\n|\t]/g, ""); //处理返回的数据中换行等,整理好规整数据
|
|
|
item.diff_desc = JSON.parse(text);
|
|
|
commonGetData(item);
|
|
@@ -422,28 +422,38 @@ const clickUpTypeImgUpAdd = (arr, event) => {
|
|
|
const setTopDiffName = (event) => {
|
|
|
const dom1Rect = rightStartDom.value.getBoundingClientRect();
|
|
|
const dom2Rect = leftStartDom.value.getBoundingClientRect();
|
|
|
+ console.log("rightStartDom.value", rightStartDom.value, leftStartDom.value);
|
|
|
//设置差异位置
|
|
|
nextTick(() => {
|
|
|
const evt = event.target.getBoundingClientRect();
|
|
|
- let keyCount = newrightData.value
|
|
|
- ? Object.keys(newrightData.value).length
|
|
|
- : 0;
|
|
|
- let keyCount2 = newleftData.value
|
|
|
- ? Object.keys(newleftData.value).length
|
|
|
- : 0;
|
|
|
- if ((keyCount > 0 && keyCount < 3) || (keyCount > 1 && keyCount2 < 0)) {
|
|
|
- const nums = evt.top - dom2Rect.top + 160 + "px";
|
|
|
- const numsR = evt.top - dom1Rect.top + 160 + "px";
|
|
|
- addDiff.value.style.top = nums;
|
|
|
- delDiff.value.style.top = numsR;
|
|
|
- middleMain.value.style.top = nums;
|
|
|
+ // 如果 newrightData 为真值(即不为 null、undefined、0、""、NaN 或 false),则使用 newrightData;否则使用一个空对象 {}。
|
|
|
+ // 如果 newrightData 不存在或者不是对象,则返回 0
|
|
|
+ const keyCount = Object.keys(newrightData.value || {}).length;
|
|
|
+ const keyCount2 = Object.keys(newleftData.value || {}).length;
|
|
|
+ const LeftChild = Object.keys(IorDClick.value || {}).length; //新增或修改点击
|
|
|
+ const RightChild = Object.keys(DelClick.value || {}).length; //点击删除点击
|
|
|
+ let topOffset = evt.top - dom2Rect.top;
|
|
|
+ let topOffsetR = evt.top - dom1Rect.top;
|
|
|
+ let offsetIncrease = 160;
|
|
|
+ if (
|
|
|
+ (keyCount > 0 && keyCount2 < 3) ||
|
|
|
+ (keyCount > 1 && keyCount2 < 1) ||
|
|
|
+ CommunicationS1.value.length == 1
|
|
|
+ ) {
|
|
|
+ offsetIncrease = 160;
|
|
|
} else {
|
|
|
- const nums2 = evt.top - dom2Rect.top + 60 + "px";
|
|
|
- const numsR = evt.top - dom1Rect.top + 60 + "px";
|
|
|
- addDiff.value.style.top = nums2;
|
|
|
- delDiff.value.style.top = numsR;
|
|
|
- middleMain.value.style.top = nums2;
|
|
|
+ offsetIncrease = 60;
|
|
|
+ }
|
|
|
+ if (LeftChild <= 3&&RightChild==0||RightChild <= 3&&LeftChild==0) {
|
|
|
+ offsetIncrease = 160;
|
|
|
}
|
|
|
+ topOffset += offsetIncrease;
|
|
|
+ topOffsetR += offsetIncrease;
|
|
|
+ const nums = topOffset + "px";
|
|
|
+ const numsR = topOffsetR + "px";
|
|
|
+ addDiff.value.style.top = nums;
|
|
|
+ delDiff.value.style.top = numsR;
|
|
|
+ middleMain.value.style.top = nums;
|
|
|
});
|
|
|
};
|
|
|
const newleftDataMiddle = ref(null); //处理修改居中展示的数据
|
|
@@ -822,6 +832,7 @@ const setLeaderlines = (types) => {
|
|
|
hiddenLine2();
|
|
|
}
|
|
|
if (typeof key3 == "string" && key3.includes("add") && key3 == key2) {
|
|
|
+ LeaderLine.positionByWindowResize = false;
|
|
|
let line4; //从左往右的线条
|
|
|
line4 = new LeaderLine(value3, value2, lineStyleAdd);
|
|
|
leaderLineShow.value.push(line4);
|
|
@@ -1527,12 +1538,14 @@ onMounted(() => {
|
|
|
.middle-type-text {
|
|
|
border: 1px solid #ffa011;
|
|
|
color: #ffa011;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
+ // display: flex;
|
|
|
+ // align-items: center;
|
|
|
+ // justify-content: center;
|
|
|
margin-bottom: 45px;
|
|
|
- width: 120px;
|
|
|
- height: 23px;
|
|
|
+ width: 110px;
|
|
|
+ height: auto;
|
|
|
+ padding: 2px 4px;
|
|
|
+ text-align: center;
|
|
|
word-wrap: break-word;
|
|
|
}
|
|
|
.right-difference {
|