From 70551b35cac6dd0262f644cb248ba1d03ff2fa08 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 22 五月 2026 14:53:10 +0800
Subject: [PATCH]   feat: 质量管理检验员筛选和传递优化   1. 检验员下拉框筛选:过程检验、出厂检验、原材料检验的检验员下拉框只显示 roleIds 包含 106 的用户,包括列表页的"检验"弹窗、"分配检验员"弹窗,以及新增/编辑弹窗     2. 检验员默认值优化:点击"检验"按钮时检验员默认为当前登录用户;选择"不合格"打开详情页时检验员从上个页面带入,修复 closeQuickCheck() 重置表单导致检验员值丢失的问题   3. 材料信息新增行修复:生产工单绑定工艺路线弹窗中,新增材料行时根据 productById 是否有值判断显示选择器还是文本

---
 src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue b/src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue
index 7596e6d..43f42e6 100644
--- a/src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue
@@ -4,6 +4,10 @@
     :column="columns"
     :tableData="dataList"
     :tableLoading="loading"
+		:summaryMethod="summarizeChildrenTable"
+		:isShowSummary="true"
+    :isShowPagination="false"
+    height="auto"
   >
   </PIMTable>
 </template>
@@ -11,6 +15,8 @@
 <script setup>
 import { usePaginationApi } from "@/hooks/usePaginationApi";
 import { productList } from "@/api/procurementManagement/procurementLedger.js";
+import { nextTick } from "vue";
+const { proxy } = getCurrentInstance();
 
 defineOptions({
   name: "鏉ョエ鐧昏鎶樺彔琛�",
@@ -54,29 +60,33 @@
     {
       label: "鍚◣鍗曚环(鍏�)",
       prop: "taxInclusiveUnitPrice",
+			width:200,
       formatData: (val) => {
-        return val ? parseFloat(val).toFixed(2) : "-";
+        return val ? parseFloat(val).toFixed(3) : "-";
       },
     },
     {
       label: "鍚◣鎬讳环(鍏�)",
       prop: "taxInclusiveTotalPrice",
+			width:200,
       formatData: (val) => {
-        return val ? parseFloat(val).toFixed(2) : "-";
+        return val ? parseFloat(val).toFixed(3) : "-";
       },
     },
     {
       label: "涓嶅惈绋庢�讳环(鍏�)",
       prop: "taxExclusiveTotalPrice",
+			width:200,
       formatData: (val) => {
-        return val ? parseFloat(val).toFixed(2) : "-";
+        return val ? parseFloat(val).toFixed(3) : "-";
       },
     },
     {
       label: "鏈鏉ョエ閲戦(鍏�)",
       prop: "ticketsAmount",
+			width:200,
       formatData: (val) => {
-        return val ? parseFloat(val).toFixed(2) : "-";
+        return val ? parseFloat(val).toFixed(3) : "-";
       },
     },
     {
@@ -86,8 +96,9 @@
     {
       label: "鏈潵绁ㄩ噾棰�(鍏�)",
       prop: "futureTicketsAmount",
+			width:200,
       formatData: (val) => {
-        return val ? parseFloat(val).toFixed(2) : "-";
+        return val ? parseFloat(val).toFixed(3) : "-";
       },
     },
   ],
@@ -98,11 +109,33 @@
   }
 );
 
-const getList = (id) => {
+const getList = async (id) => {
+  await nextTick();
   filters.salesLedgerId = id;
+  // 璁剧疆涓�涓緢澶х殑 pageSize 浠ヨ幏鍙栨墍鏈夋暟鎹�
+  pagination.pageSize = 10000;
+  pagination.currentPage = 1;
   getTableData();
 };
-
+// 瀛愯〃鍚堣鏂规硶
+const summarizeChildrenTable = (param) => {
+	return proxy.summarizeTable(
+		param,
+		[
+			"taxInclusiveUnitPrice",
+			"taxInclusiveTotalPrice",
+			"taxExclusiveTotalPrice",
+			"ticketsNum",
+			"ticketsAmount",
+			"futureTickets",
+			"futureTicketsAmount",
+		],
+		{
+			ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+			futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+		}
+	);
+};
 defineExpose({
   getList,
 });

--
Gitblit v1.9.3