From 5e18bf58d03f4b6830afddb92af9079dcc5587e2 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 11 三月 2024 09:25:26 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before into master --- src/views/quality/rawMaterial/index.vue | 254 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 188 insertions(+), 66 deletions(-) diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue index 99b0d0b..3e3b81e 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> @@ -38,11 +38,11 @@ @refreshDataList="getData" ></RawMaterialForm> <el-dialog - top="10vh" + top="7vh" title="鎵撳嵃棰勮" :visible.sync="printDialogVisible" - width="60%"> - <div style="width:100%;height: 60vh;overflow-y: scroll;"> + width="70%"> + <div style="width:90%;margin-left:5%;height: 60vh;overflow-y: scroll;"> <printTemplate id="printRaw" :formData="printFormData"></printTemplate> </div> <span slot="footer" class="dialog-footer"> @@ -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 { @@ -69,6 +70,7 @@ resultData:[], addOrUpdateVisible: false, type: [1], + multipleSelection: [], prelang: 'rawMaterial', ajaxFun: getRawInspectList, options: { @@ -94,12 +96,43 @@ column: [ { minWidth: '120', - prop: 'code', - label: '鍘熸潗鏂欑紪鐮�', + prop: 'rawInsNo', + label: '鍘熸潗鏂欐楠岀紪鍙�', isTrue: true, 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', + prop: 'code', + label: '鍘熸潗鏂欑紪鐮�', + isTrue: true, + isSearch: true, + searchInfoType: 'text' }, { minWidth: '120', @@ -204,30 +237,8 @@ } }, ], - toolbar: [ - { - text: '鏂板', - type: 'primary', - fun: this.addOrUpdateHandle - }], - operator: [{ - text: '鎵撳嵃', - type: 'text', - size: 'small', - fun: this.previewFun, - show: { - val: [ - '1', - ], - key: 'judgeState' - } - }, - { - text: '浣滃簾', - type: 'text', - size: 'small', - fun: this.deleteHandle - }], + toolbar: [], + operator: null, operatorConfig: { fixed: 'right', label: '鎿嶄綔', @@ -237,6 +248,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: { @@ -245,8 +258,47 @@ printTemplate, }, 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']) }, @@ -258,10 +310,63 @@ } }, 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){ + this.$message.error("璇峰厛閫夋嫨妫�楠屾暟鎹�") + return + }else{ + let arr = selection.filter(s=>{ + return s.judgeState==null || s.judgeState=='' + }) + if(arr.length > 0){ + this.$message.error("鍙兘閫夋嫨宸叉娴嬬殑鏁版嵁") + return + } + 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 + } + } + }, //鏌ョ湅鎶ュ憡鎸夐挳 previewFun(row){ getObj(row.id).then(res=>{ - console.log(res); this.printFormData = res.data.data this.printDialogVisible = true }).catch(error=>{ @@ -274,10 +379,16 @@ PrintJS({ printable: "printRaw", type: "html", - maxWidth: 900, // header: "鍘熸潗鏂欐娴嬫姤鍛�", - style: '@page {margin: 0 5mm}', targetStyles: ["*"], + style: `@page {margin: 0mm 5mm;size: A4;} + html {zoom:100%;} + @media print { + html,body{ + width:200mm; + height:297mm; + } + }`, ignoreElements: ["no-ignore"], orientation: 'portrait' }); @@ -287,7 +398,6 @@ }, exportRawMaterial(){ exportRawMaterial(this.queryParam).then(res=>{ - console.log(res) this.downloadFun(res) }).catch(error=>{ console.log(error); @@ -331,10 +441,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 } }) @@ -348,51 +464,57 @@ } }, 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') : '' }, getData() { this.$refs.rawMaterialTable.getDataList() - }, // table鑷甫浜嬩欢 handleSelectionChange(val) { + this.multipleSelection = val // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳 // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬� - var stateArr = val.map(function(value, index) { - return value.coState - }) + // var stateArr = val.map(function(value, index) { + // return value.coState + // }) // 閫変腑鐘舵�佹暟缁勫厓绱犲幓閲� - var uniqueStateArr = [] - for (var i = 0; i < stateArr.length; i++) { - if (uniqueStateArr.indexOf(stateArr[i]) == -1) { - uniqueStateArr.push(stateArr[i]) - } - } + // var uniqueStateArr = [] + // for (var i = 0; i < stateArr.length; i++) { + // if (uniqueStateArr.indexOf(stateArr[i]) == -1) { + // uniqueStateArr.push(stateArr[i]) + // } + // } // 寰幆鑷畾涔夋寜閽紝鍒ゆ柇姣忎釜鎸夐挳鐨刾ermitArr鏄惁瀹屽叏鍖呭惈閫変腑鐘舵�侊紝鑻ュ畬鍏ㄥ寘鍚紝鍒欐寜閽寒锛屽惁鍒欐寜閽伆 - for (var i = 0; i < this.stateTagArr.length; i++) { - if ( - uniqueStateArr.every((val) => - this.stateTagArr[i].permitArr.length <= 0 - ? true - : this.stateTagArr[i].permitArr.includes(val) - ) - ) { - this.stateTagArr[i].disabled = false - } else { - this.stateTagArr[i].disabled = true - } - } - this.multipleSelection = val + // for (var i = 0; i < this.stateTagArr.length; i++) { + // if ( + // uniqueStateArr.every((val) => + // this.stateTagArr[i].permitArr.length <= 0 + // ? true + // : this.stateTagArr[i].permitArr.includes(val) + // ) + // ) { + // this.stateTagArr[i].disabled = false + // } else { + // this.stateTagArr[i].disabled = true + // } + // } }, } } </script> - \ No newline at end of file -- Gitblit v1.9.3