From d271f2493796a557eac67b95b310df776abaf48b Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 06 五月 2024 16:15:24 +0800
Subject: [PATCH] 修改产品检,不合格处理等页面

---
 src/views/quality/processconfiguration/index.vue |  186 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 133 insertions(+), 53 deletions(-)

diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue
index 906ad00..6d53f3e 100644
--- a/src/views/quality/processconfiguration/index.vue
+++ b/src/views/quality/processconfiguration/index.vue
@@ -3,14 +3,13 @@
     <basic-container>
       <ttable
         :table="table"
-        :resultData="resultData"
-        @change ="costPlannedAmountChange"
         @handleSelectionChange="handleSelectionChange"
         :uploadInfo="uploadInfo"
         :isShowHide="true"
         :prelang="prelang"
         :options="options"
         :ajaxFun="ajaxFun"
+        @queryParam="getQueryParam($event)"
         ref="processconfiguration"
       >
         <template #toolbar></template>
@@ -40,12 +39,29 @@
                 </div>
                 <div v-if="type === '浜у搧妫�楠�' ">
                     <el-radio-group v-model="checkList">
-                      <el-radio label="杩斾慨">杩斾慨</el-radio>
-                      <el-radio label="鎺ユ敹">鎺ユ敹</el-radio>
-                      <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio> 
-                      <el-radio label="鎶ュ簾">鎶ュ簾</el-radio> 
-                      <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio> 
+                        <el-row>
+                          <div style="padding: 20px;">
+                            <el-radio label="杩斾慨">杩斾慨</el-radio>
+                            <el-radio label="鎺ユ敹">鎺ユ敹</el-radio>
+                            <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio>
+                            <el-radio label="鎶ュ簾">鎶ュ簾</el-radio>
+                        </div>
+                          <div style="padding: 20px;">
+                            <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio>
+                        </div>
+                        </el-row>
                     </el-radio-group>
+                    <div class="search" style="margin-left: 20px;" v-if="checkList=='杩斾慨'">
+                        <label style="margin-right: 10px;">宸ュ簭</label>
+                        <el-select v-model="moRoutingOperationId" placeholder="璇烽�夋嫨">
+                            <el-option
+                            v-for="item in listOptions"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </div>
                 </div>
                 <div v-if="type ===  '杩囩▼妫�楠�'">
                     <el-radio-group v-model="checkList">
@@ -53,15 +69,26 @@
                           <div style="padding: 20px;">
                           <el-radio label="杩斾慨">杩斾慨</el-radio>
                           <el-radio label="鎺ユ敹">鎺ユ敹</el-radio>
-                          <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio> 
-                          <el-radio label="鎶ュ簾">鎶ュ簾</el-radio> 
+                          <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio>
+                          <el-radio label="鎶ュ簾">鎶ュ簾</el-radio>
                           </div>
                           <div style="padding: 20px;">
-                          <el-radio label="杩斿伐">杩斿伐</el-radio> 
-                          <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio> 
+                          <el-radio label="杩斿伐">杩斿伐</el-radio>
+                          <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio>
                           </div>
                     </el-row>
                     </el-radio-group>
+                    <div class="search" style="margin-left: 20px;" v-if="checkList=='杩斾慨'">
+                        <label style="margin-right: 10px;">宸ュ簭</label>
+                        <el-select v-model="moRoutingOperationId" placeholder="璇烽�夋嫨">
+                            <el-option
+                            v-for="item in listOptions"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </div>
                 </div>
             </el-form>
             <span slot="footer" >
@@ -74,7 +101,13 @@
 </template>
 
 <script>
-import { UnqualifiedList,pullInsUnapi,AuditSuggestion,UnqualifiedDisposal} from '@/api/quality/unqualifiedprocess'
+import {
+  UnqualifiedList,
+  pullInsUnapi,
+  AuditSuggestion,
+  exportData,
+  chooseMoRoutingOperation,
+} from '@/api/quality/unqualifiedprocess'
 import TableForm from './table-form'
 import { mapGetters } from 'vuex'
 // import { remote } from '@/api/admin/dict'
@@ -83,8 +116,9 @@
 export default {
   data() {
     return {
-      resultData:[],
+      queryParam: {},
       checkList: "",
+      moRoutingOperationId:"",
       // WayIdea:'',
       UserId:{},
       type:'',
@@ -134,6 +168,15 @@
                   return this.materialType
             // render: { fun: this.addOrUpdateHandle }
               }
+          },
+          // 妫�楠岀紪鍙�
+          {
+            minWidth: '140',
+            prop: 'inspectNo',
+            label: '妫�楠岀紪鍙�',
+            isTrue: true,
+            isSearch: true,
+            searchInfoType: 'text',
           },
           // 浜у搧鍚嶇О
           {
@@ -259,35 +302,16 @@
           //     return this.processModeOptions
           //   }
           // },
-        
+
         ],
         toolbar: [
-          {
-            text: '瀵煎嚭',
-            type: 'primary',
-            fun: this.exportExcel
-          },
-        ],
-        operator: [
           // {
-          //   text: '鍒犻櫎',
-          //   type: 'text',
-          //   size: 'small',
-          //   fun: this.deleteHandle
+          //   text: '瀵煎嚭',
+          //   type: 'primary',
+          //   fun: this.handleExport
           // },
-          {
-            text: '鎻愪氦瀹℃牳',
-            type: 'text',
-            size: 'small',
-            fun: this.Submitreview
-          },
-          {
-            text: '瀹℃牳缁撴灉',
-            type: 'text',
-            size: 'small',
-            fun: this.AuditResult
-          }
         ],
+        operator: null,
         operatorConfig: {
           fixed: 'right',
           label: '鎿嶄綔',
@@ -295,8 +319,9 @@
           minWidth: 100
         }
       },
