From 07f9f8657d057a38792c3822acc9b08d83478967 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 07 五月 2026 14:23:10 +0800
Subject: [PATCH] 合并代码

---
 src/views/salesManagement/invoiceLedger/index.vue |   60 ++++++++++++++++++++++++------------------------------------
 1 files changed, 24 insertions(+), 36 deletions(-)

diff --git a/src/views/salesManagement/invoiceLedger/index.vue b/src/views/salesManagement/invoiceLedger/index.vue
index eec3a26..444560d 100644
--- a/src/views/salesManagement/invoiceLedger/index.vue
+++ b/src/views/salesManagement/invoiceLedger/index.vue
@@ -32,7 +32,6 @@
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
         <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip width="180" />
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip width="240" />
-<!--        <el-table-column label="椤圭洰" prop="projectName" width="320" />-->
         <el-table-column label="浜у搧澶х被" prop="productCategory" width="200" />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="160" show-overflow-tooltip />
         <el-table-column label="鍙戠エ鍙�" prop="invoiceNo" width="200" show-overflow-tooltip />
@@ -42,22 +41,11 @@
         <el-table-column label="褰曞叆浜�" prop="invoicePerson" show-overflow-tooltip />
         <el-table-column label="褰曞叆鏃ユ湡" prop="createTime" show-overflow-tooltip :formatter="formatDate" width="180" />
         <el-table-column label="寮�绁ㄦ棩鏈�" prop="invoiceDate" show-overflow-tooltip width="120" />
-        <!-- <el-table-column label="鍙戠エ" prop="invoiceFileName" width="120" align="center" show-overflow-tooltip fixed="right">
-          <template #default="scope">
-            <el-button v-if="scope.row.invoiceFileName" text bg type="primary"
-              @click="handleFile(scope.row.commonFiles)">
-              鏌ョ湅闄勪欢
-            </el-button>
-            <el-button v-else link type="primary" @click="handleDownload(scope.row)">
-              涓婁紶
-            </el-button>
-          </template>
-        </el-table-column> -->
         <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">
           <template #default="scope">
-            <el-button link type="primary" size="small" @click="openForm(scope.row)">缂栬緫</el-button>
-            <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
-            <el-button link type="primary" size="small" @click="delInvoiceLedger(scope.row)">鍒犻櫎</el-button>
+            <el-button link type="primary" @click="openForm(scope.row)">缂栬緫</el-button>
+            <el-button link type="primary" @click="openFileDialog(scope.row)">闄勪欢</el-button>
+            <el-button link type="primary" @click="delInvoiceLedger(scope.row)">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -85,8 +73,11 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item :label="`鍙戠エ閲戦(鍏�)锛� 鍚堝悓鎬婚(${form.taxInclusiveTotalPrice}鍏�)`" prop="invoiceTotal">
-              <el-input-number :step="0.01" :min="0" :max="form.taxInclusiveTotalPrice" style="width: 100%" v-model="form.invoiceTotal" placeholder="璇疯緭鍏�" clearable :precision="2"/>
+            <el-form-item :label="`鍙戠エ閲戦(鍏�)锛� `" prop="invoiceTotal">
+              <el-input-number :step="0.01" :min="0" :max="maxInvoiceAmount || form.taxInclusiveTotalPrice" style="width: 100%" v-model="form.invoiceTotal" placeholder="璇疯緭鍏�" clearable :precision="2"/>
+              <div v-if="maxInvoiceAmount > 0" style="color: #909399; font-size: 12px; margin-top: 5px;">
+                鍙~鏈�澶ч噾棰濅负锛毬{ maxInvoiceAmount.toFixed(2) }}鍏�
+              </div>
             </el-form-item>
           </el-col>
         </el-row>
@@ -143,7 +134,7 @@
         </div>
       </template>
     </el-dialog>
-    <FileListDialog ref="fileListRef" v-model="fileListDialogVisible" />
+    <FileList v-if="fileDialogVisible"  v-model:visible="fileDialogVisible" record-type="invoice_registration_product" :record-id="recordId"  />
   </div>
 </template>
 
@@ -164,8 +155,8 @@
 import useUserStore from "@/store/modules/user.js";
 import useFormData from "@/hooks/useFormData";
 import dayjs from "dayjs";
-import FileListDialog from '@/components/Dialog/FileListDialog.vue';
 import { getCurrentDate } from "@/utils/index.js";
+const FileList = defineAsyncComponent(() => import("@/components/Dialog/FileList.vue"));
 
 const { proxy } = getCurrentInstance();
 const tableData = ref([]);
@@ -215,6 +206,7 @@
 const { form: searchForm, resetForm } = useFormData(data.searchForm);
 const currentId = ref("");
 const userStore = useUserStore();
+const maxInvoiceAmount = ref(0); // 鍙戠エ閲戦鏈�澶у��
 const upload = reactive({
   // 涓婁紶鐨勫湴鍧�
   url: import.meta.env.VITE_APP_BASE_API + "/invoiceLedger/uploadFile",
@@ -281,6 +273,11 @@
     if (!form.value.invoicePerson) {
       form.value.invoicePerson = userStore.nickName;
     }
+    
+    // 璁$畻鍙戠エ閲戦鏈�澶у�硷細noInvoiceAmount + invoiceAmount
+    const noInvoiceAmount = parseFloat(res.data.noInvoiceAmount || 0);
+    const invoiceAmount = parseFloat(res.data.invoiceAmount || 0);
+    maxInvoiceAmount.value = noInvoiceAmount + invoiceAmount;
   });
   dialogFormVisible.value = true;
 };
@@ -425,26 +422,17 @@
   getList();
 };
 
-//闄勪欢鐩稿叧
-const fileListRef = ref(null)
-const fileListDialogVisible = ref(false)
-//鏌ョ湅闄勪欢
-const downLoadFile = (row) => {
-	invoiceLedgerProductInfo({ id: row.id }).then((res) => {
-		if (fileListRef.value) {
-			fileListRef.value.open(res.data.fileList)
-			fileListDialogVisible.value = true
-		}
-	});
+// 鎵撳紑闄勪欢寮圭獥
+const recordId =ref(0)
+const fileDialogVisible = ref(false)
+
+// 鎵撳紑闄勪欢寮规
+const openFileDialog = async (row) => {
+  recordId.value = row.id
+  fileDialogVisible.value = true
 }
 
 onMounted(() => {
-  // 璁剧疆寮�绁ㄦ棩鏈熻寖鍥撮粯璁ゅ�间负褰撳ぉ
-  const today = dayjs().format('YYYY-MM-DD');
-  searchForm.invoiceDate = [today, today];
-  // 璁剧疆鑼冨洿鏃ユ湡瀛楁鐨勮捣濮嬪拰缁撴潫鏃堕棿
-  searchForm.invoiceDateStart = today;
-  searchForm.invoiceDateEnd = today;
   getList();
 });
 </script>

--
Gitblit v1.9.3