From fdfc2c66434bdacdd539f228b51a33c8d15e71d5 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期六, 20 四月 2024 12:32:15 +0800 Subject: [PATCH] # --- pages/order/orderPutOn.vue | 269 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 191 insertions(+), 78 deletions(-) diff --git a/pages/order/orderPutOn.vue b/pages/order/orderPutOn.vue index cfb15ff..0f36504 100644 --- a/pages/order/orderPutOn.vue +++ b/pages/order/orderPutOn.vue @@ -2,23 +2,16 @@ <view> <view class="code"> <view class="item"> - <view class="code-decs">璁㈠崟鍙�:</view> - <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="order" :focus="orderFocus" - @input="orderInput()" disabled> - </view> - <view class="item"> - <view class="code-decs">搴撲綅鍙�:</view> - <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus" - @confirm="barcodeInput()"> - </view> - <view class="item"> - <view class="code-decs">鐗╂枡鐮�:</view> + <view class="code-decs">鐗╂枡鍙�:</view> <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="matnr" :focus="matFocus" @input="findMat()"> <view class="item-right"> <button></button> - <!-- <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="barcode" :focus="barcodeFocus"> + <button v-show="recommendLocs.length" size="mini" type="primary" @click="toggle('right')">鎺ㄨ崘</button> </view> </view> <view class="mat-list-title"> @@ -32,13 +25,19 @@ <view class="left-item">{{i + 1}}</view> </view> <view class="list-left-item"> - <view class="desc">缂栫爜锛�</view> + <view class="desc">璁㈠崟鍙凤細</view> + <view class="left-item"> + <uni-tag :text="item.orderNo" type="primary"></uni-tag> + </view> + </view> + <view class="list-left-item"> + <view class="desc">鏂欏彿锛�</view> <view class="left-item"> <uni-tag :text="item.matnr" type="primary"></uni-tag> </view> </view> <view class="list-left-item"> - <view class="desc">鍝佸悕锛�</view> + <view class="desc">鍚嶇О锛�</view> <view class="left-item">{{item.maktx}}</view> </view> <view class="list-left-item"> @@ -51,6 +50,12 @@ <uni-tag :text="item.batch" type="warning"></uni-tag> </view> </view> + <!-- <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 class="list-left-item"> <view class="desc">鏁伴噺锛�</view> <view class="left-item">{{item.anfme}}</view> @@ -65,7 +70,7 @@ <!-- 搴曢儴鎿嶄綔鎸夐挳 --> <view class="buttom"> <button size="mini" @click="reset('warn')">閲嶇疆</button> - <button size="mini" type="primary" @click="combConfirm('warn')">缁勬墭</button> + <button size="mini" type="primary" @click="combConfirm('warn')">涓婃灦</button> </view> <!-- 寮圭獥 --> <!-- 淇敼鏁伴噺 --> @@ -75,20 +80,24 @@ <!-- 鏍囬 --> <view class="title">淇敼</view> <view class="popup-item"> - <view class="popup-item-left">缂栫爜:</view> + <view class="popup-item-left">鏂欏彿:</view> <view class="popup-item-right"> - <input type="text" v-model="matnr" disabled="true" + <input type="text" v-model="matnr1" disabled="true" style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;"> </view> </view> - <view class="popup-item"> - <view class="popup-item-left">鍚堝悓鍙�:</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> --> + <!-- <view class="popup-item"> + <view class="popup-item-left">閲嶉噺:</view> + <view class="popup-item-right"><input type="text" v-model="weight"></view> + </view> --> <view class="popup-item"> <view class="popup-item-left">鏁伴噺:</view> <view class="popup-item-right" style="border: none;justify-content: center;"> - <uni-number-box :value="count" :max="9999999" color="#747474" @change="changeValue" /> + <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" /> </view> </view> <view class="btn"> @@ -132,6 +141,14 @@ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> </uni-popup> </view> + <view> + <!-- 鏅�氬脊绐� --> + <uni-popup ref="popup" background-color="#fff"> + <scroll-view scroll-y="true" class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> + <view class="recommend" v-for="item in recommendLocs" @click="chose(item)"> {{ item }}</view> + </scroll-view> + </uni-popup> + </view> </view> </template> @@ -142,22 +159,26 @@ baseUrl: '', token: '', order: '', - orderFocus: true, barcode: '', barcodeFocus: '', dataList: [], count: 0, rowNum: '', matnr: '', + matnr1: '', batch: '', + weight: '', msgType1: 'success', msgType: 'success', messageText: '', title: '', content: '', barcodeFocus: false, - matFocus: false, - matData: '' + matFocus: true, + matData: '', + removeNum: 0, + type: 'center', + recommendLocs: [] } }, onShow() { @@ -169,42 +190,34 @@ this.msgType1 = type this.$refs.message.open() }, - orderInput() { - let that = this - var order = that.order.split(";") - that.order = order[0] - that.matnr = order[1] + // barcode input 浜嬩欢 + barcodeInput() { + // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏� setTimeout(() => { - that.orderFocus = true + var len = this.barcode.length + this.focuss() }, 200) - uni.request({ - url: that.baseUrl + '/ManPakOut/list/auth', - data: { - matnr: that.matnr - }, - header: { - 'token': uni.getStorageSync('token') - }, - success(res) { - console.log(res); - } - }) + }, + // 鎵樼洏鐮佹湁璇噸缃� + barcodeFocuss() { + let that = this; + that.barcodeFocus = false; + setTimeout(() => { + that.barcode = ''; + that.barcodeFocus = true; + }, 100); + }, + // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆 + focuss() { + setTimeout(() => { + this.matnr = ''; + this.matFocus = true; + }, 100); }, // 鎼滅储鐗╂枡 findMat() { let that = this var matnr = that.matnr.split(";") - if (that.order != '') { - if (that.order != matnr[0]) { - this.messageText = "褰撳墠鐗╂枡涓嶅湪璁㈠崟鍐咃紝璇烽噸鏂伴�夋嫨锛侊紒" - this.messageToggle('error') - setTimeout(()=> { - that.matnr = '' - that.matFocus = true - },1000) - return - } - } that.order = matnr[0] that.matnr = matnr[1] uni.request({ @@ -221,6 +234,7 @@ that.matData = result.data that.matnr = '' that.matData['batch'] = '' + result.data.batch = matnr[2] uni.navigateTo({ url: "../mat/matSelected", // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� @@ -232,13 +246,15 @@ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� events: { matList: function(data) { + that.recommendLoc() that.checkMat(data.data) + that.focuss() }, }, }); - } else if (res.code == 403) { + } else if (result.code == 403) { uni.showToast({ - title: res.msg, + title: result.msg, icon: "none", position: 'top' }) @@ -249,7 +265,7 @@ }, 1000); } else { uni.showToast({ - title: res.msg, + title: result.msg, icon: "none", position: 'top' }) @@ -259,38 +275,62 @@ }); }, + // 鎺ㄨ崘搴撲綅 + recommendLoc() { + let that = this + that.recommendLocs = [] + uni.request({ + url: that.baseUrl + '/node/recommendLoc', + data: {matnr: that.matnr}, + header: {'token': uni.getStorageSync('token')}, + success(res) { + res = res.data + if (res.code == 200 && res.data) { + that.recommendLocs = res.data + } + } + + }) + }, checkMat(mat) { + mat['orderNo'] = this.order var len = this.dataList.length var add = true ,sameItem = false 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) { - sameItem = true + if (mat.orderNo != this.dataList[i].orderNo) { + add = true + break; + } else { + if (mat.matnr == this.dataList[i].matnr) { + for (var j = 0; j < len; j++) { + if (mat.batch == this.dataList[j].batch) { + sameItem = true + } } - } - // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃 - if (mat.batch != this.dataList[i].batch) { - this.$forceUpdate() // 寮哄埗鍒锋柊 - if (sameItem) { - add = false + // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃 + if (mat.batch != this.dataList[i].batch) { + this.$forceUpdate() // 寮哄埗鍒锋柊 + if (sameItem) { + add = false + } else { + add = true + } + } else { - add = true + // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞 + this.dataList[i].anfme += mat.anfme + this.$forceUpdate() // 寮哄埗鍒锋柊 + add = false } - - } else { - // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞 - this.dataList[i].anfme += mat.anfme - this.$forceUpdate() // 寮哄埗鍒锋柊 - add = false } } + } if (add) { this.dataList.unshift(mat) } }, - combConfirm() { + combConfirm(type) { this.msgType = type this.title = '璀﹀憡' this.content = '鏄惁鐜板湪缁勬墭!' @@ -317,9 +357,9 @@ } } uni.request({ - url: that.baseUrl + '/mobile/comb/auth', + url: that.baseUrl + '/mobile/manDetl/in', data: JSON.stringify({ - barcode: that.barcode, + locNo: that.barcode, combMats: that.dataList }), method: 'POST', @@ -346,6 +386,79 @@ } } }); + }, + reset(type) { + this.msgType = type + this.title = '璀﹀憡' + this.content = '鏄惁閲嶇疆!' + this.$refs.resetConfirm.open() + }, + // 纭閲嶇疆 + resetConfirm() { + this.dataList = [] + this.order = '' + this.barcode = '' + this.messageText = "閲嶇疆瀹屾垚" + this.messageToggle('success') + }, + // 鍙栨秷閲嶇疆 + resetClose() { + + }, + // 淇敼鎵瑰彿 + revise(item, i) { + this.matnr1 = this.dataList[i].matnr + this.count = this.dataList[i].anfme + this.batch = this.dataList[i].batch + this.weight = this.dataList[i].weight + this.rowNum = i + this.eject() + }, + eject(type) { + this.type = type + this.$refs.revise.open(type) + }, + // 鍒楄〃绉婚櫎鎸夐挳 + remove(item, i, type) { + this.removeNum = i + this.msgType = type + this.title = '璀﹀憡' + this.content = '鏄惁绉婚櫎褰撳墠鍟嗗搧!' + this.$refs.alertDialog.open(i) + }, + // 纭绉婚櫎 + removeConfirm(i) { + this.messageText = "绉婚櫎鎴愬姛" + this.messageToggle('success') + this.dataList.splice(this.removeNum, 1) + }, + reviseConfirm() { + this.dataList[this.rowNum].anfme = this.count + this.dataList[this.rowNum].batch = this.batch + this.dataList[this.rowNum].weight = this.weight + this.messageText = "淇敼鎴愬姛" + this.messageToggle('success') + this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 + }, + reviseClose() { + this.$refs.revise.close() + }, + changeValue(value) { + this.count = value + }, + // 娓呯┖ + resst() { + this.dataList = [] + this.barcode = '' + this.barcodeFocuss() + }, + combClose() { + this.$refs.combConfirm.close() + }, + // 鍙栨秷绉婚櫎 + removeClose() { + this.$refs.alertDialog.close() }, } } @@ -409,7 +522,7 @@ width: 100%; background-color: white; position: fixed; - margin-top: 300rpx; + margin-top: 200rpx; z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; -- Gitblit v1.9.1