From ec769191530cbbcfe3abe40d4812fc2b094c5d5e Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 20 七月 2022 17:49:48 +0800
Subject: [PATCH] #
---
pages/basics/order.vue | 316 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 255 insertions(+), 61 deletions(-)
diff --git a/pages/basics/order.vue b/pages/basics/order.vue
index 341e37a..f917e0f 100644
--- a/pages/basics/order.vue
+++ b/pages/basics/order.vue
@@ -1,64 +1,96 @@
<template>
<view >
<scroll-view scroll-y catch:touchmove="touchmove">
- <view class="pak-seach-box">
- <view class="box-top">
- <view class="color-block-blue"></view>
- <text class="title">鎵樼洏鏉$爜</text>
+ <view class="square-2">
+ <view class="square-title">
+ <view class="title-sign"><view class="sign"></view></view>
+ <view class="title-text"><text>鎵樼洏鏉$爜</text></view>
</view>
- <view class="box-buttom">
- <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8">
- <view class="search-icon">
- <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons>
+ <view class="square-content">
+ <view class="content-input">
+ <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="10"
+ :focus="barcodeFocus" @input="barcodeInput">
+ <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
</view>
</view>
</view>
- <view class="pak-seach-box">
- <view class="box-top">
- <view class="color-block-blue"></view>
- <text class="title">鍗曟嵁缂栧彿</text>
+
+ <view class="square-2">
+ <view class="square-title">
+ <view class="title-sign"><view class="sign"></view></view>
+ <view class="title-text"><text>鍗曟嵁缂栧彿</text></view>
</view>
- <view class="box-buttom">
- <input v-model="order" type="text" placeholder="鎵爜 / 杈撳叆" @input="findOrder()">
- <view class="search-icon">
- <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeOrder()"></uni-icons>
+ <view class="square-content">
+ <view class="content-input">
+ <input v-model="order" type="text" placeholder="鎵爜 / 杈撳叆" @input="findOrder()"
+ :focus="focus">
+ <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrder()"></uni-icons>
</view>
</view>
</view>
- <view class="pak-data-box">
- <view class="box-top">
- <view class="color-block-blue"></view>
- <text class="title">鍟嗗搧鍒楄〃</text>
+
+ <view class="square-1">
+ <view class="square-title">
+ <view class="title-sign"><view class="sign"></view></view>
+ <view class="title-text"><text>鍟嗗搧鍒楄〃</text></view>
+ <view v-show="matList.length != 0" class="lable">
+ <label class="label-btn" style="width: 170rpx;line-height: 95rpx;" >
+ <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox>
+ </label>
+ <label class="label-btn" >
+ <text @click="reChecked()">鍙嶉��</text>
+ </label>
+ <label >
+ <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons>
+ </label>
+ </view>
</view>
+
</view>
- <view class="pak-data-box" v-show="orderList.length === 0">
- <view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view>
+ <view class="square-none" v-show="matList.length === 0">
+ <view class="v-show">鏆傛棤鏇村鏁版嵁...</view>
</view>
- <checkbox-group>
- <view v-for="(item,index) in orderList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
+
+ <checkbox-group @change="checkbox">
+ <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
+ <label class="left-check-box">
+ <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" />
+ </label>
<view class="data-list-left">
- <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view>
- <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
- <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
+ <view class="matnr"><text style="width: 700rpx;">缂栫爜锛歿{item.matnr}}</text></view>
+ <view><text style="width: 700rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
+ <view><text style="width: 700rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
<view>
- <text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</text>
+ <text style="width: 700rpx;">鏁伴噺锛歿{item.anfme}}</text>
</view>
</view>
<view class="data-list-right">
<label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
+ <!-- list涓垹闄ら敭 -->
+ <!-- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> -->
</view>
</view>
</checkbox-group>
</scroll-view>
+
+ <!-- 搴曢儴鎸夐挳 -->
<view class="footer flex justify-around">
- <view>
- <button class="cu-btn lg" @click="resst()">閲嶇疆</button>
- </view>
- <view>
- <button class="cu-btn lg pakin-btn bg-blue" @click="comb()">缁勬墭</button>
- </view>
+ <!-- 搴曢儴鍏ㄩ�� 鍙嶉�夋寜閽� -->
+ <!-- <label class="label-btn" style="width: 170rpx;">
+ <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox>
+ </label>
+ <label class="label-btn" style="width: 100rpx;">
+ <text @click="reChecked()">鍙嶉��</text>
+ </label> -->
+
+ <label class="label-btn" style="width: 150rpx;">
+ <button class="cu-btn" @click="resst()">閲嶇疆</button>
+ </label>
+ <label class="label-btn">
+ <button class="cu-btn bg-blue " @click="comb()">缁勬墭</button>
+ </label>
</view>
+
<view>
<!-- 淇敼鏁伴噺 -->
<uni-popup ref="revise" background-color="#fff" @change="change">
@@ -70,10 +102,11 @@
<view class="text-box">
<text>鍙粍鏁伴噺锛歿{enableQty}}</text>
</view>
- <view class="changeBox">
+ <view class="changeBox flex justify-around">
<view class="num-box">
<uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/>
</view>
+ <button class="cu-btn" @click="changeMax">max</button>
</view>
<view class="revise-box-buttom">
<view>
@@ -93,19 +126,23 @@
data() {
return {
barcode: '',
+ barcodeFocus:true,
+ focus:false,
type: 'center',
searchBox: 'hide',
pick:'hide',
order:null,
orderNo:null,
- orderList:[],
+ matList:[],
result: '',
count:'',
minCount:0,
maxCount:'',
rowNum:'',
enableQty:'',
-
+ check:false,
+ checkText:'鍏ㄩ��',
+ checkedData:[],
}
},
mounted(){
@@ -115,19 +152,61 @@
this.basePORT = UPORT
},
methods: {
+ // barcode input 浜嬩欢
+ barcodeInput() {
+ var len = this.barcode.length
+ if (len != 8) {
+ uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'});
+ this.barcodeFocuss()
+ return;
+ }
+ if (len == 8) {
+ this.focuss()
+ }
+ },
+ // 鎵樼洏鐮佹湁璇噸缃�
+ barcodeFocuss() {
+ // #ifdef APP
+ let that = this;
+ that.barcodeFocus = false;
+ setTimeout(()=>{
+ that.barcode = '';
+ that.barcodeFocus = true;
+ }, 100);
+ // #endif
+ },
+ focuss() {
+ // #ifdef APP
+ let that = this;
+ that.focus = false;
+ setTimeout(()=>{
+ that.matnrId = '';
+ that.focus = true;
+ }, 100);
+ // #endif
+ },
resst() {
- this.orderList = []
+ this.matList = []
this.barcode = ''
this.order = ''
+ this.barcodeFocuss()
uni.vibrateShort();
},
removeBarcode() {
this.barcode = ''
uni.vibrateShort();
+ this.barcodeFocus = false;
+ this.$nextTick(function() {
+ this.barcodeFocus = true;
+ });
},
removeOrder() {
this.order = ''
uni.vibrateShort();
+ this.focus = false;
+ this.$nextTick(function() {
+ this.focus = true;
+ });
},
eject(type) {
this.type = type
@@ -136,15 +215,15 @@
},
initAnfme() {
- for (var i = 0; i < this.orderList.length; i++) {
- this.orderList[i].anfme = 0
+ for (var i = 0; i < this.matList.length; i++) {
+ this.matList[i].anfme = 0
}
uni.hideLoading();
},
revise(item,index) {
- var maxCount = this.orderList[index].maxCount
+ var maxCount = this.matList[index].maxCount
if (maxCount == undefined ) {
- this.orderList[index]["maxCount"] = item.enableQty
+ this.matList[index]["maxCount"] = item.enableQty
}
this.enableQty = item.enableQty
this.count = this.minCount
@@ -152,15 +231,33 @@
this.rowNum = index
this.eject()
},
+ changeMax() {
+ this.count = this.enableQty
+ },
changeValue() {
},
- remove(item,index) {
- this.orderList.splice(index,1)
+ remove() {
+ console.log(this.matList.filter(item=> item.checked !== true))
+ this.matList = this.matList.filter(item=> item.checked !== true)
+
+ // this.matList.splice(i,1)
+
+ // for (var i = 0; i < this.matList.length; i++) {
+ // if (this.matList[i].checked == true) {
+
+ // }
+ // }
+ this.checkList();
uni.vibrateShort();
},
+ // 鍒楄〃涓垹闄�
+ // remove(item,index) {
+ // this.matList.splice(index,1)
+ // uni.vibrateShort();
+ // },
confirm() {
- this.orderList[this.rowNum].anfme = this.count
+ this.matList[this.rowNum].anfme = this.count
this.$refs.revise.close()
},
comb() {
@@ -174,12 +271,12 @@
uni.showToast({title: '鎵樼洏鐮佸繀椤讳负8浣�', icon: "none", position: 'top'});
return;
}
- if (that.orderList.length === 0) {
+ if (that.matList.length === 0) {
uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
return;
}
- for (var i = 0; i < that.orderList.length; i++) {
- if (that.orderList[i].anfme === 0) {
+ for (var i = 0; i < that.matList.length; i++) {
+ if (that.matList[i].anfme === 0) {
uni.showToast({title: '鍟嗗搧缁勬墭鏁伴噺涓�0涓嶈兘缁勬墭', icon: "none", position: 'top'});
return;
}
@@ -190,7 +287,7 @@
data: JSON.stringify({
orderNo: that.orderNo,
barcode: that.barcode,
- combMats: that.orderList
+ combMats: that.matList
}),
method: 'POST',
header: {
@@ -202,13 +299,10 @@
if (res.code === 200) {
uni.showToast({
title: res.msg,
- position: 'bottom',
+ position: 'top',
duration: 1000
});
- that.barcode = ''
- that.orderNo = ''
- that.order = ''
- that.orderList = []
+ that.resst()
} else if (res.code == 403) {
uni.showToast({title: res.msg, icon: "none", position: 'top'})
setTimeout(() => {
@@ -233,14 +327,15 @@
'token':uni.getStorageSync('token')
},
success(result) {
+ console.log(result)
let res = result.data
if (res.code === 200) {
if(res.data) {
uni.showLoading();
- that.orderList = res.data;
+ that.matList = res.data;
that.orderNo = that.order
that.initAnfme()
- console.log(that.orderList)
+ console.log(that.matList)
}
} else if (res.code == 403) {
uni.showToast({title: res.msg, icon: "none", position: 'top'})
@@ -263,6 +358,78 @@
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
this.$refs.goodsSearch.open(type)
},
+ // 鍒楄〃閫夋嫨
+ checkbox: function (e) {
+ var items = this.matList,
+ values = e.detail.value;
+ for (var i = 0, lenI = items.length; i < lenI; ++i) {
+ const item = items[i]
+ item.id = item.id + ''
+ if(values.indexOf(item.id) >= 0){
+ this.$set(item,'checked',true)
+ }else{
+ this.$set(item,'checked',false)
+ }
+ }
+ if (values.length == items.length) {
+ this.check = true
+ this.checkText = "鍙栨秷鍏ㄩ��"
+ } else {
+ this.check = false
+ this.checkText = "鍏ㄩ��"
+ }
+ uni.vibrateShort();
+ },
+ // 鍒楄〃鍙嶉��
+ reChecked() {
+ if (this.matList.length == 0) {
+ return;
+ }
+ var checkArr = []
+ for (var i = 0; i < this.matList.length;i++) {
+ if (this.matList[i].checked == true) {
+ this.$set(this.matList[i],'checked',false)
+ }else{
+ this.$set(this.matList[i],'checked',true)
+ }
+ if (this.matList[i].checked == true) {
+ checkArr.push(this.matList[i].checked)
+ }
+ }
+ if (checkArr.length == this.matList.length) {
+ this.check = true
+ this.checkText = "鍙栨秷鍏ㄩ��"
+ } else {
+ this.check = false
+ this.checkText = "鍏ㄩ��"
+ }
+ uni.vibrateShort();
+ },
+ // 鍒楄〃鍏ㄩ��
+ allChecked(e){
+ if (this.check == true) {
+ for (var i = 0; i < this.matList.length;i++) {
+ this.$set(this.matList[i],'checked',false)
+ }
+ this.check = false
+ this.checkText = "鍏ㄩ��"
+ } else {
+ for (var i = 0; i < this.matList.length;i++) {
+ this.$set(this.matList[i],'checked',true)
+ }
+ this.check = true
+ this.checkText = "鍙栨秷鍏ㄩ��"
+ }
+ uni.vibrateShort();
+ },
+ // 妫�楠屽垪琛ㄩ暱搴� 绛変簬0 鏄剧ず鍏ㄩ��
+ checkList() {
+ if (this.matList.length == 0) {
+ this.check = false
+ this.checkText = "鍏ㄩ��"
+ return;
+ }
+ }
}
}
</script>
@@ -270,7 +437,19 @@
<style>
/* @import "../../colorui/main.css";
@import "../../colorui/icon.css"; */
-
+ .square-1 .lable {
+ display: inline-block;
+ float: right;
+ height: 100%;
+ width: 400rpx;
+ }
+ .square-1 .lable label {
+ display: inline-block;
+ float: left;
+ height: 100%;
+ width: 90rpx;
+ line-height: 100rpx;
+ }
.pak-seach-box {
background-color: #FFFFFF;
margin: 15rpx 15rpx 0rpx 15rpx;
@@ -372,21 +551,32 @@
width: 100rpx;
height: 180rpx;
line-height: 180rpx;
- } */
+ } */
+ .left-check-box {
+ display: inline-block;
+ /* background-color: #1E9FFF; */
+ float: left;
+ height: 100%;
+ width: 100rpx;
+ text-align: center;
+ line-height: 170rpx;
+ }
.data-list-left {
+ /* background-color: #ffff7f; */
display: inline-block;
float: left;
- margin-left: 6%;
height: 180rpx;
+ width: 500rpx;
color: #676767;
}
.matnr {
padding-top: 10rpx;
}
.data-list-right {
+ /* background-color: #55ffff; */
display: inline-block;
float: right;
- width: 200rpx;
+ width: 100rpx;
height: 180rpx;
line-height: 180rpx;
}
@@ -427,6 +617,10 @@
}
.changeBox .num-box {
display: inline-block;
+ float: left;
+ }
+ .changeBox button {
+ float: left;
}
.revise-box-buttom {
position: absolute;
--
Gitblit v1.9.1