From 004b81ef2b3132f89685932508101d2f7c0027e1 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 28 十月 2024 15:06:40 +0800 Subject: [PATCH] # --- pages.json | 9 + pages/order/orderDetlListLoc.vue | 47 ++++++ pages/pakin/pakin.vue | 4 pages/order/zlOrderPakin.vue | 4 pages/pakin/WarehouseOutParallelBoard.vue | 167 ++++++----------------- pages/order/pickOrderList2.vue | 153 +++++++++++++++++++++ 6 files changed, 258 insertions(+), 126 deletions(-) diff --git a/pages.json b/pages.json index f5b0de6..49aeec6 100644 --- a/pages.json +++ b/pages.json @@ -359,6 +359,15 @@ } } + ,{ + "path" : "pages/order/pickOrderList2", + "style" : + { + "navigationBarTitleText": "鍏宠仈璁㈠崟", + "enablePullDownRefresh": false + } + + } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/order/orderDetlListLoc.vue b/pages/order/orderDetlListLoc.vue index dcaea43..a548bba 100644 --- a/pages/order/orderDetlListLoc.vue +++ b/pages/order/orderDetlListLoc.vue @@ -1,5 +1,19 @@ <template> <view> + <view class="code"> + <view style="display: flex;align-items: center;"> + <view style="flex: 1;"> + <uni-search-bar v-model="searchValue" + maxlength="500" ancel="cancel" @confirm="getOrderNoList(locNo)" @clear="clear" placeholder="杈撳叆 / 鎵弿"> + </uni-search-bar> + </view> + + </view> + <view class="code-title"> + <view></view> + <view style="width: 100%;text-align: center;margin: 16rpx 0;">鎬绘暟閲忥細- {{menuList.length}} -</view> + </view> + </view> <view class="card" v-for="item in menuList" @click="chose(item)"> <view class="item">搴撲綅鍙凤細{{item.locNo}}</view> <view class="item">鐗╂枡缂栫爜锛歿{item.matnr}}</view> @@ -7,6 +21,7 @@ <!-- <view class="item">鎵�  娆★細{{item.batch}}</view> --> <view class="item">鏄庣粏鏁伴噺锛歿{item.anfme}}</view> </view> + <view style="height: 50rpx;"></view> </view> </template> @@ -17,7 +32,8 @@ baseUrl: '', token: '', menuList: [], - orderNo: '' + orderNo: '', + searchValue: '' } }, onLoad() { @@ -37,15 +53,33 @@ }, methods: { + clear() { + this.searchValue = '' + this.getOrderNoList(this.locNo) + }, getOrderNoList(locNo) { let that = this uni.request({ url: this.baseUrl + '/locDetl/forlocNo/auth/v1', - data: { locNo: that.locNo }, + data: { locNo: that.locNo, matnr: that.searchValue }, header: { 'token': uni.getStorageSync('token') }, success(res) { res = res.data - that.menuList = res.data + that.menuList = [] + if (res.code == 200) { + that.menuList = res.data + // uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } }) }, @@ -75,6 +109,13 @@ </script> <style> + .code { + background-color: #d9d9d9; + z-index: 99; + position: sticky; + top: 0rpx; + left: 0; + } .card { margin: 20rpx; padding: 30rpx; diff --git a/pages/order/pickOrderList2.vue b/pages/order/pickOrderList2.vue new file mode 100644 index 0000000..17d9547 --- /dev/null +++ b/pages/order/pickOrderList2.vue @@ -0,0 +1,153 @@ +<template> + <view> + <view class="code"> + <view style="display: flex;align-items: center;"> + <view style="width: 70rpx;padding-left: 20rpx;">{{searchType}}</view> + <view style="flex: 1;margin-left: -8rpx;"> + <uni-search-bar v-model="searchValue" + maxlength="500" ancel="cancel" @confirm="getMatList()" @clear="clear" placeholder="杈撳叆 / 鎵弿"> + </uni-search-bar> + </view> + + </view> + <view class="code-title"> + <view></view> + <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue}} 鎬绘暟閲忥細- {{total}} -</view> + </view> + </view> + + <view class="order__list" v-for="(orderDetl,index) in dataList" :key="index"> + <view class="order__list__left"> + <view>No锛歿{index + 1}}</view> + <view>璁㈠崟鍙凤細{{orderDetl.orderNo}}</view> + <view>鏂欏彿锛歿{orderDetl.matnr}}</view> + <view>鎵瑰彿锛歿{orderDetl.batch}}</view> + <view>鍙敤鏁伴噺锛歿{orderDetl.count}}</view> + </view> + <view class="order__list__right" @click="addItem(orderDetl)"> + <uni-icons type="folder-add" size="25" color="#fff"></uni-icons> + </view> + </view> + <view style="height: 100rpx;width: 100%;text-align: center;line-height: 100rpx;">- 宸茬粡鍒板簳浜� -</view> + </view> +</template> + +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + storeId: 0, + store: '', + total: 0, + searchType: '璁㈠崟', + searchValue: '', + dataList: [], + selectedList: [], + matnr: '' + } + }, + onShow() { + let _this = this + this.baseUrl = uni.getStorageSync('baseUrl'); + this.token = uni.getStorageSync('token'); + this.storeId = uni.getStorageSync('store') + if (this.storeId == 1) { + this.store = '瀹佹尝浠�' + } + if (this.storeId == 2) { + this.store = '鏂版槍浠�' + } + const eventChannel = this.getOpenerEventChannel(); + eventChannel.on('item', function(data) { + _this.matnr = data.item.matnr + }) + this.getMatList() + }, + methods: { + back() { uni.navigateBack({}) }, + set(e) { + var ck = this.dataList[e].checked + this.dataList[e].checked = ck ? false : true + }, + getMatList() { + let that = this + let searchParam = { + orderNo: that.searchValue, + matnr: that.matnr, + } + console.log(searchParam); + uni.request({ + url: that.baseUrl + '/mobile/outBound/mat/list', + header: { + 'token': uni.getStorageSync('token') + }, + data: searchParam, + method: 'GET', + success(res) { + res = res.data; + if (res.code === 200) { + that.total = res.data.length + const result1 = res.data.filter(obj1 => + !that.selectedList.some(obj2 => obj1.matnr === obj2.matnr && obj1.orderNo === obj2.orderNo) + ); + that.dataList = result1 + that.total = result1.length + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'center' }) + setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'center' }) + } + } + }) + + }, + addItem(mat) { + this.getOpenerEventChannel().emit('sMat', {data: mat}); + uni.navigateBack({ + + }) + } + } + } +</script> + +<style> + @import url('../../static/css/wms.css/wms.css'); + .code { + background-color: #d9d9d9; + z-index: 99; + position: sticky; + top: 0rpx; + left: 0; + } + .code-title { + display: flex; + } + .order__list { + margin: 20rpx; + font-size: 14px; + background-color: #fff; + border-radius: 20rpx; + border: 1px solid #eeeeee; + display: flex; + position: relative; + background-color: #3eb689; + color: #FFF; + } + .order__list__left { + flex: 1; + padding: 20rpx; + position: relative; + } + .order__list__right { + width: 70rpx; + border-left: 1px solid #eeeeee; + display: flex; + align-items: center; + justify-content: center; + } +</style> + diff --git a/pages/order/zlOrderPakin.vue b/pages/order/zlOrderPakin.vue index fb24c9a..eb010d0 100644 --- a/pages/order/zlOrderPakin.vue +++ b/pages/order/zlOrderPakin.vue @@ -196,8 +196,8 @@ bomCode: '', bomCodeFocus: true, maxAn: 0, - ck1: true, - ck2: false, + ck1: false, + ck2: true, fullPlt: 'N', decrees_a: { locNo: '', diff --git a/pages/pakin/WarehouseOutParallelBoard.vue b/pages/pakin/WarehouseOutParallelBoard.vue index be22bab..3e20c0f 100644 --- a/pages/pakin/WarehouseOutParallelBoard.vue +++ b/pages/pakin/WarehouseOutParallelBoard.vue @@ -2,71 +2,43 @@ <view> <view class="code"> <view class="item"> - <view class="item" style="width: 50%;"> - <view class="code-decs" style="width: 100%;">搴撲綅鍙�:{{item.locNo}}</view> + <view class="item" style="width: 100%;"> + <view class="code-decs" style="width: 50%;">搴撲綅鍙�: {{item.locNo}}</view> + <view class="code-decs" style="width: 50%;">搴撳瓨鍙嚭鏁伴噺: {{item.anfme}}</view> </view> </view> <view class="item"> <view class="item" style="width: 90%;"> - <view class="code-decs" style="width: 100%;">鐗╂枡:{{item.matnr}}</view> + <view class="code-decs" style="width: 70%;">鐗╂枡: {{item.matnr}}</view> + <button size="mini" type="primary" @click="getOrder">鍑哄簱璁㈠崟</button> </view> - </view> - <view class="item"> - <view class="code-decs">璁㈠崟鍙�:</view> - <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="orderNo" :focus="barcodeFocus" - @input="barcodeInput()"> </view> </view> <view class="mat-list-title"> <view style="width: 200rpx;"></view> - <view style="-webkit-flex: 1;flex: 1;">鍟嗗搧鍒楄〃</view> + <view style="-webkit-flex: 1;flex: 1;">鍑哄簱璁㈠崟</view> <view style="width: 200rpx;"></view> </view> <scroll-view> <checkbox-group class="list" v-for="(item,i) in dataList" :key="i" @change="checkboxChange"> - <!-- <view class="aside"> - <checkbox :value="item.matnr" :checked="item.checked" @click="set(i)"/> - </view> --> <view class="list-left" style="margin: 0;"> <view class="list-left-item"> - <view class="desc">No锛�</view> - <view class="left-item">{{i + 1}}</view> + <view class="desc">No锛歿{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 class="desc">璁㈠崟鍙凤細{{item.orderNo}}</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 class="desc">鏂欏彿锛歿{item.matnr}}</view> </view> <view class="list-left-item"> - <view class="desc">鍚嶇О锛�</view> - <view class="left-item">{{item.maktx}}</view> + <view class="desc">鎵瑰彿锛歿{item.batch}}</view> </view> <view class="list-left-item"> - <view class="desc">瑙勬牸锛�</view> - <view class="left-item">{{item.specs}}</view> + <view class="desc">鍙敤鏁伴噺锛歿{item.count}}</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 class="list-left-item" > + <view class="desc">鏁伴噺锛歿{item.anfme}}</view> </view> </view> <view class="list-right"> @@ -105,7 +77,7 @@ <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" + <uni-number-box :value="count" :step='1' :max="mastCount" color="#747474" @change="changeValue" /> </view> </view> @@ -182,7 +154,9 @@ orderNoList: [], orderNo: '', item:'', - locNo:'' + locNo:'', + mastCount: '', + mastAnfme: 0 } }, onLoad() { @@ -190,7 +164,7 @@ // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE const eventChannel = this.getOpenerEventChannel(); eventChannel.on('item', function(data) { - // console.log(data.item); + that.mastAnfme = data.item.anfme that.item = data.item }) @@ -201,6 +175,23 @@ this.getOrderNoList() }, methods: { + getOrder() { + let _this = this + uni.navigateTo({ + url: '../order/pickOrderList2', + success(res) { + res.eventChannel.emit('item', { + item: _this.item + }) + }, + events: { + sMat: function(data) { + data.data['anfme'] = data.data.useCount + _this.dataList.push(data.data) + } + } + }) + }, set(e) { var ck = this.dataList[e].checked this.dataList[e].checked = ck ? false:true @@ -312,66 +303,6 @@ 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' - }) - } - - } - }); - - }, checkMat(mat) { mat['orderNo'] = this.order var len = this.dataList.length @@ -420,28 +351,25 @@ comb() { uni.vibrateShort(); let that = this; - if (that.orderNo === '') { - this.messageText = "璇疯緭鍏ヨ鍗曞彿" - this.messageToggle('error') - return; - } if (that.dataList.length === 0) { this.messageText = "璇锋坊鍔犲崟鎹槑缁嗗垪琛�" this.messageToggle('error') return; } - for (var i = 0; i < that.dataList.length; i++) { - if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') { - this.messageText = that.dataList[i].matnr + '鎷i�夋暟閲忎笉鑳戒负0' - this.messageToggle('error') - return; - } + var useAnfme = 0 + for (let order of that.dataList) { + useAnfme = useAnfme + order.anfme + } + + if (useAnfme > that.mastAnfme) { + this.messageText = "鍑哄簱鏁伴噺宸茶秴鏈�澶у簱瀛樻暟閲�" + this.messageToggle('error') + return; } uni.request({ url: that.baseUrl + '/mobile/pda/WarehouseOut/v1', data: JSON.stringify({ locno: that.item.locNo, - orderNo: that.dataList[0].orderNo, combMats: that.dataList }), method: 'POST', @@ -495,6 +423,7 @@ this.batch = this.dataList[i].batch this.weight = this.dataList[i].weight this.rowNum = i + this.mastCount = this.dataList[i].anfme this.eject() }, eject(type) { @@ -560,7 +489,7 @@ } .list:first-child { - margin-top: 360rpx; + margin-top: 260rpx; } .list:last-child { @@ -578,7 +507,7 @@ .code { width: 100%; position: fixed; - min-height: 200rpx; + min-height: 140rpx; background-color: #FFF; z-index: 10; } @@ -619,7 +548,7 @@ width: 100%; background-color: white; position: fixed; - margin-top: 200rpx; + margin-top: 140rpx; z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; diff --git a/pages/pakin/pakin.vue b/pages/pakin/pakin.vue index 1996acb..89bde36 100644 --- a/pages/pakin/pakin.vue +++ b/pages/pakin/pakin.vue @@ -189,8 +189,8 @@ matFocus: false, matData: '', removeNum: 0, - ck1: true, - ck2: false, + ck1: false, + ck2: true, fullPlt: 'N', } }, -- Gitblit v1.9.1