From 719a7c31bcb1f09df5c4b44ebfd255a05fd9281e Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 26 十一月 2024 15:37:46 +0800 Subject: [PATCH] # --- pages/phyz/order/pakinOrderSelect.vue | 439 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 429 insertions(+), 10 deletions(-) diff --git a/pages/phyz/order/pakinOrderSelect.vue b/pages/phyz/order/pakinOrderSelect.vue index 4f97f21..0baa112 100644 --- a/pages/phyz/order/pakinOrderSelect.vue +++ b/pages/phyz/order/pakinOrderSelect.vue @@ -1,15 +1,109 @@ <template> <view class="container"> <view class="code"> - <uni-search-bar :focus="searchValueFocus" v-model="searchValue" @input="searchValueInput2()" + <uni-search-bar :focus="searchValueFocus" v-model="searchValue" maxlength="500" ancel="cancel" @confirm="searchValueInput2()" @clear="clear" placeholder="杈撳叆 / 鎵弿 璁㈠崟鍙�"> </uni-search-bar> <view class="code-title"> <view></view> - <view>鍗曟嵁鍒楄〃</view> - <view></view> - <!-- <view @click="allChecked">{{allCheckBtnTitle}}</view> --> + <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue}} 鎬绘暟閲忥細- {{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.batch}}</view> + <view>鎬绘暟閲忥細{{orderDetl.anfme}}</view> + <view>宸插叆鏁伴噺锛歿{orderDetl.qty}}</view> + </view> + <view class="list-right" @click="addItem(index)"> + <uni-icons type="folder-add" size="25" color="#fff"></uni-icons> + </view> + </view> + + + <view class="shop-car" @click="orderCar()"> + <view class="car-left"> + <uni-icons type="cart-filled" size="35" color="#fff"></uni-icons> + </view> + <view class="car-right"> + <text>{{orderCarList.length}}</text> + </view> + </view> + <!-- 鍨珮 --> + <view style="height: 340rpx;text-align: center;color: #b9b9b9;"> + - 宸茬粡鍒板簳浜� - + </view> + <!-- 寮圭獥 --> + <view> + <uni-popup ref="addItem" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">鍏ュ簱鏁伴噺</view> + <view class="popup-item"> + <!-- <view class="popup-item-left">鍏ュ簱鏁伴噺:</view> --> + <view class="popup-item-right" style="border: none;"><uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /></view> + + </view> + <!-- <view class="popup-item"> + <view class="popup-item-left">鎵瑰彿:</view> + <view class="popup-item-right"><input type="text" v-model="batch"></view> + </view> --> + <view class="btn"> + <view class="btn-left" @click="addClose">鍙栨秷</view> + <view class="btn-right" @click="addConfirm()">娣诲姞</view> + </view> + </view> + </uni-popup> + </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="searchValue"> + </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> @@ -21,25 +115,190 @@ baseUrl: '', token: '', searchValueFocus: true, - searchValue: '' + searchValue: '', + orderNo: '', + matnr: '', + maktx: '', + brand: '', + total: '', + dataList: [], + orderCarList: [], + data: { + curr: 1, + limit: 100, + three_code: '', + matnr: '', + maktx: '', + order_no: '', + brand: '' + }, + index: 0, + count: 0, + mask: false, + batch: '' } }, - onShow() { + // 涓嬫媺鍒锋柊 + onReachBottom() { + this.status = 'more'; + this.getOrderDetlList(this.searchValue,10); + }, + onLoad() { this.baseUrl = uni.getStorageSync('baseUrl'); this.token = uni.getStorageSync('token'); - this.getOrderDetlList() + this.searchValue = uni.getStorageSync('threeCode'); + this.getOrderDetlList(this.searchValue,10) + console.log("onLoad"); + }, + onShow() { + console.log(uni.getStorageSync('pakinOrderCar')); + }, + onHide() { + uni.setStorageSync('pakinOrderCar', this.orderCarList); }, methods: { - getOrderDetlList() { - + getOrderDetlList(threeCode,limit) { + uni.showLoading({}) + let _this = this + _this.mask = true + _this.data.three_code = threeCode + _this.data.limit = limit + uni.request({ + url: `${_this.baseUrl}/order/detls/pakin/page/auth`, + 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 + _this.dataList = _this.dataList.concat(list); + _this.data.curr = _this.data.curr + 1 + // _this.dataList = res.data.records + _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' }) + } + } + }) }, searchValueInput2() { + this.dataList = [] + this.data.curr = 1 + uni.setStorageSync('threeCode', this.searchValue); + if (this.searchValue.length == 0) { + this.getOrderDetlList(this.searchValue,10) + } else { + this.getOrderDetlList(this.searchValue,10) + } }, clear() { - + this.dataList = [] + this.data.curr = 1 + setTimeout(()=> { + this.getOrderDetlList(this.searchValue,10) + },300) + }, + // 娣诲姞鍏ュ簱鍟嗗搧鑷� 寰呯粍鎵樺垪琛� + addItem(index) { + // 鍒ゆ柇娣诲姞鐨勫晢鍝佹槸鍚﹀拰宸茬粡娣诲姞鐨勯噸澶� + let dataList = this.dataList + for (let k of this.orderCarList) { + if (k.orderNo == dataList[index].orderNo + && k.threeCode == dataList[index].threeCode + && k.matnr == dataList[index].matnr) { + uni.showToast({ title: '璇峰嬁閲嶅娣诲姞鍟嗗搧锛�', icon: "none", position: 'top' }) + return + } + } + this.index = index + this.$refs.addItem.open() + }, + addClose() { + this.$refs.addItem.close() + this.count = 0 + }, + addConfirm() { + // if (this.count == 0) { + // uni.showToast({ title: '鍏ュ簱鏁伴噺涓嶅悎娉曪紒', icon: "none", position: 'top' }) + // return + // } + this.dataList[this.index]['used'] = true + this.dataList[this.index]['pakinQty'] = this.count + this.orderCarList.push(this.dataList[this.index]) + this.index = 0 + this.count = 0 + this.$refs.addItem.close() + }, + // 鐐瑰嚮鍓嶅線 寰呯粍鎵樺垪琛� + orderCar() { + let _this = this + if (_this.orderCarList.length === 0) { + uni.showToast({ title: '璇锋坊鍔犲叆搴撳晢鍝侊紒', icon: "none", position: 'top' }) + return + } + uni.navigateTo({ + url: './orderCar', + success(res) { + res.eventChannel.emit('item', { + item: _this.orderCarList + }) + }, + events: { + acceptDataFromOpenedPage: function(data) { + console.log(data); + if (data.data == 1) { + _this.orderCarList = [] + _this.getOrderDetlList(uni.getStorageSync('threeCode'),10) + } + } + } + }) + }, + changeValue(value) { + this.count = value + }, + // 绛涢�� + 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.orderNo + this.data.brand = this.brand + this.getOrderDetlList(this.searchValue,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.searchValue,10) + this.$refs.filter.close() } + } } @@ -47,4 +306,164 @@ <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; + } + .shop-car { + position: fixed; + left: 22rpx; + bottom: 150rpx; + background-color: #2299ff; + width: 260rpx; + height: 90rpx; + display: flex; + align-items: center; + box-shadow: 0 0 10px 5px rgba(0, 0, 0, .6); + border-radius: 10rpx; + color: #fff; + font-size: 28px; + font-weight: bold; + } + .car-left { + padding: 16rpx; + flex: 5; + } + .car-right { + flex: 4; + } + + .mask { + position: absolute; + width: 100%; + height: 100vh; + z-index: 999; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, .4); + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; + color: #fff; + } + + .popup { + width: 80vw; + min-height: 100rpx; + background-color: #FFF; + border-radius: 25rpx; + position: relative; + } + .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 { + max-width: 20vw; + 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> \ No newline at end of file -- Gitblit v1.9.1