From 60cde7048175902baa66fd81ddfd174aeda3292a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 02 四月 2024 13:08:34 +0800
Subject: [PATCH] 审核按钮权限

---
 src/views/quality/rawMaterial/index.vue |  184 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 142 insertions(+), 42 deletions(-)

diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index 51299fe..1152cfb 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -17,7 +17,7 @@
 <template>
     <div class="mod-config">
         <basic-container>
-            <ttable 
+            <ttable
             :table="table"
             :resultData="resultData"
             @handleSelectionChange="handleSelectionChange"
@@ -27,7 +27,7 @@
             @queryParam="getQueryParam($event)"
             ref="rawMaterialTable">
             <template #toolbar>
-                <el-button @click="exportRawMaterial" type="primary" >瀵煎嚭</el-button>
+                <!-- <el-button @click="exportRawMaterial" type="primary" >瀵煎嚭</el-button> -->
             </template>
             </ttable>
         </basic-container>
@@ -54,12 +54,13 @@
 </template>
 <script>
 import ttable from '@/views/common/ztt-table.vue'
-import { getRawInspectList,delObj,exportRawMaterial,getObj } from '@/api/quality/rawMaterial'
+import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport,checkPutIFS } from '@/api/quality/rawMaterial'
 import RawMaterialForm from './rawMaterial-form'
 import * as fecha from 'element-ui/lib/utils/date'
 import { mapGetters } from 'vuex'
 import PrintJS from 'print-js'
-import printTemplate from './rawMaterial-print.vue'
+import { transformZip } from '@/util/fileTransform'
+import printTemplate from './rawMaterial-print'
   export default {
     data() {
         return {
@@ -101,6 +102,29 @@
                         isSearch: true,
                         searchInfoType: 'text',
                         render: { fun: this.addOrUpdateHandle }
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'type',
+                        label: '妫�楠岀被鍨�',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'select',
+                        optList: () => {
+                            return this.typeList
+                        }
+                    },
+                    {
+                        minWidth: '120',
+                        prop: 'checkState',
+                        label: '瀹℃牳鐘舵��',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'select',
+                        formatter: this.checkStateFormat,
+                        optList: () => {
+                            return this.checkStateList
+                        }
                     },
                     {
                         minWidth: '120',
@@ -163,12 +187,13 @@
                     },
                     {
                         minWidth: '120',
-                        prop: 'createTime',
+                        prop: 'startTime',
                         label: '鎶ユ鏃ユ湡',
                         isTrue: true,
                         sort: true,
                         isSearch: true,
                         searchInfoType: 'text',
+                        searchInfoType: 'datetimerange',
                         formatter: this.formatDateTime,
                     },
                     {
@@ -186,6 +211,7 @@
                         isTrue: true,
                         isSearch: true,
                         searchInfoType: 'text',
+                        searchInfoType: 'datetimerange',
                         formatter: this.formatDateTime,
                     },
                     {
@@ -212,38 +238,17 @@
                                 return this.StateList
                             }
                     },
-                ],
-                toolbar: [
                     {
-                        text: '鏂板',
-                        type: 'primary',
-                        fun: this.addOrUpdateHandle
+                        minWidth: '120',
+                        prop: 'remark',
+                        label: '澶囨敞',
+                        isTrue: true,
+                        isSearch: true,
+                        searchInfoType: 'text',
                     },
-                    {
-                        text: '涓嬭浇妫�楠屾姤鍛�',
-                        type: 'primary',
-                        fun: this.downloadReport
-                    }
                 ],
-                operator: [{
-                    text: '鎵撳嵃',
-                    type: 'text',
-                    size: 'small',
-                    fun: this.previewFun,
-                    show: {
-                        val: [
-                            '1',
-                            '0'
-                        ],
-                        key: 'judgeState'
-                    }
-                },
-                {
-                    text: '浣滃簾',
-                    type: 'text',
-                    size: 'small',
-                    fun: this.deleteHandle
-                }],
+                toolbar: [],
+                operator: null,
                 operatorConfig: {
                 fixed: 'right',
                 label: '鎿嶄綔',
@@ -253,6 +258,8 @@
             },
             insStateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉娴�',value:'1'},{label:'鏈娴�',value:'0'}],
             StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸插悎鏍�',value:'1'},{label:'涓嶅悎鏍�',value:'0'}],
+            typeList: [{label:'鍏ㄩ儴',value:''},{label:'棣栨',value:'棣栨'},{label:'杩旀',value:'杩旀'}],
+            checkStateList: [{label:'鏈鏍�',value:'0'},{label:'瀹℃牳閫氳繃',value:'1'},{label:'瀹℃牳涓嶉�氳繃',value:'2'}],
         }
     },
     components: {
@@ -260,7 +267,50 @@
         RawMaterialForm,
         printTemplate,
     },
