From d7fceb14f6fab12f62114ff36a2ec00bd6c7c1c2 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 30 七月 2024 14:46:54 +0800
Subject: [PATCH] 优化检验任务计算值最终值小数位数保留

---
 static/js/worker.js |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/static/js/worker.js b/static/js/worker.js
index 26ba16a..28c9c74 100644
--- a/static/js/worker.js
+++ b/static/js/worker.js
@@ -1,6 +1,6 @@
 
 let code = ''
-let tableList = []
+let tableList = null
 let excelMethodList = []
 let comparisonList = []
 let currentSample = {}
@@ -12,12 +12,38 @@
 let param = null
 self.onmessage = function(event) {
   const data = JSON.parse(event.data);
+  if(data.type&&data.type=='saveData'){
+    tableList = data.tableList;
+    param = data.param;
+    return
+  }
   code = data.code;
-  tableList = JSON.parse(JSON.stringify(data.tableList));
+  if(tableList){
+    let str = code.split('-')
+    let r = str[1]
+    let c = str[2]
+    tableList[0].arr.forEach((item,index)=>{
+      item.forEach((m,i)=>{
+        if(m.c==c&&m.r==r){
+          tableList[0].arr[index] = data.tableList[0].arr[index]
+        }
+      })
+    })
+  }else{
+    tableList = data.tableList;
+  }
+  if(param){
+    let str = code.split('-')
+    let pId = str[3]
+    param[pId] = data.param[pId]
+  }else{
+    param = data.param;
+  }
+  // tableList = data.tableList;
+  // param = data.param;
   excelMethodList = JSON.parse(JSON.stringify(data.excelMethodList));
   comparisonList = JSON.parse(JSON.stringify(data.comparisonList));
   currentSample = JSON.parse(JSON.stringify(data.currentSample));
-  param = data.param;
   PROJECT = data.PROJECT
   changeInput('', code);
 };
@@ -313,8 +339,13 @@
                   try{
                     if(comResult==0){
                       a[b].v.v = 0
+                    }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){
+                      let num = 0
+                      let str = n.v.ct.fa.split('.')[1]
+                      num = str.length
+                      a[b].v.v = comResult?Number(comResult).toFixed(num):0
                     }else{
-                      let val = parseFloat(comResult.toFixed(3))
+                      let val = parseFloat(Number(comResult).toFixed(3))
                       a[b].v.v = isNaN(val) ? '' : val
                     }
                   }catch(error){
@@ -817,7 +848,13 @@
       str = str.replace(new RegExp(a, 'g'),arr[a])
     }
     if(str.includes(',,')){
-      str = str.replace(new RegExp(',,', 'g'),'')
+      str = str.replace(new RegExp(',,', 'g'),',')
+    }
+    if(str.includes(',,')){
+      str = str.replace(new RegExp(',,', 'g'),',')
+    }
+    if(str.includes(',,')){
+      str = str.replace(new RegExp(',,', 'g'),',')
     }
     // console.log('str', str)
     if(str.includes('&"/"&')){
@@ -825,7 +862,7 @@
     } else if (isPoint) {
       return str.replace('ABS', '').replace(/\(|\)/g, '')
     }else {
-      console.log('str', str,eval(str))
+      // console.log('str', str)
       return eval(str)
     }
   } catch (error) {

--
Gitblit v1.9.3