辅助条码关联包装单位

This commit is contained in:
weiwei committed 2025-02-28 18:23:00 +08:00
1 parent 4d8e3b9a33
commit cf76c55690
3 files changed
+29 -6

No files matched your search

@@ -31,9 +31,22 @@
>
<vxe-column type="checkbox" width="40" fixed="left" />
<vxe-column type="seq" width="50" fixed="left" />
<vxe-column field="barCode" title="条码" :edit-render="{ autoFocus: 'input', placeholder: '请输入' }">
<vxe-column field="unit" title="单位" :edit-render="{}">
<template #edit="{ row }">
<el-input v-model.trim="row.barCode" />
<el-select v-model="row.unit">
<div v-for="item in smErpUnitEntityList">
<el-option v-if="item.unit !== ''" :label="item.unit" :value="item.unit" />
</div>
</el-select>
</template>
<template #default="{ row }">
<span v-if="row.unit">{{ row.unit }}</span>
<span v-else style="color: #c0c4cf">请选择</span>
</template>
</vxe-column>
<vxe-column field="barCode" title="条码">
<template #default="{ row }">
{{ smErpUnitEntityList?.find((item: any) => item.unit == row.unit)?.barCode }}
</template>
</vxe-column>
</vxe-table>
@@ -47,20 +60,27 @@ const supermarketAuxiliaryCodeEntityList = defineModel("supermarketAuxiliaryCode
default: [
{
id: nanoid(5),
unit: "",
barCode: "",
},
],
})
defineProps<{
smErpUnitEntityList: any[]
}>()
const editableTableRef = ref()
const validRules = {
barCode: [{ required: true, message: "条码不能为空", trigger: "blur" }],
unit: [{ required: true, message: "包装单位不能为空", trigger: "blur" }],
// barCode: [{ required: true, message: "条码不能为空", trigger: "blur" }],
}
// 底部表格行新增
const pushEvent = () => {
const newRow: any = {
id: nanoid(5),
unit: "",
barCode: "",
isNew: true,
}
@@ -59,7 +59,7 @@
<el-input v-model.trim="row.unit" />
</template>
</vxe-column>
<vxe-column field="status" title="状态" :edit-render="{ autoFocus: 'input', placeholder: '请选择' }">
<vxe-column field="status" title="状态" :edit-render="{}">
<template #edit="{ row }">
<el-select v-model="row.status">
<el-option label="正常" :value="0" />
@@ -138,6 +138,7 @@
<el-tab-pane label="辅助条码" name="辅助条码" style="overflow-y: auto; height: 60vh">
<supermarket-auxiliaryCode
ref="supermarketAuxiliaryCodeEntityList"
:smErpUnitEntityList="form.smErpUnitEntityList"
v-model:supermarketAuxiliaryCodeEntityList="form.smErpAuxiliaryCodeEntityList"
/>
</el-tab-pane>
@@ -330,6 +331,8 @@ const useHandleUnit = () => {
// 整理辅助条码列表
const useHandleAuxiliaryCode = () => {
return form.smErpAuxiliaryCodeEntityList.map((item: any) => {
const barCode = form.smErpUnitEntityList.find((item2: any) => item2.unit === item.unit).barCode
item.barCode = barCode
if (item.isNew) {
item.id = ""
delete item.isNew
@@ -340,8 +343,6 @@ const useHandleAuxiliaryCode = () => {
// 提交
const onSubmit = async () => {
console.log("提交的数据", form)
const valid = await dataFormRef.value.validate().catch(() => {})
if (!valid) return useMessage().warning("基础信息必填项未填写完整")
if (!form.smErpUnitEntityList || form.smErpUnitEntityList.length <= 0) return useMessage().warning("请添加包装单位")
@@ -353,6 +354,8 @@ const onSubmit = async () => {
const handleUnit = useHandleUnit()
const handleAuxiliaryCode = useHandleAuxiliaryCode()
console.log("提交的数据", { ...form, smErpUnitEntityList: handleUnit, smErpAuxiliaryCodeEntityList: handleAuxiliaryCode })
try {
loading.value = true
const _pa = { ...form, smErpUnitEntityList: handleUnit, smErpAuxiliaryCodeEntityList: handleAuxiliaryCode }