From 4e2bb29096ac63837f8d2c5e25766ee094f45d6c Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期三, 27 十二月 2023 14:35:49 +0800 Subject: [PATCH] modified: src/page/index/top/index.vue modified: src/views/common/part.vue modified: src/views/equipment/equipment/index.vue modified: src/views/equipment/metering/index.vue modified: src/views/plan/manufacturingorder/auto-operationtask.vue modified: src/views/plan/operationtask/operationtask-form.vue modified: src/views/quality/Packaging_ledger/index.vue modified: src/views/quality/packageinspect/index.vue modified: src/views/quality/processconfiguration/index.vue modified: src/views/quality/teststandard/index.vue modified: vue.config.js --- src/views/equipment/metering/index.vue | 260 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 209 insertions(+), 51 deletions(-) diff --git a/src/views/equipment/metering/index.vue b/src/views/equipment/metering/index.vue index bbc96a2..7660b19 100644 --- a/src/views/equipment/metering/index.vue +++ b/src/views/equipment/metering/index.vue @@ -19,6 +19,36 @@ @refreshDataList="getData" ></table-form> </basic-container> + <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh"> + <div style="width:100%;height:400px;overflow-y: auto;"> + <div class="dia_body" id="printMetering"> + <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;"> + <el-row> + <el-col :span="10" :offset="3">搴忓彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">缂栧彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.code }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧鍚嶇О锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text="tem.code+'id@'+tem.id" :size="80" :margin="2"></vueQr> + </el-col> + </el-row> + </el-card> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> + <el-button type="primary" @click="printFun">鎵� 鍗�</el-button> + </span> + </el-dialog> </div> </template> @@ -29,6 +59,8 @@ import { mapGetters } from 'vuex' import * as fecha from 'element-ui/lib/utils/date' import { remote } from '../../../api/admin/dict' + import vueQr from 'vue-qr' + import PrintJS from 'print-js' export default { data() { return { @@ -36,8 +68,9 @@ multipleSelection: [], uploadInfo: { // 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl - isShow: true, - url: '/mes/equipment/upload' + Download:false, + isShow: true, + url: '/mes/equipmentDevice/upload' }, prelang: 'workstation', options: { @@ -52,7 +85,7 @@ isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳 isSearch: false, // 楂樼骇鏌ヨ鎸夐挳 - defaultOrderBy: { column: 'manufactureDate', direction: 'desc' } + defaultOrderBy: { column: 'id', direction: 'desc' } }, table: { total: 0, @@ -94,20 +127,55 @@ // isSearch: true, // searchInfoType: 'text' // }, + // { + // minWidth: '30', + // prop: 'type', + // label: '璁惧绫诲瀷', + // // sort: true, + // isTrue: true, + // isSearch: true, + // // searchInfoType: 'select', + // formatter: this.workShopFormatter, + // // optList: () => { + // // return this.workshopList + // // } + // }, + // 鍨嬪彿瑙勬牸 + + // 鍒堕�犳棩鏈� + { + minWidth: '150', + width: '250', + prop: 'createTime', + label: '鏍″噯鏃堕棿', + sort: true, + isTrue: true, + formatter: this.formatReceiveTime, + isSearch: true, + searchInfoType: 'datetime' + }, + + { + minWidth: '150', + width: '250', + prop: 'updateTime', + label: '鏍″噯鍒版湡鏃堕棿', + sort: true, + isTrue: true, + formatter: this.formatReceiveTime, + isSearch: true, + searchInfoType: 'datetime' + }, { minWidth: '30', - prop: 'type', - label: '璁惧绫诲瀷', - // sort: true, + prop: 'createUser', + label: '璐熻矗浜�', + sort: true, isTrue: true, - isSearch: true, - // searchInfoType: 'select', - formatter: this.workShopFormatter, - // optList: () => { - // return this.workshopList - // } + isSearch: false, + searchInfoType: 'text' }, - // 鍨嬪彿瑙勬牸 + { minWidth: '30', prop: 'supplier', @@ -127,37 +195,72 @@ isSearch: true, searchInfoType: 'text' }, - // 鍒堕�犳棩鏈� - { - minWidth: '150', - width: '250', - prop: 'createTime', - label: '鍒涘缓鏃堕棿', + // 鐘舵�� + { + minWidth: '30', + prop: 'responsibleDepartment', + label: '璐熻矗閮ㄩ棬', sort: true, isTrue: true, - formatter: this.formatReceiveTime, isSearch: true, - searchInfoType: 'datetime' + searchInfoType: 'text' }, - { - minWidth: '150', - width: '250', - prop: 'updateTime', - label: '淇敼鏃堕棿', + minWidth: '30', + prop: 'inspectionUnit', + label: '妫�楠屽崟浣�', sort: true, isTrue: true, - formatter: this.formatReceiveTime, isSearch: true, - searchInfoType: 'datetime' + searchInfoType: 'text' + }, + { + minWidth: '30', + prop: 'certificate', + label: '璇佷功缂栧彿', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '30', + prop: 'verification', + label: '妫�瀹�', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '30', + prop: 'classification', + label: '鍒嗙被', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '30', + prop: 'fixedPointPosition', + label: '瀹氱偣浣嶇疆', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '30', + prop: 'specifications', + label: '瑙勬牸', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' }, ], toolbar: [ - { - text: '鏂板', - type: 'primary', - fun: this.addOrUpdateHandle - }, // { // text: '鍚屾', // type: 'primary', @@ -165,22 +268,7 @@ // fun: this.pullEquipFun // } ], - operator: [ - { - text: '淇敼', - icon: 'el-icon-edit', - type: 'text', - size: 'small', - fun: this.addOrUpdateHandle - }, - { - text: '鍒犻櫎', - icon: 'el-icon-delete', - type: 'text', - size: 'small', - fun: this.deleteHandle - } - ], + operator: null, operatorConfig: { fixed: 'right', label: '鎿嶄綔', @@ -189,17 +277,54 @@ } }, addOrUpdateVisible: false, - workshopList: [] + workshopList: [], + diaPrintTab: false } }, components: { ttable, - TableForm + TableForm, + vueQr }, computed: { ...mapGetters(['permissions']) }, created() { + this.uploadInfo.isShow = this.permissions.equipment_metering_upload + if(this.permissions.equipment_metering_add){ + this.table.toolbar.push({ + text: '鏂板', + type: 'primary', + fun: this.addOrUpdateHandle + }) + } + if(this.permissions.equipment_metering_labelprint){ + this.table.toolbar.push({ + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.labelPrint + }) + } + let arr = [] + if(this.permissions.equipment_metering_edit){ + arr.push({ + text: '淇敼', + icon: 'el-icon-edit', + type: 'text', + size: 'small', + fun: this.addOrUpdateHandle + }) + } + if(this.permissions.equipment_metering_del){ + arr.push({ + text: '鍒犻櫎', + icon: 'el-icon-delete', + type: 'text', + size: 'small', + fun: this.deleteHandle + }) + } + this.table.operator = arr.length>0 ? arr : null remote('work_shop').then((response) => { if (response.data.code === 0) { this.workshopList = response.data.data @@ -209,6 +334,32 @@ }) }, methods: { + printFun() { + this.diaPrintTab = false; + PrintJS({ + printable: 'printMetering',//椤甸潰 + type: "html",//鏂囨。绫诲瀷 + maxWidth:450, + targetStyles:['*'], + style: `@page { + margin:0; + padding: 0; + size: 360px 170px; + } + html{ + zoom:100%; + } + @media print{ + width: 360px; + height: 170px; + margin:0; + padding: 0; + }`, + onPrintDialogClose: this.erexcel=false, + targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕� + font_size: '', + }); + }, pullEquipFun(){ this.table.toolbar.find((e) => e.text === '鍚屾').loading = true pullEquip().then(res=>{ @@ -261,6 +412,13 @@ this.$message.success('鍒犻櫎鎴愬姛') this.getData() }) + }, + labelPrint(){ + if(this.multipleSelection.length==0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + return + } + this.diaPrintTab = true } } } -- Gitblit v1.9.3