From c880739ec4cd5ede33b31eb98ad5f7628ea288e5 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 11 十二月 2023 17:41:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/rawMaterial/index.vue | 184 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 140 insertions(+), 44 deletions(-) diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue index 297bd4e..0c11eb8 100644 --- a/src/views/quality/rawMaterial/index.vue +++ b/src/views/quality/rawMaterial/index.vue @@ -37,21 +37,40 @@ ref="addOrUpdate" @refreshDataList="getData" ></RawMaterialForm> + <el-dialog + top="7vh" + title="鎵撳嵃棰勮" + :visible.sync="printDialogVisible" + 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"> + <el-button @click="()=>{printDialogVisible = false;this.printFormData=null}">鍙� 娑�</el-button> + <el-button type="primary" @click="printFun()">鎵� 鍗�</el-button> + </span> + </el-dialog> </div> </template> <script> import ttable from '@/views/common/ztt-table.vue' -import { getRawInspectList,delObj,exportRawMaterial } from '@/api/quality/rawMaterial' +import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport } 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' export default { data() { return { + printFormData: null, + printDialogVisible: false, queryParam: {}, resultData:[], addOrUpdateVisible: false, type: [1], + multipleSelection: [], prelang: 'rawMaterial', ajaxFun: getRawInspectList, options: { @@ -77,12 +96,20 @@ column: [ { minWidth: '120', - prop: 'code', - label: '鍘熸潗鏂欑紪鐮�', + prop: 'rawInsNo', + label: '鍘熸潗鏂欐楠岀紪鍙�', isTrue: true, isSearch: true, searchInfoType: 'text', render: { fun: this.addOrUpdateHandle } + }, + { + minWidth: '120', + prop: 'code', + label: '鍘熸潗鏂欑紪鐮�', + isTrue: true, + isSearch: true, + searchInfoType: 'text' }, { minWidth: '120', @@ -188,12 +215,32 @@ }, ], toolbar: [ + { + text: '鏂板', + type: 'primary', + fun: this.addOrUpdateHandle + }, + { + text: '涓嬭浇妫�楠屾姤鍛�', + type: 'primary', + fun: this.downloadReport + } + ], + operator: [ + // { + // text: '鎵撳嵃', + // type: 'text', + // size: 'small', + // fun: this.previewFun, + // show: { + // val: [ + // '1', + // '0' + // ], + // key: 'judgeState' + // } + // }, { - text: '鏂板', - type: 'primary', - fun: this.addOrUpdateHandle - }], - operator: [{ text: '浣滃簾', type: 'text', size: 'small', @@ -210,31 +257,81 @@ StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸插悎鏍�',value:'1'},{label:'涓嶅悎鏍�',value:'0'}], } }, - // props:{ - // queryParam:{ - // type: Object, - // default: ()=>{ - // return {} - // } - // } - // }, components: { ttable, RawMaterialForm, + printTemplate, }, - created() { - - }, + created() { }, computed: { ...mapGetters(['permissions']) }, + watch:{ + printFormData(newVal){ + if(newVal){ + this.printFormData = newVal + } + } + }, methods:{ + 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) + }) + downloadReport({ids : ids}).then(res=>{ + transformZip(res) + }).catch(error=>{ + console.log(error) + }) + } + }, + //鏌ョ湅鎶ュ憡鎸夐挳 + previewFun(row){ + getObj(row.id).then(res=>{ + this.printFormData = res.data.data + this.printDialogVisible = true + }).catch(error=>{ + console.log(error); + }) + }, + //鎵撳嵃鎸夐挳 + printFun() { + this.printDialogVisible = false; + PrintJS({ + printable: "printRaw", + type: "html", + // header: "鍘熸潗鏂欐娴嬫姤鍛�", + targetStyles: ["*"], + style: `@page {margin: 0mm 5mm;size: A4;} + html {zoom:100%;} + @media print { + html,body{ + width:200mm; + height:297mm; + } + }`, + ignoreElements: ["no-ignore"], + orientation: 'portrait' + }); + }, getQueryParam(data){ this.queryParam = data }, exportRawMaterial(){ exportRawMaterial(this.queryParam).then(res=>{ - console.log(res) this.downloadFun(res) }).catch(error=>{ console.log(error); @@ -307,37 +404,36 @@ }, 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 + // } + // } }, } } -- Gitblit v1.9.3