From 1ea1ad2c56e95e71e1756cfca73e7183f9795ac9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 16 四月 2025 15:23:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_test

---
 src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue |  220 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 156 insertions(+), 64 deletions(-)

diff --git a/src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue b/src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue
index 895265f..2bcb6aa 100644
--- a/src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue
+++ b/src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue
@@ -2,18 +2,19 @@
   <!--  7.7璐ㄩ噺鐩戠潱璁″垝-->
   <div class="app-container">
     <div class="table-card">
-      <div style="display: flex;justify-content: space-between;">
-        <el-form :model="yearForm" ref="yearForm" size="small" :inline="true">
-          <el-form-item label="璁″垝鍚嶇О" prop="superviseName">
+      <div style="display: flex;justify-content: space-between">
+        <div style="display: flex;">
+          <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+            <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">璁″垝鍚嶇О</span>
             <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="yearForm.superviseName"
-              @keyup.enter.native="getYearPlanList"></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="el-icon-refresh" size="mini" @click="clearYear">閲� 缃�</el-button>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="getYearPlanList">鏌� 璇�</el-button>
-          </el-form-item>
-        </el-form>
-        <div>
+                      @keyup.enter.native="getYearPlanList"></el-input>
+          </div>
+          <div style="line-height: 30px;">
+            <el-button type="primary" size="mini" @click="getYearPlanList">鏌ヨ</el-button>
+            <el-button size="mini" @click="clearYear">閲嶇疆</el-button>
+          </div>
+        </div>
+        <div style="line-height: 30px;">
           <el-button size="small" type="primary" @click="record">瀵煎叆</el-button>
         </div>
       </div>
@@ -21,32 +22,35 @@
         height="40vh" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table>
     </div>
     <div style="margin-top: 20px">
-      <div style="display: flex;justify-content: space-between;">
-        <el-form :model="yearDetailForm" ref="yearDetailForm" size="small" :inline="true">
-          <el-form-item>
-            <el-radio-group v-model="yearDetailForm.causeType" @change="getYearDetailPlanList" size="small">
+      <div style="display: flex;justify-content: space-between">
+        <div style="display: flex;">
+          <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+            <el-radio-group v-model="yearDetailForm.causeType" @change="getYearDetailPlan" size="small">
               <el-radio-button :label="1">瀹氭湡鐩戠潱</el-radio-button>
               <el-radio-button :label="2">鍔ㄦ�佺洃鐫�</el-radio-button>
             </el-radio-group>
-          </el-form-item>
-          <el-form-item label="鐩戞帶鐩殑" prop="supervisePurpose">
-            <el-input v-model="yearDetailForm.supervisePurpose" placeholder="璇疯緭鍏�" size="small"></el-input>
-          </el-form-item>
-          <el-form-item label="鐩戞帶椤圭洰" prop="superviseProject">
-            <el-input v-model="yearDetailForm.superviseProject" placeholder="璇疯緭鍏�" size="small"></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="el-icon-refresh" size="mini" @click="clearDetail">閲� 缃�</el-button>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="getYearDetailPlanList">鏌� 璇�</el-button>
-          </el-form-item>
-        </el-form>
-        <div>
+          </div>
+          <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+            <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">鐩戞帶鐩殑</span>
+            <el-input v-model="yearDetailForm.supervisePurpose" placeholder="璇疯緭鍏�" size="small"
+                      @keyup.enter.native="getYearDetailPlan"></el-input>
+          </div>
+          <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+            <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">鐩戞帶椤圭洰</span>
+            <el-input v-model="yearDetailForm.superviseProject" placeholder="璇疯緭鍏�" size="small"
+                      @keyup.enter.native="getYearDetailPlan"></el-input>
+          </div>
+          <div style="line-height: 30px;">
+            <el-button type="primary" size="mini" @click="getYearDetailPlan">鏌ヨ</el-button>
+            <el-button size="mini" @click="clearDetail">閲嶇疆</el-button>
+          </div>
+        </div>
+        <div style="line-height: 30px;">
           <el-button size="small" type="primary" @click="showDialog('add')">鏂板</el-button>
         </div>
       </div>
       <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage"
-        :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1"
-        key="yearDetailTableData"></lims-table>
+        :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1" key="yearDetailColumnData"></lims-table>
     </div>
     <!--鏂板淇敼寮规-->
     <detail-form-dialog v-if="formDia" ref="formDia" :superviseId="superviseId"