-    created() { },
+    created() {
+        if(this.permissions.quality_rawMaterial_add){
+            this.table.toolbar.push({
+                text: '鏂板',
+                type: 'primary',
+                fun: this.addOrUpdateHandle
+            })
+        }
+        if(this.permissions.quality_rawMaterial_download){
+            this.table.toolbar.push({
+                text: '涓嬭浇妫�楠屾姤鍛�',
+                type: 'primary',
+                loading: false,
+                disabled: false,
+                fun: this.downloadReport,
+
+            })
+        }
+        if(this.permissions.quality_rawMaterial_check){
+            this.table.operator = [{
+                text: '瀹℃牳',
+                type: 'text',
+                size: 'small',
+                fun: this.examineHandle,
+                showFun: (row)=>{return row.type==='棣栨'&& row.insState==='1'},
+                show: {
+                    key: 'checkState',
+                    val: ['0','2']
+                    }
+            }]
+        }
+        if(this.permissions.quality_rawMaterial_del){
+            this.table.operator.push({
+                    text: '浣滃簾',
+                    type: 'text',
+                    size: 'small',
+                    fun: this.deleteHandle,
+                    show: {
+                        key: 'judgeState',
+                        val: ['',null]
+                    }
+                })
+        }
+     },
     computed: {
         ...mapGetters(['permissions'])
     },
@@ -272,6 +322,29 @@
         }
     },
     methods:{
+        examineHandle(val){
+            this.$confirm('鏄惁瀹℃牳閫氳繃璇ユ楠岄」?', '鎻愮ず', {
+                distinguishCancelAndClose: true,
+                confirmButtonText: '閫氳繃',
+                cancelButtonText: '涓嶉�氳繃',
+                type: 'warning'
+            }).then(() => {
+                this.checkPutIFSFun(val.id,1);
+            }).catch((action) => {
+                if(action === 'cancel'){
+                    this.checkPutIFSFun(val.id,2);
+                }
+            });
+        },
+        checkPutIFSFun(id,result){
+            checkPutIFS(id, result).then(res=>{
+                if(res.status===200){
+                    this.getData()
+                }
+            }).catch(error=>{
+                console.error(error)
+            })
+        },
         downloadReport(){
             let selection = this.multipleSelection
             if(!selection || selection.length < 1){
@@ -285,7 +358,22 @@
                     this.$message.error("鍙兘閫夋嫨宸叉娴嬬殑鏁版嵁")
                     return
                 }
-                console.log(selection)
+                let ids = []
+                selection.forEach(ele=>{
+                    ids.push(ele.id)
+                })
+                this.table.toolbar.find((e) => e.text === '涓嬭浇妫�楠屾姤鍛�').loading = true
+                this.table.toolbar.find((e) => e.text === '涓嬭浇妫�楠屾姤鍛�').disabled = true
+                try{
+                    downloadReport({ids : ids}).then(res=>{
+                        transformZip(res)
+                    })
+                }catch(error){
+                    console.log(error)
+                } finally{
+                    this.table.toolbar.find((e) => e.text === '涓嬭浇妫�楠屾姤鍛�').loading = false
+                    this.table.toolbar.find((e) => e.text === '涓嬭浇妫�楠屾姤鍛�').disabled = false
+                }
             }
         },
         //鏌ョ湅鎶ュ憡鎸夐挳
@@ -305,7 +393,7 @@
                 type: "html",
                 // header: "鍘熸潗鏂欐娴嬫姤鍛�",
                 targetStyles: ["*"],
-                style: `@page {margin: 0mm 5mm;size: A4;}
+                style: `@page {margin: 0mm 5mm;size: A4 landscape;}
                     html {zoom:100%;}
                     @media print {
 					  html,body{
@@ -322,7 +410,6 @@
         },
         exportRawMaterial(){
             exportRawMaterial(this.queryParam).then(res=>{
-                console.log(res)
                 this.downloadFun(res)
             }).catch(error=>{
                 console.log(error);
@@ -366,10 +453,16 @@
         },
         // 鏂板 / 淇敼
         addOrUpdateHandle(row) {
+            if(!this.permissions.quality_rawMaterial_edit && row.id!=null){
+                this.$message.error("璇ヨ鑹叉病鏈夋搷浣滄潈闄�")
+                return
+            }
             this.$router.push({
                 name: 'rawMaterialForm',
-                query: { 
-                    id: row == null ? null : row.id,
+                query: {
+                    id: row == null ? null : row.id
+                 },
+                 params: {
                     resultVal: row == null ? null : row.judgeState
                  }
             })
@@ -383,12 +476,20 @@
             }
         },
         formatJudgeState(row, column, cellValue){
-            if(cellValue != undefined || cellValue != null){
+            if(cellValue != undefined && cellValue != null && cellValue != ''){
                 if(cellValue == 0){
                     return "<span style='color:#E84738;'>涓嶅悎鏍�</span>"
                 }
                 return "<span style='color:#34BD66;'>鍚堟牸</span>"
             }
+        },
+        checkStateFormat(row, column, cellValue){
+            this.checkStateList.forEach((obj) => {
+                if (obj.value === cellValue) {
+                    cellValue = obj.label
+                }
+            })
+            return cellValue
         },
         formatDateTime(row, column, cellValue) {
             return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
@@ -429,4 +530,3 @@
     }
   }
   </script>
-  
\ No newline at end of file

--
Gitblit v1.9.3