From 6ba30bed9eb241a76897ad04c01ac7c80be9add9 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 15 六月 2026 20:19:37 +0800
Subject: [PATCH] 提交山西比特维科技有限公司/山西金福恒远商贸有限公司配置文件

---
 src/views/financialManagement/payable/paymentApply.vue |   68 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 2 deletions(-)

diff --git a/src/views/financialManagement/payable/paymentApply.vue b/src/views/financialManagement/payable/paymentApply.vue
index 3937e96..309d6d3 100644
--- a/src/views/financialManagement/payable/paymentApply.vue
+++ b/src/views/financialManagement/payable/paymentApply.vue
@@ -52,6 +52,8 @@
         :column="columns"
         :tableData="dataList"
         :tableLoading="tableLoading"
+        isShowSummary
+        :summaryMethod="getSummaries"
         :page="{
           current: pagination.currentPage,
           size: pagination.pageSize,
@@ -97,7 +99,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="鐢宠鍗曞彿" prop="invoiceApplicationNo">
-              <el-input v-model="form.invoiceApplicationNo" placeholder="绯荤粺鑷姩鐢熸垚" disabled />
+              <el-input v-model="form.invoiceApplicationNo" placeholder="淇濆瓨鍚庤嚜鍔ㄧ敓鎴�" disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -158,6 +160,18 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
+            <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
+              <el-date-picker
+                v-model="formCreateTimeDate"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                value-format="YYYY-MM-DD"
+                style="width: 100%;"
+                :disabled="isView"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="浠樻閲戦" prop="paymentAmount">
               <el-input-number
                 v-model="form.paymentAmount"
@@ -217,7 +231,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="浠樻鍗曞彿" prop="paymentNumber">
-              <el-input v-model="paymentForm.paymentNumber" placeholder="绯荤粺鑷姩鐢熸垚" disabled />
+              <el-input v-model="paymentForm.paymentNumber" placeholder="淇濆瓨鍚庤嚜鍔ㄧ敓鎴�" disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -245,6 +259,17 @@
           </el-col>
         </el-row>
         <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
+              <el-date-picker
+                v-model="paymentFormCreateTimeDate"
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                value-format="YYYY-MM-DD"
+                style="width: 100%;"
+              />
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item label="浠樻閲戦" prop="paymentAmount">
               <el-input-number
@@ -330,6 +355,7 @@
 
 <script setup>
 import { ref, reactive, computed, onMounted, nextTick, getCurrentInstance } from "vue";
+import dayjs from "dayjs";
 import { ElMessage, ElMessageBox } from "element-plus";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 import { getOptions } from "@/api/procurementManagement/procurementLedger.js";
@@ -407,6 +433,7 @@
   bankAccount: "",
   bankName: "",
   remark: "",
+  createTime: "",
 });
 
 const paymentRules = {
@@ -429,6 +456,19 @@
   stockInRecordIds: [],
   inboundBatches: "",
   status: 0,
+  createTime: "",
+});
+const formCreateTimeDate = computed({
+  get: () => (form.createTime ? String(form.createTime).split(" ")[0] : ""),
+  set: (value) => {
+    form.createTime = value ? `${value} ${dayjs().format("HH:mm:ss")}` : "";
+  },
+});
+const paymentFormCreateTimeDate = computed({
+  get: () => (paymentForm.createTime ? String(paymentForm.createTime).split(" ")[0] : ""),
+  set: (value) => {
+    paymentForm.createTime = value ? `${value} ${dayjs().format("HH:mm:ss")}` : "";
+  },
 });
 
 const rules = {
@@ -437,6 +477,24 @@
   paymentAmount: [{ required: true, message: "璇疯緭鍏ヤ粯娆鹃噾棰�", trigger: "blur" }],
   paymentMethod: [{ required: true, message: "璇烽�夋嫨浠樻鏂瑰紡", trigger: "change" }],
   applyDate: [{ required: true, message: "璇烽�夋嫨鐢宠鏃ユ湡", trigger: "change" }],
+};
+
+const getSummaries = ({ columns, data }) => {
+  const sums = [];
+  columns.forEach((col, index) => {
+    if (index === 0) {
+      sums[index] = "鍚堣";
+    } else if (col.property === "amount") {
+      const total = data.reduce((prev, cur) => {
+        const v = Number(cur.amount);
+        return prev + (isNaN(v) ? 0 : v);
+      }, 0);
+      sums[index] = total.toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
+    } else {
+      sums[index] = "";
+    }
+  });
+  return sums;
 };
 
 const formatMoney = (value) => {
@@ -563,6 +621,7 @@
     stockInRecordIds,
     inboundBatches: formatInboundBatches(row.inboundBatches),
     status: normalizeStatus(row.status),
+    createTime: row.createTime ?? "",
   });
 };
 
@@ -580,6 +639,7 @@
   remark: row.remark ?? "",
   status: statusOverride !== undefined ? statusOverride : normalizeStatus(row.status),
   paymentAmount: Number(row.paymentAmount ?? row.amount ?? 0),
+  createTime: row.createTime,
 });
 
 const buildSubmitPayload = (forUpdate = false) => {
@@ -593,6 +653,7 @@
     remark: form.remark || "",
     status: 0,
     paymentAmount: form.paymentAmount,
+    createTime: form.createTime,
   };
   if (forUpdate) {
     payload.id = currentId.value;
@@ -703,6 +764,7 @@
     stockInRecordIds: [],
     inboundBatches: "",
     status: 0,
+    createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
   });
   inboundBatchList.value = [];
   inboundBatchOptions.value = [];
@@ -781,6 +843,7 @@
     bankAccount: row.bankAccountNum ?? row.bankAccount ?? "",
     bankName: row.bankAccountName ?? row.bankName ?? "",
     remark: "",
+    createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
   });
   paymentDialogVisible.value = true;
   nextTick(() => {
@@ -800,6 +863,7 @@
       paymentAmount: paymentForm.paymentAmount,
       paymentNumber: paymentForm.paymentNumber || "",
       remark: paymentForm.remark || "",
+      createTime: paymentForm.createTime,
     })
       .then((res) => {
         if (res.code === 200) {

--
Gitblit v1.9.3