fixed:模具出库/模具入库-编辑-重复传参问题修复

main
黄伟杰 3 weeks ago
parent f9759dbed9
commit 59574c146d

@ -203,16 +203,37 @@ const submitForm = async () => {
// //
formLoading.value = true formLoading.value = true
try { try {
itemFormRef.value.selectedRows.forEach((item, index) => { const existingByProductId = new Map<number, any>(
const i = { (formData.value.items ?? [])
warehouseId : formData.value.warehouseId, .filter((it: any) => it && (it.productId ?? it.id) !== undefined && (it.productId ?? it.id) !== null)
productId : item.id, .map((it: any) => [Number(it.productId ?? it.id), it])
)
const selectedProductIds = (itemFormRef.value.selectedRows ?? [])
.map((it: any) => it?.id)
.filter((id: any) => id !== undefined && id !== null)
.map((id: any) => Number(id))
.filter((id: any) => !Number.isNaN(id))
formData.value.items = selectedProductIds.map((productId) => {
const existing = existingByProductId.get(productId)
if (existing) {
return {
id: existing.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: existing.productPrice ?? 0,
count: existing.count ?? 1,
remark: existing.remark ?? null
}
}
return {
warehouseId: formData.value.warehouseId,
productId,
productPrice: 0, productPrice: 0,
count: 1, count: 1
} }
formData.value.items.push(i) })
console.log(formData.value.items)
});
const data = formData.value as unknown as StockOutVO const data = formData.value as unknown as StockOutVO
if (formType.value === 'create') { if (formType.value === 'create') {
await StockOutApi.createStockOut(data) await StockOutApi.createStockOut(data)

@ -159,7 +159,12 @@ const open = async (type: string, id?: number) => {
if (id) { if (id) {
formLoading.value = true formLoading.value = true
try { try {
formData.value = await StockInApi.getStockIn(id) const data = await StockInApi.getStockIn(id)
const itemWarehouseId = (data as any)?.items?.[0]?.warehouseId
formData.value = {
...(data as any),
warehouseId: itemWarehouseId ?? (data as any)?.warehouseId
}
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -179,15 +184,37 @@ const submitForm = async () => {
// //
formLoading.value = true formLoading.value = true
try { try {
itemFormRef.value.selectedRows.forEach((item, index) => { const existingByProductId = new Map<number, any>(
const i = { (formData.value.items ?? [])
warehouseId : formData.value.warehouseId, .filter((it: any) => it && (it.productId ?? it.id) !== undefined && (it.productId ?? it.id) !== null)
productId : item.id, .map((it: any) => [Number(it.productId ?? it.id), it])
)
const selectedProductIds = (itemFormRef.value.selectedRows ?? [])
.map((it: any) => it?.id)
.filter((id: any) => id !== undefined && id !== null)
.map((id: any) => Number(id))
.filter((id: any) => !Number.isNaN(id))
formData.value.items = selectedProductIds.map((productId) => {
const existing = existingByProductId.get(productId)
if (existing) {
return {
id: existing.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: existing.productPrice ?? 0,
count: existing.count ?? 1,
remark: existing.remark ?? null
}
}
return {
warehouseId: formData.value.warehouseId,
productId,
productPrice: 0, productPrice: 0,
count: 1, count: 1
} }
formData.value.items.push(i) })
});
const data = formData.value as unknown as StockInVO const data = formData.value as unknown as StockInVO
if (formType.value === 'create') { if (formType.value === 'create') {
await StockInApi.createStockIn(data) await StockInApi.createStockIn(data)

Loading…
Cancel
Save