Преглед изворни кода

物资入库增加金额总计

xiongxing пре 4 месеци
родитељ
комит
9468c309ce
1 измењених фајлова са 23 додато и 1 уклоњено
  1. 23 1
      src/views/warehouses/materialsIn/components/MaterialsInDialog.vue

+ 23 - 1
src/views/warehouses/materialsIn/components/MaterialsInDialog.vue

@@ -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('请选择入库日期')