Files
rd_mes_uniapp_deprecated/pages/srm/antiCrossCargoIn.vue
2025-11-17 10:01:33 +08:00

264 lines
7.1 KiB
Vue

<template>
<view>
<uni-forms ref="form" :modelValue="formData" :rules="rules">
<uni-row>
<uni-col :span="24">
<uni-forms-item label="客户编码" :labelWidth='90' name="partnerCode">
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @confirm="scanBarCode1"
v-model="formData.partnerCode" type="text" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="客户名称" :labelWidth='90' name="partnerName">
<uni-easyinput disabled v-model="formData.partnerName" type="text" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="允许经销地区" :labelWidth='90' name="country">
<uni-easyinput disabled v-model="formData.country" type="text" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="件号" :labelWidth='90' name="pieceNo">
<uni-easyinput suffixIcon="scan" @iconClick="scanBar2" @confirm="scanBarCodePieceNo"
v-model="formData.pieceNo" type="text" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="物料编码" :labelWidth='90' name="wlCode">
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.wlCode" type="text" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="物料名称" :labelWidth='90' name="wlName">
<uni-easyinput type="text" v-model="formData.wlName" disabled />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="物料批号" :labelWidth='90' name="wlBatchNum">
<uni-easyinput suffixIcon="scan" @iconClick="scanBar3" type="text"
v-model="formData.wlBatchNum" />
</uni-forms-item>
</uni-col>
<uni-col :span="24">
<uni-forms-item label="箱号" :labelWidth='90' name="lotNo">
<uni-easyinput suffixIcon="scan" @iconClick="scanBar4" type="text" v-model="formData.lotNo" />
</uni-forms-item>
</uni-col>
<!-- <uni-col :span="24">
<uni-forms-item label="箱号标记码" :labelWidth='90' name="pieceSignId">
<uni-easyinput disabled type="text" v-model="formData.pieceSignId"/>
</uni-forms-item>
</uni-col> -->
</uni-row>
</uni-forms>
<u-button type="primary" @click="submit">提交</u-button>
</view>
</template>
<script>
import {
listCustomer,
addAntiChannelRecord,
searchByCode
} from "@/api/srm/antiCrossCargo.js";
import {
listMaterial
} from "@/api/wms/request.js";
export default {
mounted() {
this.test();
},
data() {
return {
formData: {
partnerCode: null,
partnerName: null,
wlName: null,
wlBatchNum: null,
country: null,
pieceNo: null,
lotNo: null,
pieceSignId: null,
customerId: null,
wlCode: null
},
rules: {
partnerCode: {
rules: [{
required: true,
errorMessage: '请输入客户编码!'
}]
},
pieceNo: {
rules: [{
required: true,
errorMessage: '请输入件号!'
}]
}
}
}
},
methods: {
test() {},
//根据物料编码查询物料名称
scanBarCode() {
if (this.formData.wlCode && this.formData.wlCode != "") {
let obj = {
materialCode: this.formData.wlCode
}
console.log(obj);
listMaterial(obj).then(async res => {
if (res.rows.length != 0) {
console.log(res);
this.formData.wlName = res.rows[0].materialName
} else {
this.$modal.msg("未检索到该物料编码!");
}
});
} else {
this.$modal.msg("请输入物料编码!");
}
},
scanBarCodePieceNo() {
if (this.formData.pieceNo) {
searchByCode(this.formData.pieceNo, 3).then(async res => {
if (res.data) {
this.formData.wlName = res.data.materialName;
this.formData.wlBatchNum = res.data.batchNo;
this.formData.lotNo = res.data.lotNo;
this.formData.pieceSignId = res.data.splitStockId;
this.formData.wlCode = res.data.materialCode;
} else {
this.$modal.msg("未找到相应的物料信息!")
}
});
}
},
//根据客户编码获取客户信息
scanBarCode1() {
if (this.formData.partnerCode && this.formData.partnerCode != "") {
let obj = {
partnerCode: this.formData.partnerCode
}
console.log(obj);
listCustomer(obj).then(async res => {
if (res.rows.length != 0) {
console.log(res);
this.formData.partnerName = res.rows[0].partnerName,
this.formData.country = res.rows[0].country,
this.formData.customerId = res.rows[0].id
} else {
this.$modal.msg("未检索到该客户!");
}
});
} else {
this.$modal.msg("请输入客户编码!");
}
},
//客户编码
scanBar() {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.partnerCode = res.result;
_this.scanBarCode1();
}
});
},
//件号
scanBar2() {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.pieceNo = res.result;
_this.scanBarCodePieceNo();
}
});
},
//物料编码
scanBar1() {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.wlCode = res.result;
_this.scanBarCode();
}
});
},
//物料批号
scanBar3() {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.wlBatchNum = res.result;
}
});
},
//箱号
scanBar4() {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.lotNo = res.result;
}
});
},
//箱号标记码
// scanBar5() {
// const _this = this;
// uni.scanCode({
// scanType: ['barCode','qrCode'],
// success: function (res) {
// _this.formData.pieceSignId = res.result;
// }
// });
// },
submit() {
const _this = this;
this.$refs.form.validate().then(res => {
uni.showModal({
title: '提示',
content: '您确定录入吗?',
success: function(res) {
if (res.confirm) {
let data = {
customerId: _this.formData.customerId,
allowDealPlace: _this.formData.country,
pieceNo: _this.formData.pieceNo,
pieceSignId: _this.formData.pieceSignId,
materialCode: _this.formData.wlCode,
materialName: _this.formData.wlName,
batchNo: _this.formData.wlBatchNum,
lotNo: _this.formData.lotNo
}
console.log(data);
_this.$modal.loading('提交中')
addAntiChannelRecord(data).then(async res => {
_this.$modal.closeLoading();
_this.$modal.msgSuccess("防串货录入成功!");
setTimeout(() => {
_this.$tab.switchTab("/pages/work/index");
}, 500);
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
});
},
}
}
</script>
<style>
</style>