From 5d62f0a16c8475aff2103f476fe827ec3e16046c Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 24 三月 2025 19:49:17 +0800 Subject: [PATCH] 1 --- pages/phyz/orderOut/bcpOrderOutSelect_3.vue | 416 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pages.json | 2 2 files changed, 417 insertions(+), 1 deletions(-) diff --git a/pages.json b/pages.json index acd3d62..f0e1c53 100644 --- a/pages.json +++ b/pages.json @@ -429,7 +429,7 @@ "path" : "pages/phyz/orderOut/bcpOrderOutSelect_3", "style" : { - "navigationBarTitleText": "鍚稿绠卞3涓嬫灦鍑哄簱", + "navigationBarTitleText": "鍏朵粬鍑哄簱鍗�", "enablePullDownRefresh": false } diff --git a/pages/phyz/orderOut/bcpOrderOutSelect_3.vue b/pages/phyz/orderOut/bcpOrderOutSelect_3.vue new file mode 100644 index 0000000..a6d27fa --- /dev/null +++ b/pages/phyz/orderOut/bcpOrderOutSelect_3.vue @@ -0,0 +1,416 @@ +<template> + <view> + <view class="code"> + <uni-search-bar v-model="searchValue1" + maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clear" placeholder="杈撳叆 / 鎵弿 璁㈠崟鍙�"> + </uni-search-bar> + <view class="code-title"> + <view></view> + <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue1}} 鎬绘暟閲忥細- {{total}} -</view> + <view style="width: 100rpx;margin: 16rpx 0;" @click="filter()">绛涢��</view> + </view> + </view> + + <view class="list list-font-color" :class="orderDetl.color" v-for="(orderDetl,index) in dataList" :key="index"> + <view class="list-left"> + <view class="detl-threeCode">{{orderDetl.threeCode}}</view> + <view>涓诲崟鍙凤細{{orderDetl.orderNo}}</view> + <view>缂栧彿锛歿{orderDetl.matnr}}</view> + <view>鍚嶇О锛歿{orderDetl.maktx}}</view> + <view>绫诲瀷锛歿{orderDetl.brand}}</view> + <view>璁㈠崟鏁伴噺锛歿{orderDetl.anfme}}</view> + <view>搴撳瓨鏁伴噺锛歿{orderDetl.stock}}</view> + <view>宸插嚭鏁伴噺锛歿{orderDetl.qty}}</view> + <view>姝e湪浣滀笟鏁伴噺锛歿{orderDetl.workNum?orderDetl.workNum:0}}</view> + + </view> + <view class="list-right" @click="goToLocDetl(orderDetl)"> + <uni-icons type="right" size="25" color="#fff"></uni-icons> + </view> + </view> + + <!-- 鍨珮 --> + <view style="height: 340rpx;text-align: center;color: #b9b9b9;"> + - 宸茬粡鍒板簳浜� - + </view> + + <!-- 绛涢�夊脊绐� --> + <view> + <uni-popup ref="filter" type="dialog"> + <view class="filter-popup"> + <!-- 鏍囬 --> + <view class="title">绛涢��</view> + <view class="popup-item" style="background-color: #dfdfdf;"> + <view class="item-cl"> + <view>閿�鍞鍗曪細</view> + <input type="text" v-model="searchValue1"> + </view> + </view> + <view class="popup-item" style="background-color: #dfdfdf;"> + <view class="item-cl"> + <view>涓昏鍗曞彿锛�</view> + <input type="text" v-model="orderNo"> + </view> + </view> + <view class="popup-item" style="background-color: #dfdfdf;"> + <view class="item-cl"> + <view>鍟嗗搧缂栧彿锛�</view> + <input type="text" v-model="matnr"> + </view> + </view> + <view class="popup-item" style="background-color: #dfdfdf;"> + <view class="item-cl"> + <view>鍟嗗搧鍚嶇О锛�</view> + <input type="text" v-model="maktx"> + </view> + </view> + <view class="popup-item" style="background-color: #dfdfdf;"> + <view class="item-cl"> + <view>鍟嗗搧绉嶇被锛�</view> + <input type="text" v-model="brand"> + </view> + </view> + <view class="btn filter-btn"> + <view class="btn-left" @click="filterClose">閲嶇疆</view> + <view class="btn-right" @click="filterConfirm()">纭</view> + </view> + </view> + </uni-popup> + </view> + </view> +</template> + +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + searchValue1: '', + searchValue2: '', + orderNo: '', + matnr: '', + maktx: '', + brand: '', + total: '', + dataList: [], + orderCarList: [], + data: { + curr: 1, + limit: 100, + three_code: '', + matnr: '', + maktx: '', + order_no: '', + brand: '' + }, + wrkingData: [] + } + }, + onReachBottom() { + this.status = 'more'; + this.getOrderDetlList(this.searchValue1,10); + }, + onShow() { + this.baseUrl = uni.getStorageSync('baseUrl'); + this.token = uni.getStorageSync('token'); + this.searchValue1 = uni.getStorageSync('threeCodeOut1'); + this.searchValue2 = uni.getStorageSync('threeCodeOut2'); + this.getOrderDetlList(this.searchValue1,10) + }, + methods: { + getOrderDetlList(threeCode,limit) { + this.wrkingData= [] + this.get() + uni.showLoading({}) + let _this = this + _this.mask = true + _this.data.three_code = threeCode + _this.data.limit = limit + uni.request({ + url: `${_this.baseUrl}/orderDetl/pakout/list/authV9`, + header: {'token': uni.getStorageSync('token')}, + data: _this.data, + method: 'GET', + success(res) { + uni.hideLoading({}) + res = res.data + if (res.code === 200) { + for (let k of res.data.records) { + if (k.anfme > k.qty && k.qty == 0) { + k['color'] = 'order-sts-start' + } else if (k.anfme > k.qty && k.qty != 0) { + k['color'] = 'order-sts-working' + } else { + k['color'] = 'order-sts-end' + } + } + let list = res.data.records + if (_this.wrkingData&&_this.wrkingData.length >0){ + for (let item of list) { + for (let k of _this.wrkingData) { + if (k.matnr == item.matnr && k.orderNo == item.orderNo && k.threeCode == item + .threeCode) { + item['workNum'] = k.anfme + } + } + } + } + _this.dataList = _this.dataList.concat(list); + _this.data.curr = _this.data.curr + 1 + _this.total = res.data.total + _this.mask = false + } 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' }) + } + } + }) + }, + get() { + let _this = this + let data = {limit:9999,curr: 1} + uni.request({ + url: `${_this.baseUrl}/orderDetl/pakout/workNum`, + header: {'token': uni.getStorageSync('token')}, + data: data, + method: 'GET', + success(res) { + var res = res.data + if (res.code === 200) { + const result = res.data.reduce((acc, curr) => { + const key = `${curr.matnr}-${curr.orderNo}-${curr.threeCode}`; + if (acc[key]) { + acc[key].anfme += curr.anfme; + } else { + acc[key] = { ...curr }; + } + return acc; + }, {}); + const newArray = Object.values(result); + _this.wrkingData = newArray + if (_this.dataList&&_this.dataList.length >0){ + for (let item of _this.dataList) { + for (let k of _this.wrkingData) { + if (k.matnr == item.matnr && k.orderNo == item.orderNo && k.threeCode == + item.threeCode) { + item['workNum'] = k.anfme + break + }else{ + item['workNum'] = 0 + } + } + } + } + } + } + }) + }, + searchValueInput1() { + this.dataList = [] + this.data.curr = 1 + uni.setStorageSync('threeCodeOut1', this.searchValue1); + uni.setStorageSync('threeCodeOut2', this.searchValue2); + if (this.searchValue1.length == 0) { + this.getOrderDetlList(this.searchValue1,10) + } else { + this.getOrderDetlList(this.searchValue1,10) + } + + }, + searchValueInput2() { + uni.setStorageSync('threeCodeOut1', this.searchValue1); + uni.setStorageSync('threeCodeOut2', this.searchValue2); + if (this.searchValue1.length == 0) { + this.getOrderDetlList(this.searchValue1,10) + } else { + this.getOrderDetlList(this.searchValue1,10) + } + }, + clear() { + this.dataList = [] + this.data.curr = 1 + setTimeout(()=> { + this.getOrderDetlList(this.searchValue,10) + },300) + }, + clear2() { + setTimeout(()=> { + this.searchValue2 = '' + this.getOrderDetlList(this.searchValue1,10) + },300) + }, + goToLocDetl(item) { + if (item.qty >= item.anfme) { + uni.showToast({ title: '宸插畬鎴愯鍗曚綔涓氭暟閲�', icon: "error", position: 'top' }) + return + } + let _this = this + item['orderType'] = 'bcp' + uni.navigateTo({ + url: './orderCheck_2', + success(res) { + res.eventChannel.emit('item', { + item: item, + }), + res.eventChannel.emit('type', { + type: "bcp" + }) + }, + events: { + acceptDataFromOpenedPage: function(data) { + _this.getOrderDetlList(this.searchValue1,10) + } + } + }) + }, + // 绛涢�� + filter() { + this.$refs.filter.open('bottom') + }, + filterConfirm() { + this.dataList = [] + this.data.curr = 1 + this.data.maktx = this.maktx + this.data.matnr = this.matnr + this.data.order_no = this.order_no + this.data.brand = this.brand + this.getOrderDetlList(this.searchValue1,10) + this.$refs.filter.close() + }, + filterClose() { + this.dataList = [] + this.data.curr = 1 + this.data.maktx = '' + this.data.matnr = '' + this.data.order_no = '' + this.data.brand = '' + this.getOrderDetlList(this.searchValue1,10) + this.$refs.filter.close() + } + + } + } +</script> + +<style> + @import url('../../../static/css/common/order.css'); + .list-font-color { + color: #fff; + /* background-color: #33bb44; */ + } + .order-sts-start { + background-color: #3eb689; + } + .order-sts-working { + background-color: #ff9d46; + } + .order-sts-end { + background-color: #ff7356; + } + .detl-threeCode { + font-size: 28px; + font-weight: bold; + } + + .title { + height: 100rpx; + line-height: 100rpx; + width: 100%; + color: #606266; + text-align: center; + font-size: 16px; + } + .popup-item { + height: 80rpx; + line-height: 80rpx; + display: flex; + align-items: center; + justify-content: center; + } + .popup-item-left { + width: 16vw; + padding-right: 20rpx; + text-align: right; + color: #606266; + } + .popup-item-right { + display: flex; + align-items: center; + width: 50vw; + height: 50rpx; + padding: 2px 5px; + border: 1px solid #E4E7ED; + border-radius: 5rpx; + } + .popup-item-right input{ + color: #606266; + } + .btn { + display: flex; + height: 90rpx; + margin-top: 20rpx; + border-top: 1px solid #DCDFE6; + justify-content: center; + align-items: center; + } + .btn-left { + display: flex; + flex: 1; + height: 100%; + justify-content: center; + align-items: center; + color: #606266; + border-right: 1px solid #DCDFE6; + } + .btn-right { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + color: #409EFF; + } + .filter-popup { + width: 100%; + height: 80vh; + background-color: #FFF; + position: relative; + border-radius: 30rpx 30rpx 0rpx 0rpx; + } + .filter-popup-item { + height: 100%; + width: 100%; + background-color: #c9cdd5; + } + .filter-popup-item-left { + width: 30%; + height: 100%; + background-color: #DCDFE6; + + } + .item-btn { + width: 100%; + height: 80rpx; + line-height: 80rpx; + background-color: #c9cdd5; + text-align: center; + } + .item-btn:checked { + background-color: #606266; + } + .filter-btn { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + background-color: #FFF; + } + .item-cl { + display: flex;align-items: center; + } + .item-cl input { + border-bottom: 1px solid #b9b9b9; + } +</style> -- Gitblit v1.9.1