From 9aae2af6f3937a7d99ec619b51f457002cef969f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 14:29:37 +0800
Subject: [PATCH] 档案管理-添加导出功能
---
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue | 61 +++++++++++++++++++++++++-----
1 files changed, 51 insertions(+), 10 deletions(-)
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
index c00251a..f939be4 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -12,8 +12,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏉ョエ閲戦锛�">
- <el-text type="primary">{{ form.taxInclusiveTotalPrice }}</el-text>
+ <el-form-item label="鍚◣鍗曚环(鍏�)锛�">
+ <el-text type="primary">{{ form.taxInclusiveUnitPrice }}</el-text>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -23,17 +23,22 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍙戠エ鍙凤細">
- <el-input v-model="form.invoiceNumber" />
+ <el-input disabled v-model="form.invoiceNumber" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏉ョエ鏁帮細">
- <el-input v-model="form.ticketsNum" @input="inputTicketsNum" />
+ <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsNum" @change="inputTicketsNum" :precision="2"/>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏉ョエ閲戦锛�">
- <el-text type="success">{{ form.ticketsAmount }}</el-text>
+ <el-form-item label="鏈鏉ョエ閲戦(鍏�)锛�">
+ <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsAmount" @change="inputTicketsAmount" :precision="2"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏈潵绁ㄦ暟锛�">
+ <el-text type="success">{{ form.futureTickets }}</el-text>
</el-form-item>
</el-col>
</el-row>
@@ -43,11 +48,12 @@
<script setup>
import useFormData from "@/hooks/useFormData";
import { getProductRecordById } from "@/api/procurementManagement/procurementInvoiceLedger";
+const { proxy } = getCurrentInstance()
defineOptions({
name: "鏉ョエ鍙拌处琛ㄥ崟",
});
-
+const temFutureTickets = ref(0)
const { form, resetForm } = useFormData({
id: undefined,
purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
@@ -56,7 +62,7 @@
invoiceNumber: undefined, // 鍙戠エ鍙�
ticketsNum: undefined, // 鏉ョエ鏁�
ticketsAmount: undefined, // 鏉ョエ閲戦
- taxInclusiveTotalPrice: undefined, // 鍚◣鎬讳环
+ taxInclusiveUnitPrice: undefined, // 鍚◣鍗曚环
});
const load = async (id) => {
@@ -69,12 +75,47 @@
form.invoiceNumber = data.invoiceNumber;
form.ticketsNum = data.ticketsNum;
form.ticketsAmount = data.ticketsAmount.toFixed(2);
- form.taxInclusiveTotalPrice = data.taxInclusiveTotalPrice;
+ form.taxInclusiveUnitPrice = data.taxInclusiveUnitPrice;
+ form.futureTickets = data.futureTickets;
+ temFutureTickets.value = data.futureTickets;
}
};
const inputTicketsNum = (val) => {
- form.ticketsAmount = (val * form.taxInclusiveTotalPrice).toFixed(2);
+ // 纭繚鍚◣鍗曚环瀛樺湪涓斾笉涓洪浂
+ if (!form.taxInclusiveUnitPrice || Number(form.taxInclusiveUnitPrice) === 0) {
+ proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
+ return;
+ }
+ if (Number(form.ticketsNum) > Number(temFutureTickets.value)) {
+ proxy.$modal.msgWarning("寮�绁ㄦ暟涓嶅緱澶т簬鏈紑绁ㄦ暟");
+ form.ticketsNum = temFutureTickets.value
+ }
+
+ // 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
+ const ticketsAmount = Number(form.ticketsNum) * Number(form.taxInclusiveUnitPrice);
+ const futureTickets = Number(temFutureTickets.value) - Number(form.ticketsNum);
+ form.futureTickets = Number(futureTickets.toFixed(2));
+ form.ticketsAmount = Number(ticketsAmount.toFixed(2));
+};
+const inputTicketsAmount = (val) => {
+ // 纭繚鍚◣鍗曚环瀛樺湪涓斾笉涓洪浂
+ if (!form.taxInclusiveUnitPrice || Number(form.taxInclusiveUnitPrice) === 0) {
+ proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
+ return;
+ }
+
+ if (Number(val) > Number(form.futureTickets*form.taxInclusiveUnitPrice)) {
+ proxy.$modal.msgWarning("鏈鏉ョエ閲戦涓嶅緱澶т簬鎬婚噾棰�");
+ form.ticketsAmount = (form.futureTickets*form.taxInclusiveUnitPrice).toFixed(2)
+ const ticketsNum = Number(form.ticketsAmount) / Number(form.taxInclusiveUnitPrice);
+ form.ticketsNum = Number(ticketsNum.toFixed(2))
+ return;
+ }
+
+ // 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
+ const ticketsNum = Number(val) / Number(form.taxInclusiveUnitPrice);
+ form.ticketsNum = Number(ticketsNum.toFixed(2));
};
defineExpose({
--
Gitblit v1.9.3