From a70034659894cf2c3cd88584cd3e424f3203c8e5 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 24 十二月 2024 17:05:49 +0800
Subject: [PATCH] 添加PDA拣选完成
---
代码管理/淮安PDA/pages/stash/receiveorderoutbound.vue | 665 ++++++++++++++++
代码管理/淮安PDA/pages/raworderboxing/raworderboxing.vue | 153 ++-
代码管理/淮安PDA/pages/stash/TakeStock.vue | 2
代码管理/淮安PDA/pages/index/index.vue | 7
代码管理/淮安PDA/pages.json | 34
代码管理/淮安PDA/pages/stash/receiveorder.vue | 181 ++++
代码管理/淮安PDA/pages/stash/pickingMat.vue | 496 ++++++++----
代码管理/淮安PDA/pages/stash/inboundorder.vue | 2
代码管理/淮安PDA/pages/stash/raworderboxing.vue | 587 ++++++++++++++
代码管理/淮安PDA/pages/stash/QueryData.vue | 54
代码管理/淮安PDA/pages/stash/index.vue | 172 ++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs | 6
12 files changed, 2,093 insertions(+), 266 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs"
index 29dec73..b207da1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs"
@@ -26,7 +26,11 @@
{
return Service.GetStockOutboundOrder(saveModel);
}
-
+ /// <summary>
+ /// 鎷i�夊畬鎴�
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
[HttpPost, HttpGet, Route("MaterialPick"), AllowAnonymous]
public WebResponseContent MaterialPick(string palletCode)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
index 3322c96..c91abb8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
@@ -23,9 +23,9 @@
},
{
- "path": "pages/stash/printingink/index",
+ "path": "pages/stash/index",
"style": {
- "navigationBarTitleText": "娌瑰ⅷ浠�",
+ "navigationBarTitleText": "鍔熻兘",
"enablePullDownRefresh": false
}
},
@@ -33,6 +33,13 @@
"path": "pages/stash/inboundorder",
"style": {
"navigationBarTitleText": "缁勭洏",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/stash/raworderboxing",
+ "style": {
+ "navigationBarTitleText": "缁勭洏鍏ュ簱",
"enablePullDownRefresh": false
}
},
@@ -58,9 +65,16 @@
}
},
{
- "path": "pages/receiveorder/receiveorder",
+ "path": "pages/stash/receiveorder",
"style": {
"navigationBarTitleText": "鏀惰揣",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/stash/receiveorderoutbound",
+ "style": {
+ "navigationBarTitleText": "鏀惰揣鍗�",
"enablePullDownRefresh": false
}
},
@@ -76,13 +90,6 @@
"path": "pages/raworderboxing/inboundorder",
"style": {
"navigationBarTitleText": "鍏ュ簱璁㈠崟",
- "enablePullDownRefresh": false
- }
- },
- {
- "path": "pages/raworderboxing/raworderboxing",
- "style": {
- "navigationBarTitleText": "缁勭洏",
"enablePullDownRefresh": false
}
},
@@ -176,13 +183,6 @@
//鐢熶骇棰嗘枡鍗�(浠撳簱鎵嬪姩澶囨枡)
{
"path": "pages/receiveorder/receiveorder",
- "style": {
- "navigationBarTitleText": "鏀惰揣鍗�",
- "enablePullDownRefresh": false
- }
- },
- {
- "path": "pages/receiveorder/receiveorderoutbound",
"style": {
"navigationBarTitleText": "鏀惰揣鍗�",
"enablePullDownRefresh": false
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
index 67f9ff8..c0fb4d7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/index/index.vue"
@@ -3,7 +3,7 @@
<view class="" slot="body">
<!-- <view v-for="(item,index) in tree" :key="item.id"> -->
<u-grid :col="3">
- <u-grid-item @tap="clickCoupon(item.url,item.menuId,item.description)" v-for="(item) in tree"
+ <u-grid-item @tap="clickCoupon(item.url,item.menuId,item.description,item.menuName)" v-for="(item) in tree"
:key="item.menuId">
<u-icon name="home" :size="50"></u-icon>
<view class="grid-text">{{item.menuName}}</view>
@@ -115,14 +115,15 @@
// return true;
return this.datas.find(x => x.text == text);
},
- clickCoupon(url, menuid, warehouseid) {
+ clickCoupon(url, menuid, warehouseid, menuname) {
// console.log("clickCoupon")
if (this.hasLogin()) {
this.$u.route({
url: url,
params: {
menuId: menuid,
- warehouseId: warehouseid
+ warehouseId: warehouseid,
+ menuName: menuname
}
})
} else {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/raworderboxing/raworderboxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/raworderboxing/raworderboxing.vue"
index 69d5602..ae5ce1f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/raworderboxing/raworderboxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/raworderboxing/raworderboxing.vue"
@@ -24,7 +24,7 @@
</uni-forms-item>
</uni-forms>
<uni-list>
- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
+ <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
<template v-slot:body>
<view class="uni-list-box">
<view class="uni-content">
@@ -33,7 +33,7 @@
</view>
</view>
</template>
- </uni-list-item>
+ </uni-list-item> -->
<uni-list-item direction="column" v-for="(item,index) in matInfos" :key="item.sn">
<template v-slot:body>
<view class="uni-list-box">
@@ -41,9 +41,12 @@
@click="deleteList(item.sn)">
</uni-icons>
<view class="uni-content">
- <view class="uni-title-sub uni-ellipsis-2">璁㈠崟鍙凤細{{item.orderNo}}</view>
- <view class="uni-note">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
- <view class="uni-note">鏁伴噺锛歿{item.matQty}}</view>
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
</view>
</view>
</template>
@@ -150,7 +153,7 @@
export default {
data() {
return {
- items: ['缁勭洏', '鍏ュ簱', '鍗曟嵁淇℃伅'],//, '瑙g洏'
+ items: ['缁勭洏', '鍏ュ簱', '鍗曟嵁淇℃伅'], //, '瑙g洏'
current: 0,
matTotal: [],
matInfos: [],
@@ -168,7 +171,8 @@
value: "",
matInfo: [],
value2: "",
- matTotals:[]
+ matTotals: [],
+ warehouseId:""
}
},
onShow() {},
@@ -176,6 +180,7 @@
this.focus = false;
this.addressFocus = false;
this.orderNo = res.orderNo;
+ this.warehouseId=res.warehouseId;
this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
this.getData();
},
@@ -185,7 +190,7 @@
innerAudioContext.play();
},
//瑙g洏
- releasebox(){
+ releasebox() {
if (this.value.length == 0) {
this.$refs.uToast.show({
title: "璇锋壂鐮�",
@@ -223,7 +228,7 @@
}
})
},
- releaseboxInput(){
+ releaseboxInput() {
this.$nextTick(() => {
if (this.value.length == 0) {
return;
@@ -267,7 +272,7 @@
}
})
},
-
+
updateFocus() {
this.$nextTick(() => {
this.materSn = '';
@@ -311,7 +316,7 @@
this.$nextTick(function(x) {
if (this.barcode.length > 0) {
// if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') {
- this.focus = true;
+ this.focus = true;
// } else {
// this.$refs.uToast.show({
// title: "鎵爜閿欒,璇锋壂鎻忔墭鐩樼爜",
@@ -329,53 +334,93 @@
setTimeout(() => {
this.materSn = "";
}, 10);
- var matInfo = matSn.split('|');
-
- if (matInfo.length == 7) {
- var matObj = {
- matCode: matInfo[1],
- matProductionDate: matInfo[3],
- matQty: matInfo[5],
- orderNo: matInfo[6],
- sn: matSn
- }
- var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo);
- if (!temp) {
- var tmp = this.matTotal.find(x => x.matCode == matObj.matCode);
- if (!tmp) {
- this.matTotal.push({
- matCode: matObj.matCode,
- matQuantity: parseInt(matObj.matQty)
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ if (res.status) {
+ // debugger
+ // this.matTotal.push({
+ // matCode: res.data.materielCode,
+ // matQuantity: parseInt(res.data.quantity)
+ // });
+ // this.sns.push(res.data.serialNumber);
+
+ this.matInfos.splice(0, this.matInfos.length);
+ this.matInfos.push(res.data);
+ if (res.message) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
})
- } else {
- tmp.matQuantity += parseInt(matObj.matQty);
+ // setTimeout(this.updateFocus,200);
+ setTimeout(() => {
+ this.voiceSpeech('../../static/fail.mp3');
+ }, 100);
+ return;
}
- this.sns.push(matSn);
- this.matInfos.push(matObj);
- setTimeout(this.updateFocus, 200);
+ // setTimeout(this.updateFocus,200);
setTimeout(() => {
this.voiceSpeech('../../static/success.mp3');
}, 100);
} else {
+ // this.innerCode = "";
this.$refs.uToast.show({
- title: "鎵爜閲嶅",
+ title: res.message,
type: "error"
})
- setTimeout(this.updateFocus, 200);
+ // setTimeout(this.updateFocus,200);
setTimeout(() => {
this.voiceSpeech('../../static/fail.mp3');
}, 100);
}
- } else {
- this.$refs.uToast.show({
- title: "鎵爜閿欒,璇锋壂鎻忔纭唴绠辩爜",
- type: "error"
- })
- setTimeout(this.updateFocus, 200);
- setTimeout(() => {
- this.voiceSpeech('../../static/fail.mp3');
- }, 100);
- }
+ })
+
+
+ // var matInfo = matSn.split('|');
+
+ // if (matInfo.length == 7) {
+ // var matObj = {
+ // matCode: matInfo[1],
+ // matProductionDate: matInfo[3],
+ // matQty: matInfo[5],
+ // orderNo: matInfo[6],
+ // sn: matSn
+ // }
+ // var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo);
+ // if (!temp) {
+ // var tmp = this.matTotal.find(x => x.matCode == matObj.matCode);
+ // if (!tmp) {
+ // this.matTotal.push({
+ // matCode: matObj.matCode,
+ // matQuantity: parseInt(matObj.matQty)
+ // })
+ // } else {
+ // tmp.matQuantity += parseInt(matObj.matQty);
+ // }
+ // this.sns.push(matSn);
+ // this.matInfos.push(matObj);
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/success.mp3');
+ // }, 100);
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閲嶅",
+ // type: "error"
+ // })
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ // }
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閿欒,璇锋壂鎻忔纭唴绠辩爜",
+ // type: "error"
+ // })
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ // }
}
})
},
@@ -383,17 +428,18 @@
var postData = {
MainData: {
"barcode": this.inboundBarcode,
- "startPoint": this.address
+ "startPoint": this.address,
+ "warehouseId":this.warehouseId
}
}
- this.$u.post('/api/Inbound/RequestInbound', postData).then(res => {
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
if (res.status) {
uni.$showMsg(res.message);
this.inboundBarcode = "";
this.address = "";
- setTimeout(()=>{
+ setTimeout(() => {
this.addressFocus = false;
- },200);
+ }, 200);
} else {
this.$refs.uToast.show({
title: res.message,
@@ -423,7 +469,7 @@
sn = item.sn;
var tmp = this.matTotal.find(x => x.matCode == item.matCode);
if (tmp) {
- tmp.matQuantity -= parseInt(item.matQty);
+ tmp.matQuantity -= parseInt(item.quantity);
} else {
}
@@ -443,7 +489,7 @@
})
return;
}
- if (this.sns.length == 0) {
+ if (this.matInfos.length == 0) {
this.$refs.uToast.show({
title: "璇锋壂鎻忓唴绠辨爣绛�",
type: 'error'
@@ -452,9 +498,10 @@
}
this.$u.post('/api/InboundOrder/MaterielGroup', {
MainData: {
- "pallet_barcode": this.barcode,
+ "palletCode": this.barcode,
"orderNo": this.orderNo,
- "isFull": this.check
+ // "isFull": this.check
+ "warehouseId":this.warehouseId
},
DelKeys: this.sns
}).then(res => {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/QueryData.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/QueryData.vue"
index 93ce629..a98aac8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/QueryData.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/QueryData.vue"
@@ -1,23 +1,33 @@
<template>
- <view >
+ <view>
<!-- <uni-forms ref="formData" :modelValue="formData" label-width="120"> -->
<uni-forms class="customcss" label-width="120">
- <uni-forms-item label="鏉$爜淇℃伅">
- <uni-easyinput type="text" :focus="!barcodefocus" v-model="barcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮佹垨灏忕伀杞︽潯鐮�" ref='midInput'
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!barcodefocus" v-model="barcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput'
@input="locationNoinputChange()" />
</uni-forms-item>
</uni-forms>
- <uni-list class="footer">
- <uni-list-item direction="column" v-for="(item,index) in infos" :key="index">
+ <uni-list>
+ <uni-list-item direction="column" v-if="stockInfoBarcode">
<template v-slot:body>
<view class="uni-list-box">
<view class="uni-content">
- <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栧彿锛歿{item.matCode}}</view>
- <view class="uni-title-sub uni-ellipsis-2">鐗╂枡鍚嶇О锛歿{item.matName}}</view>
- <view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{item.barcode}}</view>
- <view class="uni-title-sub uni-ellipsis-2">鍑哄簱鏁伴噺锛歿{item.quantity}}</view>
- <view class="uni-title-sub uni-ellipsis-2">閰嶉�佸湴鍧�锛歿{item.address}}</view>
- <view class="uni-title-sub uni-ellipsis-2">褰撳墠浣嶇疆锛歿{item.currentAddress}}</view>
+ <view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{stockInfoBarcode}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ <uni-list-item direction="column" v-for="(item,index) in stockInfoDetail" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栧彿锛歿{item.materielCode}}</view>
+ <view class="uni-note">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+ <view class="uni-note">鐗╂枡鎵规锛歿{item.batchNo}}</view>
+ <view class="uni-note">搴撳瓨鏁伴噺锛歿{item.stockQuantity}}</view>
+ <view class="uni-note">鍑哄簱鏁伴噺锛歿{item.outboundQuantity}}</view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈� 鏁� 鏈燂細{{item.effectiveDate}}</view>
</view>
</view>
</template>
@@ -32,12 +42,16 @@
export default {
data() {
return {
- infos: [],
+ // stockInfo: [],
+ stockInfoDetail: [],
barcode: '',
barcodefocus: false,
+ warehouseId: 0,
+ stockInfoBarcode: '',
}
},
onLoad(res) {
+ this.warehouseId = res.warehouseId;
},
methods: {
locationNoinputChange() {
@@ -45,21 +59,27 @@
if (this.barcode != '') {
var postData = {
MainData: {
- "barcode": this.barcode
+ "barcode": this.barcode,
+ "warehouseId": this.warehouseId,
}
};
- this.$u.post('/api/Carry/GetCarryInfo', postData).then(res => {
+ this.$u.post('/api/StockInfo/StockQueryData', postData).then(res => {
+ this.stockInfoBarcode = "";
+ // this.stockInfo = [];
+ this.stockInfoDetail = [];
if (res.status) {
- this.infos = res.data
+ this.stockInfoBarcode = res.data.palletCode,
+ // this.stockInfo = res.data,
+ this.stockInfoDetail = res.data.details
} else {
this.$refs.uToast.show({
+ // title: "鏈壘鍒版墭鐩樹俊鎭�",
title: res.message,
type: "error"
})
}
this.barcode = "";
})
- this.istrue = true;
}
})
}
@@ -140,4 +160,4 @@
.footer {
// padding-top: 20%;
}
-</style>
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
index 1704818..a7148fa 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
@@ -32,7 +32,7 @@
<checkbox :checked="isPicking" @click="checkedClick">鏄惁鎷i��</checkbox>
</uni-forms-item>
<uni-forms-item>
- <button @click="picking" type="primary" style="margin-left: 0px;">鎷i��</button>
+ <button @click="picking" type="primary" style="margin-left: 0px;">鐩樼偣瀹屾垚</button>
</uni-forms-item>
</uni-forms>
<uni-list>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/inboundorder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/inboundorder.vue"
index 868fe1b..78f61db 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/inboundorder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/inboundorder.vue"
@@ -28,7 +28,7 @@
export default {
data() {
return {
- page: "/pages/raworderboxing/raworderboxing?",
+ page: "/pages/stash/raworderboxing?",
loadVisible: false,
searchValue: "",
status: "more",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/index.vue"
new file mode 100644
index 0000000..6a85079
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/index.vue"
@@ -0,0 +1,172 @@
+<template>
+ <!-- <u-card :title="title" > -->
+ <view class="" slot="body">
+ <!-- <view v-for="(item,index) in tree" :key="item.id"> -->
+ <u-grid :col="3">
+ <u-grid-item @tap="clickCoupon(item.url)" v-for="(item) in tree" :key="item.menuId">
+ <u-icon name="coupon" :size="50"></u-icon>
+ <view class="grid-text">{{item.menuName}}</view>
+ </u-grid-item>
+ </u-grid>
+ <!-- </view> -->
+ <u-toast ref="uToast" />
+ </view>
+
+ <!-- </u-card> -->
+</template>
+
+<script>
+ import {
+ config
+ } from '../../common/config.js'
+ export default {
+ data() {
+ return {
+ // title: '鎿嶄綔鍔熻兘'
+ datas: [],
+ tree: [],
+ warehouseId: "",
+ version: ""
+ }
+ },
+ onShow() {
+ // uni.getSystemInfo({
+ // success: (res) => {
+ // this.version = res.appWgtVersion;
+ // // console.log(res);
+ // //妫�娴嬪綋鍓嶅钩鍙帮紝濡傛灉鏄畨鍗撳垯鍚姩瀹夊崜鏇存柊
+ // if (res.platform == "android") {
+ // this.AndroidCheckUpdate();
+ // }
+ // }
+ // });
+ },
+ onLoad(res) {
+ // var id = this.$mp.query.id;
+ // this.warehouseId = this.$mp.query.warehouseId;
+ this.warehouseId = res.warehouseId;
+ uni.setNavigationBarTitle({
+ title: res.menuName
+ });
+ this.getCurrentTree(res.menuId);
+ },
+ mounted() {
+
+ },
+ methods: {
+ AndroidCheckUpdate: function() {
+ var _this = this;
+ uni.request({
+ url: 'http://10.1.211.101:9004/api/PDA/GetPDAVersion?version=' + this.version,
+ method: 'GET',
+ data: {},
+ success: res => {
+ if (res.data.data) {
+
+ uni.showToast({
+ title: '鏈夋柊鐨勭増鏈彂甯冿紝妫�娴嬪埌鎮ㄧ洰鍓嶄负Wifi杩炴帴锛岀▼搴忓凡鍚姩鑷姩鏇存柊銆傛柊鐗堟湰涓嬭浇瀹屾垚鍚庡皢鑷姩寮瑰嚭瀹夎绋嬪簭銆�',
+ mask: false,
+ duration: 5000,
+ icon: "none"
+ });
+ var dtask = plus.downloader.createDownload(
+ "http://10.1.211.101:9004/api/PDA/DownLoadApp", {},
+ function(d, status) {
+ // 涓嬭浇瀹屾垚
+ if (status == 200) {
+ plus.runtime.install(plus.io.convertLocalFileSystemURL(d
+ .filename), {}, {}, function(error) {
+ uni.showToast({
+ title: '瀹夎澶辫触',
+ mask: false,
+ duration: 1500
+ });
+ })
+ } else {
+ uni.showToast({
+ title: '鏇存柊澶辫触',
+ mask: false,
+ duration: 1500
+ });
+ }
+ });
+ dtask.start();
+ }
+ },
+ fail: () => {
+ console.log('璇锋眰澶辫触')
+ },
+ complete: () => {}
+ });
+ },
+ getCurrentTree(id) {
+ this.$u.post('/api/Sys_Menu/GetTreeMenuPDAStash?ParentId=' + id, {}).then(result => {
+ this.tree = result;
+ })
+ },
+ getTree(id, data, isRootId) {
+ this.datas.forEach((x) => {
+ if (x.pid == id) {
+ x.lv = data.lv + 1;
+ if (isRootId) {
+ x.rootId = id;
+ }
+ if (!data.children) data.children = [];
+ data.children.push(x);
+ this.getTree(x.id, x, isRootId);
+ }
+ });
+ },
+ getPermission(text) {
+ // return true;
+ return this.datas.find(x => x.text == text);
+ },
+ clickCoupon(url) {
+ // console.log("clickCoupon")
+ if (this.hasLogin()) {
+ // this.$u.route(url)
+ this.$u.route({
+ url: url,
+ params: {
+ warehouseId: this.warehouseId
+ }
+ })
+ } else {
+ this.$t.message.loading('鐧诲綍澶辨晥璇烽噸鏂扮櫥褰�')
+ uni.reLaunch({
+ url: '/pages/login/login'
+ });
+ }
+ },
+ lock() {
+ console.log("lock")
+ if (this.hasLogin()) {
+ this.$u.route("pages/feeding/feeding")
+ } else {
+ this.$t.message.loading('鐧诲綍澶辨晥璇烽噸鏂扮櫥褰�')
+ uni.reLaunch({
+ url: '/pages/login/login'
+ });
+ }
+ },
+
+ //鍒ゆ柇鏄惁鐧诲綍
+ hasLogin() {
+ let haslogin = uni.getStorageSync('jo_user')
+ if (haslogin == null || haslogin == "") {
+ return false
+ } else {
+ return true
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .grid-text {
+ font-size: 28rpx;
+ margin-top: 4rpx;
+ color: $u-type-info;
+ }
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/pickingMat.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/pickingMat.vue"
index 53ba37b..bcc6231 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/pickingMat.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/pickingMat.vue"
@@ -1,96 +1,162 @@
<template>
<view>
- <view class="header">
- <uni-forms label-width="120">
- <uni-forms-item label="鎵樼洏鏉$爜">
- <uni-easyinput type="text" @input="inputChange()" v-model="value" placeholder="璇锋壂鐮�" ref='midInput'
- :focus="true" />
- </uni-forms-item>
- <uni-forms-item>
- <button @click="submit" type="primary" size="default" style="margin-top: 2%;">鎷i�夊畬鎴�</button>
- </uni-forms-item>
- </uni-forms>
+ <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+ </uni-segmented-control>
+ <view class="content">
+ <view v-if="current === 0" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
+ ref='midInput' @input="inputChangebarcode()" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="picking" type="primary" style="margin-left: 0px;">鎷i�夊畬鎴�</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="item in matInfos" :key="item.sn">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <!-- <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="deleteList(item.sn)">
+ </uni-icons> -->
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鍗曟嵁缂栧彿锛歿{item.orderNo}}</view>
+ <view class="uni-note">鎵樼洏缂栧彿锛歿{item.palletCode}}</view>
+ <view class="uni-note">鐗╂枡鎵规锛歿{item.batchNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+ <view class="uni-note">鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
+ <view class="uni-note">鍘熷搴撳瓨锛歿{item.originalQuantity}}</view>
+ <view class="uni-note">鍒嗛厤搴撳瓨锛歿{item.assignQuantity}}</view>
+ <view class="uni-note">鍓╀綑搴撳瓨锛歿{item.originalQuantity-item.assignQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 2" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!istrue2" v-model="barcode2" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
+ ref='midInput' @input="inputChangebarcode2()" />
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩">
+ <uni-easyinput type="text" @input="inputChange2()" v-model="innerboxcode"
+ placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="istrue2" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode3" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput'
+ :focus="addressFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
</view>
- <uni-list class="footer">
- <uni-list-item direction="column" v-if="value2">
- <label>{{value2}}</label>
- </uni-list-item>
- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
- <template v-slot:body>
- <view class="uni-list-box">
- <view class="uni-content">
- <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
- <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view>
- </view>
- </view>
- </template>
- </uni-list-item>
-
- <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index">
- <template v-slot:body>
- <view class="uni-list-box">
- <view class="uni-content">
- <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">鐗╂枡缂栫爜锛歿{item.matCode}}
- </view>
- <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">鐗╂枡鍚嶇О锛歿{item.matName}}
- </view>
- <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">鏁伴噺锛歿{item.matQty}}
- </view>
- </view>
- </view>
- </template>
- </uni-list-item>
- </uni-list>
-
<u-toast ref="uToast" />
</view>
</template>
<script>
+ // const SixUniTts = uni.requireNativePlugin("SmallSix-SixUniTts")
export default {
data() {
return {
- value: "",
- matInfo: [],
- value2: "",
- matTotal:[]
+ items: ['鎷i��', '鍏ュ簱'], //'鎷i�夌粍鐩�',
+ current: 0,
+ isPicking: false,
+ istrue: false,
+ matInfos: [],
+ barcode: '',
+ materialsns: "",
+ boxBarcodes: [],
+ sns: [],
+ barcodefocus: true,
+ totalNum: 0,
+ pickNum: 0,
+ num: 0,
+ orderTotalNum: 0,
+ orderPickNum: 0,
+ orderNo: "",
+ matTotal: [],
+ istrue2: false,
+ barcode2: '',
+ innerboxcode: "",
+ sns2: [],
+ barcodefocus: true,
+ addressFocus: false,
+ inboundBarcode: "",
+ address: "",
+ warehouseId: 0,
}
},
onLoad(res) {
- //this.hideboard();
+ this.barcodefocus = false;
+ this.warehouseId = res.warehouseId;
+ this.istrue = false;
},
methods: {
- submit() {
- if (this.value.length == 0) {
+ onClickItem(e) {
+ this.barcodeFo = true;
+ this.focus = false;
+ this.addressFocus = false;
+ if (this.current !== e.currentIndex) {
+ this.current = e.currentIndex;
+ }
+ },
+ inbound() {
+ if (this.inboundBarcode == "") {
this.$refs.uToast.show({
- title: "璇锋壂鐮�",
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
type: "error"
})
return;
}
- var param;
- var matInfo = this.value.split('|');
- if (matInfo.length == 7) {
- param = {
- MainData: {
- "innerCode": this.value
- }
- }
- } else {
- param = {
- MainData: {
- "barcode": this.value
- }
+ if (this.address == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.inboundBarcode,
+ "startPoint": this.address,
+ "warehouseId": this.warehouseId
}
}
- this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => {
- if (resdt.status) {
- uni.$showMsg('瑙g洏鎴愬姛!')
- this.value = "";
- this.matInfo = [];
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+ if (res.status) {
+ uni.$showMsg(res.message);
+ this.inboundBarcode = "";
+ this.address = "";
+ setTimeout(() => {
+ this.addressFocus = false;
+ }, 200);
} else {
this.$refs.uToast.show({
- title: resdt.message,
+ title: res.message,
type: "error"
})
}
@@ -101,47 +167,195 @@
})
})
},
+ inputChangebarcode3() {
+ this.addressFocus = false;
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.addressFocus = true;
+ }
+ })
+ },
+ picking() {
+ if (this.barcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ this.$u.post('/api/OutStockLockInfo/MaterialPick?palletCode=' + this.barcode, {}).then(res => {
+ if (res.status) {
+ uni.$showMsg('鎷i�夋垚鍔�!')
+ this.barcode = "";
+ this.matInfos = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
inputChange(e) {
this.$nextTick(() => {
- if (this.value.length == 0) {
- return;
- }
- var matInfo = this.value.split('|');
- this.matInfo = [];
+ this.istrue = false;
+ var matInfo = this.materialsns.split('|');
if (matInfo.length == 7) {
- this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', {
- MainData: {
- "innerCode": this.value
- }
- }).then(res => {
- if (res.status) {
- this.matInfo = res.data.stockInfo;
- this.matTotal = res.data.stockTotal;
- } else {
- this.$refs.uToast.show({
- title: res.message,
- type: "error"
+ var matObj = {
+ matCode: matInfo[1],
+ matProductionDate: matInfo[3],
+ matQty: matInfo[5],
+ orderNo: matInfo[6],
+ sn: this.materialsns,
+ isPicking: this.isPicking
+ }
+ var temp = this.boxBarcodes.find(x => x.orderNo == matObj.orderNo);
+ if (!temp) {
+ var tmp = this.matTotal.find(x => x.matCode == matObj.matCode);
+ if (!tmp) {
+ this.matTotal.push({
+ matCode: matObj.matCode,
+ matQuantity: parseInt(matObj.matQty)
})
+ } else {
+ tmp.matQuantity += parseInt(matObj.matQty);
}
- })
+ this.sns.push({
+ innerboxcode: this.materialsns,
+ isSplit: this.isPicking
+ });
+ this.boxBarcodes.push(matObj);
+ this.isPicking = false;
+ setTimeout(this.updateFocus, 100);
+ } else {
+ this.$refs.uToast.show({
+ title: "鎵爜閲嶅",
+ type: "error"
+ })
+ setTimeout(this.updateFocus, 100);
+ }
} else {
- this.$u.post('/api/StockOperate/GetStockInfoByBarcode', {
+ this.$refs.uToast.show({
+ title: "鎵爜閿欒,璇锋壂鎻忔纭唴绠辩爜",
+ type: "error"
+ })
+ setTimeout(this.updateFocus, 100);
+ }
+ })
+ },
+ checkedClick() {
+ this.isPicking = !this.isPicking;
+ this.istrue = false;
+ this.$nextTick(function(x) {
+ if (this.barcode != '') {
+ this.istrue = true;
+ }
+ })
+ },
+ updateFocus() {
+ this.materialsns = '';
+ if (!this.istrue) {
+ this.istrue = true;
+ }
+ },
+ inputChangebarcode() {
+ this.boxBarcodes = [];
+ this.istrue = false;
+ this.$nextTick(function(x) {
+ if (this.barcode != '') {
+ var postData = {
MainData: {
- "barcode": this.value
+ "barcode": this.barcode,
+ "warehouseId": this.warehouseId,
}
- }).then(res => {
- if (res.status) {
- this.matInfo = res.data.stockInfo;
- this.matTotal = res.data.stockTotal;
- // console.log(res.data);
- // console.log(this.matTotal);
+ };
+ this.$u.post('/api/OutStockLockInfo/GetStockOutboundOrder', postData).then(res => {
+ this.matInfos = [];
+ if (res != null) {
+ this.matInfos = res
} else {
this.$refs.uToast.show({
- title: res.message,
+ title: "鏈壘鍒版嫞閫変俊鎭�",
type: "error"
})
}
})
+ this.istrue = true;
+ }
+ })
+ },
+ deleteList(res) {
+ this.matTotal.map((item, index) => {
+ var temp = this.boxBarcodes.find(x => x.sn == res);
+ if (temp) {
+ if (item.matCode == temp.matCode) {
+ if (item.matQuantity - temp.matQty == 0) {
+ this.matTotal.splice(index, 1);
+ } else {
+ item.matQuantity -= temp.matQty;
+ }
+ }
+ }
+ })
+ this.sns.map((item, index) => {
+ if (item.innerboxcode == res) {
+ this.sns.splice(index, 1);
+ }
+ })
+ this.boxBarcodes.map((item, index) => {
+ if (item.sn == res) {
+ this.boxBarcodes.splice(index, 1);
+ }
+ })
+ },
+
+ submit() {
+ if (this.barcode2 == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.innerboxcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: "error"
+ })
+ return;
+ }
+ this.$u.post('/api/StockOperate/PickingBoxing', {
+ MainData: {
+ "barcode": this.barcode2,
+ "innerboxcode": this.innerboxcode
+ },
+ DelKeys: this.sns2
+ }).then(res => {
+ if (res.status) {
+ uni.$showMsg('缁勭洏鎴愬姛!')
+ this.barcode2 = "";
+ this.innerboxcode = "";
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+ inputChange2(e) {
+
+ },
+ inputChangebarcode2() {
+ this.istrue2 = false;
+ this.$nextTick(function(x) {
+ if (this.barcode2 != '') {
+ this.istrue2 = true;
}
})
},
@@ -152,86 +366,22 @@
<style lang="scss">
@import '@/common/uni-ui.scss';
- page {
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
- background-color: #efeff4;
- min-height: 100%;
- height: auto;
- }
-
- .tips {
- color: #67c23a;
- font-size: 14px;
- line-height: 40px;
- text-align: center;
- background-color: #f0f9eb;
- height: 0;
- opacity: 0;
- transform: translateY(-100%);
- transition: all 0.3s;
- }
-
- .tips-ani {
- transform: translateY(0);
- height: 40px;
- opacity: 1;
- }
-
.content {
- width: 100%;
display: flex;
- }
-
- .list-picture {
- width: 100%;
- height: 145px;
- }
-
- .thumb-image {
- width: 100%;
- height: 100%;
- }
-
- .ellipsis {
- display: flex;
- overflow: hidden;
- }
-
- .uni-ellipsis-1 {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
-
- .uni-ellipsis-2 {
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- }
-
- .customcss {
- display: flex;
- position: fixed;
- width: 100%;
- top: 10px;
- text-align: center;
- z-index: 999;
- left: 30px;
- height: 20%;
- }
-
- .footer {
- // padding-top: 30%;
- }
-
- .header {
- width: 100%;
height: 150px;
- background-color: #ffffff;
- padding: 20rpx 40rpx;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 20px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
}
</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue"
new file mode 100644
index 0000000..ea55d1b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue"
@@ -0,0 +1,587 @@
+<template>
+ <view>
+ <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+ </uni-segmented-control>
+ <view class="content">
+ <view v-if="current === 0" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="180">
+ <uni-forms-item :label="label">
+ </uni-forms-item>
+ <uni-forms-item label="鎵樼洏鏉$爜:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
+ v-model="barcode" @input="barcodeInput" />
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
+ v-model="materSn" @input="snInput" />
+ </uni-forms-item>
+ <uni-forms-item label="鍒濆瀵垮懡:" v-if="Test">
+ <uni-easyinput type="text" placeholder="璇疯緭鍏ュ垵濮嬪鍛�" ref='midInput' v-model="Initiallife" />
+ </uni-forms-item>
+ <!-- <uni-forms-item>
+ <checkbox checked="check">鏄惁婊$洏</checkbox>
+ </uni-forms-item> -->
+ <uni-forms-item>
+ <button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
+ <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item> -->
+ <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="item.sn">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="deleteList(item.sn)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput'
+ :focus="addressFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 2" class="headerstyle">
+ <view class="itemstyle">
+ <uni-list :border="true">
+ <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view style="font-size: 18px;">鍗曟嵁鍙凤細{{orderNo}}</view>
+ <view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <!-- <view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.matName}}</view> -->
+ <view style="font-size: 18px;">鏁伴噺锛歿{item.orderQuantity}}</view>
+ <view style="font-size: 18px;">鍗曚綅锛歿{item.unit}}</view>
+ <view style="font-size: 18px;">缁勭洏鏁伴噺锛歿{item.receiptQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 3" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item>
+ <uni-easyinput type="text" @input="releaseboxInput" v-model="value" placeholder="璇锋壂鐮�"
+ ref='midInput' :focus="true" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="releasebox" type="primary" size="default">瑙g洏</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-if="value2">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{value2}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
+ <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+
+ <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鐗╂枡缂栫爜锛歿{item.matCode}}
+ </view>
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鐗╂枡鍚嶇О锛歿{item.matName}}
+ </view>
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鏁伴噺锛歿{item.matQty}}
+ </view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ </view>
+</template>
+
+<script>
+ const innerAudioContext = uni.createInnerAudioContext();
+ export default {
+ data() {
+ return {
+ items: ['缁勭洏', '鍏ュ簱', '鍗曟嵁淇℃伅'], //, '瑙g洏'
+ current: 0,
+ matTotal: [],
+ matInfos: [],
+ orderNo: "",
+ label: "",
+ orderInfo: [],
+ focus: false,
+ barcode: "",
+ materSn: "",
+ Initiallife: 1000,
+ sns: [],
+ addressFocus: false,
+ inboundBarcode: "",
+ address: "",
+ check: true,
+ value: "",
+ matInfo: [],
+ value2: "",
+ matTotals: [],
+ warehouseId: "",
+ Test: false,
+ Testcheck: false,
+ }
+ },
+ onShow() {},
+ onLoad(res) {
+ this.focus = false;
+ this.addressFocus = false;
+ this.orderNo = res.orderNo;
+ this.warehouseId = res.warehouseId;
+ this.Test = this.warehouseId == 1; //鎶�1鏀规垚娴嬭瘯鏋朵粨搴撳尯ID
+ this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+ this.getData();
+ },
+ methods: {
+ voiceSpeech(src) {
+ innerAudioContext.src = src; // '../../static/success.mp3';
+ innerAudioContext.play();
+ },
+ //瑙g洏
+ releasebox() {
+ if (this.value.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鐮�",
+ type: "error"
+ })
+ return;
+ }
+ var param;
+ var matInfo = this.value.split('|');
+ if (matInfo.length == 7) {
+ param = {
+ MainData: {
+ "innerCode": this.value
+ }
+ }
+ } else {
+ param = {
+ MainData: {
+ "barcode": this.value
+ }
+ }
+ }
+ this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => {
+ if (resdt.status) {
+ uni.$showMsg('瑙g洏鎴愬姛!')
+ this.value = "";
+ this.matInfo = [];
+ this.matTotals = [];
+ this.value2 = "";
+ } else {
+ this.$refs.uToast.show({
+ title: resdt.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ releaseboxInput() {
+ this.$nextTick(() => {
+ if (this.value.length == 0) {
+ return;
+ }
+ var matInfo = this.value.split('|');
+ this.matInfo = [];
+ if (matInfo.length == 7) {
+ this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', {
+ MainData: {
+ "innerCode": this.value
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ } else {
+ this.$u.post('/api/StockOperate/GetStockInfoByBarcode', {
+ MainData: {
+ "barcode": this.value
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ })
+ },
+
+ updateFocus() {
+ debugger
+ this.$nextTick(() => {
+ this.materSn = '';
+ if (!this.focus) {
+ this.focus = true;
+ }
+ });
+ },
+ barcodeFocus() {
+ debugger
+ this.barcode = '';
+ if (this.focus) {
+ this.focus = false;
+ }
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.orderNo
+ },
+ }
+ this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => {
+ if (res.status) {
+ this.orderInfo = res.data;
+ if (this.orderInfo.length > 3) {
+ this.loadVisible = true;
+ }
+ }
+ })
+ },
+ onClickItem(e) {
+ this.focus = false;
+ this.addressFocus = false;
+ if (this.current !== e.currentIndex) {
+ this.current = e.currentIndex;
+ if (this.current == 2) {
+ this.getData();
+ }
+ }
+ },
+ barcodeInput() {
+ this.$nextTick(function(x) {
+ if (this.barcode.length > 0) {
+ // if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') {
+ this.focus = true;
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閿欒,璇锋壂鎻忔墭鐩樼爜",
+ // type: "error"
+ // })
+ // }
+ }
+ })
+ },
+ snInput() {
+ this.$nextTick(() => {
+ if (this.materSn != "") {
+ this.focus = false;
+ var matSn = this.materSn;
+ setTimeout(() => {
+ this.materSn = "";
+ }, 10);
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ this.Testcheck = false;
+ if (res.status) {
+ // debugger
+ // this.matTotal.push({
+ // matCode: res.data.materielCode,
+ // matQuantity: parseInt(res.data.quantity)
+ // });
+ // this.sns.push(res.data.serialNumber);
+
+ this.matInfos.splice(0, this.matInfos.length);
+ this.matInfos.push(res.data);
+ if (res.message) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(this.updateFocus,200);
+ setTimeout(() => {
+ this.voiceSpeech('../../static/fail.mp3');
+ }, 100);
+ return;
+ }
+ // setTimeout(this.updateFocus,200);
+ setTimeout(() => {
+ this.voiceSpeech('../../static/success.mp3');
+ }, 100);
+ } else {
+ // this.innerCode = "";
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(this.updateFocus,200);
+ setTimeout(() => {
+ this.voiceSpeech('../../static/fail.mp3');
+ }, 100);
+ }
+ })
+
+
+ // var matInfo = matSn.split('|');
+
+ // if (matInfo.length == 7) {
+ // var matObj = {
+ // matCode: matInfo[1],
+ // matProductionDate: matInfo[3],
+ // matQty: matInfo[5],
+ // orderNo: matInfo[6],
+ // sn: matSn
+ // }
+ // var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo);
+ // if (!temp) {
+ // var tmp = this.matTotal.find(x => x.matCode == matObj.matCode);
+ // if (!tmp) {
+ // this.matTotal.push({
+ // matCode: matObj.matCode,
+ // matQuantity: parseInt(matObj.matQty)
+ // })
+ // } else {
+ // tmp.matQuantity += parseInt(matObj.matQty);
+ // }
+ // this.sns.push(matSn);
+ // this.matInfos.push(matObj);
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/success.mp3');
+ // }, 100);
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閲嶅",
+ // type: "error"
+ // })
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ // }
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閿欒,璇锋壂鎻忔纭唴绠辩爜",
+ // type: "error"
+ // })
+ // setTimeout(this.updateFocus, 200);
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ // }
+ }
+ })
+ },
+ inbound() {
+ if (this.inboundBarcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.address == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.inboundBarcode,
+ "startPoint": this.address,
+ "warehouseId": this.warehouseId
+ }
+ }
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+ if (res.status) {
+ uni.$showMsg(res.message);
+ this.inboundBarcode = "";
+ this.address = "";
+ setTimeout(() => {
+ this.addressFocus = false;
+ }, 200);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+ inputChangebarcode() {
+ this.addressFocus = false;
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.addressFocus = true;
+ }
+ })
+ },
+ deleteList(res) {
+ var sn = '';
+ this.matInfos.map((item, index) => {
+ if (item.sn == res) {
+ this.matInfos.splice(index, 1);
+ sn = item.sn;
+ var tmp = this.matTotal.find(x => x.matCode == item.matCode);
+ if (tmp) {
+ tmp.matQuantity -= parseInt(item.quantity);
+ } else {
+
+ }
+ }
+ })
+ this.sns.map((item, index) => {
+ if (item == res) {
+ this.sns.splice(index, 1);
+ }
+ })
+ },
+ submit() {
+ if (this.barcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.matInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.Test) {
+ if (!this.Testcheck) {
+ this.Testcheck = true;
+ this.$refs.uToast.show({
+ title: "璇风‘璁ゅ垵濮嬪鍛�",
+ type: 'error'
+ })
+ return;
+ }
+ }
+ this.$u.post('/api/InboundOrder/MaterielGroup', {
+ MainData: {
+ "palletCode": this.barcode,
+ "orderNo": this.orderNo,
+ "initiallife":this.Initiallife,
+ // "isFull": this.check
+ "warehouseId": this.warehouseId
+ },
+ DelKeys: this.sns
+ }).then(res => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "缁勭洏鎴愬姛",
+ type: "success"
+ })
+ this.focus = false;
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.matTotal = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ .content {
+ display: flex;
+ height: 150px;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 30px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
+ }
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorder.vue"
new file mode 100644
index 0000000..29449ab
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorder.vue"
@@ -0,0 +1,181 @@
+<template>
+ <view>
+ <u-sticky>
+ <view style="background-color: #ffffff;">
+ <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+ </view>
+ </u-sticky>
+ <uni-list :border="true">
+ <uni-list-item direction="column" clickable @click="groupClick(item.receiveOrderNo)" link
+ :to="page+item.receiveOrderNo+'&receiveOrderId='+item.receiveOrderId" v-for="item in allReceivingOrders"
+ :key="item.receiveOrderNo">
+ <template v-slot:body>
+ <uni-group margin-top="20">
+ <view> 鏀惰揣鍗曞彿:{{item.receiveOrderNo}} </view>
+ <!-- <view> 璁㈠崟绫诲瀷:{{item.receiveOrderType}} </view>
+ <view> 璁㈠崟鐘舵��:{{item.receiveOrderStatus}} </view> -->
+ <view> 渚涘簲鍟嗕唬鍙�:{{item.suppliersId}} </view>
+ </uni-group>
+ </template>
+ </uni-list-item>
+
+ </uni-list>
+ <uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+
+ <u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ page: "/pages/stash/receiveorderoutbound?orderNo=",
+ loadVisible: false,
+ searchValue: "",
+ status: "more",
+ allReceivingOrders: [],
+ pageNo: 1,
+ scrollTop: 0
+ }
+ },
+ onLoad(res) {
+ this.getData();
+ },
+ onPageScroll(e) {
+ this.scrollTop = e.scrollTop;
+ },
+ onReachBottom() {
+ this.pageNo += 1;
+ this.getData();
+ },
+ methods: {
+ search(res) {
+ this.pageNo = 1;
+ this.getData();
+ },
+ groupClick() {
+
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.searchValue,
+ pageNo: this.pageNo
+ },
+ }
+ this.$u.post('/api/ReceiveOrder/GetReceiveOrders', postData).then((res) => {
+ if (res.status) {
+ if (res.data.length > 0) {
+ if (this.searchValue == '') {
+ this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
+ // this.allReceivingOrders = res.data;
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ } else {
+ // this.allReceivingOrders = res.data;
+ if (postData.MainData.pageNo == 1) {
+ this.allReceivingOrders = [];
+ }
+ this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ }
+ } else {
+ this.status = 'noMore';
+ //this.allReceivingOrders = [];
+ this.loadVisible = true;
+ }
+
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ page {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ background-color: #efeff4;
+ min-height: 100%;
+ height: auto;
+ }
+
+ .tips {
+ color: #67c23a;
+ font-size: 14px;
+ line-height: 40px;
+ text-align: center;
+ background-color: #f0f9eb;
+ height: 0;
+ opacity: 0;
+ transform: translateY(-100%);
+ transition: all 0.3s;
+ }
+
+ .tips-ani {
+ transform: translateY(0);
+ height: 40px;
+ opacity: 1;
+ }
+
+ .content {
+ width: 100%;
+ display: flex;
+ }
+
+ .list-picture {
+ width: 100%;
+ height: 145px;
+ }
+
+ .thumb-image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .ellipsis {
+ display: flex;
+ overflow: hidden;
+ }
+
+ .uni-ellipsis-1 {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .uni-ellipsis-2 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ }
+
+ .customcss {
+ display: flex;
+ position: fixed;
+ width: 100%;
+ top: 10px;
+ text-align: center;
+ z-index: 999;
+ left: 30px;
+ height: 20%;
+ }
+
+ .footer {
+ padding-top: 50%;
+ }
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue"
new file mode 100644
index 0000000..dc7561a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue"
@@ -0,0 +1,665 @@
+<template>
+ <view>
+ <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+ </uni-segmented-control>
+ <view v-if="current === 0" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms style="margin-left: 2%;margin-top: 20px;" label-width="180">
+ <uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item>
+ <!-- <uni-forms-item label="鍗曟嵁绫诲瀷锛氱敓浜ч鏂欏崟" style="margin-top: -20px;"></uni-forms-item> -->
+ <uni-forms-item label="鍐呯鐮侊細" style="margin-top: -20px;">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辩爜" ref='midInput' :focus="focus"
+ v-model="innerCode" @input="innercodeInput" />
+ </uni-forms-item>
+ <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="LotNo" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="ProductionDate" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="EffectiveDate" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="orderQty" style="margin-top: -20px;"></uni-forms-item>
+ <uni-forms-item :label="remaindQty" style="margin-top: -20px;">
+ <uni-easyinput type="text" placeholder="璇疯緭鍏ュ疄闄呮暟閲�" v-model="Quantity" ref='midInput' />
+ </uni-forms-item>
+ </uni-forms>
+ <uni-forms-item>
+ <button @click="submit" type="primary" size="default" style="margin-top: 2%;">纭鏀惰揣</button>
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="submit1" type="primary" size="default" style="margin-top: 2%;">瀹屾垚鏀惰揣</button>
+ </uni-forms-item>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <u-sticky>
+ <!-- <view style="background-color: #ffffff;">
+ <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+ </view> -->
+ </u-sticky>
+ <!-- <uni-forms label-width="180">
+ <uni-forms-item label="鍖哄煙">
+ <uni-data-select v-if="show" v-model="value" :localdata="range"></uni-data-select>
+ </uni-forms-item>
+ <uni-forms-item label="妤煎眰">
+ <uni-data-select v-if="show" v-model="floor" :localdata="floorrange"></uni-data-select>
+ </uni-forms-item>
+ <uni-forms-item label="鍑哄簱鍖哄煙">
+ <uni-data-select v-if="show" v-model="endType" :localdata="endTypeRange"></uni-data-select>
+ </uni-forms-item>
+ </uni-forms> -->
+ <uni-list :border="true">
+ <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <!-- <button class="button" type="primary" style="position: absolute;right: 1%;" size="mini"
+ @click="inputDialogToggle(item.matCode)"><text
+ class="button-text">鍑哄簱</text></button> -->
+ <!-- <button type="primary" style="position: absolute;right: 1%;" size="mini"
+ @click="outbound(item.matCode)">鍑哄簱</button> -->
+ <view class="uni-content">
+ <view style="font-size: 18px;">鏀惰揣鍗曞彿锛歿{orderNo}}</view>
+ <view style="font-size: 18px;">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view style="font-size: 18px;">鐗╂枡缂栧彿锛歿{item.materielCode}}</view>
+ <view style="font-size: 18px;">鎵规鍙凤細{{item.lotNo}}</view>
+ <view style="font-size: 18px;">鏀惰揣鏁伴噺锛歿{item.receivedQuantity}}</view>
+ <view style="font-size: 18px;">鏄惁璐ㄦ锛歿{item.ifInspection==1?"鏄�":"鍚�"}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ <view>
+ <!-- 杈撳叆妗嗙ず渚� -->
+ <uni-popup ref="inputDialog" type="dialog">
+ <uni-popup-dialog ref="inputClose" mode="input" title="杈撳叆鍐呭" :value="outNum" placeholder="璇疯緭鍏ュ唴瀹�"
+ @confirm="outbound"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ </view>
+ <view v-if="current === 2" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="妤煎眰">
+ <uni-data-select v-if="show" v-model="printfloor"
+ :localdata="printfloorrange"></uni-data-select>
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩">
+ <uni-easyinput type="text" :focus="tagFocus" v-model="tag" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput'
+ @input="tagInput" />
+ </uni-forms-item>
+ <uni-forms-item :label="tagmatCode"></uni-forms-item>
+ <uni-forms-item :label="tagmatName"></uni-forms-item>
+ <uni-forms-item :label="tagQty"></uni-forms-item>
+ <uni-forms-item label="鎷嗗垎鏁伴噺">
+ <uni-easyinput type="number" v-model="number" placeholder="璇疯緭鍏ユ媶鍒嗘暟閲�" ref='midInput'
+ :focus="numberFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="printTag" type="primary" size="default" style="margin-top: 2%;">鎵撳嵃鏍囩</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 3" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
+ ref='midInput' @input="inputChangebarcode" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput'
+ :focus="istrue" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 4" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item>
+ <uni-easyinput type="text" @input="releaseboxInput" v-model="releasevalue" placeholder="璇锋壂鐮�"
+ ref='midInput' :focus="releasefocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="releasebox" type="primary" size="default" style="margin-top: 2%;">瑙g洏</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-if="value2">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{value2}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ <uni-list-item direction="column" v-for="item in matTotals" :key="item.matCode">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
+ <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+
+ <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鐗╂枡缂栫爜锛歿{item.matCode}}
+ </view>
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鐗╂枡鍚嶇О锛歿{item.matName}}
+ </view>
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
+ 鏁伴噺锛歿{item.matQty}}
+ </view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ </view>
+</template>
+
+<script>
+ import {
+ config
+ } from '../../common/config';
+ const innerAudioContext = uni.createInnerAudioContext();
+ export default {
+ data() {
+ return {
+ show: true,
+ items: ['鎵弿', '鏄庣粏'], //, '鎷嗗垎', '鍏ュ簱', '瑙g洏'
+ current: 0,
+ orderNo: "",
+ orderInfo: [],
+ label: "",
+ innerCode: "",
+ PurchaseOrderNo: "閲囪喘鍗曞彿锛�",
+ matCode: "鐗╂枡缂栫爜锛�",
+ LotNo: "鐗╂枡鎵规锛�",
+ orderQty: "璁㈠崟鏁伴噺锛�",
+ Quantity: "",
+ ProductionDate: "鐢熶骇鏃ユ湡锛�",
+ EffectiveDate: "鏈夋晥鏃ユ湡锛�",
+
+ matName: "鐗╂枡鍚嶇О锛�",
+ currentQty: "宸叉壂鏁伴噺锛�",
+ scanQty: "绱鏁伴噺锛�",
+ remaindQty: "瀹為檯鏁伴噺锛�",
+ tagFocus: true,
+ numberFocus: false,
+ focus: true,
+ tag: "",
+ number: "",
+ tagmatCode: "鐗╂枡缂栫爜锛�",
+ tagmatName: "鐗╂枡鍚嶇О锛�",
+ tagQty: "鍖呰鏁伴噺锛�",
+ value: "",
+ range: [],
+ floor: "",
+ floorrange: [],
+ printfloor: "",
+ printfloorrange: [],
+ barcode: "",
+ address: "",
+ istrue: false,
+ outNum: 0,
+ itemCode: "",
+ releasefocus: true,
+ releasevalue: "",
+ matInfo: [],
+ matTotals: [],
+ value2: "",
+ searchValue: "",
+ endType: "",
+ endTypeRange: [],
+ sns: "",
+ receiveOrderId:0,
+ }
+ },
+
+ onLoad(res) {
+ this.range = config.warehouseRange;
+ this.endTypeRange = config.outboundAreaRange;
+ if (config.outboundArea) {
+ this.endType = config.outboundArea;
+ }
+ if (config.warehouseArea) {
+ this.value = config.warehouseArea;
+ }
+ this.orderNo = res.orderNo;
+ this.receiveOrderId=res.receiveOrderId;
+ this.label = "鏀惰揣鍗曞彿锛�" + this.orderNo;
+ this.getData();
+ },
+ mounted() {
+ this.printfloorrange = config.printFloorRange;
+ this.floorrange = config.outboundFloorRange;
+ if (config.outboundFloor) {
+ this.floor = config.outboundFloor;
+ }
+ if (config.printFloor) {
+ this.printfloor = config.printFloor;
+ }
+ },
+ methods: {
+ inputDialogToggle(itemCode) {
+ this.itemCode = itemCode;
+ this.$refs.inputDialog.open()
+ },
+ voiceSpeech(src) {
+ innerAudioContext.src = src; // '../../static/success.mp3';
+ innerAudioContext.play();
+ },
+ search() {
+ this.getData();
+ },
+ releasebox() {
+ if (this.releasevalue.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鐮�",
+ type: "error"
+ })
+ return;
+ }
+ var param;
+ var matInfo = this.releasevalue.split('|');
+ if (matInfo.length == 7) {
+ param = {
+ MainData: {
+ "innerCode": this.releasevalue
+ }
+ }
+ } else {
+ param = {
+ MainData: {
+ "barcode": this.releasevalue
+ }
+ }
+ }
+ this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => {
+ if (resdt.status) {
+ uni.$showMsg('瑙g洏鎴愬姛!')
+ this.releasevalue = "";
+ this.matInfo = [];
+ this.matTotals = [];
+ this.value2 = "";
+ } else {
+ this.$refs.uToast.show({
+ title: resdt.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ releaseboxInput() {
+ this.$nextTick(() => {
+ if (this.releasevalue.length == 0) {
+ return;
+ }
+ var matInfo = this.releasevalue.split('|');
+ this.matInfo = [];
+ if (matInfo.length == 7) {
+ this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', {
+ MainData: {
+ "innerCode": this.releasevalue
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ } else {
+ this.$u.post('/api/StockOperate/GetStockInfoByBarcode', {
+ MainData: {
+ "barcode": this.releasevalue
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ })
+ },
+
+ updateFocus() {
+ this.$nextTick(() => {
+ this.innerCode = '';
+ if (!this.focus) {
+ this.focus = true;
+ }
+ });
+ },
+ submit() {
+ if (this.sns == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.Quantity == "") {
+ this.$refs.uToast.show({
+ title: "璇疯緭鍏ュ疄闄呮暟閲�",
+ type: 'error'
+ })
+ return;
+ }
+ this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this
+ .orderNo, {}).then(res => {
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "纭鏀惰揣鎴愬姛",
+ type: "success"
+ })
+ this.sns = "";
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ submit1() {
+ this.$u.post('/api/ReceiveOrder/FeedbackReceiveOrder?orderId=' + this
+ .receiveOrderId, {}).then(x => {
+ if (x.status) {
+ this.$refs.uToast.show({
+ title: "瀹屾垚鏀惰揣鎴愬姛",
+ type: "success"
+ })
+ this.sns = "";
+ } else {
+ this.$refs.uToast.show({
+ title: x.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ inbound() {
+ if (this.barcode.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樺彿",
+ type: "error"
+ })
+ return;
+ }
+ if (this.address.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.barcode,
+ "startPoint": this.address
+ }
+ }
+ this.$u.post('/api/Inbound/RequestInbound', postData).then(res => {
+ if (res.status) {
+ uni.$showMsg(res.message);
+ this.barcode = "";
+ this.address = "";
+ this.istrue = false;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+ inputChangebarcode() {
+ this.istrue = false;
+ this.$nextTick(function(x) {
+ if (this.barcode != '') {
+ this.istrue = true;
+ }
+ })
+ },
+ onClickItem(e) {
+ this.focus = false;
+ this.addressFocus = false;
+ if (this.current !== e.currentIndex) {
+ this.current = e.currentIndex;
+ if (this.current == 1) {
+ this.getData();
+ }
+ }
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.orderNo,
+ searchValue: this.searchValue
+ },
+ }
+ this.$u.post('/api/ReceiveOrderDetail/GetReceiveOrderInfos', postData).then((res) => {
+ if (res.status) {
+ this.orderInfo = res.data;
+ if (this.orderInfo.length > 3) {
+ this.loadVisible = true;
+ }
+ }
+ })
+ },
+ innercodeInput() {
+ this.$nextTick(() => {
+ if (this.innerCode == "") {
+ return;
+ }
+ var innerCode = this.innerCode;
+ setTimeout(() => {
+ this.innerCode = "";
+ }, 10);
+
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => {
+ if (res.status) {
+ this.sns = res.data.serialNumber;
+ // this.matInfos.splice(0, this.matInfos.length);
+ // this.matInfos.push(res.data);
+ this.matCode = "鐗╂枡缂栫爜锛�" + res.data.materielCode;
+ this.LotNo = "鐗╂枡鎵规锛�" + res.data.lotNo;
+ this.PurchaseOrderNo = "閲囪喘鍗曞彿锛�" + res.data.purchaseOrderNo;
+ this.EffectiveDate = "鏈夋晥鏃ユ湡锛�" + res.data.effectiveDate;
+ this.ProductionDate = "鐢熶骇鏃ユ湡锛�" + res.data.productionDate;
+ this.orderQty = "璁㈠崟鏁伴噺锛�" + res.data.quantity;
+ this.Quantity = res.data.quantity;
+ if (res.message) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ setTimeout(() => {
+ this.voiceSpeech('../../static/fail.mp3');
+ }, 100);
+ return;
+ }
+ setTimeout(() => {
+ this.voiceSpeech('../../static/success.mp3');
+ }, 100);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ setTimeout(() => {
+ this.voiceSpeech('../../static/fail.mp3');
+ }, 100);
+ }
+ })
+ })
+ },
+ tagInput() {
+ this.$nextTick(() => {
+ var tagInfos = this.tag.split('|');
+ if (tagInfos.length == 7) {
+ this.tagmatCode = "鐗╂枡缂栫爜锛�" + tagInfos[1];
+ this.tagQty = "鐗╂枡鏁伴噺锛�" + tagInfos[5];
+ } else {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佹壂鎻忛敊璇�",
+ type: "error"
+ })
+ }
+ this.numberFocus = true;
+ })
+ },
+ printTag() {
+ if (this.tag == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.number <= 0) {
+ this.$refs.uToast.show({
+ title: "璇疯緭鍏ユ暟閲�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.printfloor.length <= 0) {
+ this.$refs.uToast.show({
+ title: "璇烽�夋嫨妤煎眰",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ tag: this.tag,
+ number: this.number,
+ floor: this.printfloor
+ }
+ }
+ this.$u.post('/api/StockOperate/PrintTag', postData).then(res => {
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "鎵撳嵃鎴愬姛",
+ type: "success"
+ })
+ this.tagmatCode = "鐗╂枡缂栫爜锛�";
+ this.tagQty = "鍖呰鏁伴噺锛�";
+ this.tag = "";
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ outbound(val) {
+ if (this.floor == "") {
+ this.$refs.uToast.show({
+ title: "璇烽�夋嫨妤煎眰",
+ type: "error"
+ })
+ return;
+ }
+ if (this.value == "") {
+ this.$refs.uToast.show({
+ title: "璇烽�夋嫨鍖哄煙",
+ type: "error"
+ })
+ return;
+ }
+ if (this.endType == "") {
+ this.$refs.uToast.show({
+ title: "璇烽�夋嫨鍑哄簱鍖哄煙",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ matCode: this.itemCode,
+ orderNo: this.orderNo,
+ system: this.value,
+ floor: this.floor,
+ outNum: val,
+ endType: this.endType
+ }
+ }
+ this.$u.post('/api/ErpOrder/ReceiveOrderOutbound', postData).then(res => {
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "鎴愬姛",
+ type: "success"
+ })
+ this.getData();
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ .content {
+ display: flex;
+ height: 150px;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 20px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3