From 2a39aa8035613ddcb00ab2edd2d3aea046b0c838 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 14 六月 2025 10:17:14 +0800
Subject: [PATCH] #
---
pages/basics/order.vue | 461 ++++++++++++++++++++++++++++----------------------------
1 files changed, 230 insertions(+), 231 deletions(-)
diff --git a/pages/basics/order.vue b/pages/basics/order.vue
index f917e0f..0680ba2 100644
--- a/pages/basics/order.vue
+++ b/pages/basics/order.vue
@@ -8,74 +8,75 @@
</view>
<view class="square-content">
<view class="content-input">
- <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="10"
- :focus="barcodeFocus" @input="barcodeInput">
+ <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆"
+ :focus="barcodeFocus" @confirm="barcodeInput()" placeholder-style="line-height: 85rpx;">
<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
</view>
</view>
</view>
+
<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 class="title-text"><text>妫�绱㈠晢鍝�</text></view>
</view>
<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>
+ <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
+ :focus="focus" placeholder-style="line-height: 85rpx;">
+ <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
</view>
+ <!-- <view class="content-btn">
+ <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button>
+ </view> -->
</view>
</view>
+
<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>
+ <!-- <label v-show="matList.length != 0" style="float: right;margin-right: 20px;margin-top: 13px;"><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons></label> -->
</view>
-
</view>
- <view class="square-none" v-show="matList.length === 0">
+
+ <view class="square-none" v-show="matList.length === 0">
<view class="v-show">鏆傛棤鏇村鏁版嵁...</view>
</view>
<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: 700rpx;">缂栫爜锛歿{item.matnr}}</text></view>
- <view><text style="width: 700rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
- <view><text style="width: 700rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
+ <!-- <view>
+ <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" />
+ </view> -->
+ <view ><text style="width: 400rpx;">鍗曟嵁锛歿{item.orderNo}}</text></view>
+ <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.specs}}</text></view>
+ <!-- <view><text style="width: 400rpx;">鍨嬪彿锛歿{item.model}}</text></view> -->
+ <view><text style="width: 400rpx;">鎵规锛歿{item.batch}}</text></view>
+ <!-- <view><text style="width: 400rpx;">澶囨敞锛歿{item.memo}}</text></view> -->
<view>
- <text style="width: 700rpx;">鏁伴噺锛歿{item.anfme}}</text>
+ <text style="width: 400rpx;">涓绘暟閲忥細{{item.anfme}}</text>
+ </view>
+ <view>
+ <text style="width: 400rpx;">杈呮暟閲忥細{{item.anfme2}}</text>
</view>
</view>
<view class="data-list-right">
<label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
- <!-- list涓垹闄ら敭 -->
- <!-- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> -->
+ <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">
- <!-- 搴曢儴鍏ㄩ�� 鍙嶉�夋寜閽� -->
<!-- <label class="label-btn" style="width: 170rpx;">
<checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox>
</label>
@@ -91,32 +92,31 @@
</label>
</view>
- <view>
- <!-- 淇敼鏁伴噺 -->
- <uni-popup ref="revise" background-color="#fff" @change="change">
- <view class="revise-box">
- <view class="revise-box-top">
- <view class="color-block-blue"></view>
- <text class="title">缁勬墭鏁伴噺</text>
- </view>
- <view class="text-box">
- <text>鍙粍鏁伴噺锛歿{enableQty}}</text>
- </view>
- <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>
- <button class="cu-btn bg-blue" @click="confirm()">纭</button>
- </view>
- </view>
-
+ <!-- 寮圭獥 -->
+ <!-- 淇敼鏁伴噺 -->
+ <uni-popup ref="revise" background-color="#fff">
+ <view class="revise-box ">
+ <view class="revise-box-top">
+ <view class="color-block-blue"></view>
+ <text class="title">淇敼鏁伴噺</text>
</view>
- </uni-popup>
- </view>
+ <!-- <view class="" style="position: relative;left: 50px;margin-bottom: 20px;">
+ <text style="display: inline-block;float: left;width: 60px;">鎵规锛�</text>
+ <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="batch">
+ </view> -->
+ <view class="changeBox">
+ <view class="num-box">
+ <text style="display: inline-block;float: left;width: 60px;">涓绘暟閲忥細</text>
+ <uni-number-box :value="count" :max="99999999" color="#747474" @change="changeValue"/>
+ </view>
+ </view>
+ <view class="revise-box-buttom">
+ <view>
+ <button class="cu-btn bg-blue" @click="confirm()">纭</button>
+ </view>
+ </view>
+ </view>
+ </uni-popup>
</view>
</template>
@@ -125,62 +125,76 @@
export default {
data() {
return {
+ commonUrl:null,
barcode: '',
barcodeFocus:true,
focus:false,
type: 'center',
searchBox: 'hide',
pick:'hide',
- order:null,
- orderNo:null,
+ matnr:'',
matList:[],
result: '',
+ enableQty:'',
count:'',
minCount:0,
maxCount:'',
rowNum:'',
- enableQty:'',
check:false,
checkText:'鍏ㄩ��',
checkedData:[],
+ batch:''
}
+ },
+ onShow() {
+ setTimeout(()=>{
+ // this.focuss()
+ }, 100);
+
},
mounted(){
const UIP = uni.getStorageSync('UIP');
this.baseIP = UIP;
const UPORT = uni.getStorageSync('UPORT');
this.basePORT = UPORT
+ const PROJ = uni.getStorageSync('UPROJ');
+ this.baseUrl = PROJ
+ this.getUrl()
},
methods: {
+ // 鑾峰彇url
+ getUrl() {
+ this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
+ },
// barcode input 浜嬩欢
barcodeInput() {
- var len = this.barcode.length
- if (len != 8) {
- uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'});
- this.barcodeFocuss()
- return;
- }
- if (len == 8) {
+ // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏�
+ setTimeout(()=>{
+ var len = this.barcode.length
+ if (len != 8) {
+ uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'});
+ this.barcodeFocuss()
+ return;
+ }
this.focuss()
- }
+ },200)
},
// 鎵樼洏鐮佹湁璇噸缃�
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.matnr = '';
that.focus = true;
}, 100);
// #endif
@@ -188,7 +202,6 @@
resst() {
this.matList = []
this.barcode = ''
- this.order = ''
this.barcodeFocuss()
uni.vibrateShort();
},
@@ -200,65 +213,18 @@
this.barcodeFocus = true;
});
},
- removeOrder() {
- this.order = ''
+ removeMatnr() {
+ this.matnr = ''
uni.vibrateShort();
this.focus = false;
this.$nextTick(function() {
this.focus = true;
});
},
- eject(type) {
- this.type = type
- // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
- this.$refs.revise.open(type)
- },
- initAnfme() {
-
- for (var i = 0; i < this.matList.length; i++) {
- this.matList[i].anfme = 0
- }
- uni.hideLoading();
- },
- revise(item,index) {
- var maxCount = this.matList[index].maxCount
- if (maxCount == undefined ) {
- this.matList[index]["maxCount"] = item.enableQty
- }
- this.enableQty = item.enableQty
- this.count = this.minCount
- this.maxCount = item.maxCount
- this.rowNum = index
- this.eject()
- },
- changeMax() {
- this.count = this.enableQty
- },
- changeValue() {
-
- },
- 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();
+ // 鍒楄〃鍒犻櫎鎸夐挳
+ remove(item,index) {
+ this.matList.splice(index,1)
uni.vibrateShort();
- },
- // 鍒楄〃涓垹闄�
- // remove(item,index) {
- // this.matList.splice(index,1)
- // uni.vibrateShort();
- // },
- confirm() {
- this.matList[this.rowNum].anfme = this.count
- this.$refs.revise.close()
},
comb() {
uni.vibrateShort();
@@ -267,25 +233,20 @@
uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'});
return;
}
- if (that.barcode.length !== 8) {
- uni.showToast({title: '鎵樼洏鐮佸繀椤讳负8浣�', icon: "none", position: 'top'});
- return;
- }
if (that.matList.length === 0) {
uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
return;
}
for (var i = 0; i < that.matList.length; i++) {
- if (that.matList[i].anfme === 0) {
- uni.showToast({title: '鍟嗗搧缁勬墭鏁伴噺涓�0涓嶈兘缁勬墭', icon: "none", position: 'top'});
+ if (that.matList[i].anfme == 0 || that.matList[i].anfme == '') {
+ uni.showToast({title: that.matList[i].matnr + '缁勬墭鏁伴噺涓嶈兘涓�0', icon: "none", position: 'top'});
return;
}
}
uni.showLoading();
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth',
+ url: that.commonUrl + '/mobile/comb/auth',
data: JSON.stringify({
- orderNo: that.orderNo,
barcode: that.barcode,
combMats: that.matList
}),
@@ -294,15 +255,15 @@
'token':uni.getStorageSync('token')
},
success(result) {
- uni.showLoading();
+ uni.hideLoading();
var res = result.data
if (res.code === 200) {
+ that.resst();
uni.showToast({
title: res.msg,
- position: 'top',
+ position: 'bottom',
duration: 1000
});
- that.resst()
} else if (res.code == 403) {
uni.showToast({title: res.msg, icon: "none", position: 'top'})
setTimeout(() => {
@@ -316,27 +277,56 @@
}
});
},
- findOrder() {
+ selectMat() {
+ let that = this
+ uni.vibrateShort();
+ uni.navigateTo({
+ url: "matSelect",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ acceptDataFromOpenedPage: function(data) {
+ that.matnr = data.data
+ that.findMat(that.matnr)
+ },
+ },
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl })
+ },
+
+ });
+ that.matnr = ''
+ },
+ findMat() {
let that = this
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/order/search/orderNo/auth',
+ url: that.commonUrl + '/mobile/mat/search/auth',
data: {
- orderNo: that.order
+ matnr:that.matnr
},
header: {
'token':uni.getStorageSync('token')
},
success(result) {
- console.log(result)
+ uni.vibrateShort();
let res = result.data
- if (res.code === 200) {
- if(res.data) {
- uni.showLoading();
- that.matList = res.data;
- that.orderNo = that.order
- that.initAnfme()
- console.log(that.matList)
- }
+ if (res.code === 200 && res.data) {
+ that.matData = res.data
+ that.matnr = ''
+ uni.navigateTo({
+ url: "matQuery",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ matList: function(data) {
+ that.checkMat(data.data)
+ // that.matList.push(data.data)
+ },
+ },
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ res.eventChannel.emit('matData', { data: that.matData })
+ },
+ });
} else if (res.code == 403) {
uni.showToast({title: res.msg, icon: "none", position: 'top'})
setTimeout(() => {
@@ -347,18 +337,41 @@
} else {
uni.showToast({title: res.msg, icon: "none",position: 'top'})
}
+
}
});
+
+ },
+
+ // 娣诲姞鍟嗗搧
+ addMat(mat) {
+ this.matList.unshift(mat)
+ },
+ checkMat(mat) {
+ var len = this.matList.length
+ var add = true
+ // for (var i = 0; i < len; i++) {
+ // if (mat.matnr == this.matList[i].tiaoma){
+ // uni.showToast({title: "鏉$爜閲嶅鎵簡", icon: "none", position: 'top'})
+ // }
+ // // if (mat.matnr == this.matList[i].matnr&&mat.batch == this.matList[i].batch&&mat.orderNo == this.matList[i].orderNo) {
+ // // this.matList[i].anfme += mat.anfme
+ // // this.$forceUpdate() // 寮哄埗鍒锋柊
+ // // add = false
+ // // }
+ // }
+ if (add) {
+ this.matList.unshift(mat)
+ }
},
change(e) {
- // console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
+ console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
},
toggle(type) {
this.type = type
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
this.$refs.goodsSearch.open(type)
},
- // 鍒楄〃閫夋嫨
checkbox: function (e) {
var items = this.matList,
values = e.detail.value;
@@ -379,6 +392,32 @@
this.checkText = "鍏ㄩ��"
}
uni.vibrateShort();
+ },
+ revise(item,index) {
+ this.count = this.matList[index].anfme
+ // var maxCount = this.matList[index].maxCount
+ // if (maxCount == undefined ) {
+ // this.matList[index]["maxCount"] = item.enableQty
+ // }
+ // this.enableQty = item.enableQty
+ // this.count = this.minCount
+ // this.maxCount = item.maxCount
+ this.rowNum = index
+ this.eject()
+ },
+ eject(type) {
+ this.type = type
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+ this.$refs.revise.open(type)
+ },
+ changeValue(value) {
+ this.count = value
+ },
+ confirm() {
+ this.matList[this.rowNum].anfme = this.count
+ this.matList[this.rowNum].batch = this.batch
+ this.$refs.revise.close()
+ this.$forceUpdate() // 寮哄埗鍒锋柊
},
// 鍒楄〃鍙嶉��
reChecked() {
@@ -407,6 +446,7 @@
},
// 鍒楄〃鍏ㄩ��
allChecked(e){
+
if (this.check == true) {
for (var i = 0; i < this.matList.length;i++) {
this.$set(this.matList[i],'checked',false)
@@ -422,14 +462,6 @@
}
uni.vibrateShort();
},
- // 妫�楠屽垪琛ㄩ暱搴� 绛変簬0 鏄剧ず鍏ㄩ��
- checkList() {
- if (this.matList.length == 0) {
- this.check = false
- this.checkText = "鍏ㄩ��"
- return;
- }
- }
}
}
</script>
@@ -437,18 +469,26 @@
<style>
/* @import "../../colorui/main.css";
@import "../../colorui/icon.css"; */
- .square-1 .lable {
- display: inline-block;
- float: right;
- height: 100%;
- width: 400rpx;
+ .revise-box {
+ position: relative;
+ width: 500rpx;
+ height: 400rpx;
+ border-radius: 25px;
}
- .square-1 .lable label {
- display: inline-block;
- float: left;
- height: 100%;
- width: 90rpx;
- line-height: 100rpx;
+ .revise-box-top {
+ width: 400rpx;
+ height: 120rpx;
+ border-radius: 25px;
+ }
+ .changeBox {
+ width: 400rpx;
+ height: 100rpx;
+ }
+ .num-box {
+ margin-left: 100rpx;
+ }
+ .revise-box-buttom{
+ margin-left: 190rpx;
}
.pak-seach-box {
background-color: #FFFFFF;
@@ -484,7 +524,7 @@
.box-buttom {
display: inline-block;
background-color: #ededed;
- width: 96%;
+ width: 65%;
height: 60rpx;
border-radius: 20rpx;
margin: 15rpx 15rpx 0rpx 15rpx;
@@ -501,12 +541,24 @@
margin-top: 5rpx;
margin-right: 10rpx;
}
+ /* .pak-seach-box input {
+ background-color: #ededed;
+ border: 1rpx solid #d8d8d8;
+ display: inline-block;
+ border-radius: 20rpx;
+ float: left;
+ width: 70%;
+ height: 60rpx;
+ line-height: 60rpx;
+ margin: 15rpx 15rpx 0rpx 15rpx;
+ padding-left: 20rpx;
+ } */
.pak-seach-box button {
background-color: #1E9FFF;
color: #ffffff;
display: inline-block;
float: right;
- width: 150rpx;
+ width: 180rpx;
height: 60rpx;
margin: 15rpx 15rpx 0rpx 15rpx;
line-height: 60rpx;
@@ -534,7 +586,7 @@
}
.data-list {
border-bottom: 1px solid #d8d8d8;
- height: 180rpx;
+ height: 280rpx;
margin: 15rpx;
border-radius: 20rpx;
}
@@ -542,7 +594,7 @@
margin-top: 20rpx;
}
.data-list:last-child {
- margin-bottom: 160rpx;
+ margin-bottom: 120rpx;
}
/* .data-list-left {
display: inline-block;
@@ -551,85 +603,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: 100rpx;
height: 180rpx;
line-height: 180rpx;
}
+ /* display: inline-block;
+ float: right;
+ width: 200rpx;
+ height: 180rpx;
+ line-height: 180rpx; */
.data-list-right label {
display: inline-block;
float: left;
- width: 100rpx;
+ width: 80rpx;
height: 180rpx;
}
- .revise-box {
- width: 500rpx;
- height: 500rpx;
- }
- .revise-box-top {
- width: 100%;
- height: 100rpx;
- background-color: #fff;
- padding: 10rpx;
- }
- .changeBox {
- width: 100%;
- height: 100rpx;
- line-height: 120rpx;
- text-align: center;
- background-color: #FFF;
- margin-top: 20rpx;
- border-bottom: 1px solid #e3e3e3;
- }
- .text-box {
- width: 100%;
- height: 100rpx;
- line-height: 120rpx;
- text-align: center;
- /* padding-left: 120rpx; */
- background-color: #FFF;
- margin-top: 20rpx;
- border-bottom: 1px solid #e3e3e3;
- }
- .changeBox .num-box {
- display: inline-block;
- float: left;
- }
- .changeBox button {
- float: left;
- }
- .revise-box-buttom {
- position: absolute;
- width: 100%;
- height: 100rpx;
- line-height: 100rpx;
- background-color: #FFFFFF;
- bottom: 0;
- text-align: center;
- }
-
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.1