-      materialType: [{label:'鍘熸潗鏂欐楠�',value:'鍘熸潗鏂欐楠�'},{label:'杩囩▼妫�楠�',value:'杩囩▼妫�楠�'},{label:'浜у搧妫�楠�',value:'浜у搧妫�楠�'}],
-      StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉彁浜ゅ鏍�',value:'1'},{label:'寰呭鐞�',value:'0'},{label:'宸插鐞�',value:'2'}],
+      listOptions:[],
+      materialType: [{label:'鍘熸潗鏂欐楠�',value:'鍘熸潗鏂欐楠�'},{label:'杩囩▼妫�楠�',value:'杩囩▼妫�楠�'},{label:'浜у搧妫�楠�',value:'浜у搧妫�楠�'},{label:'鍖呰妫�楠�',value:'鍖呰妫�楠�'}],
+      StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉彁浜ゅ鏍�',value:'1'},{label:'寰呭鐞�',value:'0'},{label:'宸插畬鎴�',value:'2'}],
       insStateList: [{label:'鍏朵粬',value:''},{label:'鐟曠柕',value:'1'}],
     }
   },
@@ -308,34 +333,91 @@
     ...mapGetters(['permissions'])
 
   },
+  watch: {
+    checkList(val){
+        if(val!='杩斾慨'){
+            this.moRoutingOperationId = null
+        }
+    }
+  },
   created() {
     // this.getType()
+    let arr = []
+    if(this.permissions.quality_processconfiguration_submit){
+      arr.push({
+            text: '鎻愪氦瀹℃牳',
+            type: 'text',
+            size: 'small',
+            fun: this.Submitreview,
+            show: {
+                key: 'state',
+                val: [0]
+            }
+          })
+    }
+    if(this.permissions.quality_processconfiguration_result){
+        arr.push({
+            text: '瀹℃牳缁撴灉',
+            type: 'text',
+            size: 'small',
+            fun: this.AuditResult,
+            showFun: (row)=>{return row.type != '鍘熸潗鏂欐楠�'}
+          })
+    }
+    this.table.operator = arr.length>0 ? arr : null
   },
   methods: {
-    exportExcel(){
-                let queryParam=this.$refs.processconfiguration.getQueryParam();
-                delete queryParam.criteria
-                console.log(queryParam);
-                UnqualifiedDisposal(queryParam).then((res)=>{
-                    transform(res)
-                })
-            },
+    chooseMoRoutingOperation(id){
+        chooseMoRoutingOperation({id}).then(res =>{
+            this.listOptions = res.data.data
+        })
+    },
+    getQueryParam(data){
+      this.queryParam = data
+    },
+    handleExport(){
+      exportData(this.queryParam).then(res=>{
+          this.downloadFun(res)
+      }).catch(error=>{
+          console.log(error);
+      })
+    },
+    downloadFun(result){
+        if(result == null || result == undefined){
+            return;
+        }
+        var nameList = result.headers['content-disposition'];
+        nameList = decodeURI(nameList);
+        var fileName = nameList.split('=')[1];
+        const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+        const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣
+        const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+        downloadElement.href = href
+        downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕
+        document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂
+        downloadElement.click() // 鐐瑰嚮涓嬭浇
+        document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+        window.URL.revokeObjectURL(href)
+    },
     //瀹℃牳缁撴灉
     AuditResult(row){
       this.UserId = row.id
       this.type = row.type
       this.dialogVisible = true;
+      this.chooseMoRoutingOperation(row.id)
 
     },
     WayCancel(){
       this.dialogVisible = false
       this.checkList = null
+      this.moRoutingOperationId = null
       this.WayIdea = null
     },
     WaySure(){
-      AuditSuggestion({id:this.UserId,way:this.checkList}).then(
+      AuditSuggestion({id:this.UserId,way:this.checkList,moRoutingOperationId:Number(this.moRoutingOperationId)*1}).then(
         res =>{
           this.checkList = null
+          this.moRoutingOperationId = null
           this.WayIdea = null
           this.$refs.processconfiguration.refreshData()
           ;})
@@ -343,13 +425,11 @@
     },
     //鎻愪氦瀹℃牳
    Submitreview(row){
-      console.log(row.id);
        pullInsUnapi({id:row.id}).then(res =>{
-        console.log(res);
         this.$refs.processconfiguration.refreshData()
        })
     },
-   
+
     //鐘舵��
     formatInsState(row, column, cellValue){
             if(cellValue != undefined || cellValue != null){
@@ -360,7 +440,7 @@
                   return "<span style='color:#34BD66;'>宸叉彁浜ゅ鏍�</span>"
                 }
                 if(cellValue == 2){
-                  return "<span style='color:#34BD66;'>宸插鐞�</span>"
+                  return "<span style='color:#34BD66;'>宸插畬鎴�</span>"
                 }
             }
         },
@@ -371,7 +451,7 @@
             }
             return "<span style='color:#34BD66;'></span>"
         }
-    }, 
+    },
     // 鑾峰彇鏁版嵁鍒楄〃
     getData() {
       // this.$refs.processconfiguration.getDataList()

--
Gitblit v1.9.3