|
|
@@ -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
|
|
|
@@ -83,6 +83,12 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
+ <el-table-column label="物资规格" prop="specification">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-text>{{ row.specification }}</el-text>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
<el-table-column label="入库仓库" prop="refInStoreId">
|
|
|
<template #default="{ row }">
|
|
|
<!-- <el-select v-if="mode !== 'view'" disabled v-model="row.refInStoreId" placeholder="" @change="handleRefInStoreChange($event,row)">
|
|
|
@@ -226,6 +232,7 @@ const addItem = () => {
|
|
|
materialName: '',
|
|
|
materialUnit: '',
|
|
|
refInStoreName: '',
|
|
|
+ specification:'',
|
|
|
supplierName: '',
|
|
|
refInStoreId: null,
|
|
|
quantity: 1,
|
|
|
@@ -258,6 +265,7 @@ const handleMaterialChange = (value, row) => {
|
|
|
row.supplierName = selected.supplierName || ''
|
|
|
row.refInStoreId = selected.storeId || ''
|
|
|
row.refInStoreName = selected.storeName || ''
|
|
|
+ row.specification = selected.specification || ''
|
|
|
calcAmount(row)
|
|
|
}
|
|
|
}
|
|
|
@@ -275,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('请选择入库日期')
|