From 6ff8faad4a183eaa35fac526e4e29a1c6176ff15 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 08 十月 2026 17:43:18 +0800
Subject: [PATCH] 采购管理系统模块优化
---
src/views/procurementManagement/invoiceEntry/components/Modal.vue | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index ecd2b06..5c1da4e 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -58,9 +58,14 @@
v-model="form.invoiceAmount"
placeholder="鑷姩濉厖"
clearable
+ :disabled="true"
/>
</el-form-item>
</el-col>
+ <el-col :span="12"><el-form-item label="鍙戠エ浠g爜锛�"><el-input v-model="form.invoiceCode" clearable /></el-form-item></el-col>
+ <el-col :span="12"><el-form-item label="鍙戠エ绫诲瀷锛�"><el-select v-model="form.invoiceType" style="width:100%"><el-option v-for="v in ['澧炲�肩◣涓撶敤鍙戠エ','澧炲�肩◣鏅�氬彂绁�','鐢靛瓙涓撶エ','鐢靛瓙鏅エ','鍏朵粬']" :key="v" :label="v" :value="v" /></el-select></el-form-item></el-col>
+ <el-col :span="12"><el-form-item label="绋庣巼锛�"><el-input-number v-model="form.taxRate" :min="0" :max="100" :precision="2" style="width:100%" /></el-form-item></el-col>
+ <el-col :span="12"><el-form-item label="绋庨锛�"><el-input-number v-model="form.taxAmount" :min="0" :precision="2" style="width:100%" placeholder="鐣欑┖鑷姩璁$畻" /></el-form-item></el-col>
<el-col :span="12">
<el-form-item label="褰曞叆浜猴細" prop="issUer">
<el-input
@@ -77,6 +82,8 @@
style="width: 100%"
v-model="form.entryDate"
type="date"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
clearable
/>
</el-form-item>
@@ -103,11 +110,14 @@
style="width: 100%"
v-model="form.enterDate"
type="date"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
clearable
/>
</el-form-item>
</el-col>
</el-row>
+ <el-form-item label="澶囨敞锛�"><el-input v-model="form.remark" type="textarea" :rows="2" /></el-form-item>
<el-form-item label="浜у搧淇℃伅锛�"> </el-form-item>
<PIMTable
rowKey="id"
@@ -123,6 +133,7 @@
placeholder="璇疯緭鍏�"
:min="0"
:step="0.1"
+ :precision="2"
clearable
style="width: 100%"
@change="invoiceNumBlur(row)"
@@ -133,6 +144,7 @@
v-model="row.ticketsAmount"
placeholder="璇疯緭鍏�"
:min="0"
+ :precision="2"
:step="0.1"
clearable
style="width: 100%"
@@ -142,16 +154,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";
@@ -179,6 +192,11 @@
supplierName: undefined, // 渚涘簲鍟嗗悕绉�
projectName: undefined, // 椤圭洰鍚嶇О
invoiceNumber: undefined, // 鍙戠エ鍙�
+ invoiceCode: undefined,
+ invoiceType: "澧炲�肩◣涓撶敤鍙戠エ",
+ taxRate: 13,
+ taxAmount: undefined,
+ remark: undefined,
invoiceAmount: undefined, // 鍙戠エ閲戦(鍏�)
issUerId: userStore.id, // 褰曞叆浜�
issUer: userStore.nickName, // 褰曞叆浜�
@@ -213,14 +231,18 @@
title: "鏉ョエ鐧昏",
});
+const emit = defineEmits(['refreshList']);
+
const columns = [
{
label: "浜у搧澶х被",
prop: "productCategory",
+ width: 120,
},
{
label: "瑙勬牸鍨嬪彿",
prop: "specificationModel",
+ width: 120,
},
{
label: "鍗曚綅",
@@ -377,7 +399,7 @@
let invoiceAmountTotal = 0;
form.productData.forEach((item) => {
if (item.ticketsAmount) {
- invoiceAmountTotal += item.ticketsAmount;
+ invoiceAmountTotal += Number(item.ticketsAmount);
}
});
form.invoiceAmount = invoiceAmountTotal.toFixed(2);
@@ -399,6 +421,11 @@
form.tempFileIds = form.tempFileIds.filter((item) => item !== tempId);
};
+const closeAndRefresh = () => {
+ closeModal();
+ emit('refreshList');
+};
+
const submitForm = () => {
formRef.value.validate(async (valid, fields) => {
if (valid) {
@@ -408,6 +435,11 @@
purchaseContractNumber: form.purchaseLedgerNo,
invoiceNumber: form.invoiceNumber,
invoiceAmount: form.invoiceAmount,
+ invoiceCode: form.invoiceCode,
+ invoiceType: form.invoiceType,
+ taxRate: form.taxRate,
+ taxAmount: form.taxAmount,
+ remark: form.remark,
salesContractNo: form.salesContractNo,
projectName: form.projectName,
productData: form.productData,
@@ -422,7 +454,7 @@
});
modalLoading.value = false;
if (code == 200) {
- closeModal();
+ closeAndRefresh();
}
} else {
modalLoading.value = false;
@@ -432,6 +464,7 @@
defineExpose({
open,
+ closeAndRefresh,
});
</script>
--
Gitblit v1.9.3