From 6c76e7bdba80eb1317a08af2a5930b13e5f9ea34 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 26 二月 2025 11:03:13 +0800
Subject: [PATCH] 质量监控计划联调

---
 src/views/CNAS/process/complaint/index.vue                                   |    2 
 src/views/system/user/index.vue                                              |    5 +
 src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue |   19 +---
 src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue   |   43 ++++------
 src/api/cnas/process/ensureResultsValidity/qualityMonitor.js                 |   73 ++++++++++++++++++
 src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue   |   44 ++++------
 src/views/CNAS/process/ensureResultsValidity/index.vue                       |   14 +-
 7 files changed, 127 insertions(+), 73 deletions(-)

diff --git a/src/api/cnas/process/ensureResultsValidity/qualityMonitor.js b/src/api/cnas/process/ensureResultsValidity/qualityMonitor.js
index 0115f0b..eb86623 100644
--- a/src/api/cnas/process/ensureResultsValidity/qualityMonitor.js
+++ b/src/api/cnas/process/ensureResultsValidity/qualityMonitor.js
@@ -42,7 +42,7 @@
     responseType: "blob"
   })
 }
-// 鍒犻櫎鐩戠潱璁″垝
+// 鍒犻櫎鐩戞帶璁″垝
 export function delQualitySupervise(query) {
   return request({
     url: '/qualityMonitor/delQualitySupervise',
@@ -84,3 +84,74 @@
     params: query
   })
 }
