From 2e77330d87341624c88301562fd137b58f9a101a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 25 十二月 2025 10:57:35 +0800
Subject: [PATCH] 1.海川开心-录入日期都默认当天,封装公用组件和方法
---
src/views/reportAnalysis/projectProfit/index.vue | 314 +++++++++++++++-------------------------------------
1 files changed, 90 insertions(+), 224 deletions(-)
diff --git a/src/views/reportAnalysis/projectProfit/index.vue b/src/views/reportAnalysis/projectProfit/index.vue
index 942b0dd..f61cbe5 100644
--- a/src/views/reportAnalysis/projectProfit/index.vue
+++ b/src/views/reportAnalysis/projectProfit/index.vue
@@ -1,30 +1,32 @@
<template>
- <div class="app-container">
- <el-form :model="filters" :inline="true" label-width="80px">
- <el-form-item label="瀹㈡埛鍚嶇О">
- <el-input v-model="filters.customerName" placeholder="璇疯緭鍏ュ鎴峰悕绉�" />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="getTableData"> 鎼滅储 </el-button>
- <el-button @click="resetFilters"> 閲嶇疆 </el-button>
- <el-button @click="handleOut"> 瀵煎嚭 </el-button>
- </el-form-item>
- </el-form>
- <div class="table_list">
- <PIMTable
- rowKey="id"
- :column="columns"
- :tableLoading="loading"
- :tableData="dataList"
- :page="{
+ <div class="app-container">
+ <el-form :model="filters" :inline="true" label-width="80px">
+ <el-form-item label="瀹㈡埛鍚嶇О">
+ <el-input v-model="filters.customerName" placeholder="璇疯緭鍏ュ鎴峰悕绉�" clearable style="width: 240px"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="getTableData"> 鎼滅储 </el-button>
+ <el-button @click="resetFilters"> 閲嶇疆 </el-button>
+ <el-button @click="handleOut"> 瀵煎嚭 </el-button>
+ </el-form-item>
+ </el-form>
+ <div class="table_list">
+ <PIMTable
+ rowKey="id"
+ :column="columns"
+ :tableLoading="loading"
+ :tableData="dataList"
+ :page="{
current: pagination.currentPage,
size: pagination.pageSize,
- total: pagination.total,
+ total: pagination.total
}"
- @pagination="changePage"
- ></PIMTable>
- </div>
- </div>
+ :isShowSummary="true"
+ :summaryMethod="summarizeMainTable"
+ @pagination="changePage"
+ ></PIMTable>
+ </div>
+ </div>
</template>
<script setup>
@@ -36,225 +38,89 @@
const { proxy } = getCurrentInstance();
defineOptions({
- name: "椤圭洰鍒╂鼎",
+ name: "椤圭洰鍒╂鼎",
});
const {
- loading,
- filters,
- columns,
- dataList,
- pagination,
- resetFilters,
- onCurrentChange,
+ loading,
+ filters,
+ columns,
+ dataList,
+ pagination,
+ getTableData,
+ resetFilters,
+ onCurrentChange,
} = usePaginationApi(
- getPurchaseList,
- {
- customerName: undefined,
- },
- [
- {
- label: "閿�鍞悎鍚屽彿",
- align: "center",
- prop: "customerContractNo",
- },
- {
- label: "瀹㈡埛鍚嶇О",
- align: "center",
- prop: "customerName",
- },
- {
- label: "鍚堝悓閲戦",
- align: "center",
- prop: "contractAmount",
- },
- {
- label: "閲囪喘閲戦",
- align: "center",
- prop: "purchaseAmount",
- },
- {
- label: "鍒╂鼎",
- align: "center",
- prop: "balance",
- },
- {
- label: "鍒╂鼎鐜�",
- align: "center",
- prop: "balanceRatio",
- },
- ]
+ getPurchaseList,
+ {
+ customerName: undefined,
+ },
+ [
+ {
+ label: "閿�鍞悎鍚屽彿",
+ align: "center",
+ prop: "customerContractNo",
+ },
+ {
+ label: "瀹㈡埛鍚嶇О",
+ align: "center",
+ prop: "customerName",
+ },
+ {
+ label: "鍚堝悓閲戦",
+ align: "center",
+ prop: "contractAmount",
+ },
+ {
+ label: "閲囪喘閲戦",
+ align: "center",
+ prop: "purchaseAmount",
+ },
+ {
+ label: "鍒╂鼎",
+ align: "center",
+ prop: "balance",
+ },
+ {
+ label: "鍒╂鼎鐜�",
+ align: "center",
+ prop: "balanceRatio",
+ },
+ ]
);
-// 璁剧疆鍋囨暟鎹�
-const mockData = [
- {
- customerContractNo: "HCKX20251220011",
- customerName: "宸存鍘块珮瀹忓啗 - 鏂扮枂鍚嶅埄鍟嗚锤鏈夐檺鍏徃",
- contractAmount: "10189.00",
- purchaseAmount: "6113.00",
- balance: "4076.00",
- balanceRatio: "40.0%"
- },
- {
- customerContractNo: "HCKX20251220002",
- customerName: "鍠�浠�绂忔柊婧愬晢璐告湁闄愬叕鍙�",
- contractAmount: "35321.00",
- purchaseAmount: "19436.00",
- balance: "15885.00",
- balanceRatio: "45.0%"
- },
- {
- customerContractNo: "HCKX20251220001",
- customerName: "閮戝窞鎸嚎鍟嗚锤鏈夐檺鍏徃",
- contractAmount: "26491.00",
- purchaseAmount: "13245.50",
- balance: "13245.50",
- balanceRatio: "50.0%"
- },
- {
- customerContractNo: "HCKX20251220009",
- customerName: "闃滃悍鑻楃华娑�",
- contractAmount: "58868.00",
- purchaseAmount: "35321.00",
- balance: "23547.00",
- balanceRatio: "40.0%"
- },
- {
- customerContractNo: "HCKX20251210013",
- customerName: "娌冲寳鎻寸枂寮曟搸绉戞妧鏈夐檺鍏徃",
- contractAmount: "41678.00",
- purchaseAmount: "18755.10",
- balance: "22922.90",
- balanceRatio: "55.0%"
- },
- {
- customerContractNo: "HCKX20251220015",
- customerName: "鐜嬫枃 - 闃垮厠鑻忓弸閼晢璐告湁闄愬叕鍙�",
- contractAmount: "37358.00",
- purchaseAmount: "20547.00",
- balance: "16811.00",
- balanceRatio: "45.0%"
- },
- {
- customerContractNo: "HCKX20251220010",
- customerName: "闃垮嫆娉板紶钂�",
- contractAmount: "203773.60",
- purchaseAmount: "81509.44",
- balance: "122264.16",
- balanceRatio: "60.0%"
- },
- {
- customerContractNo: "HCKX20250930002",
- customerName: "涔岄瞾鏈ㄩ綈甯備紬绛瑰晢璐告湁闄愬叕鍙�",
- contractAmount: "56612.30",
- purchaseAmount: "28306.15",
- balance: "28306.15",
- balanceRatio: "50.0%"
- },
- {
- customerContractNo: "HCKX20251220016",
- customerName: "鏂扮枂澶╂鼎鍟嗚锤鏈夐檺鍏徃",
- contractAmount: "89245.00",
- purchaseAmount: "53547.00",
- balance: "35698.00",
- balanceRatio: "40.0%"
- },
- {
- customerContractNo: "HCKX20251220017",
- customerName: "鍝堝瘑甯傚畯杈捐锤鏄撴湁闄愬叕鍙�",
- contractAmount: "123456.00",
- purchaseAmount: "55555.20",
- balance: "67900.80",
- balanceRatio: "55.0%"
- },
- {
- customerContractNo: "HCKX20251220018",
- customerName: "浼婄妬鍝堣惃鍏嬭嚜娌诲窞璐告槗鍏徃",
- contractAmount: "78912.00",
- purchaseAmount: "31564.80",
- balance: "47347.20",
- balanceRatio: "60.0%"
- },
- {
- customerContractNo: "HCKX20251220019",
- customerName: "鍏嬫媺鐜涗緷鐭虫补璐告槗鏈夐檺鍏徃",
- contractAmount: "156789.00",
- purchaseAmount: "78394.50",
- balance: "78394.50",
- balanceRatio: "50.0%"
- },
- {
- customerContractNo: "HCKX20251220020",
- customerName: "鐭虫渤瀛愬啘涓氳锤鏄撳叕鍙�",
- contractAmount: "234567.00",
- purchaseAmount: "129011.85",
- balance: "105555.15",
- balanceRatio: "45.0%"
- },
- {
- customerContractNo: "HCKX20251220021",
- customerName: "鍚愰瞾鐣憽钀勮锤鏄撴湁闄愬叕鍙�",
- contractAmount: "98765.00",
- purchaseAmount: "59259.00",
- balance: "39506.00",
- balanceRatio: "40.0%"
- },
- {
- customerContractNo: "HCKX20251220022",
- customerName: "鍜岀敯鐜夌煶璐告槗鍏徃",
- contractAmount: "345678.00",
- purchaseAmount: "138271.20",
- balance: "207406.80",
- balanceRatio: "60.0%"
- }
-];
-
-// 閲嶅啓鑾峰彇琛ㄦ牸鏁版嵁鐨勬柟娉曪紝浣跨敤鍋囨暟鎹�
-const loadMockData = () => {
- loading.value = true;
- setTimeout(() => {
- dataList.value = mockData;
- pagination.total = mockData.length;
- loading.value = false;
- }, 500);
+const changePage = ({ page, limit }) => {
+ pagination.currentPage = page;
+ pagination.pageSize = limit;
+ onCurrentChange(page);
};
-// 閲嶅啓getTableData鏂规硶
-const getTableData = () => {
- loadMockData();
-};
-
-const changePage = ({ page }) => {
- pagination.currentPage = page;
- onCurrentChange(page);
+// 涓昏〃鍚堣鏂规硶
+const summarizeMainTable = (param) => {
+ return proxy.summarizeTable(param, ["contractAmount", "purchaseAmount", "balance"]);
};
// 瀵煎嚭
const handleOut = () => {
- ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(() => {
- proxy.download("/purchase/report/export", {}, "椤圭洰鍒╂鼎.xlsx");
- })
- .catch(() => {
- proxy.$modal.msg("宸插彇娑�");
- });
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ proxy.download("/purchase/report/export", {}, "椤圭洰鍒╂鼎.xlsx");
+ })
+ .catch(() => {
+ proxy.$modal.msg("宸插彇娑�");
+ });
};
onMounted(() => {
- getTableData();
+ getTableData();
});
</script>
<style lang="scss" scoped>
.table_list {
- margin-top: unset;
+ margin-top: unset;
}
</style>
-
-
-
-
--
Gitblit v1.9.3