From 4fb74af2bed1bc60088bf447fa1db4bb759b2ad4 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期六, 19 七月 2025 12:17:24 +0800 Subject: [PATCH] yys 修改bug --- src/views/procurementManagement/invoiceEntry/components/Modal.vue | 66 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue index 4c19cfd..4ff529e 100644 --- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue +++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue @@ -54,10 +54,7 @@ </el-col> <el-col :span="12"> <el-form-item label="鍙戠エ閲戦(鍏�)锛�" prop="invoiceAmount"> - <el-input - type="number" - :step="0.01" - :min="0" + <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.invoiceAmount" placeholder="鑷姩濉厖" clearable @@ -80,6 +77,8 @@ style="width: 100%" v-model="form.entryDate" type="date" + value-format="YYYY-MM-DD" + format="YYYY-MM-DD" clearable /> </el-form-item> @@ -106,6 +105,8 @@ style="width: 100%" v-model="form.enterDate" type="date" + value-format="YYYY-MM-DD" + format="YYYY-MM-DD" clearable /> </el-form-item> @@ -116,14 +117,17 @@ rowKey="id" :column="columns" :tableData="form.productData" + :summaryMethod="summarizeChildrenTable" + :isShowSummary="true" height="auto" > <template #ticketsNumRef="{ row }"> <el-input-number v-model="row.ticketsNum" - placeholder="璇烽�夋嫨" + placeholder="璇疯緭鍏�" :min="0" :step="0.1" + :precision="2" clearable style="width: 100%" @change="invoiceNumBlur(row)" @@ -132,8 +136,9 @@ <template #ticketsAmountRef="{ row }"> <el-input-number v-model="row.ticketsAmount" - placeholder="璇烽�夋嫨" + placeholder="璇疯緭鍏�" :min="0" + :precision="2" :step="0.1" clearable style="width: 100%" @@ -143,16 +148,17 @@ </PIMTable> </el-form> <template #footer> + <el-button type="primary" :loading="modalLoading" @click="submitForm"> + {{ modalOptions.confirmText }} + </el-button> <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button> - <el-button type="primary" :loading="modalLoading" @click="submitForm"> - {{ modalOptions.confirmText }} - </el-button> </template> </el-dialog> </template> <script setup> import { ref, getCurrentInstance } from "vue"; +import { defineEmits } from 'vue'; import { useModal } from "@/hooks/useModal"; import useFormData from "@/hooks/useFormData"; import FileUpload from "@/components/Upload/FileUpload.vue"; @@ -214,14 +220,18 @@ title: "鏉ョエ鐧昏", }); +const emit = defineEmits(['refreshList']); + const columns = [ { label: "浜у搧澶х被", prop: "productCategory", + width: 120, }, { label: "瑙勬牸鍨嬪彿", prop: "specificationModel", + width: 120, }, { label: "鍗曚綅", @@ -286,10 +296,12 @@ { label: "鏈潵绁ㄦ暟", prop: "futureTickets", + width: 100, }, { label: "鏈潵绁ㄩ噾棰�(鍏�)", prop: "futureTicketsAmount", + width: 200, }, ]; @@ -319,7 +331,19 @@ form.productData = data.productData; } }; - +// 瀛愯〃鍚堣鏂规硶 +const summarizeChildrenTable = (param) => { + return proxy.summarizeTable(param, [ + "taxInclusiveUnitPrice", + "taxInclusiveTotalPrice", + "taxExclusiveTotalPrice", + "ticketsNum", + "ticketsAmount", + "ticketsAmountRef", + "futureTickets", + "futureTicketsAmount", + ]); +}; //鏈鏉ョエ鏁板け鐒︽搷浣� const invoiceNumBlur = (row) => { if (!row.ticketsNum || row.ticketsNum === "") { @@ -331,11 +355,11 @@ return; } // 璁$畻鏈鏉ョエ閲戦 - row.ticketsAmount = row.ticketsNum * row.taxInclusiveUnitPrice; + row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2) // 璁$畻鏈潵绁ㄦ暟 - row.futureTickets = row.tempFutureTickets - row.ticketsNum; + row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2) // 璁$畻鏈潵绁ㄩ噾棰� - row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount; + row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2) calculateinvoiceAmount(); }; @@ -354,9 +378,9 @@ (row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2) ); // 璁$畻鏈潵绁ㄦ暟 - row.futureTickets = row.tempFutureTickets - row.ticketsNum; + row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2) // 璁$畻鏈潵绁ㄩ噾棰� - row.futureTicketsAmount = row.tempFutureTicketsAmount - row.ticketsAmount; + row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2) calculateinvoiceAmount(); }; @@ -364,7 +388,7 @@ let invoiceAmountTotal = 0; form.productData.forEach((item) => { if (item.ticketsAmount) { - invoiceAmountTotal += item.ticketsAmount; + invoiceAmountTotal += Number(item.ticketsAmount); } }); form.invoiceAmount = invoiceAmountTotal.toFixed(2); @@ -386,10 +410,15 @@ form.tempFileIds = form.tempFileIds.filter((item) => item !== tempId); }; +const closeAndRefresh = () => { + closeModal(); + emit('refreshList'); +}; + const submitForm = () => { formRef.value.validate(async (valid, fields) => { if (valid) { - modalLoading.value = true; + // modalLoading.value = true; const { code } = await addOrUpdateRegistration({ purchaseLedgerId: id.value, purchaseContractNumber: form.purchaseLedgerNo, @@ -409,7 +438,7 @@ }); modalLoading.value = false; if (code == 200) { - closeModal(); + closeAndRefresh(); } } else { modalLoading.value = false; @@ -419,6 +448,7 @@ defineExpose({ open, + closeAndRefresh, }); </script> -- Gitblit v1.9.3