From 41cad2434411b2eac1b9814d47d06e34c291f285 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期五, 29 三月 2024 16:29:40 +0800 Subject: [PATCH] 完成首页等问题修改 --- src/views/quality/rawMaterial/index.vue | 179 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 134 insertions(+), 45 deletions(-) diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue index 0c11eb8..afa8ac8 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,13 +54,13 @@ </template> <script> import ttable from '@/views/common/ztt-table.vue' -import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport } 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 { transformZip } from '@/util/fileTransform' -import printTemplate from './rawMaterial-print.vue' +import printTemplate from './rawMaterial-print' export default { data() { return { @@ -102,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', @@ -164,12 +187,13 @@ }, { minWidth: '120', - prop: 'createTime', + prop: 'startTime', label: '鎶ユ鏃ユ湡', isTrue: true, sort: true, isSearch: true, searchInfoType: 'text', + searchInfoType: 'datetimerange', formatter: this.formatDateTime, }, { @@ -187,6 +211,7 @@ isTrue: true, isSearch: true, searchInfoType: 'text', + searchInfoType: 'datetimerange', formatter: this.formatDateTime, }, { @@ -213,39 +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: '鎿嶄綔', @@ -255,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: { @@ -262,7 +267,48 @@ 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, + + }) + } + this.table.operator = [{ + text: '瀹℃牳', + type: 'text', + size: 'small', + fun: this.examineHandle, + showFun: (row)=>{return row.type==='棣栨'}, + show: { + key: 'checkState', + val: ['0'] + } + }] + 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']) }, @@ -274,6 +320,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){ @@ -291,11 +360,18 @@ selection.forEach(ele=>{ ids.push(ele.id) }) - downloadReport({ids : ids}).then(res=>{ - transformZip(res) - }).catch(error=>{ + 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 + } } }, //鏌ョ湅鎶ュ憡鎸夐挳 @@ -315,7 +391,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{ @@ -375,10 +451,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 } }) @@ -392,12 +474,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') : '' @@ -438,4 +528,3 @@ } } </script> - \ No newline at end of file -- Gitblit v1.9.3