@@ -59,7 +63,7 @@
       @closeProcessingDia="closeProcessingDia"></processing-sheet>
     <!--绾犳澶勭悊娴佺▼寮规-->
     <rectify-dialog-new v-if="rectifyDia" ref="rectifyDia" :superviseId="superviseId"
-      @closeProcessingDia="closeRectifyDia"></rectify-dialog-new>
+      @closeRectifyDia="closeRectifyDia"></rectify-dialog-new>
     <el-dialog :visible.sync="ratifyDialog" title="鎵瑰噯" width="30%" @close="closeRatifyDia">
       <span>
         鎵瑰噯澶囨敞锛�
@@ -72,9 +76,9 @@
     </el-dialog>
     <el-dialog :visible.sync="downloadDialog" title="瀵煎嚭" width="600px">
       <span>
-        <el-button plain type="primary" @click="controlDown">璁板綍鍗曞鍑�</el-button>
-        <el-button plain type="primary" @click="processingDown">澶勭悊鍗曞鍑�</el-button>
-        <el-button plain type="primary" @click="supervisoryDown">绾犳鍗曞鍑�</el-button>
+        <el-button plain type="primary" :disabled="download.recordStatus !== 3" @click="controlDown">璁板綍鍗曞鍑�</el-button>
+        <el-button plain type="primary" :disabled="download.accordingStatus !== 3" @click="processingDown">澶勭悊鍗曞鍑�</el-button>
+        <el-button plain type="primary" :disabled="download.correctStatus !== 3" @click="supervisoryDown">绾犳鍗曞鍑�</el-button>
       </span>
       <span slot="footer" class="dialog-footer">
         <el-button @click="downloadDialog = false">鍙� 娑�</el-button>
