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