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