@@ -136,7 +140,7 @@
 import { mapGetters } from "vuex";
 
 export default {
-  name: 'a7-quality-control-plan',
+  name: 'QualityControlPlan',
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: { limsTable, RectifyDialogNew, ProcessingSheet, RecordsDialog, DetailFormDialog },
   data() {
@@ -154,20 +158,19 @@
         {
           label: '璁″垝鍚嶇О',
           prop: 'superviseName',
-          minWidth: '150px'
+          width: '150px'
         }, {
           label: '缂栧埗浜�',
           prop: 'writeUserName',
-          minWidth: '100'
         }, {
           label: '缂栧埗鏃ユ湡',
           prop: 'writeTime',
-          minWidth: '160'
+          width: '160'
         }, {
           dataType: 'tag',
           label: '鎵瑰噯鐘舵��',
           prop: 'ratifyStatus',
-          minWidth: '100',
+          width: '100',
           formatData: (params) => {
             if (params === 0) {
               return '涓嶆壒鍑�';
@@ -189,20 +192,16 @@
         }, {
           label: '鎵瑰噯鍐呭',
           prop: 'ratifyRemark',
-          minWidth: '100'
         }, {
           label: '鎵瑰噯浜�',
           prop: 'ratifyUserName',
-          minWidth: '100'
         }, {
           label: '鎵瑰噯鏃ユ湡',
           prop: 'ratifyTime',
-          minWidth: '160'
+          width: '160'
         }, {
           dataType: 'action',
-          minWidth: '170',
           label: '鎿嶄綔',
-          fixed: 'right',
           operation: [
             {
               name: '鎵瑰噯',
@@ -260,33 +259,123 @@
         {
           label: '鐩戠潱鏃ユ湡',
           prop: 'superviseTime',
-          minWidth: '150px'
+          width: '120px'
         }, {
           label: '鐩戠潱鐩殑',
           prop: 'supervisePurpose',
-          minWidth: '150px',
-          showOverflowTooltip: true,
+          width: '180px',
         }, {
           label: '鐩戞帶椤圭洰',
           prop: 'superviseProject',
-          minWidth: '150px'
+          width: '180px'
         }, {
           label: '琚洃鐫d汉鍛�',
           prop: 'supervisee',
-          minWidth: '150px'
+          width: '120px'
         }, {
           label: '鐩戠潱鍘熷洜',
           prop: 'superviseReason',
-          minWidth: '150px'
+          width: '150px'
+        },{
+          dataType: 'tag',
+          label: '璁板綍鐘舵��',
+          prop: 'recordStatus',
+          width: '100',
+          formatData: (params) => {
+            if (params === 0) {
+              return '鏈紑濮�';
+            } else if (params === 1) {
+              return '寰呰瘎浠�';
+            }  else if (params === 2) {
+              return '涓嶆壒鍑�';
+            } else if (params === 3) {
+              return '宸叉壒鍑�';
+            } else {
+              return null;
+            }
+          },
+          formatType: (params) => {
+            if (params === 0) {
+              return '';
+            } else if (params === 1) {
+              return 'warning';
+            } else if (params === 2) {
+              return 'danger';
+            }  else if (params === 3) {
+              return 'success';
+            } else {
+              return null;
+            }
+          }
+        },{
+          dataType: 'tag',
+          label: '鎺у埗鐘舵��',
+          prop: 'accordingStatus',
+          width: '100',
+          formatData: (params) => {
+            if (params === 0) {
+              return '鏈紑濮�';
+            } else if (params === 1) {
+              return '寰呰瘎浠�';
+            }  else if (params === 2) {
+              return '涓嶆壒鍑�';
+            } else if (params === 3) {
+              return '宸叉壒鍑�';
+            } else {
+              return null;
+            }
+          },
+          formatType: (params) => {
+            if (params === 0) {
+              return '';
+            } else if (params === 1) {
+              return 'warning';
+            } else if (params === 2) {
+              return 'danger';
+            }  else if (params === 3) {
+              return 'success';
+            } else {
+              return null;
+            }
+          }
+        },{
+          dataType: 'tag',
+          label: '绾犳鐘舵��',
+          prop: 'correctStatus',
+          width: '100',
+          formatData: (params) => {
+            if (params === 0) {
+              return '鏈紑濮�';
+            } else if (params === 1) {
+              return '寰呰瘎浠�';
+            }  else if (params === 2) {
+              return '涓嶆壒鍑�';
+            } else if (params === 3) {
+              return '宸叉壒鍑�';
+            } else {
+              return null;
+            }
+          },
+          formatType: (params) => {
+            if (params === 0) {
+              return '';
+            } else if (params === 1) {
+              return 'warning';
+            } else if (params === 2) {
+              return 'danger';
+            }  else if (params === 3) {
+              return 'success';
+            } else {
+              return null;
+            }
+          }
         }, {
           label: '澶囨敞',
           prop: 'remark',
-          minWidth: '150px'
         }, {
           dataType: 'action',
-          width: '260',
-          label: '鎿嶄綔',
           fixed: 'right',
+          label: '鎿嶄綔',
           operation: [
             {
               name: '缂栬緫',
@@ -355,6 +444,7 @@
         size: 20,
         total: 0
       },
+      currentScrollPosition: 0,
       superviseId: '',
       formDia: false,
       recordsDia: false,
@@ -406,11 +496,6 @@
     pagination({ page, limit }) {
       this.yearPage.current = page;
       this.yearPage.size = limit;
-      this.getYearPlanList();
-    },
-    pagination1({ page, limit }) {
-      this.yearDetailPage.current = page;
-      this.yearDetailPage.size = limit;
       this.getYearPlanList();
     },
     // 瀵煎叆娴佺▼
@@ -473,7 +558,7 @@
       this.getUserList()
     },
     getUserList() {
-      selectUserCondition({ type: 0 }).then((res) => {
+      selectUserCondition({ type: 2 }).then((res) => {
         this.userList = res.data;
       })
     },
@@ -538,6 +623,11 @@
     // 骞村害璁″垝琛ㄦ牸锛岀偣鍑昏鏁版嵁鍚庡埛鏂拌鎯�
     rowClick(row) {
       this.superviseId = row.superviseId
+      this.getYearDetailPlan()
+    },
+    getYearDetailPlan () {
+      this.yearDetailPage.current = 1
+      this.yearDetailPage.size = 20
       this.getYearDetailPlanList()
     },
     // 鑾峰彇骞村害鏄庣粏琛�
@@ -559,19 +649,21 @@
         this.yearDetailLoading = false
       })
     },
+    pagination1(page) {
+      this.yearDetailPage.size = page.limit;
+      this.getYearDetailPlanList();
+    },
     // 閲嶇疆鏄庣粏琛�
     clearDetail() {
-      this.yearDetailForm = {
-        supervisePurpose: '',
-        superviseProject: ''
-      }
+      this.yearDetailForm.supervisePurpose = ''
+      this.yearDetailForm.superviseProject = ''
       this.getYearDetailPlanList()
     },
     // 鎵撳紑骞村害鏄庣粏鏂板銆佷慨鏀瑰脊妗�
     showDialog(type, row) {
       this.formDia = true
       this.$nextTick(() => {
-        this.$refs.formDia.openDia(type, row)
+        this.$refs.formDia.openDia(type, row, this.yearDetailForm.causeType)
       })
     },
     closeDia() {

--
Gitblit v1.9.3