spring
2025-04-21 86d4b4787748a83e76d048cd6a0b5583a2cd0651
src/workers/DataWorker.worker.js
@@ -45,7 +45,7 @@
          if (num == 1) {
            str = str + m.v.v + ",";
            num++;
          } else {
          } else if (num == 0) {
            str = m.v.v + ",";
            num++;
          }
@@ -74,6 +74,11 @@
              n.v.ps.value.includes("检验值")
            ) {
              let arr = n.v.ps.value.split("值");
              // console.log(
              //   `dataAcquisitionInfo[str].value`,
              //   dataAcquisitionInfo[str].value,
              //   str
              // );
              if (Array.isArray(dataAcquisitionInfo[str].value)) {
                // 如果数据源为数组,则执行
                for (
@@ -84,37 +89,34 @@
                  if (i + 1 == arr[1]) {
                    // 赋值数采优化检验项列表
                    arrSpecial.push(n.i);
                    setTimeout(() => {
                      let num0 = 0;
                      if (
                        n.v.ct &&
                        n.v.ct.fa &&
                        typeof n.v.ct.fa == "string" &&
                        n.v.ct.fa.includes(".")
                      ) {
                        // 保留模板配置的小数点位数
                        let str0 = n.v.ct.fa.split(".")[1];
                        num0 = str0.length;
                        n.v.v = dataAcquisitionInfo[str].value[i]
                          ? Number(dataAcquisitionInfo[str].value[i]).toFixed(
                              num0
                            )
                          : dataAcquisitionInfo[str].value[i];
                      } else {
                        // 直接赋值
                        console.log(44444, dataAcquisitionInfo, str);
                        n.v.v = dataAcquisitionInfo[str].value[i];
                      }
                      // 传递给主线程
                      result = {
                        method: "changeInput",
                        value: {
                          list: list,
                          n: n,
                        },
                      };
                      self.postMessage(JSON.stringify(result));
                    }, 2000);
                    let num0 = 0;
                    if (
                      n.v.ct &&
                      n.v.ct.fa &&
                      typeof n.v.ct.fa == "string" &&
                      n.v.ct.fa.includes(".")
                    ) {
                      // 保留模板配置的小数点位数
                      let str0 = n.v.ct.fa.split(".")[1];
                      num0 = str0.length;
                      n.v.v = dataAcquisitionInfo[str].value[i]
                        ? Number(dataAcquisitionInfo[str].value[i]).toFixed(
                            num0
                          )
                        : dataAcquisitionInfo[str].value[i];
                    } else {
                      // 直接赋值
                      n.v.v = dataAcquisitionInfo[str].value[i];
                    }
                    // 传递给主线程
                    result = {
                      method: "changeInput",
                      value: {
                        list: list,
                        n: n,
                      },
                    };
                    self.postMessage(JSON.stringify(result));
                  }
                }
              } else {
@@ -122,7 +124,36 @@
                if (arr[1] == dataAcquisitionInfo[str].frequency) {
                  // 如果数采次数等于检验值序号,则赋值给当前检验值
                  arrSpecial.push(n.i);
                  setTimeout(() => {
                  let num0 = 0;
                  if (
                    n.v.ct &&
                    n.v.ct.fa &&
                    typeof n.v.ct.fa == "string" &&
                    n.v.ct.fa.includes(".")
                  ) {
                    // 保留模板配置的小数点位数
                    let str0 = n.v.ct.fa.split(".")[1];
                    num0 = str0.length;
                    n.v.v = dataAcquisitionInfo[str].value
                      ? Number(dataAcquisitionInfo[str].value).toFixed(num0)
                      : dataAcquisitionInfo[str].value;
                  } else {
                    // 直接赋值
                    n.v.v = dataAcquisitionInfo[str].value;
                  }
                  // 传递给主线程
                  result = {
                    method: "changeInput",
                    value: {
                      list: list,
                      n: n,
                    },
                  };
                  self.postMessage(JSON.stringify(result));
                } else if (Number(dataAcquisitionInfo[str].frequency) > num) {
                  // 如果数采次数大于检验值序号,则赋值给最后一个检验值
                  if (n.v.ps.value.includes(num)) {
                    arrSpecial.push(n.i);
                    let num0 = 0;
                    if (
                      n.v.ct &&
@@ -138,6 +169,7 @@
                        : dataAcquisitionInfo[str].value;
                    } else {
                      // 直接赋值
                      console.log(555, dataAcquisitionInfo, str);
                      n.v.v = dataAcquisitionInfo[str].value;
                    }
                    // 传递给主线程
@@ -149,39 +181,6 @@
                      },
                    };
                    self.postMessage(JSON.stringify(result));
                  }, 2000);
                } else if (Number(dataAcquisitionInfo[str].frequency) > num) {
                  // 如果数采次数大于检验值序号,则赋值给最后一个检验值
                  if (n.v.ps.value.includes(num)) {
                    arrSpecial.push(n.i);
                    setTimeout(() => {
                      let num0 = 0;
                      if (
                        n.v.ct &&
                        n.v.ct.fa &&
                        typeof n.v.ct.fa == "string" &&
                        n.v.ct.fa.includes(".")
                      ) {
                        // 保留模板配置的小数点位数
                        let str0 = n.v.ct.fa.split(".")[1];
                        num0 = str0.length;
                        n.v.v = dataAcquisitionInfo[str].value
                          ? Number(dataAcquisitionInfo[str].value).toFixed(num0)
                          : dataAcquisitionInfo[str].value;
                      } else {
                        // 直接赋值
                        n.v.v = dataAcquisitionInfo[str].value;
                      }
                      // 传递给主线程
                      result = {
                        method: "changeInput",
                        value: {
                          list: list,
                          n: n,
                        },
                      };
                      self.postMessage(JSON.stringify(result));
                    }, 2000);
                  }
                }
              }