<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"
|
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 {
|
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;
|
}
|
//扫码成功后的回调,你可以写自己的逻辑代码在这里
|
console.log("页面扫码结果:", data.code);
|
if (data.code) {
|
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) {
|
// 扫描报工单二维码
|
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";
|
</style>
|