From 7d599050816423de3b7d085600bdd688508a1d23 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 06 一月 2025 15:05:51 +0800 Subject: [PATCH] #平库入库单 --- pages/pakin/putOn.vue | 482 +++++++++++++++------------------------------------- pages/pakin/pakin.vue | 30 ++- static/css/wms.css/wms.css | 8 3 files changed, 166 insertions(+), 354 deletions(-) diff --git a/pages/pakin/pakin.vue b/pages/pakin/pakin.vue index 4c5a965..97f9cac 100644 --- a/pages/pakin/pakin.vue +++ b/pages/pakin/pakin.vue @@ -14,10 +14,10 @@ <text style="text-align: right;color: #409EFF;" @click="findMat()">鎻愬彇+</text> <uni-icons type="right" color="#c1c1c1"></uni-icons> </view> - </view> + </view> + <uni-section title="鍟嗗搧鍒楄〃" type="line" class="mat-list-title"></uni-section> </view> - <view class="mat-list-title"> - <div>鍟嗗搧鍒楄〃</div> + <view class="list-view"> <scroll-view> <view class="list" v-for="(item,i) in dataList" :key="i"> <view class="list-left"> @@ -403,17 +403,30 @@ </script> <style> - @import url('../../static/css/wms.css/wms.css'); + @import url('../../static/css/wms.css/wms.css'); + + .uni-section { + margin-top: 0rpx; + + .uni-section__content-title { + font-size: 16px !important; + } + } .list { border-radius: unset; margin: auto; margin-top: 20rpx; padding: 10rpx; + } + + .list-view { + width: 100%; + position: relative; } .list:first-child { - margin-top: 20rpx; + margin-top: 320rpx; } .code { width: 100%; @@ -457,11 +470,8 @@ line-height: 80rpx; width: 100%; background-color: white; - position: fixed; - margin-top: 200rpx; + position: relative; + font-weight: 500; z-index: 9; - /* border-top: 1px solid #DCDFE6; */ - text-align: center; - /* box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); */ } </style> diff --git a/pages/pakin/putOn.vue b/pages/pakin/putOn.vue index 40664e4..05309ac 100644 --- a/pages/pakin/putOn.vue +++ b/pages/pakin/putOn.vue @@ -8,131 +8,56 @@ </view> <view class="item"> <view class="code-decs">鎵樼洏鐮�:</view> - <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="matFocus"> + <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="matFocus" @input="fetchGoods"> <view class="item-right"> <button></button> </view> - </view> + </view> + <uni-section title="鍟嗗搧鍒楄〃" type="line" class="mat-list-title"></uni-section> + </view> + <view class="list-view"> + <scroll-view style="overflow: hidden;overflow-y: scroll;height: auto;"> + <view class="list" v-for="(item,i) in dataList" :key="i"> + <view class="list-left"> + <view class="list-left-item"> + <view class="desc">No锛�</view> + <view class="left-item">{{i + 1}}</view> + </view> + <view class="list-left-item"> + <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="left-item"> + <uni-tag :text="item.batch" type="warning"></uni-tag> + </view> + </view> + <view class="list-left-item"> + <view class="desc">鏁伴噺锛�</view> + <view class="left-item">{{item.anfme}}</view> + </view> + </view> + </view> + </scroll-view> </view> - <view class="mat-list-title"> - 鍟嗗搧鍒楄〃 - </view> - <scroll-view> - <view class="list" v-for="(item,i) in dataList" :key="i"> - <view class="list-left"> - <view class="list-left-item"> - <view class="desc">No锛�</view> - <view class="left-item">{{i + 1}}</view> - </view> - <view class="list-left-item"> - <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="left-item">{{item.maktx}}</view> - </view> - <view class="list-left-item"> - <view class="desc">瑙勬牸锛�</view> - <view class="left-item">{{item.specs}}</view> - </view> - <view class="list-left-item"> - <view class="desc">鎵瑰彿锛�</view> - <view class="left-item"> - <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> - </view> - </view> - <view class="list-right"> - <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> - <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons> - </view> - </view> - </scroll-view> <!-- 搴曢儴鎿嶄綔鎸夐挳 --> <view class="buttom"> - <button size="mini" @click="reset('warn')">閲嶇疆</button> - <button size="mini" type="primary" @click="combConfirm('warn')">涓婃灦</button> + <button size="middle" type="primary" @click="combConfirm('warn')">涓婃灦</button> </view> - <!-- 寮圭獥 --> - <!-- 淇敼鏁伴噺 --> - <view> - <uni-popup ref="revise" type="dialog"> - <view class="popup"> - <!-- 鏍囬 --> - <view class="title">淇敼</view> - <view class="popup-item"> - <view class="popup-item-left">鏂欏彿:</view> - <view class="popup-item-right"> - <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-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="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" :step='0.01' :max="9999999" color="#747474" @change="changeValue" /> - </view> - </view> - <view class="btn"> - <view class="btn-left" @click="reviseClose">鍙栨秷</view> - <view class="btn-right" @click="reviseConfirm()">淇敼</view> - </view> - </view> - </uni-popup> - </view> - <!-- 绉婚櫎纭 --> - <view> - <!-- 鎻愮ず绐楃ず渚� --> - <uni-popup ref="alertDialog" type="dialog"> - <uni-popup-dialog :type="msgType" confirmText="绉婚櫎" :title="title" :content="content" - @confirm="removeConfirm" @close="removeClose"></uni-popup-dialog> - </uni-popup> - </view> - <view> - <!-- 鎻愮ず淇℃伅寮圭獥 --> - <uni-popup ref="message" type="message"> - <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> - </uni-popup> - </view> - <!-- 纭缁勬墭 --> + <!-- 纭涓婃灦 --> <view> <uni-popup ref="combConfirm" type="dialog"> <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content" @confirm="comb" @close="combClose"></uni-popup-dialog> - </uni-popup> - </view> - <!-- 纭閲嶇疆 --> - <view> - <uni-popup ref="resetConfirm" type="dialog"> - <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content" - @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog> </uni-popup> </view> <view> @@ -176,153 +101,61 @@ this.baseUrl = uni.getStorageSync('baseUrl'); this.token = uni.getStorageSync('token'); }, - methods: { - messageToggle(type) { - this.msgType1 = type - this.$refs.message.open() + methods: { + fetchGoods() { + let that = this + setTimeout(() => { + if (that.barcode.length < 1) { + return + }else if (that.barcode.length != 8) { + this.messageToggle('error', '鎷栫洏鐮佷负8浣嶉殢鏈烘暟瀛楋紒锛�') + return + } + }, 500) + + this.getMatnrBybarcode() }, - // barcode input 浜嬩欢 - barcodeInput() { - // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏� - setTimeout(() => { - var len = this.barcode.length - this.focuss() - }, 200) - }, - // 鎵樼洏鐮佹湁璇噸缃� - 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(";") - that.order = matnr[0] - that.matnr = matnr[1] - uni.request({ - url: that.baseUrl + '/mat/auth', - data: { - matnr: that.matnr - }, - header: { - 'token': uni.getStorageSync('token') - }, - success(result) { - result = result.data - if (result.code === 200 && result.data) { - that.matData = result.data - that.matnr = '' - that.matData['batch'] = '' - result.data.batch = matnr[2] - uni.navigateTo({ - url: "../mat/matSelected", - // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� - success: function(res) { - res.eventChannel.emit('mat', { - data: result.data - }) - }, - // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� - events: { - matList: function(data) { - that.checkMat(data.data) - that.focuss() - }, - }, - }); - } else if (result.code == 403) { - uni.showToast({ - title: result.msg, - icon: "none", - position: 'top' - }) - setTimeout(() => { - uni.reLaunch({ - url: '../login/login' - }); - }, 1000); - } else { - uni.showToast({ - title: result.msg, - icon: "none", - position: 'top' - }) - } + + /** + * 鏍规嵁鎷栫洏鐮佹媺鍙栧凡缁勬嫋鏁版嵁 + */ + getMatnrBybarcode() { + let that = this + uni.request({ + url: that.baseUrl + '/pda/barcode/matnr/' + that.barcode, + header: { + 'token': uni.getStorageSync('token') + }, + success(response) { + let result = response.data; + if (result.code === 200) { + that.dataList = result.data + } + console.log(result) + } + }) + }, - } - }); + combConfirm(type) { + if (this.locno.trim() == undefined || this.locno.trim() == '') { + this.messageToggle('error', '涓婃灦搴撲綅涓嶈兘涓虹┖锛侊紒') + return + } + if (this.barcode.trim() == undefined || this.barcode.trim() == '') { + this.messageToggle('error', '鎷栫洏鐮佷笉鑳戒负绌猴紒锛�') + return + } + this.dialogToggle(type, '纭', '鏄惁涓婃灦缁勬嫋鐗╂枡') + }, - }, - 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.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 - } else { - add = true - } - - } else { - // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞 - this.dataList[i].anfme += mat.anfme - this.$forceUpdate() // 寮哄埗鍒锋柊 - add = false - } - } - } - - } - if (add) { - this.dataList.unshift(mat) - } - }, - combConfirm(type) { - this.msgType = type - this.title = '璀﹀憡' - this.content = '鏄惁鐜板湪涓婃灦!' - this.$refs.combConfirm.open() - }, comb() { uni.vibrateShort(); let that = this; - if (that.barcode === '') { - this.messageText = "璇锋壂鎻忔墭鐩樻潯鐮�" - this.messageToggle('error') - return; - } - uni.request({ - url: that.baseUrl + '/mobile/manDetl/in/barcode', + url: that.baseUrl + '/pda/matnr/in/barcode', data: JSON.stringify({ - locNo: that.locno, - barcode: that.barcode + loc: that.locno.trim(), + barcode: that.barcode.trim() }), method: 'POST', header: { @@ -331,9 +164,8 @@ success(result) { var res = result.data if (res.code === 200) { - that.resst(); - that.messageText = "涓婃灦鎴愬姛" - that.messageToggle('success') + that.resst(); + that.messageToggle('success', '涓婃灦鎴愬姛锛侊紒') } else if (res.code == 403) { that.messageText = res.msg that.messageToggle('error') @@ -349,103 +181,74 @@ } }); }, - 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.locno = '' - this.barcode = '' - this.barcodeFocuss() - }, + combClose() { this.$refs.combConfirm.close() - }, - // 鍙栨秷绉婚櫎 - removeClose() { - this.$refs.alertDialog.close() + }, + + resst() { + this.barcode = '' + this.locno = '' + }, + + //dialog寮规淇℃伅 + dialogToggle(type,title, msg) { + this.msgType = type + this.title = title + this.content = msg + this.$refs.combConfirm.open() + }, + + //娑堟伅寮规 + messageToggle(type, msg) { + this.msgType1 = type + if (msg != undefined || msg != null) { + this.messageText = msg + } + this.$refs.message.open() }, } } </script> <style> - @import url('../../static/css/wms.css/wms.css'); + @import url('../../static/css/wms.css/wms.css'); + + .uni-section { + margin-top: 0rpx; + + .uni-section__content-title { + font-size: 16px !important; + } + } + + .buttom uni-button { + width: 60%; + } + + .list-view { + width: 100%; + position: relative; + } + .list { display: flex; min-height: 80rpx; background-color: #FFF; - margin: auto 20rpx; + margin: 20rpx; border-radius: 20rpx; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.2); } .list:first-child { - margin-top: 410rpx; + margin-top: 300rpx; } .list:last-child { margin-bottom: 120rpx; } .code { - width: 100%; - position: fixed; + width: 100%; + position: fixed; + background: white; min-height: 200rpx; background-color: #FFF; z-index: 10; @@ -480,15 +283,12 @@ } .mat-list-title { - height: 80rpx; - line-height: 80rpx; - width: 100%; - background-color: white; + height: 80rpx; position: fixed; - margin-top: 200rpx; - z-index: 9; - /* border-top: 1px solid #DCDFE6; */ - text-align: center; - box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5); + line-height: 80rpx; + font-size: 24px; + width: 100%; + background: white; + font-weight: 500; } </style> \ No newline at end of file diff --git a/static/css/wms.css/wms.css b/static/css/wms.css/wms.css index 9844437..ced2def 100644 --- a/static/css/wms.css/wms.css +++ b/static/css/wms.css/wms.css @@ -10,13 +10,15 @@ margin-top: 420rpx; } .list:last-child { - margin-bottom: 40rpx; + margin-bottom: 140rpx; } .list-left { display: flex; - flex-direction: column; + flex-direction: column; + margin: 20rpx; margin-left: 20rpx; - width: 80vw; + width: 80vw; + padding: 10rpx; } .list-left-item { min-height: 40rpx; -- Gitblit v1.9.1