From f815627a748d2ec5f68f1579443e231acc6fd1ba Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 07 五月 2025 10:05:44 +0800 Subject: [PATCH] #物料组盘 --- pages/listing/itemSelect.vue | 328 ++++++++++++++++++++++++++++++++++++++++++++++ pages/listing/matnrPalletising.vue | 48 +++++- pages/listing/disc.vue | 3 pages.json | 7 + 4 files changed, 375 insertions(+), 11 deletions(-) diff --git a/pages.json b/pages.json index 0278378..70790d0 100644 --- a/pages.json +++ b/pages.json @@ -37,6 +37,13 @@ } }, { + "path": "pages/listing/itemSelect", + "style": { + "navigationBarTitleText": "閫夋嫨鐗╂枡", + "enablePullDownRefresh": false + } + }, + { "path": "pages/listing/untie", "style": { "navigationBarTitleText": "瑙g粦" diff --git a/pages/listing/disc.vue b/pages/listing/disc.vue index d2debba..ee12153 100644 --- a/pages/listing/disc.vue +++ b/pages/listing/disc.vue @@ -156,8 +156,7 @@ }) return } - const find = this.list.find(el => el.trackCode === this.barcode); - find ? this.scrollTo() : this.getDet(); + this.getDet(); }, async getDet() { const { diff --git a/pages/listing/itemSelect.vue b/pages/listing/itemSelect.vue new file mode 100644 index 0000000..d803bc0 --- /dev/null +++ b/pages/listing/itemSelect.vue @@ -0,0 +1,328 @@ +<template> + <view> + <!-- 鎼滅储妗� --> + <view class="search-bar"> + <uni-search-bar v-model="condition" placeholder=" 鎵爜 / 杈撳叆" bgColor="#EEEEEE" @confirm="search" /> + </view> + <view> + <view class="padding-lr margin-top-sm"> + <block v-for="(item, index) in matList" :key="index"> + <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.selected === true &&'act']" @click="selectedItem(index)"> + <view class="cu-bar bg-white solid-bottom " > + <view class="action"> + <view class="index"> + {{index+1}} + </view> + <view class="text-blue"> + 缂栫爜: + {{`${item.matnrCode}`}} + </view> + </view> + <view class="action"> + <text v-if="item.selected" class="cuIcon-check text-green" style="font-size: 24px;"></text> + <text v-else class="cuIcon-close text-red" style="font-size: 24px;"></text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">ASN:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.asnCode}}</text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">鐗╂枡鏉$爜:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.trackCode}}</text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">渚涘簲鍟嗘壒娆�:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.splrBatch}}</text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">搴撳瓨鎵规:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.batch}}</text> + </view> + </view> + <!-- <view class="cu-item"> + <view class="content"> + <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text> + </view> + <view class="content"> + <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text> + </view> + </view> --> + + <view class="cu-item"> + <view class="content"> + <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text> + </view> + <view class="content"> + <text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text> + </view> + <view class="content"> + <text class="text-black">宸蹭笂鏋舵暟閲�: <text + class="text-grey ">{{item.workQty + item.qty}}</text></text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">鍙粍鐩樻暟閲�: <text + class="text-grey ">{{item.anfme - item.workQty}}</text></text> + </view> + </view> + + </view> + </block> + </view> + </view> + <!-- <uni-load-more v-show="matList.length != 0" :status="status" :icon-size="16" :content-text="contentText" /> --> + </view> +</template> + +<script> + export default { + data() { + return { + tagList: [], + matList: [], + condition: '', + reload: false, + curr:1, + tag: '鍒嗙被', + baColor: "background-color: #0081ff;", + desc: '鍟嗗搧缂栧彿:', + baseUrl: '', + token: '', + status: 'more', + contentText: { + contentdown: '涓婃媺鍔犺浇鏇村', + contentrefresh: '鍔犺浇涓�', + contentnomore: '娌℃湁鏇村' + }, + // 褰撳墠tagId + tagIdNow: 1, + itemStyle: { + border: "1px solid #e54d42", + }, + selectedList:[] + + } + }, + // onReachBottom() { + // this.status = 'more'; + // this.showMat(this.tagIdNow); + // }, + onLoad() { + // 娌″暐鐢ㄤ簡 + let that = this + // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE + const eventChannel = this.getOpenerEventChannel(); + + // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + eventChannel.on('data', function(data) { + console.log(data.item) + that.matList = data.item + }) + }, + onShow() { + this.baseUrl = uni.getStorageSync('baseUrl'); + this.token = uni.getStorageSync('token'); + + }, + methods: { + selectedItem(index){ + + if(this.matList[index].selected === '' || this.matList[index].selected === null || this.matList[index].selected === undefined){ + this.matList[index].selected = true + }else{ + this.matList[index].selected = !this.matList[index].selected + } + console.log(this.matList[index].selected) + }, + search() { + let that = this + uni.request({ + url: that.baseUrl + '/order/search/pda/auth', + data: { + condition: that.condition + }, + method:"GET", + header: { + 'token':uni.getStorageSync('token'), + }, + success(result) { + console.log(result); + var res = result.data + if (res.code === 200 ) { + that.matList = res.data + // that.save() + } else if (res.code == 403) { + uni.showToast({title: res.msg, icon: "none", position: 'top'}) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({title: res.msg, icon: "none",position: 'top'}) + } + } + }); + }, + showTag(parentId) { + let that = this + uni.request({ + url: that.baseUrl + '/tag/list/pda/auth', + header: { + 'token':uni.getStorageSync('token'), + }, + data: { + limit: 100000, + parentId: parentId + }, + header: { + 'token':uni.getStorageSync('token'), + }, + success(result) { + that.tagList = null + that.matList = [] + var res = result.data + if (res.code === 200) { + if (res.data != null && res.data.length > 0) { + that.tagList = res.data + } else { + that.showMat(parentId) + } + that.baColor = "background-color: #0081ff;" + } else if (res.code === 403 ) { + uni.showToast({title: res.msg, icon: "none", position: 'top'}) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({title: res.msg, icon: "none",position: 'top'}) + } + } + }); + }, + showMat(tagId) { + let that = this + // wms绔� 琛ユ帴鍙� + // @RequestMapping(value = "/mat/list/pda/page/auth") + // @ManagerAuth + // public R pdaPageList(@RequestParam(required = true)Long tagId, + // @RequestParam(defaultValue = "1")Integer curr, + // @RequestParam(defaultValue = "10")Integer limit){ + // EntityWrapper<Mat> wrapper = new EntityWrapper<>(); + // wrapper.eq("tag_id", tagId); + // wrapper.orderBy("create_time", false); + // return R.ok().add(matService.selectPage(new Page<>(curr, limit), wrapper)); + // } + uni.request({ + url: that.baseUrl + '/order/list/pda/page/auth', + data: { + curr:that.curr, + limit: 100, + tagId: tagId + }, + method:"GET", + header: { + 'token':uni.getStorageSync('token'), + }, + success(result) { + that.tagList = null + var res = result.data + if (res.code === 200) { + if (res.data.records != null && res.data.records.length > 0) { + let list = res.data.records + that.matList = that.reload ? list : that.matList.concat(list); + that.curr = that.curr + 1 + } + if (res.data.records.length == 0) { + that.status = 'noMore' + } + that.baColor = "background-color: #1cbbb4;" + } else if (res.code === 403 ) { + uni.showToast({title: res.msg, icon: "none", position: 'top'}) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({title: res.msg, icon: "none",position: 'top'}) + } + + } + }); + }, + toPrint(item) { + let that = this + uni.navigateTo({ + url: "../order/orderDetlList", + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('data', { + data: item + }) + }, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + that.matnr = data.data + that.findMat(that.matnr) + }, + }, + + + }); + } + } + } +</script> + +<style> + @import url('../../static/css/wms.css/wms.css'); + .index { + border: 1px solid #e54d42; + color: #e54d42; + border-radius: 50%; + display: block; + width: 50rpx; + height: 50rpx; + line-height: 48rpx; + text-align: center; + margin-right: 20rpx; + font-size: 30rpx; + } + + .text-blue { + color: #0081ff !important; + + } + + .act { + border: 1px solid #e54d42; + } + + .item { + position: relative; + display: flex; + min-height: 80upx; + align-items: center; + } +</style> \ No newline at end of file diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue index e4f8d9d..fc247ce 100644 --- a/pages/listing/matnrPalletising.vue +++ b/pages/listing/matnrPalletising.vue @@ -1,5 +1,7 @@ <template> <view class="has-foot"> + <view> + <form> <view class="cu-form-group margin-top"> <view class="title">瀹瑰櫒鍙�</view> @@ -11,15 +13,17 @@ <input placeholder="璇锋壂鎻忕墿鏂欑紪鐮�" v-model="matnrCode"></input> <text class='cuIcon-search text-blue' @click="search"></text> </view> - <!-- <view class="cu-form-group"> - <view class="title">鎵规鍙�</view> - <input placeholder="璇疯緭鍏ョ墿鏂欐壒娆�" v-model="batch"></input> - </view> --> + <view class="cu-form-group"> + <view class="title">ASN鍗曞彿</view> + <input placeholder="璇疯緭鍏SN鍗曞彿" v-model="asnCode"></input> + </view> </form> <view class="flex solid-bottom padding-sm justify-between"> <view class="text-blue">鐗╂枡鎬荤被:{{list.length}}</view> <view class="text-blue">缁勭洏鎬绘暟:{{allCount}}</view> + </view> + </view> <view class="padding-lr margin-top-sm"> @@ -139,7 +143,7 @@ megreQty: '', list: [], range: [], - batch: '', + asnCode: '', repeatClick: false, isconfirm: false, matnrCode:'', @@ -153,7 +157,7 @@ } }, mounted() {}, - methods: { + methods: { async search() { const find = this.list.find(el => el.trackCode === this.barcode); find ? this.scrollTo() : this.getDet(); @@ -165,9 +169,35 @@ data, msg } = await request('/asnOrderItem/trackCode', { - matnrCode: this.matnrCode + matnrCode: this.matnrCode, + asnCode: this.asnCode }, "post") if (code === 200) { + // if(data !== [] || data !== null){ + // uni.navigateTo({ + // url: "../listing/itemSelect", + // success: function(res) { + // // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + // res.eventChannel.emit('data', { + // item: data + // }) + // }, + // events: { + // // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + // acceptDataFromOpenedPage: function(data) { + // that.matnr = data.data + // that.findMat(that.matnr) + // }, + // }, + + + // }); + + // } + for (var i = 0; i < data.length; i++) { + data[i].receiptQty =1; + data[i].selected = false; + } this.list = data } else { uni.showToast({ @@ -225,6 +255,7 @@ async confirm() { this.repeatClick = true const newArr = this.list.map(item => { + return { ...item, anfme: item.anfme === null ? 0 : +item.anfme, @@ -237,8 +268,7 @@ msg } = await request('/waitPakin/merge', { items: newArr, - barcode: this.container, - batch: this.batch, + barcode: this.container, }) if (code === 200) { uni.showToast({ -- Gitblit v1.9.1