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 | 495 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 364 insertions(+), 131 deletions(-) diff --git a/pages/product/report/components/saveForm.vue b/pages/product/report/components/saveForm.vue index b99e88b..e611d2e 100644 --- a/pages/product/report/components/saveForm.vue +++ b/pages/product/report/components/saveForm.vue @@ -1,140 +1,373 @@ <template> - <u-modal v-model="show" ref="uModal" title="" :show-cancel-button="true" @confirm="confirm" @cancel="cancel" - :async-close="true"> - <view style="padding: 20rpx;"> - <u-form :model="form" ref="uFormSave" :label-width="280" :rules="rules" :error-type="['toast']"> - <u-form-item label="鎵瑰彿" :border-bottom="false" prop="value0"> - <u-input v-model="form.value0" disabled /> - </u-form-item> - <u-form-item label="闀垮害" :border-bottom="false" prop="value1"> - <u-input v-model="form.value1" /> - </u-form-item> - <u-form-item label="搴撲綅" :border-bottom="false" prop="value2"> - <u-input v-model="form.value2" disabled /> - </u-form-item> - <u-form-item label="鐩樺彿" :border-bottom="false" prop="value3"> - <u-input v-model="form.value3" /> - </u-form-item> - <u-form-item label="姣涢噸" :border-bottom="false" prop="value4"> - <u-input v-model="form.value4" /> - </u-form-item> - <u-form-item label="鍑�閲�" :border-bottom="false" prop="value5"> - <u-input v-model="form.value5" /> - </u-form-item> - <u-form-item label="宸ュ簭" :border-bottom="false" prop="value6"> - <u-input v-model="form.value6" disabled /> - </u-form-item> - <u-form-item label="鎴愬搧澶栧緞娴嬮噺鍊�" :border-bottom="false" prop="value7"> - <u-input v-model="form.value7" /> - </u-form-item> - <u-form-item label="閫�鐏數鍘�" :border-bottom="false" prop="value8"> - <u-input v-model="form.value8" /> - </u-form-item> - <u-form-item label="杞��" prop="value9" :border-bottom="false"> - <u-input v-model="form.value9" /> - </u-form-item> - <u-form-item label="澶栭儴姘斿帇" prop="value10" :border-bottom="false"> - <u-input v-model="form.value10" /> - </u-form-item> - <u-form-item label="鐢熶骇閫熷害" prop="value11" :border-bottom="false"> - <u-input v-model="form.value11" /> - </u-form-item> - </u-form> - </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 { - data() { - return { - show: false, - form: { - value0: null, - value1: null, - value2: null, - value3: null, - value4: null, - value5: null, - value6: null, - value7: null, - value8: null, - value9: null, - value10: null, - value11: null - }, - rules: { - value1: [ - { required: true, message: '璇疯緭鍏ラ暱搴�', trigger: ['blur', 'change'] }, - ], - value3: [ - { required: true, message: '璇疯緭鍏ョ洏鍙�', trigger: ['blur', 'change'] }, - ], - value4: [ - { required: true, message: '璇疯緭鍏ユ瘺閲�', trigger: ['blur', 'change'] }, - ], - value5: [ - { required: true, message: '璇疯緭鍏ュ噣閲�', trigger: ['blur', 'change'] }, - ], - value7: [ - { required: true, message: '璇疯緭鍏ユ垚鍝佸寰勬祴閲忓��', trigger: ['blur', 'change'] }, - ], - value8: [ - { required: true, message: '璇疯緭鍏ラ��鐏數鍘�', trigger: ['blur', 'change'] }, - ], - value9: [ - { required: true, message: '璇疯緭鍏ヨ浆閫�', trigger: ['blur', 'change'] }, - ], - value10: [ - { required: true, message: '璇疯緭鍏ュ閮ㄦ皵鍘�', trigger: ['blur', 'change'] } - ], - value11: [ - { required: true, message: '璇疯緭鍏ョ敓浜ч�熷害', trigger: ['blur', 'change'] } - ] - }, - } - }, - watch: { - show(val) { - if (val) { - this.$nextTick(() => { - this.$refs.uFormSave.setRules(this.rules); - }); - } - }, - }, - methods: { - confirm() { - this.$refs.uFormSave.validate((valid) => { - if (valid) { - console.log('楠岃瘉閫氳繃'); - // 鎵ц鎻愪氦閫昏緫锛堝API璇锋眰锛� - // 鎻愪氦鎴愬姛鍚庡叧闂ā鎬佹 - this.$refs.uModal.cancel(); - } else { - console.log('楠岃瘉澶辫触'); - // 鏄剧ず閿欒淇℃伅 - this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� - } - }); - }, - cancel() { - this.show = false; - }, - open() { - this.show = true; - } - }, -} + 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; -} + ::v-deep .u-input__input { + text-align: right !important; + } + + @import "../index.scss"; </style> \ No newline at end of file -- Gitblit v1.9.3