From 66a4579ac674f0f3958f2f365718c34e3bac49da Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期二, 12 八月 2025 08:32:52 +0800 Subject: [PATCH] 核磅录入 --- pages/wareHouse/nuclearScale/index.vue | 486 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 418 insertions(+), 68 deletions(-) diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue index 203add9..cedb44e 100644 --- a/pages/wareHouse/nuclearScale/index.vue +++ b/pages/wareHouse/nuclearScale/index.vue @@ -2,136 +2,486 @@ <!-- 鏍哥褰曞叆 --> <div class="page"> <view class="packing-registration-bg" /> - <u-navbar title="鏍哥褰曞叆" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" - back-icon-color="#000" /> - <u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']" class="uForm"> - <u-form-item label="鏍哥鍗曞彿" :border-bottom="false" prop="value1"> - <u-input v-model="form.value1" type="select" placeholder="璇烽�夋嫨鏍哥鍗曞彿" @click="openList" /> + <u-navbar + title="鏍哥褰曞叆" + :background="background" + :border-bottom="false" + :title-bold="true" + title-color="#000" + back-icon-color="#000" + /> + <u-form + :model="form" + ref="uForm" + :label-width="200" + :rules="rules" + :error-type="['toast']" + class="uForm" + > + <u-form-item + label="鏍哥鍗曞彿" + :border-bottom="false" + prop="verificationNo" + style="font-size: small" + > + <u-input + v-model="form.verificationNo" + type="select" + placeholder="璇烽�夋嫨鏍哥鍗曞彿" + @click="openList" + /> </u-form-item> - <u-form-item label="浜у搧绫诲瀷" :border-bottom="false" prop="value2"> - <u-input v-model="form.value2" placeholder="" disabled /> + <u-form-item + label="浜у搧绫诲瀷" + :border-bottom="false" + prop="productType" + style="font-size: small" + > + <u-input + v-model="productTypeMap[form.productType] || form.productType" + placeholder="" + disabled + /> </u-form-item> - <u-form-item label="杞︾墝鍙�" :border-bottom="false" prop="value3"> - <u-input v-model="form.value3" placeholder="" disabled /> + <u-form-item + label="杞︾墝鍙�" + :border-bottom="false" + prop="licensePlate" + style="font-size: small" + > + <u-input v-model="form.licensePlate" placeholder="" disabled /> </u-form-item> - <u-form-item label="鍙戣揣閫氱煡鍗�" :border-bottom="false" prop="value4"> - <u-input v-model="form.value4" placeholder="" disabled /> + <u-form-item + label="鍙戣揣閫氱煡鍗�1" + :border-bottom="false" + prop="shippingNoticeNo1" + style="font-size: small" + > + <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О" :border-bottom="false" prop="value5"> - <u-input v-model="form.value5" placeholder="" disabled /> + <u-form-item + label="瀹㈡埛鍚嶇О1" + :border-bottom="false" + prop="customerName1" + style="font-size: small" + > + <u-input v-model="form.customerName1" placeholder="" disabled /> </u-form-item> - <u-form-item label="鍙哥鍛�" :border-bottom="false" prop="value6"> - <u-input v-model="form.value6" placeholder="" disabled /> + <u-form-item + label="鍙戣揣閫氱煡鍗�2" + :border-bottom="false" + prop="shippingNoticeNo2" + style="font-size: small" + > + <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> </u-form-item> - <u-form-item label="鍙夎溅鍙告満" :border-bottom="false" prop="value7"> - <u-input v-model="form.value7" placeholder="" disabled /> + <u-form-item + label="瀹㈡埛鍚嶇О2" + :border-bottom="false" + prop="customerName2" + style="font-size: small" + > + <u-input v-model="form.customerName2" placeholder="" disabled /> </u-form-item> - <u-form-item label="鏍哥璁板綍" :border-bottom="false" prop="value8"> - <u-input v-model="form.value8" type="select" placeholder="" @click="openNuclearScaleRecord" /> + <u-form-item + label="鍙哥鍛�" + :border-bottom="false" + prop="weighingOperator" + style="font-size: small" + > + <u-input v-model="form.weighingOperator" placeholder="" disabled /> </u-form-item> - <u-form-item :label="`鎵爜璁板綍(${num}鏉�)锛歚" :border-bottom="false" prop="value4" :label-width="260"> - <!-- <u-input v-model="form.value4" placeholder="" disabled /> --> + <u-form-item + label="鍙夎溅鍙告満" + :border-bottom="false" + prop="forkliftOperator" + style="font-size: small" + > + <u-input v-model="form.forkliftOperator" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鏍哥璁板綍" + :border-bottom="false" + prop="value8" + style="font-size: small" + > + <u-input type="select" placeholder="" @click="openNuclearScaleRecord" /> + </u-form-item> + <u-form-item + :label="`鎵爜璁板綍(${ScanCodeRecord.length}鏉�)锛歚" + :border-bottom="false" + prop="shippingNoticeNo1" + :label-width="260" + style="font-size: small" + > </u-form-item> </u-form> - <u-button type="primary" class="bottom-button" @click="submit">鍒涘缓</u-button> - <u-modal v-model="show" @confirm="confirm" content="鏄惁纭鎻愪氦" show-cancel-button></u-modal> + <view class="wrap"> + <scroll-view class="packing-registration-scroll-list" scroll-y="true"> + <u-cell-group + class="packing-registration-scroll-list-group" + :border="false" + > + <view + class="content" + v-for="(item, index) in ScanCodeRecord" + :key="index" + :index="index" + @click="cancelReport(item)" + > + <view class="content-header"> + <view class="content-header-title">{{ index + 1 }}</view> + </view> + <view class="content-body"> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鎵瑰彿锛�</view> + </view> + <view class="_content"> + {{ item.outBatchNo }} + </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.partNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">姣涢噸锛�</view> + </view> + <view class="_content"> + {{ item.grossWeight }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鐩橀噸锛�</view> + </view> + <view class="_content"> + {{ item.trayWeight }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鍑�閲嶏細</view> + </view> + <view class="_content"> + {{ item.netWeight }} + </view> + </view> + </view> + </view> + </u-cell-group> + </scroll-view> + </view> + <!-- 瀵间綋 --> + <u-modal + v-model="showModal" + title="" + :show-cancel-button="true" + :show-confirm-button="true" + @confirm="confirmDt" + @cancel="cancelDt" + > + <view class="popup-content"> + <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"> + <u-input + class="item-one item-two" + v-model="modalList.verificationWeight" + /> + </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="modalList.suppliedQuantity" + /> + </view> + </view> + </view> + </view> + </view> + </u-modal> + <u-button type="primary" class="bottom-button" @click="submit" + >鎻愪氦</u-button + > + <u-modal + v-model="show" + @confirm="confirm" + content="鏄惁纭鎻愪氦" + show-cancel-button + ></u-modal> + <saveForm + ref="saveForm" + :operationTaskList="this.form" + @update="handleUpdate" + /> <scan></scan> </div> </template> <script> import scan from "@/components/scan/scan.vue"; -import content_bg from '@/static/custom/packing/backBg.png' +import content_bg from "@/static/custom/packing/backBg.png"; +import saveForm from "./saveForm.vue"; export default { - components: { scan }, + components: { + scan, + saveForm, + }, data() { return { + commitList: [], + modalList: {}, + showModal: false, + productTypeMap: { + 1: "瀵间綋", + 2: "閾滄潌", + 3: "瀵间綋2.6", + }, + ScanCodeRecord: [], background: { backgroundImage: `url(${content_bg})`, - backgroundAttachment: 'fixed', - backgroundSize: '100% auto', - backgroundRepeat: 'no-repeat', + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", }, - show:false, - num:1, + show: false, form: { - value0: '', - value1: '', - value2: '', - value3: '', - value4: '', - value5: '', - value6: '', - value7: '', - value8: '' + value0: "", + verificationNo: "", + productType: "", + licensePlate: "", + shippingNoticeNo1: "", + customerName1: "", + weighingOperator: "", + forkliftOperator: "", + value8: "", + shippingNoticeNo2: "", + customerName2: "", }, rules: { - value1: [ + verificationNo: [ { required: true, - message: '璇烽�夋嫨鏍哥鍗曞彿', - trigger: ['change', 'blur'], + message: "璇烽�夋嫨鏍哥鍗曞彿", + trigger: ["change", "blur"], }, ], }, - } + }; }, onReady() { this.$refs.uForm.setRules(this.rules); }, onShow() { - let that = this - uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - uni.$on('scan', function (data) { - console.log('onscan'); + let that = this; + uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on("scan", function (data) { + console.log("onscan"); + if (that.form.verificationNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", + duration: 2 * 1000, + }); + return; + } //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log('椤甸潰鎵爜缁撴灉锛�', data.code); + console.log("椤甸潰鎵爜缁撴灉锛�", data.code); if (data.code) { - let codeInfo = JSON.parse(data.code) - if (codeInfo.WorkNo) { + let codeInfo = JSON.parse(data.code); + // try { + // } catch (e) { + // uni.showToast({ + // icon: "none", + // title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�", + // duration: 2 * 1000, + // }); + // return; + // } + let ScanCodeRecordList = { + outBatchNo: codeInfo.BN, + netWeight: codeInfo.NW, + tareWeight: codeInfo.TR, // 鐨噸 + partNo: codeInfo.PN, + grossWeight: codeInfo.TW, + partNo: codeInfo.partNo, + partName: codeInfo.ST, + originalLength: codeInfo.LN, // 闀垮害 + palletNo: codeInfo.PNO, // 鐩樺彿 + waivDevRejNo: codeInfo.WDR ? codeInfo.WDR : "*", // wdr鍙� + }; + if (codeInfo.CN != that.form.customerName1) { // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - that.saveForm(codeInfo); + uni.showModal({ + title: "鎻愮ず", + content: + "瀹㈡埛涓嶄竴鑷达細" + codeInfo.CN + "||" + that.form.customerName1, + showCancel: true, + success: function () { + if (that.form.productType == "TG01") { + that.$refs.saveForm.open(ScanCodeRecordList); + } else { + that.ScanCodeRecord.push(ScanCodeRecordList); + } + }, + }); + } else { + if (that.form.productType == "TG01") { + that.$refs.saveForm.open(ScanCodeRecordList); + } else { + that.ScanCodeRecord.push(ScanCodeRecordList); + } } } - }) + }); }, methods: { + // 鍙栨秷鎵爜璁板綍 + cancelReport(item) { + let that = this; + uni.showModal({ + title: "鎻愮ず", + content: "鏄惁纭鍙栨秷閫変腑椤�", + success: function (res) { + if (res.confirm) { + that.ScanCodeRecord = that.ScanCodeRecord.filter( + (a) => a.outBatchNo !== item.outBatchNo + ); + } else if (res.cancel) { + return; + } + }, + }); + }, + // 瀵间綋鎻愪氦 + confirmDt() { + const magnetic = + Number(this.form.verificationWeight) - + Number(this.form.voltage) - + Number(this.form.reelWeight); + console.log("淇濆瓨", this.form.verificationNo); + switch (this.form.productType) { + case "瀵间綋": + if (magnetic > 0 && magnetic < 3) { + this.allSubmit(); + // this.ScanCodeRecord.push(this.form); + } else { + this.$u.toast("鐢熶骇鏍告煡"); + } + break; + case "瀵间綋2.6": + if (magnetic > -0.5 && magnetic < 0.5) { + // this.ScanCodeRecord.push(this.form); + this.allSubmit(); + } else { + this.$u.toast("鐢熶骇鏍告煡"); + } + break; + } + }, + allSubmit() { + this.form = { + ...this.form, + weighingVerificationList: this.ScanCodeRecord, + }; + // 澶勭悊鎻愪氦閫昏緫 + this.$u.api.NuclearScaleEntry.createDetail(this.form) + .then((res) => { + if (res.success) { + this.$u.toast("鎻愪氦鎴愬姛"); + } else { + this.$u.toast(res.message || "鎻愪氦澶辫触"); + } + }) + .catch(() => { + uni.hideLoading(); + this.$u.toast("缃戠粶寮傚父锛岃閲嶈瘯"); + }); + }, + + // 鍙栨秷 + cancelDt() { + this.showModal = false; + }, + handleUpdate(Obj) { + this.ScanCodeRecord.push(Obj); + }, // 鎻愪氦鎸夐挳 submit() { - this.show = true + if (that.form.productType != "TG01") { + this.showModal = true; + } else { + this.allSubmit(); + } }, // 寮规淇濆瓨 confirm() { - console.log('淇濆瓨', this.form.value1); + console.log("淇濆瓨", this.form.verificationNo); // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊� }, // 閫夋嫨璁㈠崟鍙� openList() { uni.navigateTo({ - url: '/pages/wareHouse/nuclearScale/nuclearScaleList' - }) + url: "/pages/wareHouse/nuclearScale/nuclearScaleList", + }); }, //鏍哥璁板綍 openNuclearScaleRecord() { + if (this.form.verificationNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", + duration: 2 * 1000, + }); + return; + } uni.navigateTo({ - url: '/pages/wareHouse/nuclearScale/nuclearscalerecord' - }) + url: "/pages/wareHouse/nuclearScale/nuclearscalerecord", + }); }, // 瀛樿鍗曞彿 setNo(val) { - this.form.value3 = val + this.form = val; }, // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� - saveForm(val) { - let { WorkNo, ProcessName, ORDER_NO } = val - this.form.value1 = WorkNo - this.form.value2 = ProcessName - this.form.value3 = ORDER_NO - } - } -} + // saveForm(val) { + // let { + // WorkNo, + // ProcessName, + // ORDER_NO + // } = val; + // this.form.verificationNo = WorkNo; + // this.form.productType = ProcessName; + // this.form.licensePlate = ORDER_NO; + // }, + }, +}; </script> <style lang="scss"> -@import 'index.scss'; +@import "index.scss"; </style> \ No newline at end of file -- Gitblit v1.9.3