From 80236f6445e1b4f4c32dc7d6b015359dec82a5f7 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 19 十一月 2024 16:23:55 +0800 Subject: [PATCH] # --- pages/warehouse/orderList.vue | 11 pages/home/home.vue | 2 pages.json | 22 ++ pages/warehouse/outMats.vue | 283 +++++++++++++++++++++++++++++++++++ pages/warehouse/outLocs.vue | 128 ++++++++++++++++ 5 files changed, 439 insertions(+), 7 deletions(-) diff --git a/pages.json b/pages.json index 49aeec6..853f6cf 100644 --- a/pages.json +++ b/pages.json @@ -292,7 +292,7 @@ } }, { - "path" : "pages/order/orderList", + "path" : "pages/warehouse/orderList", "style" : { "navigationBarTitleText" : "骞冲簱涓嬫灦", @@ -368,6 +368,26 @@ } } + ,{ + "path" : "pages/warehouse/outLocs", + "style" : + { + // "navigationBarTitleText": "鍏宠仈搴撲綅", + // "enablePullDownRefresh": false + "navigationStyle": "custom" + } + + } + ,{ + "path" : "pages/warehouse/outMats", + "style" : + { + // "navigationBarTitleText": "涓嬫灦鐗╂枡", + // "enablePullDownRefresh": false + "navigationStyle": "custom" + } + + } ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/home/home.vue b/pages/home/home.vue index 4126ada..76a342f 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -67,7 +67,7 @@ name: 'orderPutOn', color: 'yellow', cuIcon: 'pullup', - url: '/order/orderList' + url: '/warehouse/orderList' }, { title: '璁㈠崟缁勬墭', diff --git a/pages/order/orderList.vue b/pages/warehouse/orderList.vue similarity index 90% rename from pages/order/orderList.vue rename to pages/warehouse/orderList.vue index 665abc1..3813d29 100644 --- a/pages/order/orderList.vue +++ b/pages/warehouse/orderList.vue @@ -16,10 +16,10 @@ </uni-nav-bar> <!-- 鎼滅储妗� --> <view class="search-bar"> - <uni-search-bar v-model="orderNo" placeholder=" 杈撳叆璁㈠崟鍙�" bgColor="#EEEEEE" @input="search" /> + <uni-search-bar v-model="orderNo" placeholder=" 杈撳叆璁㈠崟鍙�" bgColor="#EEEEEE" @confirm="search" /> </view> <view class="card" v-for="item in menuList" @click="chose(item)"> - {{item}} + {{item.orderNo}} </view> </view> </template> @@ -70,9 +70,10 @@ let that = this uni.request({ url: this.baseUrl + '/outOrder/list/all', - data: that.orderNo, + data: {orderNo:that.orderNo}, header: { - 'token': uni.getStorageSync('token') + 'token': uni.getStorageSync('token'), + 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' }, method: 'POST', success(res) { @@ -84,7 +85,7 @@ chose(item) { let that = this uni.navigateTo({ - url: "./orderDetlList", + url: "./outLocs", success: function(res) { // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 res.eventChannel.emit('order', { diff --git a/pages/warehouse/outLocs.vue b/pages/warehouse/outLocs.vue new file mode 100644 index 0000000..4635ed7 --- /dev/null +++ b/pages/warehouse/outLocs.vue @@ -0,0 +1,128 @@ +<template> + <view> + <view class="status_bar"> + <!-- 杩欓噷鏄姸鎬佹爮 --> + </view> + <uni-nav-bar left-icon="left" background-color="#f8f8f8" title="鍏宠仈搴撲綅" @clickLeft="back" :fixed="true" + :border="false" rightWidth="160rpx" leftWidth="160rpx" + > + <block slot="right"> + <view class="city"> + <view> + <text class="uni-nav-bar-text">{{store}}</text> + </view> + </view> + </block> + </uni-nav-bar> + <!-- 鎼滅储妗� --> + <!-- <view class="search-bar"> + <uni-search-bar v-model="searchVal" placeholder=" 杈撳叆搴撲綅鍙�" bgColor="#EEEEEE" @input="search" /> + </view> --> + <view style="margin: 0;background-color: aliceblue;text-align: center;height: 30px;"> + 褰撳墠璁㈠崟鍙凤細 {{order.orderNo}} + </view> + <view class="card" v-for="item in menuList" @click="chose(item)"> + {{item}} + </view> + </view> +</template> +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + storeId: 0, + store: '', + orderNo: '', + searchVal: '', + orderId: 0, + menuList: [], + order: {orderNo: '--'}, + orNo: '' + } + }, + onShow() { + 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 = '鏂版槍浠�' + } + let that = this + const eventChannel = that.getOpenerEventChannel(); + eventChannel.on('order', function(data) { + // console.log(data) + that.orderId = data.orderNo.id + that.order = data.orderNo + that.getOrderNoList(that.orderId) + }) + }, + methods: { + back() { + uni.navigateBack({}) + }, + getOrderNoList(orderId) { + let that = this + uni.request({ + url: that.baseUrl + '/mobile/pda/OutLocNo', + data: {orderId:orderId}, + header: { + 'token': uni.getStorageSync('token'), + 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' + }, + method: 'POST', + success(res) { + res = res.data + that.menuList = res.data + } + }) + }, + search() { + let baseList = [...this.menuList] + this.menuList = this.fuzzySearch(baseList,this.searchVal) + }, + + fuzzySearch(array, query) { + const regex = new RegExp(query, 'i'); // 'i' 琛ㄧず涓嶅尯鍒嗗ぇ灏忓啓 + return array.filter(num => regex.test(num.toString())); + }, + chose(item) { + let that = this + uni.navigateTo({ + url: "./outMats", + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('order', { + locNo: item, + orderId: that.orderId, + orderNo: that.order + }) + }, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + matList: function(data) { + // that.matnr = data.data + that.getOrderNoList(that.orderId) + }, + }, + }); + } + } + } +</script> + +<style> + @import url('../../static/css/wms.css/wms.css'); + .card { + margin: 20rpx; + padding: 30rpx; + background-color: #157ec1; + border-radius: 20rpx; + color: #FFF; + } +</style> + diff --git a/pages/warehouse/outMats.vue b/pages/warehouse/outMats.vue new file mode 100644 index 0000000..ca39b00 --- /dev/null +++ b/pages/warehouse/outMats.vue @@ -0,0 +1,283 @@ +<template> + <view> + <view class="status_bar"> + <!-- 杩欓噷鏄姸鎬佹爮 --> + </view> + <uni-nav-bar left-icon="left" background-color="#f8f8f8" title="涓嬫灦鐗╂枡" @clickLeft="back" :fixed="true" + :border="false" rightWidth="160rpx" leftWidth="160rpx" + > + <block slot="right"> + <view class="city"> + <view> + <text class="uni-nav-bar-text">{{store}}</text> + </view> + </view> + </block> + </uni-nav-bar> + <!-- 鎼滅储妗� --> + <!-- <view class="search-bar"> + <uni-search-bar v-model="orderNo" placeholder=" 杈撳叆" bgColor="#EEEEEE" @input="search" /> + </view> --> + <view class="mat-list-title"> + <view style="width: 200rpx;"></view> + <view style="-webkit-flex: 1;flex: 1;">搴撲綅鍙凤細{{locNo}}</view> + <view style="width: 200rpx;"><button size="mini" type="primary" @click="allSelect()">{{seltitle}}</button></view> + </view> + + <view style="height: 60px;"></view> + + <view> + <!-- 鐗╂枡鍚嶇О 鐗╂枡鍙� 鎵瑰彿 鍏宠仈鍗曞彿 搴撳瓨鏁伴噺 鍑哄簱鏁伴噺--> + <view class="list_item" v-for="(item,index) in dataList"> + <view class="list_check_box"> + <label @click="checkboxChange(item)"> + <checkbox :value="item.matnr" :checked="item.checked" style="transform:scale(0.7)" /><text></text> + </label> + </view> + <view class="list_main"> + <view> + <text class="desc_name">鐗╂枡鍙凤細</text> + <text class="desc_connect">{{item.matnr}}</text> + </view> + <view> + <text class="desc_name">鐗╂枡鍚嶇О锛�</text> + <text class="desc_connect">{{item.maktx}}</text> + </view> + <view> + <text class="desc_name">璁㈠崟鍙凤細</text> + <text class="desc_connect">{{item.orderNo}}</text> + </view> + <view> + <text class="desc_name">鏁伴噺锛�</text> + <text class="desc_connect">{{item.anfme}}</text> + </view> + </view> + <view class="list_fix"> + <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> + </view> + </view> + </view> + + <view style="margin: 8px;text-align: center;color: #777;" v-if="dataList.length == 0"> + 娌℃湁鏁版嵁 + </view> + + <view style="height: 60px;"></view> + + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <view class="buttom"> + <button size="mini" type="primary" @click="combConfirm('warn')">涓嬫灦</button> + </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> +</template> + +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + storeId: 0, + store: '', + orderNo: '', + locNo: '--', + seltitle: '鍙栨秷鍏ㄩ��', + dataList: [], + msgType: 'success', + messageText: '', + content: '', + title: '' + } + }, + onShow() { + 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 = '鏂版槍浠�' + } + let that = this + const eventChannel = that.getOpenerEventChannel(); + eventChannel.on('order', function(data) { + that.locNo = data.locNo + that.orderNo = data.orderNo.orderNo + console.log(that.orderNo); + that.getLocInfo(data.locNo,data.orderId) + }) + }, + methods: { + back() { + 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) + } + console.log(this.dataList); + }, + getLocInfo(locNo,orderId) { + let _this = this + uni.request({ + url: _this.baseUrl + '/mobile/pda/OrderDetlContrastLocDetl', + data: {locNo: locNo,orderId: orderId}, + header: { + 'token': uni.getStorageSync('token'), + 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' + }, + method: 'POST', + success(res) { + res = res.data + if (res.code === 200) { + for (let k of res.data) { + k['checked'] = true + } + _this.dataList = res.data + } + } + }) + }, + 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 = '鍏ㄩ��' + } + + }, + combConfirm(type) { + this.msgType = type + this.title = '璀﹀憡' + this.content = '鏄惁鐜板湪涓嬫灦!' + this.$refs.combConfirm.open() + }, + combClose() { + this.$refs.combConfirm.close() + }, + // 涓嬫灦 + comb() { + let that = this; + if (that.locNo === '') { + this.messageText = "璇锋壂鎻忓簱浣嶅彿" + this.messageToggle('error') + return; + } + if (that.dataList.length === 0) { + this.messageText = "璇锋坊鍔犲晢鍝佸垪琛�" + this.messageToggle('error') + return; + } + let optDataList = [] + for (let k of that.dataList) { + console.log(k); + if (k.checked) { + optDataList.push(k) + } + } + uni.request({ + url: that.baseUrl + '/mobile/pda/WarehouseOut', + data: JSON.stringify({ + orderNo: that.orderNo, + locno: that.locNo, + combMats: optDataList + }), + method: 'POST', + header: { + 'token': uni.getStorageSync('token') + }, + success(result) { + var res = result.data + if (res.code === 200) { + uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + setTimeout(()=>{ + that.getOpenerEventChannel().emit('matList', {}); + uni.navigateBack({ + delta: 1, // 杩斿洖涓婁竴椤甸潰 + }) + },1500) + } 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' }) + } + } + }); + }, + } + } +</script> + +<style> + @import url('../../static/css/wms.css/wms.css'); + .mat-list-title { + display: flex; + align-items: center; + height: 80rpx; + width: 100%; + background-color: white; + position: fixed; + margin-top: 0; + z-index: 9; + /* border-top: 1px solid #DCDFE6; */ + text-align: center; + box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); + } + .list_item { + margin: 8px; + min-height: 40px; + border-radius: 8px; + display: flex; + background-color: #ffffff; + } + .list_check_box { + border-right: 1px solid #e5e5e5; + display: flex; + align-items: center; + justify-content: center; + padding: 8px; + } + .list_main { + padding: 8px; + flex: 1; + } + .list_fix { + border-left: 1px solid #e5e5e5; + display: flex; + align-items: center; + justify-content: center; + padding: 8px; + } + .desc_name { + font-weight: bold; + color: #222; + } + .desc_connect { + color: #333; + } +</style> -- Gitblit v1.9.1