+// 鏂板鐩戞帶璁″垝璇︽儏
+export function addQualityMonitorDetail(query) {
+  return request({
+    url: '/qualityMonitor/addQualityMonitorDetail',
+    method: 'post',
+    data: query
+  })
+}
+// 淇敼鐩戞帶璁″垝璇︽儏
+export function updateQualityMonitorDetail(query) {
+  return request({
+    url: '/qualityMonitor/updateQualityMonitorDetail',
+    method: 'post',
+    data: query
+  })
+}
+// 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
+export function getQualityMonitorRatify(query) {
+  return request({
+    url: '/qualityMonitor/getQualityMonitorRatify',
+    method: 'get',
+    params: query
+  })
+}
+// 鏂板鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
+export function addQualityMonitorRatify(query) {
+  return request({
+    url: '/qualityMonitor/addQualityMonitorRatify',
+    method: 'post',
+    data: query
+  })
+}
+// 鎻愪氦鐩戞帶璁″垝璇︽儏鎵瑰噯鎰忚
+export function addQualityMonitorRatifyOpinion(query) {
+  return request({
+    url: '/qualityMonitor/addQualityMonitorRatifyOpinion',
+    method: 'post',
+    data: query
+  })
+}
+// 鏌ヨ鐩戞帶璇勪环
+export function getQualityMonitorEvaluate(query) {
+  return request({
+    url: '/qualityMonitor/getQualityMonitorEvaluate',
+    method: 'get',
+    params: query
+  })
+}
+// 鏂板鐩戞帶璇勪环鎵瑰噯
+export function addMonitorEvaluateOpinion(query) {
+  return request({
+    url: '/qualityMonitor/addMonitorEvaluateOpinion',
+    method: 'post',
+    data: query
+  })
+}
+// 鏂板鐩戞帶璇勪环
+export function addQualityMonitorEvaluate(query) {
+  return request({
+    url: '/qualityMonitor/addQualityMonitorEvaluate',
+    method: 'post',
+    data: query
+  })
+}
+// 鏂板鐩戞帶璇勪环
+export function selectUserDepartmentLimsName(query) {
+  return request({
+    url: '/user/selectUserDepartmentLimsName',
+    method: 'get'
+  })
+}
diff --git a/src/views/CNAS/process/complaint/index.vue b/src/views/CNAS/process/complaint/index.vue
index db76ec4..5a998b3 100644
--- a/src/views/CNAS/process/complaint/index.vue
+++ b/src/views/CNAS/process/complaint/index.vue
@@ -610,7 +610,7 @@
 .user-info {
   display: flex;
   align-items: center;
-  justify-content: end;
+  justify-content: flex-end;
 }
 
 .user-content {
diff --git a/src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue b/src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue
index 22a138b..205ec80 100644
--- a/src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue
+++ b/src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue
@@ -8,7 +8,7 @@
         <el-step title="瀹炴柦"></el-step>
         <el-step title="鎵瑰噯"></el-step>
       </el-steps>
-      <div style="height: 620px;overflow-y: auto">
+      <div style="height: 520px;overflow-y: auto">
         <table border="1" cellspacing="10" class="tables">
           <tr>
             <td class="td-title">
@@ -181,6 +181,12 @@
 
 <script>
 
+import {
+  addQualityMonitorRatify, addQualityMonitorRatifyOpinion,
+  getQualityMonitorRatify
+} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
+import {selectUserCondition} from "@/api/business/inspectionTask";
+
 export default {
   name: 'carryOutDialog',
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -219,8 +225,7 @@
     },
     // 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
     searchInfo (row) {
-      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorRatify + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
-        if (res.code === 201) return
+      getQualityMonitorRatify({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
         // 鏈塪etailsRatifyId鍒欒鏄庢彁浜よ繃瀹炴柦淇℃伅
         if (res.data.detailsRatifyId) {
           // 鏄惁缁撴潫0:鏈粨鏉�, 1:宸茬粨鏉�
@@ -252,12 +257,7 @@
     },
     // 鎻愪氦瀹炴柦
     addInfo () {
-      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatify, this.form, {
-        headers: {
-          "Content-Type": "application/json"
-        },
-        noQs: true
-      }).then(res => {
+      addQualityMonitorRatify(this.form).then(res => {
         this.editLoad = false
         if (res.code === 201) return
         this.$message.success('鎿嶄綔鎴愬姛')
@@ -269,12 +269,7 @@
     },
     // 鎻愪氦鎵瑰噯
     editInfo () {
-      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatifyOpinion, this.form, {
-        headers: {
-          "Content-Type": "application/json"
-        },
-        noQs: true
-      }).then(res => {
+      addQualityMonitorRatifyOpinion(this.form).then(res => {
         this.editLoad = false
         if (res.code === 201) return
         this.$message.success('鎿嶄綔鎴愬姛')
@@ -290,25 +285,22 @@
       this.$emit('closeCarryOutDia')
     },
     getAuthorizedPerson() {
-      this.$axios.get(this.$api.user.getUserMenu).then(res => {
-        let data = []
-        res.data.forEach(a => {
+      selectUserCondition({ type: 1 }).then((res) => {
+        let data = [];
+        res.data.forEach((a) => {
           data.push({
             label: a.name,
-            value: a.id
-          })
-        })
-        this.personList = data
-      })
+            value: a.id,
+          });
+        });
+        this.personList = data;
+      });
     },
   }
 };
 </script>
 
 <style scoped>
->>>.el-dialog {
-  margin: 20px auto 50px !important;
-}
 .tables {
   table-layout: fixed;
   width: 100%;
diff --git a/src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue b/src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue
index 8225f29..66aa2b8 100644
--- a/src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue
+++ b/src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue
@@ -50,6 +50,11 @@
 </template>
 
 <script>
+import {
+  addQualityMonitorDetail,
+  updateQualityMonitorDetail
+} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
+
 export default {
   name: 'detailFormDialog',
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -106,12 +111,7 @@
       let entity = this.HaveJson(this.form)
       entity.qualityMonitorId = this.qualityMonitorId
       this.upLoad = true
-      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorDetail, entity, {
-        headers: {
-          "Content-Type": "application/json"
-        },
-        noQs: true
-      }).then(res => {
+      addQualityMonitorDetail(entity).then(res => {
         this.upLoad = false
         if (res.code === 201) return
         this.$message.success('鏂板鎴愬姛')
@@ -125,12 +125,7 @@
     handleEdit () {
       const entity = this.HaveJson(this.form)
       this.upLoad = true
-      this.$axios.post(this.$api.qualityMonitor.updateQualityMonitorDetail, entity, {
-        headers: {
-          "Content-Type": "application/json"
-        },
-        noQs: true
-      }).then(res => {
+      updateQualityMonitorDetail(entity).then(res => {
         this.upLoad = false
         if (res.code === 201) return
         this.$message.success('淇敼鎴愬姛')
diff --git a/src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue b/src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue
index d63fc50..3f671c2 100644
--- a/src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue
+++ b/src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue
@@ -159,6 +159,11 @@
 
 <script>
 import ViewRecord from './ViewRecord.vue';
+import {
+  addMonitorEvaluateOpinion, addQualityMonitorEvaluate,
+  getQualityMonitorEvaluate, selectUserDepartmentLimsName
+} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
+import {selectUserCondition} from "@/api/business/inspectionTask";
 
 export default {
   name: 'evaluateDialog',
@@ -202,8 +207,7 @@
     // 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
     searchInfo (row) {
       this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId
-      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorEvaluate + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
-        if (res.code === 201) return
+      getQualityMonitorEvaluate({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
         if (res.data === null) {
           this.showStep = 0
           this.currentStep = 0
@@ -229,14 +233,8 @@
     // 鎻愪氦
     handleEdit () {
       if (this.currentStep === 2) {
-        this.$axios.post(this.$api.qualityMonitor.addMonitorEvaluateOpinion, this.form, {
-          headers: {
-            "Content-Type": "application/json"
-          },
-          noQs: true
-        }).then(res => {
+        addMonitorEvaluateOpinion(this.form).then(res => {
           this.editLoad = false
-          if (res.code === 201) return
           this.$message.success('鎿嶄綔鎴愬姛')
           this.closeEvaDia()
         }).catch(err => {
@@ -270,14 +268,8 @@
             return
           }
         }
-        this.$axios.post(this.$api.qualityMonitor.addQualityMonitorEvaluate, this.form, {
-          headers: {
-            "Content-Type": "application/json"
-          },
-          noQs: true
-        }).then(res => {
+        addQualityMonitorEvaluate(this.form).then(res => {
           this.editLoad = false
-          if (res.code === 201) return
           this.$message.success('鎿嶄綔鎴愬姛')
           this.closeEvaDia()
         }).catch(err => {
@@ -301,20 +293,19 @@
       })
     },
     getAuthorizedPerson() {
-      this.$axios.get(this.$api.user.getUserMenu).then(res => {
-        let data = []
-        res.data.forEach(a => {
+      selectUserCondition({ type: 1 }).then((res) => {
+        let data = [];
+        res.data.forEach((a) => {
           data.push({
             label: a.name,
-            value: a.id
-          })
-        })
-        this.personList = data
-      })
+            value: a.id,
+          });
+        });
+        this.personList = data;
+      });
     },
     getDepartment() {
-      this.$axios.get(this.$api.user.selectUserDepartmentLimsName).then(res => {
-        if (res.code === 201) return
+      selectUserDepartmentLimsName().then(res => {
         this.form.implementDepartment = res.data
       })
     },
diff --git a/src/views/CNAS/process/ensureResultsValidity/index.vue b/src/views/CNAS/process/ensureResultsValidity/index.vue
index 7630d0b..d61209f 100644
--- a/src/views/CNAS/process/ensureResultsValidity/index.vue
+++ b/src/views/CNAS/process/ensureResultsValidity/index.vue
@@ -92,7 +92,7 @@
       </div>
       <div>
         鎵瑰噯鎰忚锛�
-        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
+        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
       </div>
       <span v-if="this.ratifyStatus !== 1" slot="footer" class="dialog-footer">
         <el-button :loading="lookDialogLoading" @click="handleApproval(0)">涓嶆壒鍑�</el-button>
@@ -148,9 +148,9 @@
     </el-dialog>
     <!--鐢熸垚鎶ュ憡寮规-->
     <el-dialog :visible.sync="uploadDia1" title="鐢熸垚鎶ュ憡" width="500px">
-      <div v-if="approvalRemarks">
+      <div v-if="ratifyRemark">
         鎵瑰噯鎰忚锛�
-        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
+        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
       </div>
       <div style="margin: 0 auto;">
         <el-upload ref="upload1" :action="action1" :auto-upload="false" :data="{qualityMonitorDetailsId: qualityMonitorDetailsId}" :file-list="fileList1" :headers="uploadHeader"
@@ -468,7 +468,7 @@
       currentInfo: {},
       qualityMonitorDetailsId: '',
       ratifyStatus: '',
-      approvalRemarks: '',
+      ratifyRemark: '',
       downloadDialog: false,
       download: {},
       planYear: ''
@@ -608,7 +608,7 @@
     handleApproval (status) {
       const personTrainingUpdateDto = {
         qualityMonitorDetailsId: this.currentInfo.qualityMonitorDetailsId,
-        ratifyRemark: this.approvalRemarks,
+        ratifyRemark: this.ratifyRemark,
         ratifyStatus: status
       }
       this.lookDialogLoading = true
@@ -697,10 +697,10 @@
       this.carryOutDia = false
       this.getYearDetailPlanList()
     },
-    // 鎵撳紑鎶ュ憡寮规
+    // 鎵撳紑瀹屾垚鎶ュ憡寮规
     record (row) {
       this.qualityMonitorDetailsId = row.qualityMonitorDetailsId
-      this.approvalRemarks = row.approvalRemarks
+      this.ratifyRemark = row.ratifyRemark
       if (row.finishReportUrl) {
         this.currentInfo = row
         this.ratifyStatus = row.ratifyStatus
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 2b823cb..95dc281 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -147,6 +147,11 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
+              <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">

--
Gitblit v1.9.3