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 | 796 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 479 insertions(+), 317 deletions(-) diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue index 95d8801..cedb44e 100644 --- a/pages/wareHouse/nuclearScale/index.vue +++ b/pages/wareHouse/nuclearScale/index.vue @@ -1,325 +1,487 @@ <template> - <!-- 鏍哥褰曞叆 --> - <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="verificationNo"> - <u-input v-model="form.verificationNo" type="select" placeholder="璇烽�夋嫨鏍哥鍗曞彿" @click="openList" /> - </u-form-item> - <u-form-item label="浜у搧绫诲瀷" :border-bottom="false" prop="productType"> - <u-input v-model="productTypeMap[form.productType] || form.productType" placeholder="" disabled /> - </u-form-item> - <u-form-item label="杞︾墝鍙�" :border-bottom="false" prop="licensePlate"> - <u-input v-model="form.licensePlate" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙戣揣閫氱煡鍗�1" :border-bottom="false" prop="shippingNoticeNo1"> - <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> - </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О1" :border-bottom="false" prop="customerName1"> - <u-input v-model="form.customerName1" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙戣揣閫氱煡鍗�2" :border-bottom="false" prop="shippingNoticeNo2"> - <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> - </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О2" :border-bottom="false" prop="customerName2"> - <u-input v-model="form.customerName2" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙哥鍛�" :border-bottom="false" prop="weighingOperator"> - <u-input v-model="form.weighingOperator" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙夎溅鍙告満" :border-bottom="false" prop="forkliftOperator"> - <u-input v-model="form.forkliftOperator" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鏍哥璁板綍" :border-bottom="false" prop="value8"> - <u-input type="select" placeholder="" @click="openNuclearScaleRecord" /> - </u-form-item> - <u-form-item :label="`鎵爜璁板綍(${ScanCodeRecord.length}鏉�)锛歚" :border-bottom="false" prop="shippingNoticeNo1" - :label-width="260"> - </u-form-item> - </u-form> - <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.netWeight }} - </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.suppliedQuantity" /> - </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> + <!-- 鏍哥褰曞叆 --> + <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="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="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="licensePlate" + style="font-size: small" + > + <u-input v-model="form.licensePlate" placeholder="" disabled /> + </u-form-item> + <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="瀹㈡埛鍚嶇О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="鍙戣揣閫氱煡鍗�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="瀹㈡埛鍚嶇О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="weighingOperator" + style="font-size: small" + > + <u-input v-model="form.weighingOperator" placeholder="" disabled /> + </u-form-item> + <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> + <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 saveForm from "./saveForm.vue"; - export default { - components: { - scan, - saveForm, - }, - data() { - return { - modalList: {}, - showModal: false, - productTypeMap: { - 1: "瀵间綋", - 2: "閾滄潌", - 3: "瀵间綋2.6", - }, - ScanCodeRecord: [], - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: "fixed", - backgroundSize: "100% auto", - backgroundRepeat: "no-repeat", - }, - show: false, - form: { - value0: "", - verificationNo: "", - productType: "", - licensePlate: "", - shippingNoticeNo1: "", - customerName1: "", - weighingOperator: "", - forkliftOperator: "", - value8: "", - shippingNoticeNo2: "", - customerName2: "", - }, - rules: { - verificationNo: [{ - required: true, - 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"); - if (that.form.verificationNo == "") { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", - duration: 2 * 1000, - }); - return; - } - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log("椤甸潰鎵爜缁撴灉锛�", data.code); - if (data.code) { - try { - let codeInfo = JSON.parse(data.code); - } catch (e) { - uni.showToast({ - icon: "none", - title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�", - duration: 2 * 1000, - }); - return; - } - if (codeInfo.CN != that.form.customerName1) { - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - uni.showModal({ - title: "鎻愮ず", - content: "瀹㈡埛涓嶄竴鑷达細" + - codeInfo.CN + - "||" + - that.form.customerName1, - showCancel: true, - success: function() { - if (that.form.productType == "2") { - that.$refs.saveForm.open(codeInfo); - } else { - that.ScanCodeRecord.push(codeInfo); - } - }, - }); - } else { - if (that.form.productType == "2") { - that.$refs.saveForm.open(codeInfo); - } else { - that.ScanCodeRecord.push(codeInfo); - } - } - } - }); - }, - methods: { - // 鍙栨秷鎵爜璁板綍 - cancelReport(item) { - this.ScanCodeRecord = this.ScanCodeRecord.filter(a => a.outBatchNo !== item.outBatchNo); - }, - // 瀵间綋鎻愪氦 - confirmDt() { - const magnetic = - Number(this.form.h) - Number(this.form.children) - Number(this.form.m); - console.log("淇濆瓨", this.form.verificationNo); - switch (this.form.productType) { - case "瀵间綋": - if (magnetic > 0 && magnetic < 3) { - 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); - } else { - this.$u.toast("鐢熶骇鏍告煡"); - } - break; - } - }, - // 鍙栨秷 - cancelDt() { - this.showModal = false; - }, - handleUpdate(Obj) { - this.ScanCodeRecord.push(Obj); - }, - // 鎻愪氦鎸夐挳 - submit() { - this.showModal = true; - }, - // 寮规淇濆瓨 - confirm() { - console.log("淇濆瓨", this.form.verificationNo); - // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊� - }, - // 閫夋嫨璁㈠崟鍙� - openList() { - uni.navigateTo({ - 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", - }); - }, - // 瀛樿鍗曞彿 - setNo(val) { - this.form = val; - }, - // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� - // saveForm(val) { - // let { - // WorkNo, - // ProcessName, - // ORDER_NO - // } = val; - // this.form.verificationNo = WorkNo; - // this.form.productType = ProcessName; - // this.form.licensePlate = ORDER_NO; - // }, - }, - }; +import scan from "@/components/scan/scan.vue"; +import content_bg from "@/static/custom/packing/backBg.png"; +import saveForm from "./saveForm.vue"; +export default { + 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", + }, + show: false, + form: { + value0: "", + verificationNo: "", + productType: "", + licensePlate: "", + shippingNoticeNo1: "", + customerName1: "", + weighingOperator: "", + forkliftOperator: "", + value8: "", + shippingNoticeNo2: "", + customerName2: "", + }, + rules: { + verificationNo: [ + { + required: true, + 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"); + if (that.form.verificationNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", + duration: 2 * 1000, + }); + return; + } + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("椤甸潰鎵爜缁撴灉锛�", data.code); + if (data.code) { + 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) { + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + 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() { + if (that.form.productType != "TG01") { + this.showModal = true; + } else { + this.allSubmit(); + } + }, + // 寮规淇濆瓨 + confirm() { + console.log("淇濆瓨", this.form.verificationNo); + // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊� + }, + // 閫夋嫨璁㈠崟鍙� + openList() { + uni.navigateTo({ + 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", + }); + }, + // 瀛樿鍗曞彿 + setNo(val) { + this.form = val; + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + // 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