From c93c13d1cfe288d431109ae1eafd7a9fc6d58746 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 13 六月 2023 10:23:17 +0800
Subject: [PATCH] 1.递交
---
src/views/produceManager/workOrder.vue | 303 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 280 insertions(+), 23 deletions(-)
diff --git a/src/views/produceManager/workOrder.vue b/src/views/produceManager/workOrder.vue
index 226974e..a9908d3 100644
--- a/src/views/produceManager/workOrder.vue
+++ b/src/views/produceManager/workOrder.vue
@@ -309,8 +309,8 @@
>
<template slot-scope="{row}">
<div v-if="row.piroque==='1'">鐗圭骇</div>
- <div v-if="row.piroque==='2'">绱ф��</div>
- <div v-if="row.piroque==='3'">姝e父</div>
+ <div v-else-if="row.piroque==='2'">绱ф��</div>
+ <div v-else-if="row.piroque==='3'">姝e父</div>
<div v-else>/</div>
</template>
</el-table-column>
@@ -445,10 +445,20 @@
<div class="operationClass">
<el-tooltip class="item" effect="dark" content="鎵撳嵃宸ュ簭" placement="top">
<i
+ v-if="tableDataDetail.length!==row.seq"
class="el-icon-printer"
:style="{color:$store.state.settings.theme}"
style="cursor: pointer;margin-right: 15px"
@click="supplementSmallClick(row)"
+ />
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="琛ユ墦鐢熶骇鍏ュ簱鏉$爜" placement="top">
+ <i
+ v-if="tableDataDetail.length===row.seq"
+ class=" el-icon-camera"
+ :style="{color:$store.state.settings.theme}"
+ style="cursor: pointer;margin-right: 15px"
+ @click="getProductInHouseLabCode(row.wo_code)"
/>
</el-tooltip>
</div>
@@ -497,7 +507,8 @@
</el-form-item>
<el-form-item label="宸ュ崟缂栧彿" prop="mesordercode">
- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />
+ <!-- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
+ <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
</el-form-item>
<div style="display: flex">
<el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
@@ -546,7 +557,7 @@
</el-form-item>
<el-form-item
v-if="operation==='add'"
- label="浜у搧鍚嶇О"
+ label="浜у搧鍚嶇О/缂栫爜"
prop="partcode"
>
<el-select
@@ -561,7 +572,7 @@
<el-option
v-for="item in partArr"
:key="item.partcode"
- :label="item.partname"
+ :label="item.partname+'/'+item.partcode"
:value="item.partcode"
/>
</el-select>
@@ -749,7 +760,7 @@
<!-- <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">棰勮</el-button>-->
<el-button
- v-if="!submitBottonIsDisabled"
+ v-if="!submitButtonIsDisabled"
v-waves
type="primary"
:loading="$store.state.app.buttonIsDisabled"
@@ -758,7 +769,7 @@
>纭� 瀹�</el-button>
<el-button
- v-if="submitBottonIsDisabled"
+ v-if="submitButtonIsDisabled"
v-waves
type="primary"
disabled
@@ -1267,13 +1278,13 @@
</div>
<div
id="qrCode"
- style="width: 22%;height:97px;
+ style="width: 22%;height:90px;
margin-top: 20px;
overflow-y: scroll;display: flex;
justify-content: center;
position: relative;"
>
- <!-- <div id="qrCode0" ref="qrCodeDiv0" />-->
+ <div id="qrCode0" ref="qrCodeDiv0" />
</div>
<div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" />
<div
@@ -1361,14 +1372,14 @@
v-el-drag-dialog
title="棰勮"
:visible.sync="dialogVisible2"
- width="1140"
+ width="1000"
top="10vh"
:close-on-click-modal="false"
@close="dialogVisible2Close"
>
- <div style="height: 300px">
+ <div style="height: 650px;overflow:auto;">
<!-- 涓嬫媺妗嗛�夋嫨鎵撳嵃灏哄-->
- <div style="display: flex;align-items: center;margin: 0 0 20px 0">
+ <div v-if="!isLastPrint" style="display: flex;align-items: center;margin: 0 0 20px 0">
<div>閫夋嫨鎵撳嵃灏哄锛�</div>
<el-select
v-model="printSize"
@@ -1388,7 +1399,8 @@
</div>
<!-- 瑕佹墦鍗扮殑鍖哄煙 -->
<!-- <div id="printMe2" :style="{paddingLeft:'10px',paddingTop: '5px'}">-->
- <div id="printMe2" :style="printMe2StylePadding(printSize)">
+ <div v-if="!isLastPrint" :style="printMe2StylePadding(printSize)">
+ <!-- 80 * 50-->
<div
v-if="printSize===0"
style="display: flex;width: 280px;height: 160px;border: 1px solid #000;text-align: center;font-size: 10px;"
@@ -1450,6 +1462,7 @@
</div>
</div>
+ <!-- 78 * 60 -->
<div
v-if="printSize===1"
style="display: flex;width: 280px;height: 160px;border: 1px solid #000;text-align: center;font-size: 10px;"
@@ -1511,6 +1524,7 @@
</div>
</div>
+ <!-- 60 * 40 -->
<div
v-if="printSize===2"
style="display: flex;width: 220px;height: 130px;border: 1px solid #000;text-align: center;font-size: 12px"
@@ -1634,10 +1648,190 @@
</div>
</div>
+
+ <div v-if="isLastPrint" style="display: flex;flex-direction: column">
+
+ <div style="display: flex;font-weight: bold;font-size: 16px;margin-bottom: 20px;">
+ <div style="width: 48%;">
+ 璇烽�夋嫨鍏ュ簱鏉$爜
+ </div>
+ <div style="width: 48%;margin-left: 4%;">
+ 宸查�変腑鐨勫叆搴撴潯鐮�
+ </div>
+ </div>
+
+ <div style="display: flex;">
+ <!-- 璇烽�夋嫨鍏ュ簱鏉$爜-->
+ <div style="display: flex;flex-direction: column;height: 600px;overflow: auto;width: 48%;">
+ <div
+ v-for="(item,index) in lastPrintArr"
+ :key="item.inbarcode"
+ :style="{marginTop:index===0?'':'15px'}"
+ style="display: flex;align-items: center;"
+ >
+
+ <!-- v-if="printSize===0"-->
+ <div style="margin-right:40px">
+ <el-checkbox
+ :key="item.inbarcode"
+ v-model="item.checked"
+ @change="val=>inbarcodeChange(val,item)"
+ />
+ </div>
+ <div
+ style="display: flex;width: 280px;height: 160px;border: 1px solid #000;text-align: center;font-size: 10px;"
+ >
+
+ <div style="width: 90px;display: flex;flex-direction: column;border-right: 1px solid #000">
+ <div
+ style="display: flex;height: 96px;border-bottom:1px solid #000;
+ justify-content: center;align-items: center;position: relative"
+ >
+ <div
+ id="qrCode2"
+ ref="qrCodeDiv2"
+ style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
+ />
+ </div>
+ <div
+ style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
+ >
+ <div style="margin-left: 5px;width: 28px">鏁伴噺:</div>
+ {{ item.good_qty }}
+ </div>
+ <div style="display: flex;height: 32px;justify-content: flex-start;align-items: center">
+ <div style="margin-left: 5px;width: 42px">澶勭悊浜�:</div>
+ {{ item.username }}
+ </div>
+ </div>
+
+ <div style="width:190px;display: flex;flex-direction: column">
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">宸ュ崟缂栧彿:</div>
+ <div>{{ item.wo_code }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center ;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">浜у搧缂栫爜:</div>
+ <div>{{ item.partcode }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width:60px;margin-left: 5px;">浜у搧鍚嶇О:</div>
+ <div>{{ item.partname }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width:60px;margin-left: 5px;">浜у搧瑙勬牸:</div>
+ <div>{{ item.partspec ? item.partspec : '/' }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">澶勭悊鏃堕棿:</div>
+ <div>{{ item.lm_date }}</div>
+ </div>
+
+ </div>
+
+ </div>
+
+ </div>
+ </div>
+
+ <!-- 宸查�変腑鐨勫叆搴撴潯鐮�-->
+ <div
+ style="display: flex;flex-direction: column;height: 600px;overflow: auto;width: 48%;margin-left: 50px;"
+ >
+ <div id="printMe2">
+ <div
+ v-for="(item,index) in lastPrintArrSelected"
+ v-if="item.checked"
+ :key="item.inbarcode"
+ :style="{marginTop:index===0?'':'15px'}"
+ style="display: flex;align-items: center;"
+ >
+ <div
+ style="display: flex;width: 280px;height: 160px;border: 1px solid #000;text-align: center;font-size: 10px;"
+ >
+
+ <div style="width: 90px;display: flex;flex-direction: column;border-right: 1px solid #000">
+ <div
+ style="display: flex;height: 96px;border-bottom:1px solid #000;
+ justify-content: center;align-items: center;position: relative"
+ >
+ <div
+ id="qrCode3"
+ ref="qrCodeDiv3"
+ style="overflow-y: hidden;height:60px;position: absolute;left: 14px;"
+ />
+ </div>
+ <div
+ style="display: flex;height: 32px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center"
+ >
+ <div style="margin-left: 5px;width: 28px">鏁伴噺:</div>
+ {{ item.good_qty }}
+ </div>
+ <div style="display: flex;height: 32px;justify-content: flex-start;align-items: center">
+ <div style="margin-left: 5px;width: 42px">澶勭悊浜�:</div>
+ {{ item.username }}
+ </div>
+ </div>
+
+ <div style="width:190px;display: flex;flex-direction: column">
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">宸ュ崟缂栧彿:</div>
+ <div>{{ item.wo_code }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center ;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">浜у搧缂栫爜:</div>
+ <div>{{ item.partcode }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width:60px;margin-left: 5px;">浜у搧鍚嶇О:</div>
+ <div>{{ item.partname }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width:60px;margin-left: 5px;">浜у搧瑙勬牸:</div>
+ <div>{{ item.partspec ? item.partspec : '/' }}</div>
+ </div>
+ <div
+ style="display: flex;height: 20%;justify-content: flex-start;align-items: center;text-align: left"
+ >
+ <div style="width: 60px;margin-left: 5px;">澶勭悊鏃堕棿:</div>
+ <div>{{ item.lm_date }}</div>
+ </div>
+
+ </div>
+
+ </div>
+
+ </div>
+ </div>
+
+ </div>
+
+ </div>
+
+ </div>
+
</div>
<span slot="footer" class="dialog-footer">
<div class="footerButton">
- <el-button v-waves @click="dialogVisible2 = false">鍙� 娑�</el-button>
+ <el-button v-waves @click="dialogVisible2 = false;">鍙� 娑�</el-button>
<el-button v-waves v-print="printObj2" type="primary">鎵� 鍗�</el-button>
</div>
</span>
@@ -1772,7 +1966,7 @@
ClosedMesOrder,
DeleteMesOrder, MesBadOrderSearch, JobCreationSonAddVison,
MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, SelectRouteOrWkshop,
- SelectRouteStep
+ SelectRouteStep, AddMesOrderCodeSearch, ProductInHouseLabCode
} from '@/api/produceManager'
import { InventoryFileAssociationRoute, PartSelect, SaveInventoryFile } from '@/api/makeModel'
import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global'
@@ -2019,7 +2213,11 @@
return time.getTime() < Date.now() - 8.64e7
}
},
- submitBottonIsDisabled: false
+ submitButtonIsDisabled: false,
+
+ isLastPrint: false, // 鏄惁鏄湯閬撴墦鍗�
+ lastPrintArr: [], // 鏈亾鎵撳嵃鐨勬暟缁�(鎵�鏈�)
+ lastPrintArrSelected: []// 鏈亾鎵撳嵃鐨勬暟缁�(閫変腑)
}
},
created() {
@@ -2130,6 +2328,8 @@
},
// 鏂板鎸夐挳
async add(operation) {
+ const { data: res } = await AddMesOrderCodeSearch()
+ this.dialogForm.mesordercode = res
this.operation = operation
this.dialogVisible = true
this.dialogForm.planstartdate = handleDatetime(new Date())
@@ -2155,7 +2355,7 @@
this.dialogForm.wkshopcode = ''
- this.submitBottonIsDisabled = false
+ this.submitButtonIsDisabled = false
},
// 宸ヨ壓璺嚎鍊兼敼鍙�
async routecodeChange(val) {
@@ -2168,7 +2368,7 @@
this.wkshopArr = res2
this.dialogForm.wkshopcode = ''
- this.submitBottonIsDisabled = false
+ this.submitButtonIsDisabled = false
},
// 鐢熶骇杞﹂棿鍊兼敼鍙樻椂
wkshopcodeChange(val) {
@@ -2181,7 +2381,7 @@
// console.log(res, 1)
}).catch(err => {
// console.log(err, 2)
- this.submitBottonIsDisabled = true
+ this.submitButtonIsDisabled = true
})
},
@@ -2346,7 +2546,7 @@
this.bomIdArr = []
this.$refs.dialogForm.clearValidate()
- this.submitBottonIsDisabled = false
+ this.submitButtonIsDisabled = false
},
// 瀵硅瘽妗嗗彇娑�
dialogVisibleCancel() {
@@ -2473,12 +2673,12 @@
res3.forEach(i => {
this.bindQRCode(i.seq, i.stepqrcode, 'small')
})
- // this.bindQRCode('0', this.formApprove.mesordercode, 'big')
+ this.bindQRCode('0', this.formApprove.mesordercode, 'big')
const div = document.getElementById('qrCode')
// 杩欎箞澶氫唬鐮佸彧闇�瑕佽繖涓�鍙ュ疄鐜版垜浠墍闇�瑕佺殑鍔熻兘锛屽畾浣峝iv婊氬姩鏉′綅缃湪搴曢儴锛宻crollHeight璁$畻鍑篸iv鐨勯珮搴︼紝鍐峴crollTop 璁剧疆婊氬姩鏉$殑楂樺害涓哄灏�
- // div.scrollTop = div.scrollHeight // 婊氬姩鏉′綅浜庢渶搴曢儴
- div.scrollTop = 0 // 婊氬姩鏉′綅浜庢渶椤堕儴
+ div.scrollTop = div.scrollHeight // 婊氬姩鏉′綅浜庢渶搴曢儴
+ // div.scrollTop = 0 // 婊氬姩鏉′綅浜庢渶椤堕儴
})
this.dialogVisibleApprove = true
}
@@ -2593,6 +2793,31 @@
this.dialogVisible2 = true
console.log(this.qrForm, 1111)
},
+ // 琛ユ墦鐢熶骇鍏ュ簱鏉$爜
+ async getProductInHouseLabCode(ordercode) {
+ const res = await ProductInHouseLabCode({ ordercode })
+ console.log(res)
+ this.isLastPrint = true
+
+ this.lastPrintArr = res.data
+
+ this.dialogVisible2 = true
+
+ // 鐢熶骇浜岀淮鐮�
+ this.$nextTick(() => {
+ this.lastPrintArr.forEach((i, index) => {
+ i.checked = false
+ new QRCode(this.$refs.qrCodeDiv2[index], {
+ text: i.inbarcode,
+ width: this.printSize !== 2 ? 60 : 55,
+ height: this.printSize !== 2 ? 60 : 55,
+ colorDark: '#000', // 浜岀淮鐮侀鑹�
+ colorLight: '#ffffff', // 浜岀淮鐮佽儗鏅壊
+ correctLevel: QRCode.CorrectLevel.L// 瀹归敊鐜囷紝L/M/H
+ })
+ })
+ })
+ },
dialogVisible2Close() {
this.qrForm.qrvalue = ''
this.qrForm.startqty = ''
@@ -2603,6 +2828,9 @@
this.qrForm.operator = ''
this.qrForm.operatorTime = ''
// this.$refs.qrCodeDiv2 = ''
+ this.isLastPrint = false
+ this.lastPrintArr = []
+ this.lastPrintArrSelected = []
},
// 鐢熸垚浜岀淮鐮� 宸ュ簭鏍囩浜岀淮鐮�
bindQRCode2(text) {
@@ -2828,6 +3056,35 @@
if (val === 5) {
return { paddingLeft: '15px', paddingTop: '7px' }
}
+ },
+
+ inbarcodeChange(val, item) {
+ // 褰� lastPrintArrSelected涓湭鏈夊綋鍓嶅嬀閫夌殑鍊兼槸 璧皃ush item 鍚﹀垯璧拌繃婊ゆ帀item
+ if (val) {
+ this.lastPrintArrSelected.push(item)
+ } else {
+ this.lastPrintArrSelected = this.lastPrintArrSelected.filter(i => i.inbarcode !== item.inbarcode)
+ }
+
+ // 鐢熶骇浜岀淮鐮�
+ this.$nextTick(() => {
+ this.lastPrintArrSelected.forEach((i, index) => {
+ console.log(i.inbarcode, 'i.inbarcode')
+ new QRCode(this.$refs.qrCodeDiv3[index], {
+ text: i.inbarcode,
+ width: 60,
+ height: 60,
+ colorDark: '#000', // 浜岀淮鐮侀鑹�
+ colorLight: '#ffffff', // 浜岀淮鐮佽儗鏅壊
+ correctLevel: QRCode.CorrectLevel.L// 瀹归敊鐜囷紝L/M/H
+ })
+ })
+
+ // const div = document.getElementById('qrCode3')
+ // div.scrollTop = 0 // 婊氬姩鏉′綅浜庢渶搴曢儴
+
+ this.$forceUpdate()
+ }, 500)
}
}
}
--
Gitblit v1.9.3