整车绑定功能对接,部件出入库判重对接

This commit is contained in:
dzl 2025-05-29 17:08:26 +08:00
parent 181adc75a2
commit 976432989c
4 changed files with 144 additions and 32 deletions

View File

@ -38,7 +38,9 @@
showMessage showMessage
} from '../../utils/tools'; } from '../../utils/tools';
const imgPath = config.imgPath; const imgPath = config.imgPath;
import {
callOperateApi
} from '@/utils/api.js';
const { const {
isOnlyBarCode isOnlyBarCode
} = defineProps({ } = defineProps({
@ -49,7 +51,7 @@
}); });
const type = ref(""); const type = ref("");
const scanType = ref("");
const isInitDone = ref(false); const isInitDone = ref(false);
const flash = ref("off"); const flash = ref("off");
const message = ref(null); const message = ref(null);
@ -59,6 +61,7 @@
onLoad((options) => { onLoad((options) => {
if (options.type) { if (options.type) {
type.value = options.type; type.value = options.type;
scanType.value = options.scanType;
} }
}) })
@ -72,22 +75,131 @@
const { const {
result result
} = res.detail; } = res.detail;
const now = Date.now(); if (scanType.value == 'bjrk') {
console.log("1111111111111111111", now - lastTime, result) let componentType = "";
if (lastTime && (now - lastTime < 1000)) return; let componentCode = ""
lastTime = Date.now(); if (type.value == 'inBattery') {
if (!scancode.code.includes(result)) { componentType = "262711452730000";
code.value = result; componentCode = result;
scancode.addCode(result, type.value); } else if (type.value == 'inHelmet') {
message.value.open(); componentType = "262711452730001";
uni.vibrateShort(); componentCode = result;
} else if (now - lastTime < 2000) { } else if (type.value == 'inEcu') {
uni.showToast({ componentType = "262711452730008";
icon: "error", const arrCode = result.split(" ");
title: "重复扫码,请返回或扫描下一个", const imei = arrCode[0].replace("IMEI:", "");
}); const sn = arrCode[1].replace("SN:", "");
uni.vibrateShort(); componentCode = sn;
}
const param = {
componentType,
componentCode,
isNew: true
}
callOperateApi("ebikeComponent/validateComponentExistence", param).then(res => {
if (res.code == 200) {
if (res.data) {
uni.showToast({
icon: "error",
title: "部件编号[" + componentCode + "]已有入库记录!",
});
} else {
const now = Date.now();
console.log("1111111111111111111", now - lastTime, result)
if (lastTime && (now - lastTime < 1000)) return;
lastTime = Date.now();
if (!scancode.code.includes(result)) {
code.value = result;
scancode.addCode(result, type.value);
message.value.open();
uni.vibrateShort();
} else if (now - lastTime < 2000) {
uni.showToast({
icon: "error",
title: "重复扫码,请返回或扫描下一个",
});
uni.vibrateShort();
}
}
} else {
uni.showToast({
icon: "error",
title: res.message,
});
}
})
} else if (scanType.value == 'bjgh') {
let componentType = "";
let componentCode = ""
if (type.value == 'inBattery') {
componentType = "262711452730000";
componentCode = result[0];
} else if (type.value == 'inHelmet') {
componentType = "262711452730001";
componentCode = result[0];
} else if (type.value == 'inEcu') {
componentType = "262711452730008";
const arrCode = result.split(" ");
const imei = arrCode[0].replace("IMEI:", "");
const sn = arrCode[1].replace("SN:", "");
componentCode = sn;
}
const param = {
componentType,
componentCode,
isNew: false
}
callOperateApi("ebikeComponent/validateComponentExistence", param).then(res => {
if (res.code == 200) {
if (res.data) {
uni.showToast({
icon: "error",
title: "部件编号[" + componentCode + "]已有入库记录!",
});
} else {
const now = Date.now();
console.log("1111111111111111111", now - lastTime, result)
if (lastTime && (now - lastTime < 1000)) return;
lastTime = Date.now();
if (!scancode.code.includes(result)) {
code.value = result;
scancode.addCode(result, type.value);
message.value.open();
uni.vibrateShort();
} else if (now - lastTime < 2000) {
uni.showToast({
icon: "error",
title: "重复扫码,请返回或扫描下一个",
});
uni.vibrateShort();
}
}
} else {
uni.showToast({
icon: "error",
title: res.message,
});
}
})
} else {
const now = Date.now();
console.log("1111111111111111111", now - lastTime, result)
if (lastTime && (now - lastTime < 1000)) return;
lastTime = Date.now();
if (!scancode.code.includes(result)) {
code.value = result;
scancode.addCode(result, type.value);
message.value.open();
uni.vibrateShort();
} else if (now - lastTime < 2000) {
uni.showToast({
icon: "error",
title: "重复扫码,请返回或扫描下一个",
});
uni.vibrateShort();
}
} }
} }
</script> </script>

View File

