From a84ed18ebca6d113fa9c52a36fc71e3a106fd729 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 26 九月 2024 12:49:23 +0800 Subject: [PATCH] # --- pages/pakin/pakin.vue | 193 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 163 insertions(+), 30 deletions(-) diff --git a/pages/pakin/pakin.vue b/pages/pakin/pakin.vue index 456e187..1abc6d6 100644 --- a/pages/pakin/pakin.vue +++ b/pages/pakin/pakin.vue @@ -7,6 +7,11 @@ @input="barcodeInput()"> </view> <view class="item"> + <view class="code-decs">AS400:</view> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="asBarcode" :focus="asBarcodeFocus" + @input="asBarcodeInput()"> + </view> + <view class="item"> <view class="code-decs">鐗╂枡鐮�:</view> <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="matnr" :focus="matFocus" @input="findMat()"> <view class="item-right"> @@ -14,6 +19,26 @@ <text style="text-align: right;color: #409EFF;" @click="selectMat()">鎻愬彇+</text> <uni-icons type="right" color="#c1c1c1"></uni-icons> </view> + </view> + <view class="item"> + <view class="code-decs">瀹㈡埛鏍囩鏉$爜:</view> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode1" :focus="barcode1Focus" + @input="codeInput('barcode1')"> + </view> + <view class="item"> + <view class="code-decs">瀹㈡埛鏍囩璧锋鐮�:</view> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode2" :focus="barcode2Focus" + @input="codeInput('barcode2')"> + </view> + <view class="item"> + <view class="code-decs">鐗瑰埆鏉$爜:</view> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode3" :focus="barcode3Focus" + @input="codeInput('barcode3')"> + </view> + <view class="item"> + <view class="code-decs">鍏朵粬鏉$爜:</view> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode4" :focus="barcode4Focus" + @input="codeInput('barcode4')"> </view> </view> <view class="mat-list-title"> @@ -43,15 +68,15 @@ <view class="list-left-item"> <view class="desc">鎵瑰彿锛�</view> <view class="left-item"> - <uni-tag :text="item.batch" type="warning"></uni-tag> + <uni-tag :text="item.model" type="warning"></uni-tag> </view> </view> - <view class="list-left-item"> + <!-- <view class="list-left-item"> <view class="desc">閲嶉噺锛�</view> <view class="left-item"> <uni-tag :text="item.weight" type="warning"></uni-tag> </view> - </view> + </view> --> <view class="list-left-item"> <view class="desc">鏁伴噺锛�</view> <view class="left-item">{{item.anfme}}</view> @@ -82,14 +107,14 @@ style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;"> </view> </view> - <!-- <view class="popup-item"> - <view class="popup-item-left">鎵瑰彿:</view> - <view class="popup-item-right"><input type="text" v-model="batch"></view> - </view> --> <view class="popup-item"> + <view class="popup-item-left">鎵瑰彿:</view> + <view class="popup-item-right"><input type="text" v-model="model"></view> + </view> + <!-- <view class="popup-item"> <view class="popup-item-left">閲嶉噺:</view> <view class="popup-item-right"><input type="text" v-model="weight"></view> - </view> + </view> --> <view class="popup-item"> <view class="popup-item-left">鏁伴噺:</view> <view class="popup-item-right" style="border: none;justify-content: center;"> @@ -141,11 +166,16 @@ baseUrl: '', token: '', barcode: '', + asBarcode: '', + barcode1: '', + barcode2: '', + barcode3: '', + barcode4: '', dataList: [], count: 0, rowNum: '', matnr: '', - batch: '', + model: '', weight: '', msgType1: 'success', msgType: 'success', @@ -153,6 +183,11 @@ title: '', content: '', barcodeFocus: true, + asBarcodeFocus: false, + barcode1Focus: false, + barcode2Focus: false, + barcode3Focus: false, + barcode4Focus: false, matFocus: false, matData: '', removeNum: 0, @@ -184,8 +219,44 @@ this.barcodeFocuss() return; } + this.asBarcodeFocuss() + }, 200) + }, + asBarcodeInput() { + this.asBarcode = this.asBarcode.replace(/\s+/g, '') + setTimeout(() => { + var len = this.asBarcode.length + if (this.checkCode(this.asBarcode)) { + // && this.asBarcode.length != 8 + + uni.showToast({ + title: 'AS400鏈夎璇烽噸璇�', + icon: "none", + position: 'top' + }); + this.asBarcodeFocuss() + return; + } this.focuss() }, 200) + }, + checkCode(code) { + // console.log(this.isNum(code.substring(0, 1))) + // console.log(!this.isNum(code.substring(1, 2))) + // console.log(code.length == 8,code.length) + let flag = true + if (code.substring(0, 2) == 'PM' ) { + flag = false + } else if ( + this.isNum(code.substring(0, 1)) + && !this.isNum(code.substring(1, 2)) + && code.length == 8 ) { + flag = false + } + return flag + }, + isNum(value) { + return typeof value === 'string' ? /^\d+$/.test(value) : typeof value === 'number' && !isNaN(value); }, // 鎵樼洏鐮佹湁璇噸缃� barcodeFocuss() { @@ -196,13 +267,47 @@ that.barcodeFocus = true; }, 100); }, + // 鎵樼洏鐮佹湁璇噸缃� + asBarcodeFocuss() { + let that = this; + that.asBarcodeFocus = false; + setTimeout(() => { + that.asBarcode = ''; + that.asBarcodeFocus = true; + }, 100); + }, // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆 focuss() { - this.focus = false; + this.matFocus = false; setTimeout(() => { this.matnr = ''; this.matFocus = true; - }, 100); + }, 200); + }, + codeInput(code) { + switch (code) { + case "barcode1": + this.barcode1Focus = false; + setTimeout(() => { + this.barcode2Focus = true; + }, 100); + break; + case "barcode2": + this.barcode2Focus = false; + setTimeout(() => { + this.barcode3Focus = true; + }, 100); + break; + case "barcode3": + this.barcode3Focus = false; + setTimeout(() => { + this.barcode4Focus = true; + }, 100); + break; + case "barcode4": + this.barcode4Focus = false; + break; + } }, // 鎼滅储鐗╂枡 findMat() { @@ -220,7 +325,6 @@ if (result.code === 200 && result.data) { that.matData = result.data that.matnr = '' - that.matData['batch'] = '' uni.navigateTo({ url: "../mat/matSelected", // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� @@ -237,9 +341,9 @@ }, }, }); - } else if (res.code == 403) { + } else if (result.code == 403) { uni.showToast({ - title: res.msg, + title: result.msg, icon: "none", position: 'top' }) @@ -250,7 +354,7 @@ }, 1000); } else { uni.showToast({ - title: res.msg, + title: result.msg, icon: "none", position: 'top' }) @@ -288,12 +392,12 @@ for (var i = 0; i < len; i++) { if (mat.matnr == this.dataList[i].matnr) { for (var j = 0; j < len; j++) { - if (mat.batch == this.dataList[j].batch) { + if (mat.model == this.dataList[j].model) { sameItem = true } } // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃 - if (mat.batch != this.dataList[i].batch) { + if (mat.model != this.dataList[i].model) { this.$forceUpdate() // 寮哄埗鍒锋柊 if (sameItem) { add = false @@ -317,7 +421,7 @@ revise(item, i) { this.matnr = this.dataList[i].matnr this.count = this.dataList[i].anfme - this.batch = this.dataList[i].batch + this.model = this.dataList[i].model this.weight = this.dataList[i].weight this.rowNum = i this.eject() @@ -346,7 +450,7 @@ }, reviseConfirm() { this.dataList[this.rowNum].anfme = this.count - this.dataList[this.rowNum].batch = this.batch + this.dataList[this.rowNum].model = this.model this.dataList[this.rowNum].weight = this.weight this.matnr = '' this.messageText = "淇敼鎴愬姛" @@ -376,6 +480,11 @@ this.messageToggle('error') return; } + if (that.asBarcode === '') { + this.messageText = "璇锋壂鎻廇S400鏉$爜" + this.messageToggle('error') + return; + } if (that.dataList.length === 0) { this.messageText = "璇锋坊鍔犲晢鍝佸垪琛�" this.messageToggle('error') @@ -392,7 +501,12 @@ url: that.baseUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, - combMats: that.dataList + asBarcode: that.asBarcode, + combMats: that.dataList, + code1: that.barcode1, + code2: that.barcode2, + code3: that.barcode3, + code4: that.barcode4 }), method: 'POST', header: { @@ -404,6 +518,9 @@ that.resst(); that.messageText = "缁勬墭鎴愬姛" that.messageToggle('success') + const innerAudioContext = uni.createInnerAudioContext(); + innerAudioContext.src = '/static/music/pakinOk.mp3'; + innerAudioContext.play() } else if (res.code == 403) { that.messageText = res.msg that.messageToggle('error') @@ -428,7 +545,13 @@ // 纭閲嶇疆 resetConfirm() { this.dataList = [] + this.asBarcode = '' + this.barcode1 = '' + this.barcode2 = '' + this.barcode3 = '' + this.barcode4 = '' this.messageText = "閲嶇疆瀹屾垚" + this.barcodeFocuss() this.messageToggle('success') }, // 鍙栨秷閲嶇疆 @@ -439,6 +562,11 @@ resst() { this.dataList = [] this.barcode = '' + this.asBarcode = '' + this.barcode1 = '' + this.barcode2 = '' + this.barcode3 = '' + this.barcode4 = '' this.barcodeFocuss() }, } @@ -450,33 +578,38 @@ .code { width: 100%; - position: fixed; + /* position: fixed; */ min-height: 200rpx; background-color: #FFF; - z-index: 10; + z-index: 99; } - + .list:first-child { + margin-top: 20rpx; + } .item { display: flex; align-items: center; - height: 100rpx; + height: 70rpx; margin-left: 20rpx; border-bottom: 1px solid #DCDFE6; + } + .item:last-child { + border: none; } .item input { height: 50rpx; line-height: 50rpx; /* font-family: PingFang SC; uniapp 榛樿瀛椾綋涓嶅眳涓� */ - font-size: 36upx; + font-size: 28upx; font-family: PingFang SC; width: 55vw; } .code-decs { - width: 20vw; - font-size: 18px; + /* width: 20vw; */ + font-size: 14px; color: #303133; } @@ -490,11 +623,11 @@ line-height: 80rpx; width: 100%; background-color: white; - position: fixed; - margin-top: 200rpx; + /* position: fixed; */ + /* margin-top: 500rpx; */ z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; - box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5); + box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2); } </style> -- Gitblit v1.9.1