|
|
@@ -67,7 +67,7 @@
|
|
|
<h3 class="m-0">物品清单</h3>
|
|
|
<el-button v-if="mode !== 'view'" type="success" plain @click="addItem">+新增</el-button>
|
|
|
</div>
|
|
|
- <el-table :data="form.items" border :max-height="500">
|
|
|
+ <el-table :data="form.items" border :max-height="500" show-summary :summary-method="getSummaries">
|
|
|
<el-table-column label="入库物资">
|
|
|
<template #default="{ row }">
|
|
|
<el-select-v2
|
|
|
@@ -283,6 +283,28 @@ const fixedNum = (num) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const getSummaries = ({ columns, data }) => {
|
|
|
+ const sums = []
|
|
|
+ columns.forEach((column, index) => {
|
|
|
+ if (index === 0) {
|
|
|
+ sums[index] = '总计'
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if (column.property === 'amount') {
|
|
|
+ const total = data.reduce((prev, curr) => {
|
|
|
+ const value = Number(curr.amount || 0)
|
|
|
+ return prev + (Number.isFinite(value) ? value : 0)
|
|
|
+ }, 0)
|
|
|
+ sums[index] = fixedNum(total)
|
|
|
+ } else {
|
|
|
+ sums[index] = ''
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ return sums
|
|
|
+}
|
|
|
+
|
|
|
const handleSubmit = async () => {
|
|
|
if (!form.value.orderDate) {
|
|
|
ElMessage.error('请选择入库日期')
|