fix:入库的实际进价根据数量和总金额变动
This commit is contained in:
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数据
|
||||
|
||||
Reference in new issue
Block a user