From b4660addf0c30b6d07ec826f0802d50998367db8 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 24 三月 2026 16:12:04 +0800
Subject: [PATCH] fix:首页质量统计数据优化

---
 src/views/qualityManagement/nonconformingManagement/index.vue |   82 +++++++++++++++++-----------------------
 1 files changed, 35 insertions(+), 47 deletions(-)

diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 8d635d1..31424a0 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -4,19 +4,19 @@
       <div style="display: flex;flex-direction: row;align-items: center;">
         <div>
           <span class="search_title">绫诲瀷锛�</span>
-          <el-select v-model="searchForm.inspectType" clearable style="width: 200px" @change="handleQuery">
+          <el-select v-model="searchForm.checkType" clearable style="width: 200px" @change="handleQuery">
             <el-option label="鍏ュ巶妫�" :value="0" />
             <el-option label="杞﹂棿妫�" :value="1" />
             <el-option label="鍑哄巶妫�" :value="2" />
           </el-select>
         </div>
-        <div style="margin-left: 10px">
+        <!-- <div style="margin-left: 10px">
           <span class="search_title">鐘舵�侊細</span>
           <el-select v-model="searchForm.inspectState" clearable style="width: 200px" @change="handleQuery">
             <el-option label="寰呭鐞�" :value="0" />
             <el-option label="宸插鐞�" :value="1" />
           </el-select>
-        </div>
+        </div> -->
         <div style="margin-left: 10px">
           <span class="search_title">浜у搧鍚嶇О锛�</span>
           <el-input
@@ -37,7 +37,12 @@
       <div>
         <el-button type="primary" @click="openForm('add')">鏂板</el-button>
         <el-button @click="handleOut">瀵煎嚭</el-button>
-        <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
+        <el-button
+            type="danger"
+            plain
+            @click="handleDelete"
+            v-if="hasNonconformingCancel"
+        >鍒犻櫎</el-button>
       </div>
     </div>
     <div class="table_list">
@@ -60,16 +65,17 @@
 
 <script setup>
 import { Search } from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+import { onMounted, ref, computed } from "vue";
 import FormDia from "@/views/qualityManagement/nonconformingManagement/components/formDia.vue";
 import {ElMessageBox} from "element-plus";
 import {qualityUnqualifiedDel, qualityUnqualifiedListPage} from "@/api/qualityManagement/nonconformingManagement.js";
 import InspectionFormDia from "@/views/qualityManagement/nonconformingManagement/components/inspectionFormDia.vue";
 import dayjs from "dayjs";
+import { checkPermi } from "@/utils/permission.js";
 
 const data = reactive({
   searchForm: {
-    inspectType: "",
+    checkType: "",
     inspectState: "",
     productName: "",
     entryDate: undefined, // 褰曞叆鏃ユ湡
@@ -78,51 +84,37 @@
   },
 });
 const { searchForm } = toRefs(data);
+
+const hasNonconformingEdit = computed(() => checkPermi(["nonconforming_edit"]));
+const hasNonconformingCancel = computed(() => checkPermi(["nonconforming_cancel"]));
+
 const tableColumn = ref([
-  {
-    label: "鐘舵��",
-    prop: "inspectState",
-    dataType: "tag",
-    formatData: (params) => {
-      if (params == 0) {
-        return "寰呭鐞�";
-      } else if (params == 1) {
-        return "宸插鐞�";
-      } else {
-        return null;
-      }
-    },
-    formatType: (params) => {
-      if (params == '涓嶅悎鏍�') {
-        return "danger";
-      } else if (params == '鍚堟牸') {
-        return "success";
-      } else {
-        return null;
-      }
-    },
-  },
   {
     label: "妫�娴嬫棩鏈�",
     prop: "checkTime",
     width: 120
   },
   {
-    label: "绫诲埆",
-    prop: "inspectType",
+    label: "鎵瑰彿",
+    prop: "batchNo",
+    width: 120
+  },
+  {
+    label: "妫�娴嬬被鍨�",
+    prop: "checkType",
     dataType: "tag",
     width: 120,
     formatData: (params) => {
-      if (params == 0) {
+      if (params === 0) {
         return "鍏ュ巶妫�";
-      } else if (params == 1) {
+      } else if (params === 1) {
         return "杞﹂棿妫�";
       } else {
         return '鍑哄巶妫�';
       }
     },
     formatType: (params) => {
-      if (params == '涓嶅悎鏍�') {
+      if (params === '涓嶅悎鏍�') {
         return "info";
       } else if (params == '鍚堟牸') {
         return "success";
@@ -147,11 +139,11 @@
     label: "鍗曚綅",
     prop: "unit",
   },
-  {
-    label: "鏁伴噺",
-    prop: "quantity",
-    width: 100
-  },
+  // {
+  //   label: "鏁伴噺",
+  //   prop: "quantity",
+  //   width: 100
+  // },
   {
     label: "涓嶅悎鏍肩幇璞�",
     prop: "defectivePhenomena",
@@ -177,15 +169,15 @@
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 100,
+    width: 180,
     operation: [
       {
-        name: "澶勭悊",
+        name: "缂栬緫",
         type: "text",
+        showHide: (row) => hasNonconformingEdit.value,
         clickFun: (row) => {
-          openInspectionForm("edit", row);
+          openForm("edit", row);
         },
-        disabled: (row) => row.inspectState === 1,
       },
     ],
   },
@@ -241,10 +233,6 @@
 
 // 鎵撳紑寮规
 const openForm = (type, row) => {
-  if (type !== 'add' && row?.inspectState === 1) {
-    proxy.$modal.msgWarning("宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶇紪杈�");
-    return;
-  }
   nextTick(() => {
     formDia.value?.openDialog(type, row)
   })

--
Gitblit v1.9.3