From 5fa75e4daaa9bf549b8d8591b020643ae92813bd Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 12 一月 2024 09:19:55 +0800 Subject: [PATCH] 包装检验模板管理-修改2 --- src/views/quality/Packaging_ledger/index.vue | 319 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 180 insertions(+), 139 deletions(-) diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue index b4837ac..9427849 100644 --- a/src/views/quality/Packaging_ledger/index.vue +++ b/src/views/quality/Packaging_ledger/index.vue @@ -8,7 +8,7 @@ :isShowHide="true" :prelang="prelang" :ajaxFun="ajaxFun" - :options="options" + :options="options" @handleSelectionChange="handleSelectionChange" ref="processconfiguration" > @@ -33,6 +33,7 @@ </el-col> <el-col :span="2"> <el-button + v-if="!isCheck && permissions.quality_packaging_ledger_info_add" style="float: right; padding: 3px 0" type="text" @click="addpreserve" @@ -41,7 +42,7 @@ </el-col> <el-col :span="2"> <el-button - v-if="!isCheck" + v-if="!isCheck && permissions.quality_packaging_ledger_info_add" style="float: right; padding: 3px 0" type="text" @click="relateOperationParam()" @@ -51,66 +52,75 @@ </el-row> </div> <el-table - :data="testStandardParams" - id="testStandardParamTable" - ref="testStandardParam" - - highlight-current-row - height="700" - style="width: 100%" - class="l-mes-table" - border - stripe - > - <el-table-column - type ="index" - label="搴忓彿" - align="center" - width="50" - /> - <el-table-column - label="浜у搧" - prop="product" - align="center" - /> - <el-table-column - label="浜у搧缂栧彿" - prop="productNo" - align="center" - > - </el-table-column> - <el-table-column - label="瑙勬牸鍨嬪彿" - prop="specs" - align="center" - > - </el-table-column> - <el-table-column - label="鍗曚綅" - prop="unit" - align="center" - > - </el-table-column> - <el-table-column - label="鏁伴噺" - prop="number" - align="center" - width="80" - > - <template slot-scope="scope"> - <el-input v-model="scope.row.number"></el-input> - </template> - </el-table-column> - <el-table-column - fixed="right" - label="鎿嶄綔" - align="center" - width="80"> - <template slot-scope="scope"> - <el-button @click="deleteadd(scope.row)" size="small">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> + :data="testStandardParams" + id="testStandardParamTable" + ref="testStandardParam" + + highlight-current-row + height="700" + style="width: 100%" + class="l-mes-table" + border + stripe + > + <el-table-column + type ="index" + label="搴忓彿" + align="center" + width="50" + /> + <el-table-column + label="浜у搧" + prop="product" + show-overflow-tooltip + align="center" + /> + <el-table-column + label="浜у搧缂栧彿" + prop="productNo" + show-overflow-tooltip + align="center" + > + </el-table-column> + <el-table-column + label="鎵规鍙�" + prop="outBatchNo" + show-overflow-tooltip + align="center" + > + </el-table-column> + <el-table-column + label="瑙勬牸鍨嬪彿" + prop="specs" + show-overflow-tooltip + align="center" + > + </el-table-column> + <el-table-column + label="鍗曚綅" + prop="unit" + show-overflow-tooltip + align="center" + > + </el-table-column> + <el-table-column + label="鏁伴噺" + prop="number" + align="center" + show-overflow-tooltip + width="80" + ></el-table-column> + <el-table-column + v-if="permissions.quality_packaging_ledger_info_operate" + fixed="right" + label="鎿嶄綔" + align="center" + width="80"> + <template slot-scope="scope"> + <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> </el-card> </el-col> </el-row> @@ -128,23 +138,25 @@ </packfromadd> </basic-container> <el-dialog title="鏍囩鍒楄〃" top="5vh" :visible.sync="diaPrintTab" width="500px"> - <div id="qrCard" class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> - <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;"> - <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;">{{ item.packageNo }}</el-col> - </el-row> - <el-row> - <el-col :span="10" :offset="3">浜岀淮鐮侊細</el-col> - <el-col :span="10"> - <vueQr :text="JSON.stringify(item)" :size="120" :margin="1"></vueQr> - </el-col> - </el-row> - </el-card> + <div style="width:100%;height: 400px;overflow-y: auto;"> + <div id="qrCard" class="dia_body"> + <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 10px;"> + <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;">{{ item.packageNo }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">鍖呰鍙拌处浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text=str+item.packageBoxId :size="110" :margin="1"></vueQr> + </el-col> + </el-row> + </el-card> + </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> @@ -161,15 +173,18 @@ import packfromadd from './pack-fromadd.vue' import vueQr from 'vue-qr' import PrintJS from 'print-js' +import { mapGetters } from 'vuex' export default { data(){ return { + str:"https://ztms-mes.chinaztt.cn/#/pack?id=", qrData:[], diaPrintTab: false, multipleSelection: [], isCheck: false, dataway:{}, goid:'', + datalist:[], testStandardParams: [], packageBoxId:{}, prelang: 'operation', @@ -259,33 +274,8 @@ searchInfoType: 'datetimerange', }, ], - toolbar: [ - { - text: '鏂板', - type: 'primary', - fun: this.addOrUpdateHandle - }, - { - text: '鏍囩鎵撳嵃', - type: 'primary', - fun: this.printLabel - }, - ], - operator: [ - { - text: '妫�楠�', - icon: 'el-icon-position', - type: 'text', - size: 'small', - fun: this.check - },{ - text: '鍒犻櫎', - icon: 'el-icon-delete', - type: 'text', - size: 'small', - fun: this.deleteHandle - } - ], + toolbar: [], + operator: null, operatorConfig: { fixed: 'right', label: '鎿嶄綔', @@ -301,6 +291,52 @@ packfromadd, vueQr }, + created(){ + if(this.permissions.quality_packaging_ledger_add){ + this.table.toolbar.push({ + text: '鏂板', + type: 'primary', + fun: this.addOrUpdateHandle + }) + } + if(this.permissions.quality_packaging_ledger_labelprint){ + this.table.toolbar.push({ + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.printLabel + }) + } + let arr = [] + if(this.permissions.quality_packaging_ledger_inspect){ + arr.push({ + text: '妫�楠�', + icon: 'el-icon-position', + type: 'text', + size: 'small', + fun: this.check, + show: { + val: [ + '鑽夌', + '鏈姤妫�', + ], + key: 'state' + } + }) + } + if(this.permissions.quality_packaging_ledger_del){ + arr.push({ + text: '鍒犻櫎', + icon: 'el-icon-delete', + type: 'text', + size: 'small', + fun: this.deleteHandle + }) + } + this.table.operator = arr.length>0 ? arr : null + }, + computed:{ + ...mapGetters(['permissions']) + }, watch: { diaPrintTab(newVal){ if(!newVal){ @@ -313,24 +349,32 @@ printFun() { this.diaPrintTab = false; PrintJS({ - printable: "qrCard", - type: "html", - // header: "鍘熸潗鏂欐娴嬫姤鍛�", - targetStyles: ["*"], - style: `@page {margin: 0mm 5mm;} - html {zoom:100%;} - @media print { - html,body{ - width:60mm; - height:40mm; - } - }`, - ignoreElements: ["no-ignore"], - orientation: 'portrait' + printable: 'qrCard',//椤甸潰 + 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: '', }); }, handleSelectionChange(val){ this.multipleSelection = val + console.log(this.multipleSelection[0].id,"鏁版嵁"); let lastRow = val[val.length - 1] this.handleCurrentChange(lastRow) }, @@ -340,24 +384,12 @@ return } this.diaPrintTab = true - console.log(this.multipleSelection); this.multipleSelection.forEach(item=>{ let obj = { packageNo: item.packageNo, contractNo: item.contractNo, - boxInfo: [] + packageBoxId:item.id } - list({packageBoxId:item.id}).then((res) =>{ - res.data.data.forEach(ele=>{ - obj.boxInfo.push({ - product: ele.product, - productNo: ele.productNo, - specs: ele.specs, - unit: ele.unit, - number: ele.number - }) - }) - }) this.qrData.push(obj) }) }, @@ -404,16 +436,25 @@ } }, preserve(datalist){ - this.testStandardParams = datalist + this.testStandardParams = this.testStandardParams.concat(datalist); + console.log(this.testStandardParams,"---------start"); + this.datalist = datalist }, //鍙宠竟淇濆瓨 addpreserve(){ - this.testStandardParams.forEach(el => { + this.datalist.forEach(el => { el.packageBoxId =this.goid }); - saveList(this.testStandardParams).then((res) =>{ - this.$message.success('淇濆瓨鎴愬姛') - this.rightquery() + console.log(this.datalist); + // return + saveList(this.datalist).then((res) =>{ + if(res.status===200){ + this.$message.success('淇濆瓨鎴愬姛') + this.datalist = null + this.rightquery() + } + }).catch(error=>{ + console.error(error); }) }, //鍒犻櫎 @@ -438,4 +479,4 @@ }, }, } -</script> \ No newline at end of file +</script> -- Gitblit v1.9.3