From 9b37d74d9e60a9117ff1611679682ecf2a3233ad Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 13 一月 2025 11:16:19 +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..9f1944f 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='0.01' :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