From 855120d68c3e2c2935de3891d0650865a4936c0d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 20 五月 2025 15:16:36 +0800
Subject: [PATCH] 1.产品维护-开发联调 2.采购台账-产品、规格型号下拉框数据查询修改
---
src/views/procurementManagement/invoiceEntry/index.vue | 100 +++++++++++++------------------------------------
1 files changed, 27 insertions(+), 73 deletions(-)
diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue
index bebd18d..c1254af 100644
--- a/src/views/procurementManagement/invoiceEntry/index.vue
+++ b/src/views/procurementManagement/invoiceEntry/index.vue
@@ -40,13 +40,13 @@
<el-table-column label="鍗曚綅" prop="unit" />
<el-table-column label="鏁伴噺" prop="quantity" />
<el-table-column label="绋庣巼(%)" prop="taxRate" />
- <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" />
- <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" />
- <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" />
+ <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber"/>
+ <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber"/>
+ <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber"/>
<el-table-column label="鏈鏉ョエ鏁�" prop="ticketsNum" />
- <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount" />
+ <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount" :formatter="formattedNumber"/>
<el-table-column label="鏈潵绁ㄦ暟" prop="futureTickets" />
- <el-table-column label="鏈潵绁ㄩ噾棰�(鍏�)" prop="futureTicketsAmount" />
+ <el-table-column label="鏈潵绁ㄩ噾棰�(鍏�)" prop="futureTicketsAmount" :formatter="formattedNumber"/>
</el-table>
</template>
</el-table-column>
@@ -55,7 +55,7 @@
<el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip/>
<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" show-overflow-tooltip/>
<el-table-column label="椤圭洰鍚嶇О" prop="projectName" show-overflow-tooltip/>
- <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" show-overflow-tooltip/>
+ <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" show-overflow-tooltip :formatter="formattedNumber"/>
<el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
<template #default="scope">
<el-button link type="primary" size="small" @click="openForm('edit', scope.row);">缂栬緫</el-button>
@@ -97,42 +97,25 @@
<el-form-item label="浜у搧淇℃伅锛�" prop="entryDate">
</el-form-item>
</el-row>
- <el-table :data="productData" border @selection-change="productSelected">
+ <el-table :data="productData" border @selection-change="productSelected" show-summary
+ :summary-method="summarizeChildrenTable">
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column label="浜у搧澶х被" prop="productCategory" />
<el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
<el-table-column label="鍗曚綅" prop="unit" />
<el-table-column label="鏁伴噺" prop="quantity" />
<el-table-column label="绋庣巼(%)" prop="taxRate" />
- <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" />
- <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" />
- <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" />
- <el-table-column label="鏈鏉ョエ鏁�" prop="ticketsNum">
+ <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber"/>
+ <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber"/>
+ <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber"/>
+ <el-table-column label="鏈鏉ョエ鏁�" prop="ticketsNum" width="170">
<template #default="scope">
- <el-input :disabled="!scope.row.editFlag" v-model="scope.row.ticketsNum"></el-input>
+ <el-input-number v-model="scope.row.ticketsNum" :precision="0" :step="1" clearable style="width: 100%"/>
</template>
</el-table-column>
- <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount">
- <template #default="scope">
- <el-input :disabled="!scope.row.editFlag" v-model="scope.row.ticketsAmount"></el-input>
- </template>
- </el-table-column>
- <el-table-column label="鏈潵绁ㄦ暟" prop="futureTickets">
- <template #default="scope">
- <el-input :disabled="!scope.row.editFlag" v-model="scope.row.futureTickets"></el-input>
- </template>
- </el-table-column>
- <el-table-column label="鏈潵绁ㄩ噾棰�(鍏�)" prop="futureTicketsAmount">
- <template #default="scope">
- <el-input :disabled="!scope.row.editFlag" v-model="scope.row.futureTicketsAmount"></el-input>
- </template>
- </el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
- <template #default="scope">
- <el-button v-if="!scope.row.editFlag" link type="primary" size="small" @click="openProductEdit(scope.row);">缂栬緫</el-button>
- <el-button v-else link type="primary" size="small" @click="openProductEdit(scope.row);">淇濆瓨</el-button>
- </template>
- </el-table-column>
+ <el-table-column label="鏈鏉ョエ閲戦(鍏�)" prop="ticketsAmount" :formatter="formattedNumber"></el-table-column>
+ <el-table-column label="鏈潵绁ㄦ暟" prop="futureTickets"></el-table-column>
+ <el-table-column label="鏈潵绁ㄩ噾棰�(鍏�)" prop="futureTicketsAmount" :formatter="formattedNumber"> </el-table-column>
</el-table>
</el-form>
<template #footer>
@@ -219,6 +202,9 @@
tableLoading.value = false
})
}
+const formattedNumber = (row, column, cellValue) => {
+ return parseFloat(cellValue).toFixed(2);
+};
// 琛ㄦ牸閫夋嫨鏁版嵁
const handleSelectionChange = (selection) => {
selectedRows.value = selection
@@ -248,49 +234,17 @@
}
// 涓昏〃鍚堣鏂规硶
const summarizeMainTable = (param) => {
- const { columns, data } = param;
- const sums = [];
- columns.forEach((column, index) => {
- if (index === 0) {
- sums[index] = '鍚堣';
- return;
- }
- const prop = column.property;
- if (['contractAmount'].includes(prop)) {
- const values = data.map(item => Number(item[prop]));
- if (!values.every(value => isNaN(value))) {
- sums[index] = values.reduce((acc, val) => (!isNaN(val) ? acc + val : acc), 0);
- } else {
- sums[index] = '';
- }
- } else {
- sums[index] = '';
- }
- })
- return sums;
+ return proxy.summarizeTable(param, ['contractAmount'], {
+ ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ });
};
// 瀛愯〃鍚堣鏂规硶
const summarizeChildrenTable = (param) => {
- const { columns, data } = param;
- const sums = [];
- columns.forEach((column, index) => {
- if (index === 0) {
- sums[index] = '鍚堣';
- return;
- }
- const prop = column.property;
- if (['taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'ticketsNum', 'ticketsAmount', 'futureTickets', 'futureTicketsAmount'].includes(prop)) {
- const values = data.map(item => Number(item[prop]));
- if (!values.every(value => isNaN(value))) {
- sums[index] = values.reduce((acc, val) => (!isNaN(val) ? acc + val : acc), 0);
- } else {
- sums[index] = '';
- }
- } else {
- sums[index] = '';
- }
- });
- return sums;
+ return proxy.summarizeTable(param, ['taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'ticketsNum', 'ticketsAmount', 'futureTickets', 'futureTicketsAmount'],{
+ ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+});
}
// 鎵撳紑寮规
const openForm = (type, row) => {
--
Gitblit v1.9.3