Bläddra i källkod

fux-bug:编辑文档对比时,过滤掉重复的片段标签;片段选定判断更改

cxmo 1 år sedan
förälder
incheckning
8e2ccb3edf

+ 1 - 1
src/views/semantics_manage/semantics/semanticsEditPage.vue

@@ -731,7 +731,7 @@ export default {
             if(text.areaRangeInfo){
                 const {StartOffset,EndOffset} = text.areaRangeInfo
                 const isIncludeStart = startOffset<=StartOffset
-                const isIncludeEnd = endOffset>=EndOffset
+                const isIncludeEnd = endOffset<=EndOffset
                 isIncludeStart&&isIncludeEnd&&(textAreaInfo.push(text))
             }
         })

+ 26 - 7
src/views/semantics_manage/utils/index.js

@@ -65,6 +65,23 @@ export const checkSelectedLabel = (selectArr, arr) => {
   const concatIds = new Set(selectArrIds.concat(arrIds))
   return !(concatIds.size === (arrIds.length + selectArrIds.length))
 }
+/**
+ * 判断数组内的每一项是否有与obj相等的
+ * @param {Array} list 
+ * @param {Object} obj 
+ * @returns 
+ */
+export const isTextEqual = (list, obj) => {
+    let flag = false
+    for (let i = 0; i < list.length; i++) {
+        if (_.isEqual(list[i], obj)) {
+            flag = true
+            break
+
+        }
+    }
+    return flag
+}
 /**
  * 获取文档的纯文本
  * @param {Object} file 
@@ -113,13 +130,15 @@ export const formatSemanticFile = (file,selectArr)=>{
     item.ishasThisLabel = item.isThisLabelArr.length ? true : false
     item.isSelectLabel = checkSelectedLabel(selectArr, item.isHistoryLabelArr) ||
       checkSelectedLabel(selectArr, item.isOtherLabelArr)||checkSelectedLabel(selectArr,item.isThisLabelArr)
-    if(item.IsPart===1){
-        textAreaList.push(
-            {...item,
-            ...{
-                startOffset:item.StartIndex,
-                endOffset:item.EndIndex
-            }})
+    if (item.IsPart === 1) {
+        const tempObj = {
+                ...item,
+                ...{
+                    startOffset: item.StartIndex,
+                    endOffset: item.EndIndex
+                }
+            }
+            !isTextEqual(textAreaList, tempObj) && textAreaList.push(tempObj)
     }
     return item
   })