From cbb4c79124c612ce570be5deadd559ea0c42f9c0 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期六, 23 五月 2026 16:19:00 +0800
Subject: [PATCH] 对质量管理检查组件进行重构,将“检测结果”替换为“合格率”,并实施通过率计算及显示逻辑。更新表单字段,以反映数据处理方式及通过率视觉呈现方面的变化。

---
 src/views/qualityManagement/rawMaterialInspection/components/formDia.vue |   42 +++++++++++++++++++++++++++++++++---------
 1 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index 8bcc72b..f7a6086 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -107,12 +107,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="妫�娴嬬粨鏋滐細" prop="checkResult">
-              <el-select v-model="form.checkResult" :disabled="isViewMode">
-                <el-option label="鍚堟牸" value="鍚堟牸"/>
-                <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"/>
-                <el-option label="閮ㄥ垎鍚堟牸" value="閮ㄥ垎鍚堟牸"/>
-              </el-select>
+            <el-form-item label="鍚堟牸鐜囷細">
+              <el-tag :type="passRateTagType">{{ passRateDisplayText }}</el-tag>
             </el-form-item>
           </el-col>
         </el-row>
@@ -194,7 +190,6 @@
     unit: "",
     quantity: "",
     checkCompany: "",
-    checkResult: "",
   },
   rules: {
     checkTime: [{required: true, message: "璇疯緭鍏�", trigger: "blur"},],
@@ -208,7 +203,6 @@
     qualifiedQuantity: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
     unqualifiedQuantity: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
     checkCompany: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
-    checkResult: [{required: true, message: "璇烽�夋嫨妫�娴嬬粨鏋�", trigger: "change"}],
   },
 });
 const tableColumn = ref([
@@ -249,6 +243,37 @@
 // 鏄惁涓烘煡鐪嬫ā寮�
 const isViewMode = computed(() => operationType.value === 'view');
 
+const passRateValue = computed(() => {
+  const fromApi = form.value.passRate;
+  if (fromApi != null && fromApi !== '') {
+    const n = Number(fromApi);
+    if (!Number.isNaN(n)) return n;
+  }
+  const quantity = Number(form.value.quantity);
+  const qualified = Number(form.value.qualifiedQuantity);
+  if (!quantity || Number.isNaN(quantity)) return null;
+  const qualifiedNum = Number.isNaN(qualified) ? 0 : qualified;
+  return (qualifiedNum / quantity) * 100;
+});
+
+const passRateDisplayText = computed(() => {
+  const params = passRateValue.value;
+  if (params == null || params === '') return '鈥�';
+  const n = Number(params);
+  if (Number.isNaN(n)) return '鈥�';
+  return `${n.toFixed(2)}%`;
+});
+
+const passRateTagType = computed(() => {
+  const params = passRateValue.value;
+  if (params == null || params === '') return 'info';
+  const n = Number(params);
+  if (Number.isNaN(n)) return 'info';
+  if (n >= 100) return 'success';
+  if (n >= 90) return 'warning';
+  return 'danger';
+});
+
 // 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯渚涘簲鍟嗐�佹暟閲忕疆鐏�
 const supplierQuantityDisabled = computed(() => {
   const v = form.value || {};
@@ -282,7 +307,6 @@
     unit: "",
     quantity: "",
     checkCompany: "",
-    checkResult: "",
   }
   testStandardOptions.value = [];
   tableData.value = [];

--
Gitblit v1.9.3