From 2e38e47e8f7aa998ebc32ff201b71e111c7de20e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 28 二月 2024 17:49:44 +0800
Subject: [PATCH] 主生产计划
---
src/views/quality/Packaging_ledger/index.vue | 444 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 328 insertions(+), 116 deletions(-)
diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index ce34a87..d72861a 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -8,11 +8,11 @@
:isShowHide="true"
:prelang="prelang"
:ajaxFun="ajaxFun"
- :options="options"
- @currentChange="handleCurrentChange"
+ :options="options"
+ @handleSelectionChange="handleSelectionChange"
ref="processconfiguration"
>
- <template #toolbar></template>
+ <template #toolbar></template>
</ttable>
</el-col>
<el-col :span="13" style="padding-left: 10px">
@@ -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,6 +42,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="relateOperationParam()"
@@ -50,67 +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 label="鍗曚綅" prop="unit" align="center" />
- <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>
@@ -118,8 +128,7 @@
<!-- 鏂板 -->
<packfrom
:currshowlist.sync="addOrUpdateVisible"
- @way = "wayRenovate"
- >
+ @refreshDataList="getData">
</packfrom>
<packfromadd
:currshowlist.sync="increase"
@@ -127,7 +136,83 @@
@handleSelectionChange = "preserve"
>
</packfromadd>
- </basic-container>
+ </basic-container>
+ <el-dialog title="鏍囩鍒楄〃" top="5vh" :visible.sync="diaPrintTab" width="500px">
+ <div style="width:100%;height: 400px;overflow-y: auto;">
+ <div class="dia_body" id="qrCard">
+ <el-card v-for="(item, i) in qrData" :key="i" >
+ <div>
+ <table border="2px" class="x1111116">
+ <tr class="x1111113">
+ <td class="x1111114" colspan=6>
+ <div style="height: 60px;display: flex;margin-top: 4px;">
+ <div style="margin-top: 5px;">
+ <img width="150" height="48" src="../../../../public/img/image001.jpg" alt="IMG_256">
+ </div>
+ <div style="margin-left: 45px;margin-top: 15px ;">
+ <span lang="EN-US" class="x1111111">涓ぉ娴锋磱绉戞妧鏈夐檺鍏徃</span>
+ </div>
+ </div>
+ </td>
+ </tr>
+ <tr class="x1111117">
+ <td class="x1111114">
+ <span style="font-family: 瀹嬩綋;text-align: center;">鍖� 瑁� 浜�:</span>
+ </td>
+ <td class="x1111114" colspan=4 >{{ item.createUser }} </td>
+ <td class="x1111114" rowspan=3 >
+ <div style="padding: 1px;">
+ <vueQr :text=str+item.packageBoxId :size="110" :margin="1"></vueQr>
+ </div>
+ </td>
+ </tr>
+ <tr class="x1111117">
+ <td class="x1111114">
+ <span style="font-family: 瀹嬩綋;text-align: center;">鍖� 瑁� 缂栧彿锛�</span>
+ </td>
+ <td class="x1111114" colspan=4>{{ item.packageNo }}</td>
+ </tr>
+ <tr class="x1111117">
+ <td class="x1111114">
+ <span style="font-family: 瀹嬩綋;text-align: center;">鍚� 鍚� 鍙凤細</span>
+ </td>
+ <td class="x1111114" colspan=4>{{ item.contractNo }}</td>
+ </tr>
+ <tr class="x1111113">
+ <td class="x1111114" colspan=6>
+ <div style="height: 75px;" >
+ <p><span lang="EN-US" class="x1111112">鍦板潃锛氭睙鑻忕渷鍗楅�氱粡娴庢妧鏈紑鍙戝尯甯稿叴璺�96鍙�</span></p>
+ <p><span lang="EN-US" class="x1111112">鐢佃瘽/浼犵湡锛�0513鈥�89191125</span></p>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- <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>
+ <div style="background-color: blueviolet;height: 80px;">
+ 1111
+ </div> -->
+ </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>
@@ -136,11 +221,19 @@
import ttable from '@/views/common/ztt-table.vue'
import packfrom from './pack-from.vue'
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',
@@ -155,7 +248,7 @@
border: true, // 鏄惁鏈夌旱鍚戣竟妗�
lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
- multiSelect: false, //
+ multiSelect: true, //
isEdit:false,
seqNo: true,
isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
@@ -230,28 +323,8 @@
searchInfoType: 'datetimerange',
},
],
- toolbar: [
- {
- text: '鏂板',
- type: 'primary',
- fun: this.addOrUpdateHandle
- },
- ],
- operator: [
- {
- text: '妫�楠�',
- icon: 'el-icon-delete',
- 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: '鎿嶄綔',
@@ -262,14 +335,115 @@
}
},
components: {
- ttable,
- packfrom,
- packfromadd
- },
- watch: {
-
- },
+ ttable,
+ packfrom,
+ 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){
+ this.qrData = []
+ }
+ }
+ },
methods: {
+ //鍖呰璇︽儏
+
+ //鎵撳嵃鎸夐挳
+ printFun() {
+ this.diaPrintTab = false;
+ PrintJS({
+ printable: 'qrCard',//椤甸潰
+ type: "html",//鏂囨。绫诲瀷
+ maxWidth:450,
+ targetStyles:['*'],
+ style: `@page {
+ margin:0;
+ padding: 0;
+ size: 323px 210px;
+ }
+ html{
+ zoom:100%;
+ }
+ @media print{
+ width: 323px;
+ height: 210px;
+ margin:7cm 0mm 0mm 0mm;
+ padding: 0mm 10mm;
+ }`,
+ onPrintDialogClose: this.erexcel=false,
+ targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+ font_size: '',
+ });
+ },
+ handleSelectionChange(val){
+ this.multipleSelection = val
+ let lastRow = val[val.length - 1]
+ this.handleCurrentChange(lastRow)
+ },
+ printLabel(){
+ if(this.multipleSelection.length==0){
+ this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+ return
+ }
+ this.diaPrintTab = true
+ this.multipleSelection.forEach(item=>{
+ const obj = {
+ packageNo: item.packageNo,
+ contractNo: item.contractNo,
+ packageBoxId:item.id,
+ createUser:item.createUser
+ }
+ this.qrData.push(obj)
+ })
+ },
// 鑾峰彇鏁版嵁鍒楄〃
getData() {
this.$refs.processconfiguration.refreshData()
@@ -289,17 +463,19 @@
})
},
handleCurrentChange(row){
- console.log(row,"涓�琛�");
+ if(row.state=='鏈姤妫�'){
+ this.isCheck = false
+ }else{
+ this.isCheck = true
+ }
this.dataway = row
this.packageBoxId = {
packageBoxId:row.id
}
- this.goid = row.id
this.rightquery()
},
rightquery(){
- list({packageBoxId:this.goid}).then((res) =>{
- console.log(res,"nihaoa");
+ list({packageBoxId:this.packageBoxId.packageBoxId}).then((res) =>{
this.testStandardParams = res.data.data
})
},
@@ -312,24 +488,29 @@
}
},
preserve(datalist){
- this.testStandardParams = datalist
-
+ this.testStandardParams = this.testStandardParams.concat(datalist);
+ console.log(this.testStandardParams,"---------start");
+ this.datalist = datalist
},
//鍙宠竟淇濆瓨
addpreserve(){
- console.log(this.testStandardParams,"淇濆瓨鏁版嵁");
- this.testStandardParams.forEach(el => {
- el.packageBoxId =this.goid
+ this.datalist.forEach(el => {
+ el.packageBoxId =this.packageBoxId.packageBoxId
});
- saveList(this.testStandardParams).then((res) =>{
- console.log(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);
})
},
//鍒犻櫎
deleteadd(row){
- console.log(row,"");
deledata({id:row.id}).then((res)=>{
this.$message.success('鍒犻櫎鎴愬姛')
this.rightquery()
@@ -337,7 +518,6 @@
},
//瀹℃牳
check(row){
- console.log(row,"瀹℃牳");
let packageBox = {
id:row.id,
packageNo:row.packageNo,
@@ -350,7 +530,39 @@
})
},
},
- computed: {
- },
}
-</script>
\ No newline at end of file
+</script>
+<style>
+.x1111111{
+ color: black;
+ font-size: 18pt;
+ font-family: 榛戜綋;
+ justify-content: center;
+ text-align: center;
+}
+.x1111113{
+ border: 1px solid black;
+ height: 40px;
+}
+.x1111117{
+ border: 1px solid black;
+ height: 40px;
+}
+.x1111116{
+ border: 1px solid black;
+ height: 200px;
+ width: 445px;
+}
+.x1111114{
+ border: 1px solid black;
+ width: 80px;
+}
+.x1111115{
+ border: 1px solid black;
+}
+.x1111112{
+ color: black;
+ font-size: 12pt;
+ font-family: 瀹嬩綋;
+}
+</style>
--
Gitblit v1.9.3