Bläddra i källkod

1、XbarR控制图计算功能优化
2、过程能力指标计算功能优化

“luofeng” 2 månader sedan
förälder
incheckning
aadb90df8d
2 ändrade filer med 28 tillägg och 20 borttagningar
  1. 18 13
      src/views/analysis/process/Xbar-RList.vue
  2. 10 7
      src/views/analysis/target/index/index.vue

+ 18 - 13
src/views/analysis/process/Xbar-RList.vue

@@ -337,14 +337,15 @@ const { exportData } = Utils;
 
 const emit = defineEmits(["tableData"]);
 const compute = async () => {
-  // 存储提取的 accuracys 数据
   const accuracysList = ref([]);
-
-  // 提取 accuracys 数据
-  tableData.value.forEach((v) => {
-    accuracysList.value.push(v.accuracys);
-  });
-
+  for (const item of tableData.value) {
+    if (item.accuracys?.length > 0) {
+      accuracysList.value.push(item.accuracys);
+    } else {
+      ElMessage.error(`产品 "${item.model}" 的 "${item.batchNo}" 批次数据为空`);
+      return;
+    }
+  }
   const { data } = await XBarRCompute({
     dataList: accuracysList.value,
     scale: 4,
@@ -554,13 +555,17 @@ const taskChange = (value) => {
   taskOption.value.forEach((item) => {
     if (item.id == value) {
       addData.value.model = item.prodtModel;
-      accuracysSum.value = Number(item.processCount);
-      addData.value.accuracys = [];
-      let array = [];
-      for (let i = 0; i < accuracysSum.value; i++) {
-        array.push(0);
+      if (item.source === "手动") {
+        accuracysSum.value = Number(item.processCount);
+        addData.value.accuracys = [];
+        let array = [];
+        for (let i = 0; i < accuracysSum.value; i++) {
+          array.push(0);
+        }
+        addData.value.accuracys = array;
+      } else {
+        addData.value.accuracys = [];
       }
-      addData.value.accuracys = array;
     }
   });
 };

+ 10 - 7
src/views/analysis/target/index/index.vue

@@ -950,7 +950,6 @@ const computeCPK = async (id) => {
   } catch (error) {
     // 处理错误
     ElMessageBox.close();
-    ElMessage.error("计算失败,请重试");
   }
 };
 
@@ -969,13 +968,17 @@ const taskChange = (value) => {
   taskOption.value.forEach((item) => {
     if (item.id == value) {
       addData.value.model = item.prodtModel;
-      accuracysSum.value = Number(item.processCount);
-      addData.value.accuracys = [];
-      let array = [];
-      for (let i = 0; i < accuracysSum.value; i++) {
-        array.push(0);
+      if (item.source === "手动") {
+        accuracysSum.value = Number(item.processCount);
+        addData.value.accuracys = [];
+        let array = [];
+        for (let i = 0; i < accuracysSum.value; i++) {
+          array.push(0);
+        }
+        addData.value.accuracys = array;
+      } else {
+        addData.value.accuracys = [];
       }
-      addData.value.accuracys = array;
     }
   });
 };