From 1daa00227f03bc3a370dc1311b7166df17368929 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 20 三月 2024 16:15:46 +0800
Subject: [PATCH] Merge refs/remotes/origin/master into refs/heads/master

---
 assets/js/toolClass.js |  115 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 58 insertions(+), 57 deletions(-)

diff --git a/assets/js/toolClass.js b/assets/js/toolClass.js
index 0cbb183..c173046 100644
--- a/assets/js/toolClass.js
+++ b/assets/js/toolClass.js
@@ -203,46 +203,71 @@
 }
 
 export function UpdateworksDataBytool(initData, res, value, linkList) {
-  let arr = []
+  let arr = [];
+  let newArr = [];
   for (let i = 0; i < initData.length; i++) {
-    const ele = initData[i]
+    const ele = initData[i];
     for (let j = 0; j < res.length; j++) {
-      const item = res[j]
+      const item = res[j];
       if (item.sequenceNum == ele.sequenceNum) {
-        item.refCode = ele.typeField.refCode
+        item.refCode = ele.typeField.refCode;
       }
     }
   }
-  res.forEach((item) => {
-    const obj = {
-      baseType: item.baseType,
-      order: 0,
-      id: item.id,
-      typeFieldId: item.fieldId,
-      sequenceNum: item.sequenceNum,
-      setDataAndFileLinkListRequest: []
-    }
-    for (let k in value) {
-      if (item.refCode === k) {
-        if (typeof value[k] == 'object') {
-          obj.strValue = JSON.stringify(value[k][0])
-          obj.setDataAndFileLinkListRequest = linkList
-        } else {
-          if (obj.baseType === 'String') {
-            obj.strValue = value[k] + ''
-          } else if (obj.baseType === 'Text') {
-            obj.textValue = value[k] + ''
+  initData.forEach((citem) => {
+    const updateOldData = res.find((f) => f.sequenceNum == citem.sequenceNum);
+    if (updateOldData) {
+      const obj = {
+        baseType: citem.typeField.baseType,
+        order: 0,
+        id: updateOldData.id,
+        typeFieldId: citem.typeField.id,
+        sequenceNum: citem.sequenceNum,
+        setDataAndFileLinkListRequest: [],
+      };
+      for (let k in value) {
+        if (citem.typeField.refCode === k) {
+          if (typeof value[k] == "object" && k != "region") {
+            obj.strValue = JSON.stringify(linkList);
+            obj.setDataAndFileLinkListRequest = linkList;
+          } else if (typeof value[k] == "object" && k == "region") {
+            obj.strValue = value[k]?.join("/");
+            obj.setDataAndFileLinkListRequest = [{ area: value[k] }];
           } else {
-            obj.strValue = value[k] + ''
+            obj.strValue = value[k].toString();
           }
         }
       }
+      if (obj.strValue) {
+        arr.push(obj);
+      }
+    } else {
+      const newObj = {
+        baseType: citem.typeField.baseType,
+        order: 0,
+        typeFieldId: citem.typeField.id,
+        sequenceNum: citem.sequenceNum,
+        setDataAndFileLinkListRequest: [],
+      };
+      for (let k in value) {
+        if (citem.typeField.refCode === k) {
+          if (typeof value[k] == "object") {
+            newObj.strValue = JSON.stringify(linkList);
+            newObj.setDataAndFileLinkListRequest = linkList;
+          } else {
+            newObj.strValue = value[k].toString();
+          }
+        }
+      }
+      if (newObj.strValue) {
+        newArr.push(newObj);
+      }
     }
-    // if (obj.strValue) {
-    arr.push(obj)
-    // }
-  })
-  return arr
+  });
+  return {
+    updateData: arr,
+    newData: newArr,
+  };
 }
 
 export function download(url) {
@@ -294,36 +319,12 @@
   return uuid.join('')
 }
 
-export function getFileMd5(file, chunkSize) {
+export function getFileMd5(file) {
   return new Promise((resolve, reject) => {
-    let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice
-    let chunks = Math.ceil(file.size / chunkSize)
-    let currentChunk = 0
     let spark = new SparkMD5.ArrayBuffer()
-    let fileReader = new FileReader()
-    fileReader.onload = function (e) {
-      spark.append(e.target.result)
-      currentChunk++
-      if (currentChunk < chunks) {
-        loadNext()
-      } else {
-        const md5 = spark.end()
-        resolve(md5)
-      }
-    }
-    fileReader.onerror = function (e) {
-      reject(e)
-    }
-
-    function loadNext() {
-      let start = currentChunk * chunkSize
-      let end = start + chunkSize
-      if (end > file.size) {
-        end = file.size
-      }
-      fileReader.readAsArrayBuffer(blobSlice.call(file, start, end))
-    }
-    loadNext()
+    spark.append(file)
+    const md5 = spark.end(false)
+    resolve(md5)
   })
 }
 

--
Gitblit v1.9.1