fix:入库的实际进价根据数量和总金额变动

This commit is contained in:
weiwei committed 2025-08-15 11:17:06 +08:00
1 parent ed6e3e61e6
commit 0e66d461a7
2 files changed
+23 -15

No files matched your search

@@ -152,9 +152,9 @@
v-model="row.quantity"
:min="0"
:precision="0"
@change="onRowValueChange(row, $rowIndex)"
@change="onQuantityChange(row, $rowIndex)"
/>
<el-input-number v-else v-model="row.quantity" :min="0" :precision="2" @change="onRowValueChange(row, $rowIndex)" />
<el-input-number v-else v-model="row.quantity" :min="0" :precision="2" @change="onQuantityChange(row, $rowIndex)" />
</template>
</vxe-column>
<vxe-column field="purchasePrice" title="原进价">
@@ -162,11 +162,11 @@
{{ displayPrice(row.selectedUnitObj?.purchasePrice || 0) }}
</template>
</vxe-column>
<vxe-column field="realPrice" title="实际进价" :edit-render="{ autoFocus: 'input', placeholder: '请输入' }">
<vxe-column field="realPrice" title="实际进价">
<template #default="{ row }">
{{ row?.selectedUnitObj?.realPrice || 0 }}
</template>
<template #edit="{ row, $rowIndex }">
<!-- <template #edit="{ row, $rowIndex }">
<el-input-number
v-if="row.selectedUnitObj"
v-model="row.selectedUnitObj.realPrice"
@@ -174,14 +174,20 @@
:precision="2"
@change="onRowValueChange(row, $rowIndex)"
/>
</template>
</template> -->
</vxe-column>
<vxe-column field="totalAmount" title="累计总金额" :edit-render="{ autoFocus: 'input', placeholder: '请输入' }">
<template #default="{ row }">
{{ row?.selectedUnitObj?.totalAmount }}
</template>
<template #edit="{ row, $rowIndex }">
<el-input-number v-if="row.selectedUnitObj" v-model="row.selectedUnitObj.totalAmount" :min="0" :precision="2" />
<el-input-number
v-if="row.selectedUnitObj"
v-model="row.selectedUnitObj.totalAmount"
:min="0"
:precision="2"
@change="onTotalAmountChange(row, $rowIndex)"
/>
</template>
<template #footer="{ row }">
<span style="color: #2e5cf6; font-weight: bold">{{ total.totalAmount }}元</span>
@@ -276,7 +282,7 @@ const total = computed(() => {
const purchasePrice = displayPrice(
vxeTableData.value.reduce((sum: any, row: any) => sum + Number(row.selectedUnitObj?.purchasePrice || 0), 0),
)
const realPrice = vxeTableData.value.reduce((sum: any, row: any) => sum + Number(row.selectedUnitObj?.realPrice || 0), 0)
const realPrice = vxeTableData.value.reduce((sum: any, row: any) => sum + Number(row.selectedUnitObj?.realPrice || 0), 0).toFixed(2)
const totalAmount = vxeTableData.value.reduce((sum: any, row: any) => sum + Number(row.selectedUnitObj?.totalAmount || 0), 0).toFixed(2)
return { quantity, purchasePrice, realPrice, totalAmount }
})
@@ -378,9 +384,15 @@ const onUnitChange = (row: any) => {
row.selectedUnitObj.totalAmount = Number((row.quantity * Number(row.selectedUnitObj.realPrice || 0)).toFixed(2))
}
// 数量、进价变动联动
const onRowValueChange = (row: any, $rowIndex: number) => {
row.selectedUnitObj.totalAmount = Number((row.quantity * Number(row.selectedUnitObj.realPrice || 0)).toFixed(2))
// 数量变动
const onQuantityChange = (row: any, $rowIndex: number) => {
row.selectedUnitObj.totalAmount = Number(displayPrice(row.quantity * Number(row.selectedUnitObj.purchasePrice || 0), ""))
row.selectedUnitObj.realPrice = row.selectedUnitObj.totalAmount / row.quantity
}
// 累计总金额变动
const onTotalAmountChange = (row: any, $rowIndex: number) => {
row.selectedUnitObj.realPrice = (row.selectedUnitObj.totalAmount / row.quantity).toFixed(2)
}
// 整理table数据
@@ -15,9 +15,6 @@
value-format="YYYY-MM-DD"
/>
</el-form-item>
<!-- <el-form-item label="经办人" prop="handlerUserId">
<SelectHandlerUser v-model.trim="state.queryForm.handlerUserId" placeholder="请选择经办人" style="width: 200px" />
</el-form-item> -->
<el-form-item>
<el-button icon="search" type="primary" @click="getDataList">查询</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -51,8 +48,7 @@
<el-table-column type="index" label="#" width="50" />
<el-table-column prop="inventoryCode" label="单据编号" show-overflow-tooltip />
<el-table-column prop="inventoryDate" label="单据日期" show-overflow-tooltip />
<!-- <el-table-column prop="productName" label="入库商品" show-overflow-tooltip /> -->
<!-- <el-table-column prop="handlerUserName" label="经办人" show-overflow-tooltip /> -->
<el-table-column prop="productName" label="入库商品" show-overflow-tooltip />
<el-table-column prop="supplierId" label="货商" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" show-overflow-tooltip />
<el-table-column label="操作" width="150">