| | |
| | | <!-- 核磅录入 --> |
| | | <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="open" /> |
| | | <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="扫码记录(0条):" :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">提交</u-button> |
| | | <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, |
| | | 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; |
| | | } |
| | | //扫码成功后的回调,你可以写自己的逻辑代码在这里 |
| | | 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: "扫码数据解析失败,请重试!", |
| | | // 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() { |
| | | 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", |
| | | }); |
| | | }, |
| | | // 存订单号 |
| | | 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> |