From cc32dc8d26f71497ce7f7e43930ec03035e6fe90 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 20 十一月 2024 14:23:14 +0800 Subject: [PATCH] # --- pages/order/orderComb.vue | 87 ++++++------- pages.json | 9 + pages/order/orderSelect.vue | 248 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 298 insertions(+), 46 deletions(-) diff --git a/pages.json b/pages.json index 853f6cf..ca2ab5c 100644 --- a/pages.json +++ b/pages.json @@ -388,6 +388,15 @@ } } + ,{ + "path" : "pages/order/orderSelect", + "style" : + { + "navigationBarTitleText": "閫夋嫨璁㈠崟", + "enablePullDownRefresh": false + } + + } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/order/orderComb.vue b/pages/order/orderComb.vue index af177b6..0668df0 100644 --- a/pages/order/orderComb.vue +++ b/pages/order/orderComb.vue @@ -20,10 +20,10 @@ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus" @input="barcodeInput()"> </view> - <view class="item"> + <!-- <view class="item"> <view class="code-decs">璁㈠崟鍙�:</view> <uni-combox :candidates="orderNoList" placeholder="璇烽�夋嫨璁㈠崟" v-model="orderNo" @input="getOrderDet"></uni-combox> - </view> + </view> --> </view> <view class="mat-list-title"> <view style="width: 200rpx;"></view> @@ -32,49 +32,21 @@ </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> - <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"> @@ -113,7 +85,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='1' :max="9999999" color="#747474" + <uni-number-box :value="count" :step='1' :max="maxCount" color="#747474" @change="changeValue" /> </view> </view> @@ -191,6 +163,7 @@ removeNum: 0, orderNoList: [], orderNo: '', + maxCount: 0 } }, onShow() { @@ -212,14 +185,35 @@ this.dataList[e].checked = ck ? false:true }, getChecked() { - var checkedList = [] - for(var i = 0; i < this.dataList.length; i++) { - var t = !this.dataList[i].checked - if (this.dataList[i].checked) { - checkedList.push(this.dataList[i]) + let _this = this + uni.navigateTo({ + url: './orderSelect', + success(res) { + res.eventChannel.emit('matList', { + matList: _this.dataList + }) + }, + events: { + pickList: function(data) { + for (let k of data.data) { + let add = true + if (_this.dataList.length == 0) { + _this.dataList.push(k) + continue + } + for (let m of _this.dataList) { + if (k.matnr == m.matnr && k.orderNo == k.orderNo) { + add = false + } + } + if (add) { + k['maxCount'] = k.anfme + _this.dataList.push(k) + } + } + } } - } - this.dataList = checkedList + }) }, getOrderDet() { let that = this @@ -459,6 +453,7 @@ this.count = this.dataList[i].anfme this.batch = this.dataList[i].batch this.weight = this.dataList[i].weight + this.maxCount = this.dataList[i].maxCount this.rowNum = i this.eject() }, @@ -542,7 +537,7 @@ .code { width: 100%; position: fixed; - min-height: 200rpx; + min-height: 100rpx; background-color: #FFF; z-index: 10; } @@ -583,7 +578,7 @@ width: 100%; background-color: white; position: fixed; - margin-top: 200rpx; + margin-top: 100rpx; z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; diff --git a/pages/order/orderSelect.vue b/pages/order/orderSelect.vue new file mode 100644 index 0000000..6fa2fbe --- /dev/null +++ b/pages/order/orderSelect.vue @@ -0,0 +1,248 @@ +<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;background-color: white;padding: 4px;margin: 4px;border-radius: 4px;"> + <!-- <uni-search-bar v-model="searchValue" + maxlength="500" ancel="cancel" @confirm="getMatList()" @clear="clear" placeholder="杈撳叆 / 鎵弿"> + </uni-search-bar> --> + <uni-combox :candidates="orderNoList" placeholder="璇烽�夋嫨璁㈠崟" v-model="orderNo" @input="getOrderDet"></uni-combox> + </view> + </view> + <view class="code-title"> + <view style="flex: 1;"></view> + <view style="width: 100%;text-align: center;margin: 16rpx 0;flex: 1;">{{searchValue}} 鎬绘暟閲忥細- {{dataList.length}} -</view> + <view style="flex: 1;display: flex;align-items: center;"><button size="mini" type="primary" @click="allSelect()">{{seltitle}}</button></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.enableQty}}</view> + </view> + <view class="order__list__right"> + <!-- <uni-icons type="folder-add" size="25" color="#fff"></uni-icons> --> + <label @click="checkboxChange(orderDetl)"> + <checkbox :value="orderDetl.matnr" :checked="orderDetl.checked" style="transform:scale(0.7)" /><text></text> + </label> + </view> + </view> + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <view class="buttom"> + <button size="mini" type="primary" @click="addItems()">鎻愬彇</button> + </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: '', + orderNo: '', + orderNoList: [], + seltitle: '鍏ㄩ��' + } + }, + 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() + }) + this.getOrderNoList() + }, + methods: { + addItems() { + let pickList = [] + for (let k of this.dataList) { + if (k.checked) { + pickList.push(k) + } + } + this.getOpenerEventChannel().emit('pickList', {data: pickList}); + uni.navigateBack({ + + }) + }, + checkboxChange(e) { + let items = this.dataList, + values = e.matnr; + if (e.checked) { + this.$set(e,'checked',false) + } else { + this.$set(e,'checked',true) + } + var count = 0 + for (let k of items) { + if (k.checked) { + count++ + } + } + if (count == items.length && count > 0) { + this.seltitle = '鍙栨秷鍏ㄩ��' + } else { + this.seltitle = '鍏ㄩ��' + } + }, + allSelect() { + if (this.seltitle == '鍏ㄩ��') { + for (let k of this.dataList) { + k.checked = true + } + this.seltitle = '鍙栨秷鍏ㄩ��' + } else { + for (let k of this.dataList) { + k.checked = false + } + this.seltitle = '鍏ㄩ��' + } + + }, + getOrderDet() { + let that = this + uni.request({ + url: that.baseUrl + '/order/list/orderNo', + data: {orderNo: that.orderNo} , + method: 'GET', + success(res) { + res = res.data; + if (res.code === 200) { + that.dataList = res.data + for (var i = 0; i < that.dataList.length; i++) { + that.$set(that.dataList[i],'checked',false) + } + } + } + }) + }, + getOrderNoList() { + let that = this + uni.request({ + url: this.baseUrl + '/order/comb/list/all', + header: { + 'token': uni.getStorageSync('token') + }, + method: 'POST', + success(res) { + res = res.data + for (var i = 0; i < res.data.length; i++) { + that.orderNoList.push(res.data[i].order_no) + } + } + }) + }, + clear() { + this.searchValue = '' + this.getOrderNoList(this.locNo) + }, + 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> + -- Gitblit v1.9.1