From eb61b0a4640f75f3f395d40d252aedc05cbc8828 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期一, 07 七月 2025 14:16:41 +0800 Subject: [PATCH] 车间订单下发 --- pages/product/WorkshopOrderIssued/index.vue | 314 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 247 insertions(+), 67 deletions(-) diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue index 583912a..ef9e2e2 100644 --- a/pages/product/WorkshopOrderIssued/index.vue +++ b/pages/product/WorkshopOrderIssued/index.vue @@ -20,14 +20,45 @@ </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> + <text class="item-one">宸ュ崟</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two" @click="seachWork()">{{ + registerInfo.optaskNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.optaskNo + }}</text> + <u-icon name="arrow-right" color="#687792" size="28" @click="seachWork()" + v-show="registerInfo.optaskNo == ''"></u-icon> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">鏈哄彴</text> + </view> + <view class="packing-registration-param-item-right"> + <picker class="item-one item-two" style="width: 100%; text-align: right" + @change="machineChange($event, machineList)" :value="machineIndex" :range="machineList" + range-key="label"> + <view> + <text :style="{ color: machineIndex == null ? '#a5abb4' : '#a5abb4' }">{{ + machineIndex == null + ? "鐐瑰嚮閫夋嫨" + : machineList[machineIndex].label + }}</text> + </view> + </picker> + <u-icon v-if="machineIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> <text class="item-one">瀛愪欢</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachComp()">{{ - registerInfo.value2 == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.value2 + registerInfo.partNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.partNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()" - v-show="registerInfo.value2 == ''"></u-icon> + v-show="registerInfo.partNo == ''"></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -35,7 +66,7 @@ <text class="item-one">闆朵欢鎻忚堪</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ registerInfo.value3 }}</text> + <text class="item-one item-two">{{ registerInfo.partName }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -59,7 +90,7 @@ <view class="_label-name">鎵瑰彿锛�</view> </view> <view class="_content"> - {{ item.value0 }} + {{ item.outBatchNo }} </view> </view> <view class="row-list"> @@ -67,7 +98,7 @@ <view class="_label-name">涓嬪彂鏁伴噺锛�</view> </view> <view class="_content"> - {{ item.value1 }} + {{ item.suppliedQuantity }} </view> </view> </view> @@ -86,7 +117,19 @@ <text class="item-one">鎵瑰彿</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ modalList.value }}</text> + <text class="item-one item-two">{{ + modalList.outBatchNo + }}</text> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">搴撲綅</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + modalList.locationNo + }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -94,7 +137,7 @@ <text class="item-one">涓嬪彂鏁伴噺</text> </view> <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="modalList.value1" /> + <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> </view> </view> </view> @@ -124,64 +167,160 @@ whiteSpace: "nowrap", }, // 寮圭獥鍒楄〃 - modalList: { - value: "", - value1: "", - }, + modalList: {}, // 涓婚〉闈㈠垪琛� registerInfo: { + operationTaskId: '', + id: "", moNo: "", - value2: "", - value3: "", + partNo: "", + partName: "", + optaskNo: "", + workstationId: '' }, // 涓嬪彂璁板綍鍒楄〃 hasScanSnList: [], + codeInfoId: "", + showModal: false, + machineIndex: null, + machineList: [], + }; }, onShow() { let that = this; uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - if ((registerInfo.moNO = null)) { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨瀛愪欢锛�", - duration: 2 * 1000, - }); - return; - } uni.$on("scan", function(data) { console.log("onscan"); - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log("鎵爜缁撴灉锛�", data.code); - that.scanHandle(data.code); - that.$forceUpdate(); + if (that.registerInfo.partNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨瀛愪欢锛�", + duration: 2 * 1000, + }); + return; + } + if (that.registerInfo.workstationId == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏈哄彴锛�", + duration: 2 * 1000, + }); + return; + } + if (data.code) { + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("鎵爜缁撴灉锛�", data.code); + let codeInfo = JSON.parse(data.code); + that.codeInfoId = codeInfo.id; + if (codeInfo.partNo) { + if (that.registerInfo.partNo != codeInfo.partNo) { + this.$u.toast("褰撳墠瀛愪欢鍜屾壂鐮佸瓙浠朵笉涓�鑷达紒"); + return; + } + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + that.scanHandle(codeInfo); + that.$forceUpdate(); + // that.getHandelList(); + } + } }); }, methods: { + //鏈哄彴 + machineChange(e, storage, code) { + this.hasScanSnList = [] + if (storage.length <= 0) { + this.machineIndex = null; + return; + } + this.machineIndex = e.target.value; + this.registerInfo.workstationId = storage[this.machineIndex].value; + }, + // getHandelList() { + // this.$u.api.workReporting + // .getProductMainV1({ + // current: 1, + // size: -1, + // id: this.codeInfoId, + // }) + // .then((res) => { + // this.hasScanSnList = res.data.productOutputList; + // }); + // }, // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰� confirm() { // 澶勭悊纭閫昏緫 - this.showModal = false; - this.$u.api.workReporting - ._({}).then((res) => { - console.log("res", res); - this.hasScanSnList = res.data.records; - }); + this.$u.api.WorkshopOrderIssued.feeding({ + feedingFrom: "stocker", + operationTaskId: this.registerInfo.operationTaskId, + feeds: [{ + ...this.modalList + }] + }).then( + (res) => { + console.log("res", res); + if (res.code === 0) { + this.$u.toast("鎻愪氦鎴愬姛"); + this.showModal = false; + const obj = { + suppliedQuantity: this.modalList.suppliedQuantity, + outBatchNo: this.modalList.outBatchNo, + } + this.hasScanSnList.push(obj) + } + } + ); }, // 妯℃�佹鍙栨秷 cancel() { this.showModal = false; // 鍏抽棴寮圭獥 }, + // 宸ュ崟鍥炴樉 + workNo(val) { + this.machineList = [] + this.machineIndex = null + this.registerInfo.workstationId = '' + this.registerInfo.partName = '' + this.registerInfo.partNo = '' + this.$u.api.WorkshopOrderIssued + .selWorkStation(val) + .then((res) => { + console.log('111', res) + if (res.code === 0 && res.data.length > 0) { + res.data.forEach(i => { + const obj = Object.assign({ + label: i.name, + value: i.id, + }) + this.machineList.push(obj) + }) + } + }); + this.registerInfo.optaskNo = val.optaskNo; + this.registerInfo.operationTaskId = val.id; + this.hasScanSnList = [] + }, // 瀛愪欢鍥炴樉 compNo(val) { - this.registerInfo.value2 = val.value2; - this.registerInfo.value3 = val.value2; + this.registerInfo.partNo = val.partNo; + this.registerInfo.partName = val.partName; }, // 璁㈠崟鍙峰洖鏄� setNo(val) { console.log("11111", val); - this.registerInfo.moNo = val.moNo; - this.registerInfo.value2 = val.value2; + this.registerInfo = { + operationTaskId: '', + id: val.id, + moNo: val.moNo, + partNo: "", + partName: "", + optaskNo: "", + workstationId: '' + }, + this.machineList = [] + this.machineIndex = null + this.hasScanSnList = [] }, //璁㈠崟鍙� seachPersonnelNo() { @@ -192,27 +331,68 @@ }, //瀛愪欢 seachComp() { - if (this.registerInfo.value1 == null || this.registerInfo.value1 == "") { + if (this.registerInfo.optaskNo == "") { + this.$u.toast("璇烽�夋嫨宸ュ崟鍙�"); + return; + } + console.log("瀛愪欢"); + // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁� + uni.navigateTo({ + url: "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" + + encodeURIComponent(JSON.stringify(this.registerInfo.operationTaskId)), + }); + }, + //宸ュ崟 + seachWork() { + if (this.registerInfo.moNo == "") { this.$u.toast("璇烽�夋嫨璁㈠崟鍙�"); return; } console.log("瀛愪欢"); + // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁� uni.navigateTo({ - url: "/pages/product/WorkshopOrderIssued/comp", + url: "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + + encodeURIComponent(JSON.stringify(this.registerInfo.id)), }); }, // 鎵爜鍚庢暟鎹洖鏄� - scanHandle(scanresult) { - this.$u.api.workReporting - ._({}).then((res) => { - this.modalList = res.data.records; - this.showModal = true; - }); + scanHandle(val) { + const { + outBatchNo + } = val + const { + workstationId, + operationTaskId + } = this.registerInfo + const obj = { + outBatchNo: outBatchNo, + workstationId: workstationId, + operationTaskId: operationTaskId, + } + this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then( + (res) => { + console.log("res", res); + if (res.code === 0) { + res.data.workstationId = workstationId, + this.modalList = res.data; + this.showModal = true; + } + } + ); }, }, }; </script> <style lang="scss" scoped> + .popup-content { + width: 600rpx; + height: 350rpx; + background-color: #fff; + border-radius: 8px; + z-index: 10; + /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ + } + .packing-registration-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/packing/backBg.png"); @@ -240,12 +420,12 @@ margin-left: 14rpx; font-size: 34rpx; font-weight: bold; - color: #283e65; + color: #283E65; } } .packing-registration-param-view { - height: 345rpx; + height: 550rpx; background-color: #fff; border-radius: 10rpx; padding: 0rpx 23rpx; @@ -253,7 +433,7 @@ .packing-registration-param-item { height: 90rpx; - border: 1px solid #adc8e4; + border: 1px solid #ADC8E4; line-height: 90rpx; display: flex; justify-content: space-between; @@ -266,32 +446,32 @@ } } - .packing-registration-param-item-right { - display: flex; - justify-content: space-between; + .packing-registration-param-item-right { + display: flex; + justify-content: space-between; - .item-one { - font-size: 30rpx; - color: #333333; - margin-right: 6rpx; - } + .item-one { + font-size: 30rpx; + color: #060505; + margin-right: 6rpx; + } - .item-two { - font-size: 30rpx; - color: #a6b4cc; - margin-right: 6rpx; - } + .item-two { + font-size: 30rpx; + color: #a6b4cc; + margin-right: 6rpx; + } - .item-three { - font-size: 30rpx; - color: #214ded; - margin-right: 6rpx; - } - } - } + .item-three { + font-size: 30rpx; + color: #214ded; + margin-right: 6rpx; + } + } + } .param-extra { - border-bottom: 1px solid #ededed; + border-bottom: 1px solid #EDEDED; } } } -- Gitblit v1.9.3