@ -418,18 +418,18 @@
const onBatteryScanClick = (e) => { const onBatteryScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inBattery`, // url: `/pages/common/batchscancode?type=inBattery&scanType=bjrk`, //
}); });
} }
const onHelmetScanClick = (e) => { const onHelmetScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inHelmet`, // url: `/pages/common/batchscancode?type=inHelmet&scanType=bjrk`, //
}); });
} }
const onEcuScanClick = (e) => { const onEcuScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inEcu`, // url: `/pages/common/batchscancode?type=inEcu&scanType=bjrk`, //
}); });
} }

View File

@ -814,19 +814,19 @@
const onInBatteryScanClick = (e) => { const onInBatteryScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inBattery`, // url: `/pages/common/batchscancode?type=inBattery&scanType=bjgh`, //
}); });
} }
const onInHelmetScanClick = (e) => { const onInHelmetScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inHelmet`, // url: `/pages/common/batchscancode?type=inHelmet&scanType=bjgh`, //
}); });
} }
const onInEcuScanClick = (e) => { const onInEcuScanClick = (e) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/batchscancode?type=inEcu`, // url: `/pages/common/batchscancode?type=inEcu&scanType=bjgh`, //
}); });
} }
</script> </script>

View File

@ -17,14 +17,14 @@
</uni-forms-item> </uni-forms-item>
</uni-section> </uni-section>
<uni-section title="中控" type="line"> <uni-section title="中控" type="line">
<uni-forms-item label="中控编号" required :name="['ebikeEcuInfo','ecuCode']" <uni-forms-item label="中控IMEI" required :name="['ebikeEcuInfo','ecuCode']"
:rules="[{ required: true, errorMessage: '请扫描或输入中控编号' }]"> :rules="[{ required: true, errorMessage: '请扫描或输入中控IMEI' }]">
<ecuCodeScan @scan-change="ecuCodeScanChange" :codeValue="ebikeInfo.ebikeEcuInfo.ecuCode" <ecuCodeScan @scan-change="ecuCodeScanChange" :codeValue="ebikeInfo.ebikeEcuInfo.ecuCode"
ref="ecuCodeScan_zk" /> ref="ecuCodeScan_zk" />
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="中控序列号" required :name="['ebikeEcuInfo','ecuSN']" <uni-forms-item label="中控SN" required :name="['ebikeEcuInfo','ecuSn']"
:rules="[{ required: true, errorMessage: '请输入中控序列号' }]"> :rules="[{ required: true, errorMessage: '请输入中控SN' }]">
<uni-easyinput v-model="ebikeInfo.ebikeEcuInfo.ecuSN" placeholder="请输入中控序列号" /> <uni-easyinput v-model="ebikeInfo.ebikeEcuInfo.ecuSn" placeholder="请输入中控SN" />
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="中控品牌" required :name="['ebikeEcuInfo','ecuModel']" <uni-forms-item label="中控品牌" required :name="['ebikeEcuInfo','ecuModel']"
:rules="[{ required: true, errorMessage: '请选择中控品牌' }]"> :rules="[{ required: true, errorMessage: '请选择中控品牌' }]">
@ -74,7 +74,7 @@
bikeNumber: '', bikeNumber: '',
ebikeEcuInfo: { ebikeEcuInfo: {
ecuCode: '', ecuCode: '',
ecuSN: '', ecuSn: '',
ecuModel: '' ecuModel: ''
}, },
ebikeBatteryInfo: { ebikeBatteryInfo: {
@ -187,16 +187,16 @@
if (res.code == 200) { if (res.code == 200) {
if (res.data) { if (res.data) {
ebikeInfo.value.ebikeEcuInfo.ecuCode = data["imei"]; ebikeInfo.value.ebikeEcuInfo.ecuCode = data["imei"];
ebikeInfo.value.ebikeEcuInfo.ecuSN = data["sn"]; ebikeInfo.value.ebikeEcuInfo.ecuSn = data["sn"];
} else { } else {
ebikeInfo.value.ebikeEcuInfo.ecuCode = ""; ebikeInfo.value.ebikeEcuInfo.ecuCode = "";
ebikeInfo.value.ebikeEcuInfo.ecuSN = ""; ebikeInfo.value.ebikeEcuInfo.ecuSn = "";
ecuCodeScan_zk.value.onSetValue(""); ecuCodeScan_zk.value.onSetValue("");
showModelMessage("中控不在仓库中,请重新扫码或输入!"); showModelMessage("中控不在仓库中,请重新扫码或输入!");
} }
} else { } else {
ebikeInfo.value.ebikeEcuInfo.ecuCode = ""; ebikeInfo.value.ebikeEcuInfo.ecuCode = "";
ebikeInfo.value.ebikeEcuInfo.ecuSN = ""; ebikeInfo.value.ebikeEcuInfo.ecuSn = "";
ecuCodeScan_zk.value.onSetValue(""); ecuCodeScan_zk.value.onSetValue("");
showModelMessage("操作失败!"); showModelMessage("操作失败!");
} }