From 6f8fe2fc191fb466e3141a6e915d6aa63802c269 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期日, 22 六月 2025 11:43:35 +0800 Subject: [PATCH] 更新优化 --- 代码管理/淮安PDA/pages/stash/receiveorderoutbound.vue | 271 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 185 insertions(+), 86 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" index ada9295..a74b0fd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" @@ -8,7 +8,7 @@ <uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item> <!-- <uni-forms-item label="鍗曟嵁绫诲瀷锛氱敓浜ч鏂欏崟" style="margin-top: -20px;"></uni-forms-item> --> <uni-forms-item label="鍐呯鐮侊細" style="margin-top: -20px;"> - <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辩爜" ref='midInput' :focus="focus" + <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辩爜" ref='midInput' :focus="!focus" v-model="innerCode" @input="innercodeInput" /> </uni-forms-item> <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item> @@ -22,20 +22,24 @@ </uni-forms-item> </uni-forms> <uni-forms-item> - <button @click="submit" type="primary" size="default" style="margin-top: 2%;">纭鏀惰揣</button> + <view class="uni-flex uni-row" style="justify-content: space-between;margin-top: 2%;height: 45px;width: 520rpx;margin: 0px auto;"> + <view> + <button @click="resetReceive" type="default" size="default" style="width: 200rpx;border: 1rpx solid #007aff;color: #007aff;">閲嶇疆</button> + </view> + <view> + <button @click="submit" type="primary" size="default" style="width: 220rpx;">纭鏀惰揣</button> + </view> + </view> </uni-forms-item> <uni-forms-item> - <button @click="submit1" type="primary" size="default" style="margin-top: 2%;">瀹屾垚鏀惰揣</button> + <view style="margin-top: 2%;height: 45px;width: 520rpx;margin: 0px auto;"> + <button @click="submit1" type="primary" size="default" style="margin-top: 2%;backgroundColor:#1AAD19;borderColor:#1AAD19">瀹屾垚鏀惰揣</button> + </view> </uni-forms-item> </view> </view> <view v-if="current === 1" class="headerstyle"> <view class="itemstyle"> - <u-sticky> - <!-- <view style="background-color: #ffffff;"> - <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar> - </view> --> - </u-sticky> <!-- <uni-forms label-width="180"> <uni-forms-item label="鍖哄煙"> <uni-data-select v-if="show" v-model="value" :localdata="range"></uni-data-select> @@ -48,18 +52,18 @@ </uni-forms-item> </uni-forms> --> <uni-list :border="true"> - <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId"> + <uni-list-item direction="column" v-for="item in orderinfoDetails" :key="item.id"> <template v-slot:body> - <view class="uni-list-box"> <view class="uni-content"> - <view style="font-size: 18px;">鏀惰揣鍗曞彿锛歿{orderNo}}</view> - <view style="font-size: 18px;">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view> - <view style="font-size: 18px;">鐗╂枡缂栧彿锛歿{item.materielCode}}</view> - <view style="font-size: 18px;">鎵规鍙凤細{{item.lotNo}}</view> - <view style="font-size: 18px;">鏀惰揣鏁伴噺锛歿{item.receivedQuantity}}</view> - <view style="font-size: 18px;">鏄惁璐ㄦ锛歿{item.ifInspection==1?"鏄�":"鍚�"}}</view> + <view>鏀惰揣鍗曞彿锛歿{orderNo}}</view> + <view>閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view> + <view>鐗╂枡缂栧彿锛歿{item.materielCode}}</view> + <view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view> + <view>鐗╂枡瑙勬牸锛歿{item.materielSpec}}</view> + <view>鎵规鍙凤細{{item.lotNo}}</view> + <view>鏀惰揣鏁伴噺锛歿{item.receivedQuantity}}</view> + <view>鏄惁璐ㄦ锛歿{item.ifInspection==1?"鏄�":"鍚�"}}</view> </view> - </view> </template> </uni-list-item> </uni-list> @@ -173,6 +177,7 @@ import { config } from '../../common/config'; +import message from '../../tuniao-ui/libs/function/message'; const innerAudioContext = uni.createInnerAudioContext(); export default { data() { @@ -182,6 +187,7 @@ current: 0, orderNo: "", orderInfo: [], + orderinfoDetails:[], label: "", innerCode: "", PurchaseOrderNo: "閲囪喘鍗曞彿锛�", @@ -198,7 +204,7 @@ remaindQty: "瀹為檯鏁伴噺锛�", tagFocus: true, numberFocus: false, - focus: true, + focus: false, tag: "", number: "", tagmatCode: "鐗╂枡缂栫爜锛�", @@ -225,6 +231,9 @@ endTypeRange: [], sns: "", receiveOrderId: 0, + warehouseId:"", + toastQueue: [], // 鎻愮ず闃熷垪 + isShowingToast: false } }, @@ -240,6 +249,7 @@ this.orderNo = res.orderNo; this.receiveOrderId = res.receiveOrderId; this.label = "鏀惰揣鍗曞彿锛�" + this.orderNo; + this.warehouseId=res.warehouseId; this.getData(); }, mounted() { @@ -253,16 +263,52 @@ } }, methods: { + showToast(options) { + this.toastQueue.push(options); + this.processToastQueue(); + }, + + // 澶勭悊鎻愮ず闃熷垪 + processToastQueue() { + // 濡傛灉姝e湪鏄剧ず鎻愮ず鎴栭槦鍒椾负绌猴紝鍒欎笉鎵ц + if (this.isShowingToast || this.toastQueue.length === 0) return; + + this.isShowingToast = true; + const toastOptions = this.toastQueue.shift(); + + // 鏄剧ず鎻愮ず + this.$refs.uToast.show({ + ...toastOptions, + complete: () => { + // 鎻愮ず鍏抽棴鍚庡鐞嗕笅涓�涓� + this.isShowingToast = false; + this.processToastQueue(); + } + }); + }, inputDialogToggle(itemCode) { this.itemCode = itemCode; this.$refs.inputDialog.open() }, - voiceSpeech(src) { - innerAudioContext.src = src; // '../../static/success.mp3'; - innerAudioContext.play(); - }, + // voiceSpeech(src) { + // innerAudioContext.src = src; // '../../static/success.mp3'; + // innerAudioContext.play(); + // }, search() { this.getData(); + }, + resetReceive(){ + this.PurchaseOrderNo="閲囪喘鍗曞彿锛�"; + this.matCode="鐗╂枡缂栫爜锛�"; + this.LotNo="鐗╂枡鎵规锛�"; + this.orderQty="璁㈠崟鏁伴噺锛�"; + this.ProductionDate="鐢熶骇鏃ユ湡锛�"; + this.EffectiveDate="鏈夋晥鏃ユ湡锛�"; + this.Quantity=""; + setTimeout(() => { + this.innerCode=""; + this.focus=false; + }, 10); }, releasebox() { if (this.releasevalue.length == 0) { @@ -356,36 +402,91 @@ }); }, submit() { - if (this.sns == "") { - this.$refs.uToast.show({ - title: "璇锋壂鎻忓唴绠辨爣绛�", - type: 'error' + // 鎻愬彇鐢熶骇鏃ユ湡锛堟牸寮忎负"鐢熶骇鏃ユ湡锛歒YYY-MM"锛� + const productionDateStr = this.ProductionDate.replace('鐢熶骇鏃ユ湡锛�', ''); + if (!productionDateStr) { + this.showToast({ + title: "鏈幏鍙栧埌鐢熶骇鏃ユ湡", + type: 'error' + }); + return; + } + + // 瑙f瀽鐢熶骇鏃ユ湡鐨勫勾鏈� + const [prodYear, prodMonth] = productionDateStr.split('-').map(Number); + + // 鑾峰彇褰撳墠鏃ユ湡鐨勫勾鏈� + const currentDate = new Date(); + const currentYear = currentDate.getFullYear(); + const currentMonth = currentDate.getMonth() + 1; + + // 姣旇緝骞存湀鏄惁涓�鑷� + const isDateMismatch = prodYear !== currentYear || prodMonth !== currentMonth; + if (isDateMismatch) { + this.showToast({ + title: "璇ョ墿鏂欑敓浜ф棩鏈熺殑骞存湀涓庡綋鍓嶅勾鏈堜笉涓�鑷�", + type: 'warning', + duration: 1500 + }); + } + + // 鍘熸湁鐨勭‘璁ゆ敹璐ч�昏緫 + if (this.sns == "") { + this.$refs.uToast.show({ + title: "璇锋壂鎻忓唴绠辨爣绛�", + type: 'error' + }) + return; + } + if (this.Quantity == "") { + this.$refs.uToast.show({ + title: "璇疯緭鍏ュ疄闄呮暟閲�", + type: 'error' + }) + return; + } + if(this.warehouseId==2){ + //鏇挎崲鎸囧畾涓や釜瀛楃闂寸殑瀛楃 + this.sns = this.sns.replace(/(Q:)([^,PO]+)(,PO)/, (match, p1, p2, p3) => { + return p1 + this.Quantity + p3; + }); + } + const sendRequest = () => { + this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this + .orderNo, {}).then(res => { + if (res.status) { + this.PurchaseOrderNo="閲囪喘鍗曞彿锛�"; + this.matCode="鐗╂枡缂栫爜锛�"; + this.LotNo="鐗╂枡鎵规锛�"; + this.orderQty="璁㈠崟鏁伴噺锛�"; + this.ProductionDate="鐢熶骇鏃ユ湡锛�"; + this.EffectiveDate="鏈夋晥鏃ユ湡锛�"; + this.Quantity=""; + setTimeout(() => { + this.innerCode=""; + this.focus=false; + }, 100); + this.orderInfo=[]; + this.sns = ""; + this.$refs.uToast.show({ + title:"纭鏀惰揣鎴愬姛", + type: "success" + }) + } else { + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + } }) - return; + + }; + // 濡傛灉鏈夋棩鏈熶笉鍖归厤鎻愮ず锛岀瓑寰呮彁绀哄畬鎴愬悗鍙戦�佽姹� + if (isDateMismatch) { + setTimeout(sendRequest, 1500); // 绛夊緟1.5绉掞紙涓庢彁绀烘椂闀夸竴鑷达級 + } else { + sendRequest(); // 娌℃湁鏃ユ湡鎻愮ず锛岀珛鍗冲彂閫佽姹� } - if (this.Quantity == "") { - this.$refs.uToast.show({ - title: "璇疯緭鍏ュ疄闄呮暟閲�", - type: 'error' - }) - return; - } - this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this - .orderNo, {}).then(res => { - if (res.status) { - this.$refs.uToast.show({ - title: "纭鏀惰揣鎴愬姛", - type: "success" - }) - this.orderInfo=[]; - this.sns = ""; - } else { - this.$refs.uToast.show({ - title: res.message, - type: "error" - }) - } - }) }, submit1() { this.$u.post('/api/ReceiveOrder/FeedbackReceiveOrder?orderId=' + this @@ -453,6 +554,7 @@ }) }, onClickItem(e) { + console.log(1) this.focus = false; this.addressFocus = false; if (this.current !== e.currentIndex) { @@ -471,8 +573,8 @@ } this.$u.post('/api/ReceiveOrderDetail/GetReceiveOrderInfos', postData).then((res) => { if (res.status) { - this.orderInfo = res.data; - if (this.orderInfo.length > 3) { + this.orderinfoDetails = res.data; + if (this.orderinfoDetails.length > 3) { this.loadVisible = true; } } @@ -484,45 +586,42 @@ return; } var innerCode = this.innerCode; - setTimeout(() => { - this.innerCode = ""; - }, 10); - - this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => { - if (res.status) { - this.sns = res.data.serialNumber; - // this.matInfos.splice(0, this.matInfos.length); - // this.matInfos.push(res.data); - this.matCode = "鐗╂枡缂栫爜锛�" + res.data.materielCode; - this.LotNo = "鐗╂枡鎵规锛�" + res.data.lotNo; - this.PurchaseOrderNo = "閲囪喘鍗曞彿锛�" + res.data.purchaseOrderNo; - this.EffectiveDate = "鏈夋晥鏃ユ湡锛�" + res.data.effectiveDate; - this.ProductionDate = "鐢熶骇鏃ユ湡锛�" + res.data.productionDate; - this.orderQty = "璁㈠崟鏁伴噺锛�" + res.data.quantity; - this.Quantity = res.data.quantity; - if (res.message) { + //灏唅nnerCode,SC鍚庨潰鐨勮繘琛屾浛鎹㈢┖ + if(this.warehouseId==11){ + innerCode=innerCode.replace(/,SC.*/, ''); + } + + if(innerCode.indexOf("POHA")>0){ + this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => { + if (res.status) { + this.sns = res.data.serialNumber; + // this.matInfos.splice(0, this.matInfos.length); + // this.matInfos.push(res.data); + this.matCode = "鐗╂枡缂栫爜锛�" + res.data.materielCode; + this.LotNo = "鐗╂枡鎵规锛�" + res.data.lotNo; + this.PurchaseOrderNo = "閲囪喘鍗曞彿锛�" + res.data.purchaseOrderNo; + this.EffectiveDate = "鏈夋晥鏃ユ湡锛�" + res.data.effectiveDate; + this.ProductionDate = "鐢熶骇鏃ユ湡锛�" + res.data.productionDate; + this.orderQty = "璁㈠崟鏁伴噺锛�" + res.data.quantity; + this.Quantity = res.data.quantity; + // setTimeout(() => { + // this.voiceSpeech('../../static/success.mp3'); + // }, 100); + } else { this.$refs.uToast.show({ title: res.message, type: "error" }) - setTimeout(() => { - this.voiceSpeech('../../static/fail.mp3'); - }, 100); - return; + // setTimeout(() => { + // this.voiceSpeech('../../static/fail.mp3'); + // }, 100); } - setTimeout(() => { - this.voiceSpeech('../../static/success.mp3'); - }, 100); - } else { - this.$refs.uToast.show({ - title: res.message, - type: "error" - }) - setTimeout(() => { - this.voiceSpeech('../../static/fail.mp3'); - }, 100); - } - }) + }) + } + setTimeout(() => { + this.innerCode = ""; + this.focus=true; + }, 100); }) }, tagInput() { -- Gitblit v1.9.3