From b4109c203742424cc795bdca9ca1e00d5602e241 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 26 十月 2024 08:24:15 +0800
Subject: [PATCH] #
---
pages/pakin/WarehouseOut.vue | 443 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 258 insertions(+), 185 deletions(-)
diff --git a/pages/pakin/WarehouseOut.vue b/pages/pakin/WarehouseOut.vue
index 7c84472..e81f4ea 100644
--- a/pages/pakin/WarehouseOut.vue
+++ b/pages/pakin/WarehouseOut.vue
@@ -1,33 +1,51 @@
<template>
<view>
- <view class="code">
+ <view class="code">
<view class="item">
- <view class="code-decs">鎵樼洏鐮�:</view>
- <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus" @input="barcodeInput()">
+ <view class="item" style="width: 50%;">
+ <view class="code-decs" style="width: 100%;">璁㈠崟鍙�:{{item.orderNo}}</view>
+ </view>
+ <view class="item" style="width: 50%;">
+ <view class="code-decs" style="width: 100%;">鐗╂枡:{{item.matnr}}</view>
+ </view>
+
+
</view>
<view class="item">
- <view class="code-decs">搴撲綅鐮�:</view>
- <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="locNo" :focus="locNoFocus" @input="locNoInput()">
- </view>
+ <view class="code-decs">搴撲綅鍙�:</view>
+ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="locNo" :focus="barcodeFocus"
+ @input="barcodeInput()">
+ </view>
</view>
<view class="mat-list-title">
- 鍟嗗搧鍒楄〃
+ <view style="width: 200rpx;"></view>
+ <view style="-webkit-flex: 1;flex: 1;">鍟嗗搧鍒楄〃</view>
+ <view style="width: 200rpx;"><button size="mini" type="primary" @click="reset()">娓呯┖</button></view>
</view>
<scroll-view>
- <view class="list" v-for="(item,i) in dataList" :key="i">
- <view class="list-left">
+ <checkbox-group class="list" v-for="(item,i) in dataList" :key="i" @change="checkboxChange">
+ <view class="aside">
+ <checkbox :value="item.matnr" :checked="item.checked" @click="set(i)"/>
+ </view>
+ <view class="list-left" style="margin: 0;">
<view class="list-left-item">
<view class="desc">No锛�</view>
<view class="left-item">{{i + 1}}</view>
</view>
<view class="list-left-item">
- <view class="desc">缂栫爜锛�</view>
+ <view class="desc">璁㈠崟鍙凤細</view>
+ <view class="left-item">
+ <uni-tag :text="item.orderNo" type="primary"></uni-tag>
+ </view>
+ </view>
+ <view class="list-left-item">
+ <view class="desc">鏂欏彿锛�</view>
<view class="left-item">
<uni-tag :text="item.matnr" type="primary"></uni-tag>
</view>
</view>
<view class="list-left-item">
- <view class="desc">鍝佸悕锛�</view>
+ <view class="desc">鍚嶇О锛�</view>
<view class="left-item">{{item.maktx}}</view>
</view>
<view class="list-left-item">
@@ -47,19 +65,19 @@
</view>
</view> -->
<view class="list-left-item">
- <view class="desc">鏁伴噺锛�</view>
+ <view class="desc">鍓╀綑鏁伴噺锛�</view>
<view class="left-item">{{item.anfme}}</view>
</view>
</view>
- <!-- <view class="list-right">
+ <view class="list-right">
<uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons>
<uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons>
- </view> -->
- </view>
+ </view>
+ </checkbox-group>
</scroll-view>
<!-- 搴曢儴鎿嶄綔鎸夐挳 -->
<view class="buttom">
- <button size="mini" @click="reset('warn')">閲嶇疆</button>
+ <!-- <button size="mini" @click="reset('warn')">閲嶇疆</button> -->
<button size="mini" type="primary" @click="combConfirm('warn')">涓嬫灦</button>
</view>
<!-- 寮圭獥 -->
@@ -70,24 +88,25 @@
<!-- 鏍囬 -->
<view class="title">淇敼</view>
<view class="popup-item">
- <view class="popup-item-left">缂栫爜:</view>
+ <view class="popup-item-left">鏂欏彿:</view>
<view class="popup-item-right">
- <input type="text" v-model="matnr" disabled="true"
+ <input type="text" v-model="matnr1" disabled="true"
style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
</view>
</view>
- <view class="popup-item">
+ <!-- <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="popup-item">
+ </view> -->
+ <view class="popup-item">
<view class="popup-item-left">閲嶉噺:</view>
<view class="popup-item-right"><input type="text" v-model="weight"></view>
- </view> -->
+ </view>
<view class="popup-item">
<view class="popup-item-left">鏁伴噺:</view>
<view class="popup-item-right" style="border: none;justify-content: center;">
- <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" />
+ <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474"
+ @change="changeValue" />
</view>
</view>
<view class="btn">
@@ -102,7 +121,7 @@
<!-- 鎻愮ず绐楃ず渚� -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog :type="msgType" confirmText="绉婚櫎" :title="title" :content="content"
- @confirm="removeConfirm()" @close="removeClose"></uni-popup-dialog>
+ @confirm="removeConfirm" @close="removeClose"></uni-popup-dialog>
</uni-popup>
</view>
<view>
@@ -125,6 +144,12 @@
@confirm="resetConfirm" @close="resetClose"></uni-popup-dialog>
</uni-popup>
</view>
+ <view>
+ <!-- 鎻愮ず淇℃伅寮圭獥 -->
+ <uni-popup ref="message" type="message">
+ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
+ </uni-popup>
+ </view>
</view>
</template>
@@ -134,11 +159,15 @@
return {
baseUrl: '',
token: '',
+ order: '',
barcode: '',
+ barcodeFocus: '',
dataList: [],
+ checkedDataList: [],
count: 0,
rowNum: '',
matnr: '',
+ matnr1: '',
batch: '',
weight: '',
msgType1: 'success',
@@ -147,78 +176,96 @@
title: '',
content: '',
barcodeFocus: true,
- locNoFocus: false,
+ matFocus: false,
matData: '',
removeNum: 0,
+ orderNoList: [],
+ orderNo: '',
+ item:'',
locNo:''
}
},
onLoad() {
-
+ let that = this
+ // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('item', function(data) {
+ // console.log(data.item);
+ that.item = data.item
+
+ })
},
onShow() {
this.baseUrl = uni.getStorageSync('baseUrl');
this.token = uni.getStorageSync('token');
+ this.getOrderNoList()
},
methods: {
+ set(e) {
+ var ck = this.dataList[e].checked
+ this.dataList[e].checked = ck ? false:true
+ },
+ getChecked() {
+ var checkedList = []
+ for(var i = 0; i < this.dataList.length; i++) {
+ var t = !this.dataList[i].checked
+ if (this.dataList[i].checked) {
+ checkedList.push(this.dataList[i])
+ }
+ }
+ this.dataList = checkedList
+ },
+ getOrderDet() {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/order/list/orderNo',
+ data: {orderNo: that.orderNo} ,
+ method: 'GET',
+ success(res) {
+ res = res.data;
+ if (res.code === 200) {
+ that.dataList = res.data
+ for (var i = 0; i < that.dataList.length; i++) {
+ that.$set(that.dataList[i],'checked',false)
+ }
+ }
+ }
+ })
+ },
+ checkboxChange: function (e) {
+ },
+ getOrderNoList() {
+ let that = this
+ uni.request({
+ url: this.baseUrl + '/order/list/all',
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ method: 'POST',
+ success(res) {
+ res = res.data
+ for (var i = 0; i < res.data.length; i++) {
+ that.orderNoList.push(res.data[i].order_no)
+ }
+ }
+ })
+ },
+
messageToggle(type) {
this.msgType1 = type
this.$refs.message.open()
},
// barcode input 浜嬩欢
barcodeInput() {
- var that = this
+ let that = this
// 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏�
- setTimeout(() => {
- var len = this.barcode.length
- if (len != 8) {
- uni.showToast({
- title: '鎵樼洏鐮佹湁璇閲嶈瘯',
- icon: "none",
- position: 'top'
- });
- if(that.locNo != '' && that.barcode != ''){
- uni.request({
- url: that.baseUrl + '/locDetl/forLocNoAndBarcode/auth',
- data: {
- barcode: that.barcode,
- locNo: that.locNo
- },
- header: {
- 'token': uni.getStorageSync('token')
- },
- success(result) {
- var res = result.data
- if (res.code === 200) {
- that.dataList = res.data;
- } else if (res.code == 403) {
- that.messageText = res.msg
- that.messageToggle('error')
- setTimeout(() => {
- uni.reLaunch({
- url: '../login/login'
- });
- }, 1000);
- } else {
- that.messageText = res.msg
- that.messageToggle('error')
- }
- }
- });
- }
- this.barcodeFocuss()
- return;
- }
- this.focuss()
- }, 200)
- },
- locNoInput(){
- var that = this
- if(that.locNo != '' && that.barcode != ''){
+ setTimeout(() => {
uni.request({
- url: that.baseUrl + '/locDetl/forLocNoAndBarcode/auth',
+ url: that.baseUrl + '/locDetl/forlocNo/auth',
data: {
- barcode: that.barcode,
+ orderNo: that.item.orderNo,
+ matnr: that.item.matnr,
+ batch: that.item.batch,
locNo: that.locNo
},
header: {
@@ -242,7 +289,8 @@
}
}
});
- }
+ this.focuss()
+ }, 200)
},
// 鎵樼洏鐮佹湁璇噸缃�
barcodeFocuss() {
@@ -255,15 +303,17 @@
},
// 鍟嗗搧鍏夋爣娓呯┖閲嶇疆
focuss() {
- this.focus = false;
setTimeout(() => {
- this.locNo = '';
- this.locNoFocus = true;
+ this.matnr = '';
+ this.matFocus = true;
}, 100);
},
// 鎼滅储鐗╂枡
findMat() {
let that = this
+ var matnr = that.matnr.split(";")
+ that.order = matnr[0]
+ that.matnr = matnr[1]
uni.request({
url: that.baseUrl + '/mat/auth',
data: {
@@ -278,6 +328,7 @@
that.matData = result.data
that.matnr = ''
that.matData['batch'] = ''
+ result.data.batch = matnr[2]
uni.navigateTo({
url: "../mat/matSelected",
// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
@@ -317,130 +368,79 @@
});
},
- selectMat() {
- let that = this
- uni.navigateTo({
- url: "../mat/matQuery",
- success: function(res) {
- // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
- res.eventChannel.emit('commonUrl', {
- commonUrl: ''
- })
- },
- events: {
- // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
- acceptDataFromOpenedPage: function(data) {
- that.matnr = data.data
- that.findMat(that.matnr)
- },
- },
-
-
- });
- that.matnr = ''
- },
checkMat(mat) {
+ mat['orderNo'] = this.order
var len = this.dataList.length
- var add = true ,sameItem = false
+ var add = true,
+ sameItem = false
for (var i = 0; i < len; i++) {
- if (mat.matnr == this.dataList[i].matnr) {
- for (var j = 0; j < len; j++) {
- if (mat.batch == this.dataList[j].batch) {
- sameItem = true
+ if (mat.orderNo != this.dataList[i].orderNo) {
+ add = true
+ break;
+ } else {
+ if (mat.matnr == this.dataList[i].matnr) {
+ for (var j = 0; j < len; j++) {
+ if (mat.batch == this.dataList[j].batch) {
+ sameItem = true
+ }
}
- }
- // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
- if (mat.batch != this.dataList[i].batch) {
- this.$forceUpdate() // 寮哄埗鍒锋柊
- if (sameItem) {
- add = false
+ // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
+ if (mat.batch != this.dataList[i].batch) {
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ if (sameItem) {
+ add = false
+ } else {
+ add = true
+ }
+
} else {
- add = true
+ // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞
+ this.dataList[i].anfme += mat.anfme
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ add = false
}
-
- } else {
- // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞
- this.dataList[i].anfme += mat.anfme
- this.$forceUpdate() // 寮哄埗鍒锋柊
- add = false
}
}
+
}
if (add) {
this.dataList.unshift(mat)
}
},
- // 淇敼鎵瑰彿
- revise(item, i) {
- this.matnr = this.dataList[i].matnr
- this.count = this.dataList[i].anfme
- this.batch = this.dataList[i].batch
- this.weight = this.dataList[i].weight
- this.rowNum = i
- this.eject()
- },
- eject(type) {
- this.type = type
- this.$refs.revise.open(type)
- },
- // 鍒楄〃绉婚櫎鎸夐挳
- remove(item, i, type) {
- this.removeNum = i
- this.msgType = type
- this.title = '璀﹀憡'
- this.content = '鏄惁绉婚櫎褰撳墠鍟嗗搧!'
- this.$refs.alertDialog.open(i)
- },
- // 纭绉婚櫎
- removeConfirm() {
- this.messageText = "绉婚櫎鎴愬姛"
- this.messageToggle('success')
- this.dataList.splice(this.removeNum, 1)
- },
- // 鍙栨秷绉婚櫎
- removeClose() {
- this.$refs.alertDialog.close()
- },
- reviseConfirm() {
- this.dataList[this.rowNum].anfme = this.count
- this.dataList[this.rowNum].batch = this.batch
- this.dataList[this.rowNum].weight = this.weight
- this.matnr = ''
- this.messageText = "淇敼鎴愬姛"
- this.messageToggle('success')
- this.$refs.revise.close()
- },
- reviseClose() {
- this.$refs.revise.close()
- },
- changeValue(value) {
- this.count = value
- },
combConfirm(type) {
this.msgType = type
this.title = '璀﹀憡'
- this.content = '鏄惁涓嬫灦!'
+ this.content = '鏄惁鐜板湪涓嬫灦!'
this.$refs.combConfirm.open()
- },
- combClose() {
- this.$refs.combConfirm.close()
},
comb() {
uni.vibrateShort();
let that = this;
-
- if (that.dataList.length === 0) {
- this.messageText = "鎵樼洏鐮佺粍鎵樻暟鎹湁璇�"
+ if (that.locNo === '') {
+ this.messageText = "璇锋壂鎻忓簱浣嶅彿"
this.messageToggle('error')
return;
- }
+ }
+ if (that.dataList.length === 0) {
+ this.messageText = "璇锋坊鍔犲晢鍝佸垪琛�"
+ this.messageToggle('error')
+ return;
+ }
+ for (var i = 0; i < that.dataList.length; i++) {
+ if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') {
+ this.messageText = that.dataList[i].matnr + '涓嬫灦鏁伴噺涓嶈兘涓�0'
+ this.messageToggle('error')
+ return;
+ }
+ }
uni.request({
url: that.baseUrl + '/mobile/pda/WarehouseOut',
- data:JSON.stringify({
- barcode: that.barcode,
- locNo:that.locNo,
+ data: JSON.stringify({
+ orderNo: that.item.orderNo,
+ locno: that.locNo,
combMats: that.dataList
- }),
+ }),
+ method: 'POST',
header: {
'token': uni.getStorageSync('token')
},
@@ -449,7 +449,7 @@
if (res.code === 200) {
that.resst();
that.messageText = "涓嬫灦鎴愬姛"
- that.messageToggle('success')
+ that.messageToggle('success')
} else if (res.code == 403) {
that.messageText = res.msg
that.messageToggle('error')
@@ -474,6 +474,7 @@
// 纭閲嶇疆
resetConfirm() {
this.dataList = []
+ this.locNo = ''
this.messageText = "閲嶇疆瀹屾垚"
this.messageToggle('success')
},
@@ -481,12 +482,60 @@
resetClose() {
},
+ // 淇敼鎵瑰彿
+ revise(item, i) {
+ this.matnr1 = this.dataList[i].matnr
+ this.count = this.dataList[i].anfme
+ this.batch = this.dataList[i].batch
+ this.weight = this.dataList[i].weight
+ this.rowNum = i
+ this.eject()
+ },
+ eject(type) {
+ this.type = type
+ this.$refs.revise.open(type)
+ },
+ // 鍒楄〃绉婚櫎鎸夐挳
+ remove(item, i, type) {
+ this.removeNum = i
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁绉婚櫎褰撳墠鍟嗗搧!'
+ this.$refs.alertDialog.open(i)
+ },
+ // 纭绉婚櫎
+ removeConfirm(i) {
+ this.messageText = "绉婚櫎鎴愬姛"
+ this.messageToggle('success')
+ this.dataList.splice(this.removeNum, 1)
+ },
+ reviseConfirm() {
+ this.dataList[this.rowNum].anfme = this.count
+ this.dataList[this.rowNum].batch = this.batch
+ this.dataList[this.rowNum].weight = this.weight
+ this.messageText = "淇敼鎴愬姛"
+ this.messageToggle('success')
+ this.$refs.revise.close()
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ },
+ reviseClose() {
+ this.$refs.revise.close()
+ },
+ changeValue(value) {
+ this.count = value
+ },
// 娓呯┖
resst() {
this.dataList = []
- this.barcode = ''
- this.locNo=''
+ this.locNo = ''
this.barcodeFocuss()
+ },
+ combClose() {
+ this.$refs.combConfirm.close()
+ },
+ // 鍙栨秷绉婚櫎
+ removeClose() {
+ this.$refs.alertDialog.close()
},
}
}
@@ -494,9 +543,30 @@
<style>
@import url('../../static/css/wms.css/wms.css');
-
+
+ .list {
+ display: flex;
+ min-height: 80rpx;
+ background-color: #FFF;
+ margin: 20rpx 20rpx;
+ border-radius: 20rpx;
+ box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
+ }
+
.list:first-child {
- margin-top: 300rpx;
+ margin-top: 360rpx;
+ }
+
+ .list:last-child {
+ margin-bottom: 120rpx;
+ }
+
+ .aside {
+ width: 100rpx;
+ /* background-color: #303133; */
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
.code {
@@ -537,8 +607,9 @@
}
.mat-list-title {
+ display: flex;
+ align-items: center;
height: 80rpx;
- line-height: 80rpx;
width: 100%;
background-color: white;
position: fixed;
@@ -546,6 +617,8 @@
z-index: 9;
/* border-top: 1px solid #DCDFE6; */
text-align: center;
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
+
+
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.1