|
|
@@ -45,17 +45,50 @@
|
|
|
<div class="data-card">
|
|
|
<div class="card-title">今日转账金额(元)</div>
|
|
|
<div class="card-value">{{ statAmount.amount_of_today || "--" }}</div>
|
|
|
- <!-- <div class="card-link"></div> -->
|
|
|
</div>
|
|
|
<div class="data-card">
|
|
|
<div class="card-title">近7日转账金额(元)</div>
|
|
|
<div class="card-value">{{ statAmount.amount_of_7days || "--" }}</div>
|
|
|
- <!-- <div class="card-link"></div> -->
|
|
|
</div>
|
|
|
<div class="data-card">
|
|
|
<div class="card-title">总转账金额(元)</div>
|
|
|
<div class="card-value">{{ statAmount.amount_of_all || "--" }}</div>
|
|
|
- <!-- <div class="card-link"></div> -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="section-header" style="margin-top: 24px;">
|
|
|
+ <h2>消费数据统计</h2>
|
|
|
+ </div>
|
|
|
+ <div class="data-cards">
|
|
|
+ <div class="data-card consume-card">
|
|
|
+ <div class="card-title">今日消费金额(元)</div>
|
|
|
+ <div class="card-value">{{ consumeAmount.amount_of_today || "--" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="data-card consume-card">
|
|
|
+ <div class="card-title">近7日消费金额(元)</div>
|
|
|
+ <div class="card-value">{{ consumeAmount.amount_of_7days || "--" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="data-card consume-card">
|
|
|
+ <div class="card-title">总消费金额(元)</div>
|
|
|
+ <div class="card-value">{{ consumeAmount.amount_of_all || "--" }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="section-header" style="margin-top: 24px;">
|
|
|
+ <h2>汇总统计</h2>
|
|
|
+ </div>
|
|
|
+ <div class="data-cards">
|
|
|
+ <div class="data-card summary-card">
|
|
|
+ <div class="card-title">今日汇总(元)</div>
|
|
|
+ <div class="card-value">{{ summaryAmount.amount_of_today || "--" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="data-card summary-card">
|
|
|
+ <div class="card-title">近7日汇总(元)</div>
|
|
|
+ <div class="card-value">{{ summaryAmount.amount_of_7days || "--" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="data-card summary-card">
|
|
|
+ <div class="card-title">总汇总(元)</div>
|
|
|
+ <div class="card-value">{{ summaryAmount.amount_of_all || "--" }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -89,6 +122,18 @@ const statAmount = ref<{
|
|
|
amount_of_all?: string;
|
|
|
}>({});
|
|
|
|
|
|
+const consumeAmount = ref<{
|
|
|
+ amount_of_today?: string;
|
|
|
+ amount_of_7days?: string;
|
|
|
+ amount_of_all?: string;
|
|
|
+}>({});
|
|
|
+
|
|
|
+const summaryAmount = ref<{
|
|
|
+ amount_of_today?: string;
|
|
|
+ amount_of_7days?: string;
|
|
|
+ amount_of_all?: string;
|
|
|
+}>({});
|
|
|
+
|
|
|
function handleTenantChange(value: number | undefined) {
|
|
|
currentTenantId.value = value;
|
|
|
}
|
|
|
@@ -96,7 +141,6 @@ function handleTenantChange(value: number | undefined) {
|
|
|
const allTenantData = ref<TenantTable[]>([]);
|
|
|
|
|
|
async function fetchStatAmount() {
|
|
|
- // 如果不是平台用户,把 currentTenantId 设为 undefined
|
|
|
if (!is_platform_user.value) {
|
|
|
currentTenantId.value = undefined;
|
|
|
}
|
|
|
@@ -108,6 +152,24 @@ async function fetchStatAmount() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+async function fetchConsumeAmount() {
|
|
|
+ try {
|
|
|
+ const res = await AccountAPI.statConsumeAmount(currentTenantId.value, currentEnterpriseId.value);
|
|
|
+ consumeAmount.value = res.data.data || {};
|
|
|
+ } catch (error) {
|
|
|
+ console.error("获取消费统计金额失败:", error);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+async function fetchSummaryAmount() {
|
|
|
+ try {
|
|
|
+ const res = await AccountAPI.statSummaryAmount(currentTenantId.value, currentEnterpriseId.value);
|
|
|
+ summaryAmount.value = res.data.data || {};
|
|
|
+ } catch (error) {
|
|
|
+ console.error("获取汇总统计金额失败:", error);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
async function fetchAllTenantData() {
|
|
|
try {
|
|
|
const res = await TenantAPI.listTenant({
|
|
|
@@ -127,10 +189,15 @@ onMounted(() => {
|
|
|
fetchAllTenantData();
|
|
|
}
|
|
|
fetchStatAmount();
|
|
|
+ fetchConsumeAmount();
|
|
|
+ fetchSummaryAmount();
|
|
|
});
|
|
|
|
|
|
-// watch currentTenantId 变化,重新获取统计金额数据
|
|
|
-watch(currentTenantId, fetchStatAmount);
|
|
|
+watch(currentTenantId, () => {
|
|
|
+ fetchStatAmount();
|
|
|
+ fetchConsumeAmount();
|
|
|
+ fetchSummaryAmount();
|
|
|
+});
|
|
|
|
|
|
// 租户仪表盘组件
|
|
|
</script>
|
|
|
@@ -230,6 +297,22 @@ watch(currentTenantId, fetchStatAmount);
|
|
|
border-left: 3px solid #409eff;
|
|
|
}
|
|
|
|
|
|
+.data-card.consume-card {
|
|
|
+ border-left-color: #409eff;
|
|
|
+}
|
|
|
+
|
|
|
+.data-card.consume-card .card-value {
|
|
|
+ color: #409eff;
|
|
|
+}
|
|
|
+
|
|
|
+.data-card.summary-card {
|
|
|
+ border-left-color: #e6a23c;
|
|
|
+}
|
|
|
+
|
|
|
+.data-card.summary-card .card-value {
|
|
|
+ color: #e6a23c;
|
|
|
+}
|
|
|
+
|
|
|
.card-title {
|
|
|
font-size: 12px;
|
|
|
color: #909399;
|