From 469dc45019c7fdc13a35ee9092181b7405dc6049 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期二, 08 七月 2025 09:24:21 +0800 Subject: [PATCH] 车间订单取消下发接口联调 --- pages/product/WorkshopOrderCancellationIssued/index.vue | 366 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 282 insertions(+), 84 deletions(-) diff --git a/pages/product/WorkshopOrderCancellationIssued/index.vue b/pages/product/WorkshopOrderCancellationIssued/index.vue index 5637244..a576f90 100644 --- a/pages/product/WorkshopOrderCancellationIssued/index.vue +++ b/pages/product/WorkshopOrderCancellationIssued/index.vue @@ -1,4 +1,4 @@ -//杞﹂棿璁㈠崟鍙栨秷涓嬪彂 +// 杞﹂棿璁㈠崟鍙栨秷涓嬪彂 <template> <view class="page"> <view class="packing-registration-bg" /> @@ -17,15 +17,66 @@ <text class="item-one">璁㈠崟鍙�</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two" @click="seachPersonnelNo()">{{ + <text class="item-one item-two" @click="searchPersonnelNo()">{{ registerInfo.moNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.moNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" - @click="seachPersonnelNo()" + @click="searchPersonnelNo()" v-show="registerInfo.moNo == ''" + ></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="searchWork()">{{ + registerInfo.optaskNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.optaskNo + }}</text> + <u-icon + name="arrow-right" + color="#687792" + size="28" + @click="searchWork()" + 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> @@ -55,34 +106,18 @@ <view class="content-body"> <view class="row-list"> <view class="_label"> - <view class="_label-name">鎵瑰彿</view> + <view class="_label-name">鎵瑰彿锛�</view> </view> <view class="_content"> - {{ item.moOn }} + {{ item.outBatchNo }} </view> </view> <view class="row-list"> <view class="_label"> - <view class="_label-name">闆朵欢鍙凤細</view> + <view class="_label-name">鍙栨秷涓嬪彂鏁伴噺锛�</view> </view> <view class="_content"> - {{ item.partNo }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">闆朵欢鎻忚堪锛�</view> - </view> - <view class="_content"> - {{ item.partName }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鍙栨秷涓嬪彂鏁伴噺</view> - </view> - <view class="_content"> - {{ item.value3 }} + {{ item.suppliedQuantity }} </view> </view> </view> @@ -107,23 +142,41 @@ <text class="item-one">鎵瑰彿</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ modalList.moOn }}</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> + <text class="item-one">搴撲綅</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ modalList.partNo }}</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.partName }}</text> + <picker + class="item-one item-two" + style="width: 100%; text-align: right" + @change="goSearch($event, locationNoList)" + :value="locationIndex" + :range="locationNoList" + range-key="label" + > + <view> + <text + :style="{ + color: locationIndex == null ? '#a5abb4' : '#a5abb4', + }" + >{{ + locationIndex == null ? "鐐瑰嚮閫夋嫨" : locationIndex + }}</text + > + </view> + </picker> + <u-icon + v-if="locationIndex == null" + name="arrow-right" + color="#687792" + size="28" + ></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -131,7 +184,10 @@ <text class="item-one">鍙栨秷涓嬪彂鏁伴噺</text> </view> <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="modalList.value3" /> + <u-input + class="item-one item-two" + v-model="modalList.returnQuantity" + /> </view> </view> </view> @@ -147,9 +203,9 @@ components: { scan, }, + data() { return { - showModal: false, background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", @@ -160,98 +216,240 @@ fontSize: "32rpx", whiteSpace: "nowrap", }, - //寮圭獥鍒楄〃 + // 寮圭獥鍒楄〃 modalList: { - partName: "", - partNo: "", - moNo: "", - num: "", + // locationNoName: "", + // locationNo: "", + // suppliedQuantity: "", + // outBatchNo: "", }, + // 涓婚〉闈㈠垪琛� registerInfo: { + operationTaskId: "", + id: "", moNo: "", + optaskNo: "", + workstationId: "", }, + // 鍙栨秷涓嬪彂璁板綍鍒楄〃 hasScanSnList: [], codeInfoId: "", + showModal: false, + machineIndex: null, + machineList: [], + locationNoList: [], + locationIndex: null, }; }, 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); + 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); - this.codeInfoId = codeInfo.id; - if (codeInfo.moOn) { + that.codeInfoId = codeInfo.id; + if (codeInfo) { // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - that.scanHandle(data.code); + that.scanHandle(codeInfo); that.$forceUpdate(); - that.getHandelList(); } } }); }, methods: { - getHandelList() { - this.$u.api.workReporting - .getProductMainV1({ - current: 1, - size: -1, - id: this.codeInfoId, - }) - .then((res) => { - this.hasScanSnList = res.data.productOutputList; - }); + // 搴撲綅閫夋嫨 + goSearch(e, storage, code) { + if (storage.length <= 0) { + this.locationIndex = null; + return; + } + this.locationIndex = e.target.label; + this.modalList.locationNo = storage[this.locationIndex].label; + this.modalList.locationId = storage[this.locationIndex].label; }, - // 鎵爜鍚庢暟鎹洖鏄� - scanHandle(val) { - let { moNo, partNo, partName } = val; - this.modalList.moNo = moNo; - this.modalList.partNo = partNo; - this.modalList.partName = partName; - - this.showModal = true; + //鏌ヨ搴撲綅 + getHandymanItem(obj) { + this.locationNoList = []; + this.$u.api.WorkshopOrderCancellationIssued.cancelDTAOfWorkApplicationPDA( + { + workstationId: this.registerInfo.workstationId, + } + ).then((res) => { + this.locationNoList = []; + this.locationIndex = null; + this.modalList.locationNo = ""; + if (res.code === 0 && res.data.length > 0) { + res.data.forEach((item) => { + const obj = Object.assign({ + label: item.locName, + value: item.id, + }); + this.locationNoList.push(obj); + }); + } + this.getReturnInfo(obj); + }); }, - // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰� + //鏈哄彴 + 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; + }, + // 鐐瑰嚮纭鍚庤幏鍙栨秷涓嬪彂璁板綍 confirm() { + if (!this.modalList.outBatchNo) { + this.$u.toast("璇疯緭鍏ユ壒鍙�"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } + if (!this.modalList.locationNo) { + this.$u.toast("璇疯緭鍏ュ簱浣�"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } + if (!this.modalList.returnQuantity) { + this.$u.toast("璇疯緭鍏ュ彇娑堜笅鍙戞暟閲�"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } // 澶勭悊纭閫昏緫 - this.$u.api.workReporting._(this.modalList).then((res) => { + this.$u.api.WorkshopOrderCancellationIssued.feeding([ + this.modalList, + ]).then((res) => { console.log("res", res); - this.showModal = false; - - this.getHandelList(); + if (res.code === 0) { + this.$u.toast("鎻愪氦鎴愬姛"); + this.showModal = false; + const obj = { + suppliedQuantity: this.modalList.suppliedQuantity, + outBatchNo: this.modalList.returnQuantity, + }; + this.hasScanSnList.push(obj); + } }); }, // 妯℃�佹鍙栨秷 cancel() { this.showModal = false; // 鍏抽棴寮圭獥 }, + // 宸ュ崟鍥炴樉 + workNo(val) { + this.machineList = []; + this.machineIndex = null; + this.registerInfo.workstationId = ""; + 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 = []; + }, + // 璁㈠崟鍙峰洖鏄� setNo(val) { console.log("11111", val); - this.registerInfo.moNo = val.moNo; + (this.registerInfo = { + operationTaskId: "", + id: val.id, + moNo: val.moNo, + optaskNo: "", + workstationId: "", + }), + (this.machineList = []); + this.machineIndex = null; + this.hasScanSnList = []; }, //璁㈠崟鍙� - seachPersonnelNo() { + searchPersonnelNo() { console.log("杞﹂棿璁㈠崟鍙�"); uni.navigateTo({ url: "/pages/product/report/orderList", }); }, + //宸ュ崟 + searchWork() { + if (this.registerInfo.moNo == "") { + this.$u.toast("璇烽�夋嫨璁㈠崟鍙�"); + return; + } + console.log("瀛愪欢"); + // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁� + uni.navigateTo({ + url: + "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + + encodeURIComponent(JSON.stringify(this.registerInfo.id)), + }); + }, + // 鎵爜鍚庢暟鎹洖鏄� + scanHandle(val) { + const { outBatchNo } = val; + const { workstationId, operationTaskId } = this.registerInfo; + const obj = { + outBatchNo: outBatchNo, + feedingWorkstationId: workstationId, + operationTaskId: operationTaskId, + }; + this.$u.api.WorkshopOrderCancellationIssued.checkReturnPartPDA(obj).then( + (res) => { + console.log("res", res); + if (res.code === 0) { + this.getHandymanItem(obj); + } + } + ); + }, + // 鑾峰彇鍩烘湰淇℃伅 + getReturnInfo(obj) { + this.$u.api.WorkshopOrderCancellationIssued.getReturnInfo(obj).then( + (res) => { + console.log("res1", res); + if (res.code === 0) { + this.locationIndex = res.data.locationNo; + res.data.outBatchNo = res.data.ifsBatchNo; + console.log("1", res.data); + 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"); @@ -284,7 +482,7 @@ } .packing-registration-param-view { - height: 180rpx; + height: 450rpx; background-color: #fff; border-radius: 10rpx; padding: 0rpx 23rpx; @@ -311,7 +509,7 @@ .item-one { font-size: 30rpx; - color: #333333; + color: #060505; margin-right: 6rpx; } @@ -336,7 +534,7 @@ } .wrap .packing-registration-scroll-list { - height: calc(100vh - var(--window-top) - var(--window-bottom) - 400rpx); + height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx); width: 100%; } -- Gitblit v1.9.3