From 1f017a1ebe252ef945e42dc868ac8c24e2b6d534 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期四, 21 八月 2025 17:35:49 +0800 Subject: [PATCH] pda报工选择投料接口变更 --- pages/product/report/components/saveForm.vue | 620 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 363 insertions(+), 257 deletions(-) diff --git a/pages/product/report/components/saveForm.vue b/pages/product/report/components/saveForm.vue index 9ec9a98..e611d2e 100644 --- a/pages/product/report/components/saveForm.vue +++ b/pages/product/report/components/saveForm.vue @@ -1,267 +1,373 @@ <template> - <u-modal - v-model="show" - ref="uModal" - title="" - :show-cancel-button="true" - @confirm="confirm" - @cancel="cancel" - :async-close="true" - > - <view class="packing-registration-param"> - <scroll-view scroll-y="true" style="height: 100%"> - <view class="packing-registration-param-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"> - <u-input class="item-one item-two" v-model="form.overallLength" /> - </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"> - <u-input - class="item-one item-two" - v-model="form.proposedLocation" - disabled - /> - </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"> - <u-input class="item-one item-two" v-model="form.reelNumber" /> - </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"> - <u-input class="item-one item-two" v-model="form.reelWeight" /> - </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"> - <u-input class="item-one item-two" v-model="form.grossWeight" /> - </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"> - <u-input class="item-one item-two" v-model="form.netWeight" /> - </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"> - <u-input class="item-one item-two" v-model="form.name" disabled /> - </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"> - <u-input class="item-one item-two" v-model="form.outerDiameter" /> - </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"> - <u-input class="item-one item-two" v-model="form.voltage" /> - </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"> - <u-input class="item-one item-two" v-model="form.speed" /> - </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"> - <u-input class="item-one item-two" v-model="form.pressure" /> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one item-two">鐢熶骇閫熷害</text> - </view> - <view class="packing-registration-param-item-right"> - <u-input - class="item-one item-two" - v-model="form.productionSpeed" - /> - </view> - </view> - </view> - </scroll-view> - </view> - </u-modal> + <view> + <u-modal v-model="show" ref="uModal" title="" :show-cancel-button="true" @confirm="confirm" @cancel="cancel" + :async-close="true"> + <view class="packing-registration-param"> + <scroll-view scroll-y="true" style=" + height: 100%; + transform: translateZ(0); + -webkit-font-smoothing: antialiased; + "> + <view class="packing-registration-param-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"> + <u-input class="item-one item-two" v-model="form.outBatchNo" /> + </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"> + <u-input + class="item-one item-two" + v-model="form.ifsBatchNoArr" + disabled + /> + </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"> + <u-input class="item-one item-two" v-model="form.overallLength" /> + </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"> + <u-input class="item-one item-two" v-model="form.proposedLocation" disabled /> + </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"> + <u-input class="item-one item-two" v-model="form.reelNumber" /> + </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"> + <u-input class="item-one item-two" v-model="form.reelWeight" /> + </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"> + <u-input class="item-one item-two" v-model="form.grossWeight" /> + </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"> + <u-input class="item-one item-two" v-model="form.netWeight" disabled /> + </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"> + <u-input class="item-one item-two" v-model="form.waste" /> + </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"> + <u-input class="item-one item-two" v-model="form.name" disabled /> + </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"> + <u-input class="item-one item-two" v-model="form.outerDiameter" /> + </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"> + <u-input class="item-one item-two" v-model="form.voltage" /> + </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"> + <u-input class="item-one item-two" v-model="form.speed" /> + </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"> + <u-input class="item-one item-two" v-model="form.pressure" /> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one item-two">鐢熶骇閫熷害</text> + </view> + <view class="packing-registration-param-item-right"> + <u-input class="item-one item-two" v-model="form.productionSpeed" /> + </view> + </view> + </view> + </scroll-view> + </view> + </u-modal> + <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" + @confirm="confirmTl" @cancel="cancelTl"> + <view class="packing-registration-param"> + <view class="packing-registration-param-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">{{ + detailedList.ifsBatchNo + }}</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">{{ detailedList.partName }}</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"> + <u-input class="item-one item-two" v-model="detailedList.suppliedQuantity" /> + </view> + </view> + </view> + </view> + </u-modal> + </view> </template> <script> -export default { - props: { - operationTaskList: { - type: Object, - required: true, - default: () => ({}), - }, - }, - data() { - return { - show: false, - form: {}, - }; - }, - methods: { - confirm() { - if (!this.form.outerDiameter) { - this.$u.toast("璇疯緭鍏ユ垚鍝佸寰勬祴閲忓��"); - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - return; - } - if (!this.form.voltage) { - this.$u.toast("璇疯緭鍏ラ��鐏數鍘�"); - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - return; - } - if (!this.form.speed) { - this.$u.toast("璇疯緭鍏ヨ浆閫�"); - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - return; - } - if (!this.form.pressure) { - this.$u.toast("璇疯緭鍏ュ閮ㄦ皵鍘�"); - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - return; - } - if (!this.form.productionSpeed) { - this.$u.toast("璇疯緭鍏ョ敓浜ч�熷害"); - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - return; - } - this.operationTaskList.operationTaskId = this.operationTaskList.id; - this.form.operationTaskId = this.operationTaskList.id; - this.operationTaskList.productOutputList = []; // 鍒涘缓涓�涓┖鏁扮粍 - this.operationTaskList.productOutputList.push(this.form); // 鍚戞暟缁勪腑娣诲姞鍏冪礌 - console.log("this.operationTaskList", this.operationTaskList); - this.$u.api.workReporting - .submitPDA(this.operationTaskList) - .then((res) => { - this.$emit("update"); - this.$refs.uModal.cancel(); - }); - }, - cancel() { - this.show = false; - this.form = {}; - }, - open(val) { - this.show = true; - this.form = val.data; - }, - }, -}; + export default { + props: { + operationTaskList: { + type: Object, + required: true, + default: () => ({}), + }, + dutyId: { + type: Number, + required: true, + default: "", + }, + }, + data() { + return { + showModal: false, + detailedList: {}, + show: false, + form: {}, + ifsBatchNo: [], + productInputList: [], + // loading: false, + }; + }, + watch: { + "form.grossWeight"(val) { + if (val === "") { + this.form.netWeight = ""; + } else if (this.form.reelWeight) { + this.form.netWeight = + parseFloat(val) - parseFloat(this.form.reelWeight); + } + }, + "form.reelWeight"(val) { + if (this.form.grossWeight && val) { + this.form.netWeight = + parseFloat(this.form.grossWeight) - parseFloat(val); + } + }, + }, + methods: { + confirm() { + // if (this.loading) return; + // if (!this.form.outerDiameter) { + // this.$u.toast("璇疯緭鍏ユ垚鍝佸寰勬祴閲忓��"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // if (!this.form.voltage) { + // this.$u.toast("璇疯緭鍏ラ��鐏數鍘�"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // if (!this.form.speed) { + // this.$u.toast("璇疯緭鍏ヨ浆閫�"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // if (!this.form.pressure) { + // this.$u.toast("璇疯緭鍏ュ閮ㄦ皵鍘�"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // if (!this.form.productionSpeed) { + // this.$u.toast("璇疯緭鍏ョ敓浜ч�熷害"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + if (!this.form.outBatchNo) { + this.$u.toast("璇疯緭鍏ユ壒鍙�"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } + if (Number(this.form.netWeight) == 0) { + this.$u.toast("鍑�閲嶄笉涓�0"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } + // if (!this.form.waste) { + // this.$u.toast("璇疯緭鍏ュ簾鏂�"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // if (this.form.productInputList.length == 0) { + // this.$u.toast("鎶曟枡鎵规涓嶈兘涓虹┖锛岃鎵爜鎶曟枡"); + // this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + // return; + // } + // this.operationTaskList.operationTaskId = this.operationTaskList.id; + // this.form.operationTaskId = this.operationTaskList.id; + // this.form.status = this.operationTaskList.status; + // this.form.Persons = this.operationTaskList.Persons; + // this.form.productStaffIds = this.operationTaskList.productStaffIds; + // this.form.productStaffs = this.operationTaskList.productStaffs; + // this.form.dutyRecordId = this.dutyId; + // this.operationTaskList.productOutputList = []; // 鍒涘缓涓�涓┖鏁扮粍 + // this.operationTaskList.productOutputList.push(this.form); // 鍚戞暟缁勪腑娣诲姞鍏冪礌 + // console.log("this.operationTaskList", this.operationTaskList); + // this.loading = true; + // this.$u.api.workReporting + // .submitPDA(this.operationTaskList) + // .then((res) => { + // this.$emit("update",this.operationTaskList); + // this.$refs.uModal.cancel(); + // }) + // .finally(() => { + // this.loading = false; + // this.$refs.uModal.clearLoading(); + // }); + this.$emit("update", this.form); + this.$refs.uModal.clearLoading(); + this.$refs.uModal.cancel(); + }, + cancel() { + this.show = false; + this.form = {}; + this.ifsBatchNo = []; + this.productInputList = []; + }, + cancelTl() { + this.showModal = false; + this.detailedList = {}; + }, + updateArray(arr, newObj) { + // 鏌ユ壘鏁扮粍涓槸鍚︽湁鐩稿悓鐨� id + let index = arr.findIndex(item => item.ifsBatchNo === newObj.ifsBatchNo); + + if (index !== -1) { + // 濡傛灉鎵惧埌鐩稿悓 id 鐨勫璞★紝鏇挎崲鍘熸湁瀵硅薄 + arr[index] = newObj; + } else { + // 濡傛灉娌℃湁鎵惧埌鐩稿悓 id 鐨勫璞★紝鐩存帴鎺ㄥ叆鏂板璞� + arr.push(newObj); + } + return arr; + }, + confirmTl() { + let ifsBatchNoArr = []; + let updatedArrayList = this.updateArray(this.productInputList, this.detailedList); + console.log("updatedArrayList", updatedArrayList); + // this.productInputList.push(updatedArrayList); + this.$set(this.form, "productInputList", this.productInputList); + + this.productInputList.forEach((item) => { + ifsBatchNoArr.push(item.ifsBatchNo) + }) + console.log("ifsBatchNoArr", ifsBatchNoArr); + // this.ifsBatchNo.push(ifsBatchNoArr); + this.$set(this.form, "ifsBatchNoArr", ifsBatchNoArr); + console.log("this.form", this.form); + this.showModal = false; + this.detailedList = {}; + }, + open(val) { + this.show = true; + this.form = val.data; + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + saveForm(val) { + this.$u.api.cancelReporting + .selInputPartInfoPDA({ + outBatchNo: val.BN, + partNo: val.PN, + moOn: this.operationTaskList.moOn, + }) + .then((res) => { + const list = { + suppliedQuantity: res.data.suppliedQuantity, + ifsBatchNo: res.data.ifsBatchNo, + partNo: res.data.partNo, + partName: res.data.partName, + locationNo: res.data.locationNo, + ifsLineItemNo: res.data.ifsLineItemNo, + serialNo: res.data.serialNo, + engChgLevel: res.data.engChgLevel, + ifsWdr: res.data.waivDevRejNo, + activitySeq: res.data.activitySeq, + }; + this.detailedList = list; + this.showModal = true; + }); + }, + }, + }; </script> <style lang="scss" scoped> -::v-deep .u-model__title { - padding-top: 0 !important; -} + ::v-deep .u-model__title { + padding-top: 0 !important; + } -::v-deep .u-input__input { - text-align: right !important; -} -.packing-registration-param { - padding: 40rpx 30rpx 10rpx 30rpx; - height: 350px; - overflow: hidden; + ::v-deep .u-input__input { + text-align: right !important; + } - .packing-registration-param-title { - display: flex; - flex-direction: row; - align-items: center; - margin-bottom: 30rpx; - - .title-label { - margin-left: 14rpx; - font-size: 34rpx; - font-weight: bold; - color: #283e65; - } - } - - .packing-registration-param-view { - height: 177rpx; - background-color: #fff; - border-radius: 10rpx; - padding: 0rpx 23rpx; - margin-bottom: 30rpx; - - .packing-registration-param-item { - height: 90rpx; - border: 1px solid #adc8e4; - line-height: 90rpx; - display: flex; - justify-content: space-between; - border: none; - - .packing-registration-param-item-left { - .item-one { - font-size: 30rpx; - color: #666666; - } - } - - .packing-registration-param-item-right { - display: flex; - justify-content: space-between; - - .item-one { - font-size: 15rpx; - color: #060505; - margin-right: 6rpx; - } - - .item-two { - font-size: 15rpx; - color: #a6b4cc; - margin-right: 6rpx; - } - - .item-three { - font-size: 30rpx; - color: #214ded; - margin-right: 6rpx; - } - } - } - - .param-extra { - border-bottom: 1px solid #ededed; - } - } -} + @import "../index.scss"; </style> \ No newline at end of file -- Gitblit v1.9.3