From d24b706b7f1b88e0982346dd2afa4f083ae7cb0e Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 23 九月 2025 10:03:41 +0800
Subject: [PATCH] PDA核磅录入页面创建时客户名称选择逻辑修改,至少选择一个客户,解决叉车工选择弹框不能滚动问题
---
pages/product/report/components/saveForm.vue | 565 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 364 insertions(+), 201 deletions(-)
diff --git a/pages/product/report/components/saveForm.vue b/pages/product/report/components/saveForm.vue
index b8b2169..e611d2e 100644
--- a/pages/product/report/components/saveForm.vue
+++ b/pages/product/report/components/saveForm.vue
@@ -1,210 +1,373 @@
<template>
- <u-modal
- v-model="show"
- ref="uModal"
- title=""
- :show-cancel-button="true"
- @confirm="confirm"
- @cancel="cancel"
- :async-close="true"
- :loading="loading"
- >
- <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: {},
- loading: false
- };
- },
- 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;
- }
- 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.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.$refs.uModal.cancel();
- })
- .finally(() => {
- this.loading = false;
- this.$refs.uModal.clearLoading();
- });
- },
- 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;
-}
-@import "../index.scss";
+ ::v-deep .u-input__input {
+ text-align: right !important;
+ }
+
+ @import "../index.scss";
</style>
\ No newline at end of file
--
Gitblit v1.9.3