fix
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 10s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 10s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
This commit is contained in:
@@ -693,6 +693,7 @@ public class BudgetService(
|
|||||||
var totalExpense = expenseLimitAtPeriod + noLimitExpenseAtPeriod;
|
var totalExpense = expenseLimitAtPeriod + noLimitExpenseAtPeriod;
|
||||||
description.Append($"<p>计划收入 = 预算 <span class='income-value'>{incomeLimitAtPeriod:N0}</span> + 不记额 <span class='income-value'>{noLimitIncomeAtPeriod:N0}</span> = <span class='income-value'><strong>{totalIncome:N0}</strong></span></p>");
|
description.Append($"<p>计划收入 = 预算 <span class='income-value'>{incomeLimitAtPeriod:N0}</span> + 不记额 <span class='income-value'>{noLimitIncomeAtPeriod:N0}</span> = <span class='income-value'><strong>{totalIncome:N0}</strong></span></p>");
|
||||||
description.Append($"<p>计划支出 = 预算 <span class='expense-value'>{expenseLimitAtPeriod:N0}</span> + 不记额 <span class='expense-value'>{noLimitExpenseAtPeriod:N0}</span> = <span class='expense-value'><strong>{totalExpense:N0}</strong></span></p>");
|
description.Append($"<p>计划支出 = 预算 <span class='expense-value'>{expenseLimitAtPeriod:N0}</span> + 不记额 <span class='expense-value'>{noLimitExpenseAtPeriod:N0}</span> = <span class='expense-value'><strong>{totalExpense:N0}</strong></span></p>");
|
||||||
|
description.Append($"<p>计划盈余 = 计划收入 <span class='income-value'>{totalIncome:N0}</span> - 计划支出 <span class='expense-value'>{totalExpense:N0}</span> = <span class='income-value'><strong>{totalIncome - totalExpense:N0}</strong></span></p>");
|
||||||
|
|
||||||
decimal historicalSurplus = 0;
|
decimal historicalSurplus = 0;
|
||||||
if (periodType == BudgetPeriodType.Year)
|
if (periodType == BudgetPeriodType.Year)
|
||||||
@@ -744,11 +745,12 @@ public class BudgetService(
|
|||||||
""");
|
""");
|
||||||
}
|
}
|
||||||
var finalGoal = totalIncome - totalExpense + historicalSurplus;
|
var finalGoal = totalIncome - totalExpense + historicalSurplus;
|
||||||
description.Append($"<p>动态目标 = 计划盈余 <span class='highlight'>{totalIncome - totalExpense:N0}</span> + 历史盈亏 <span class='highlight'>{historicalSurplus:N0}</span> = <span class='highlight'><strong>{finalGoal:N0}</strong></span></p>");
|
description.Append($"""
|
||||||
}
|
<p>
|
||||||
else
|
动态目标 = 计划盈余 <span class='{(totalIncome - totalExpense >= 0 ? "income-value" : "expense-value")}'>{totalIncome - totalExpense:N0}</span>
|
||||||
{
|
+ 年度历史盈亏 <span class='{(historicalSurplus >= 0 ? "income-value" : "expense-value")}'>{historicalSurplus:N0}</span>
|
||||||
description.Append($"<p>最终目标:<span class='highlight'><strong>{totalIncome - totalExpense:N0}</strong></span></p>");
|
= <span class='{(finalGoal >= 0 ? "income-value" : "expense-value")}'><strong>{finalGoal:N0}</strong></span></p>
|
||||||
|
""");
|
||||||
}
|
}
|
||||||
|
|
||||||
var finalLimit = periodType == BudgetPeriodType.Year ? (totalIncome - totalExpense + historicalSurplus) : (totalIncome - totalExpense);
|
var finalLimit = periodType == BudgetPeriodType.Year ? (totalIncome - totalExpense + historicalSurplus) : (totalIncome - totalExpense);
|
||||||
|
|||||||
@@ -180,7 +180,6 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
@click.stop="handleSavingsNav(budget, -1)"
|
@click.stop="handleSavingsNav(budget, -1)"
|
||||||
>
|
>
|
||||||
{{ budget.type === BudgetPeriodType.Year ? '上一年' : '上一月' }}
|
|
||||||
</van-button>
|
</van-button>
|
||||||
<span class="current-date-label">
|
<span class="current-date-label">
|
||||||
{{ getSavingsDateLabel(budget) }}
|
{{ getSavingsDateLabel(budget) }}
|
||||||
@@ -191,9 +190,9 @@
|
|||||||
plain
|
plain
|
||||||
type="primary"
|
type="primary"
|
||||||
icon-position="right"
|
icon-position="right"
|
||||||
|
:disabled="disabledSavingsNextNav(budget)"
|
||||||
@click.stop="handleSavingsNav(budget, 1)"
|
@click.stop="handleSavingsNav(budget, 1)"
|
||||||
>
|
>
|
||||||
{{ budget.type === BudgetPeriodType.Year ? '下一年' : '下一月' }}
|
|
||||||
</van-button>
|
</van-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -613,6 +612,17 @@ const handleSavingsNav = async (budget, offset) => {
|
|||||||
showToast('切换日期失败')
|
showToast('切换日期失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const disabledSavingsNextNav = (budget) => {
|
||||||
|
if (!budget.periodStart) return true
|
||||||
|
const date = new Date(budget.periodStart)
|
||||||
|
const now = new Date()
|
||||||
|
if (budget.type === BudgetPeriodType.Year) {
|
||||||
|
return date.getFullYear() === now.getFullYear()
|
||||||
|
} else {
|
||||||
|
return date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth()
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@@ -622,7 +632,7 @@ const handleSavingsNav = async (budget, offset) => {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
border-top: 1px dashed var(--van-gray-3);
|
border-top: 1px solid var(--van-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.current-date-label {
|
.current-date-label {
|
||||||
|
|||||||
Reference in New Issue
Block a user