手动输入物料

This commit is contained in:
zc
2026-04-17 10:35:41 +08:00
parent e5d9cea7b6
commit ebe08f0c4f

View File

@@ -56,7 +56,7 @@
</div> </div>
<div class="form-row"> <div class="form-row">
<div class="form-item"> <div class="form-item">
<a-form-item label="物料编码"> <a-form-item label="扫码枪扫物料编码">
<a-input <a-input
ref="materialCodeInput" ref="materialCodeInput"
v-model="formData.inputMaterialCode" v-model="formData.inputMaterialCode"
@@ -65,6 +65,13 @@
@input="handleMaterialCodeChange" @input="handleMaterialCodeChange"
/> />
</a-form-item> </a-form-item>
<a-form-item label="手动输入物料编码">
<a-input
v-model="formData.inputMaterialCode2"
placeholder="请点输入物料编码"
@change="handleMaterialCodeChange2"
/>
</a-form-item>
</div> </div>
</div> </div>
</a-form> </a-form>
@@ -279,7 +286,8 @@ const activeStep = ref(1)
// 表单数据 // 表单数据
const formData = reactive({ const formData = reactive({
inputMaterialCode: '', // 输入的物料编码 inputMaterialCode: '', // 输入的物料编码(扫码)
inputMaterialCode2: '', // 输入的手动物料编码
id: '', // 物料ID id: '', // 物料ID
encoding: '', // 物料编码 encoding: '', // 物料编码
materialName: '', // 物料名称 materialName: '', // 物料名称
@@ -591,10 +599,13 @@ const originalHandleMaterialCodeChange = async () => {
const materialCode = formData.inputMaterialCode?.trim() const materialCode = formData.inputMaterialCode?.trim()
// 无论是否有输入,先重置所有物料相关字段,确保新数据能完全覆盖旧数据 // 无论是否有输入,先重置所有物料相关字段,确保新数据能完全覆盖旧数据
formData.id = ''
formData.encoding = '' formData.encoding = ''
formData.materialName = '' formData.materialName = ''
formData.materialSpec = '' formData.materialSpec = ''
formData.unitWeight = 0 formData.unitWeight = 0
formData.batch = ''
formData.mark = ''
formData.photoUrl = '' formData.photoUrl = ''
formData.weightRange = '' formData.weightRange = ''
compareMatchResult.value = ''; compareMatchResult.value = '';
@@ -666,6 +677,41 @@ const fetchMaterialData = async (code: string) => {
} }
} }
const handleMaterialCodeChange2 = async (code: string) => {
if (!code || code === '') {
formData.id = '';
formData.encoding = '';
formData.materialName = '';
formData.materialSpec = '';
formData.batch = '';
formData.mark = '';
formData.materialProcess = '';
formData.unitWeight = 0;
formData.photoUrl = '';
formData.weightRange = '';
}
const res = await getMaterialDetail(code);
if (res.code === '0') {
// 更新表单数据
formData.id = res.data?.id || ''
formData.encoding = res.data?.encoding || ''
formData.materialName = res.data?.materialName || ''
formData.materialSpec = res.data?.materialSpec || ''
formData.materialProcess = res.data?.materialProcess || ''
formData.unitWeight = res.data?.unitWeight || 0
formData.photoUrl = res.data?.photoUrl || ''
formData.batch = res.data?.batch || ''
formData.mark = res.data?.mark || ''
formData.weightRange = (res.data?.downFloatRatio ?? '-') + '% ~ ' + (res.data?.upFloatRatio ?? '-') + '%'
}
if (res.data && res.data.id) {
await brightness(res.data.id);
}
};
// 处理下一步 // 处理下一步
const handleNext = async () => { const handleNext = async () => {
// 步骤2直接完成称重登记 // 步骤2直接完成称重登记
@@ -699,12 +745,6 @@ const handleNext = async () => {
if (activeStep.value === 1) { if (activeStep.value === 1) {
try { try {
const materialCode = formData.inputMaterialCode?.trim()
if (!materialCode) {
Message.error('请先扫描物料编码')
return;
}
if (!formData.encoding) { if (!formData.encoding) {
Message.error('未识别到物料!') Message.error('未识别到物料!')
} }