feat: 添加分类统计功能,支持获取月度和年度预算统计信息
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s

This commit is contained in:
孙诚
2026-01-09 15:42:59 +08:00
parent b41121400d
commit 2244d08b43
9 changed files with 524 additions and 177 deletions

View File

@@ -1,7 +1,7 @@
/* 后端返回的 HTML 富文本内容样式 */
.rich-html-content {
font-size: 14px;
line-height: 1.6;
font-size: 13px;
line-height: 1.5;
color: var(--van-text-color);
white-space: normal; /* 重置可能存在的 pre-wrap */
word-break: break-all;
@@ -10,77 +10,98 @@
.rich-html-content h1,
.rich-html-content h2,
.rich-html-content h3 {
margin: 16px 0 8px;
margin: 10px 0 4px;
color: var(--van-text-color);
font-weight: 600;
line-height: 1.25;
line-height: 1.2;
}
.rich-html-content h1 {
font-size: 1.5em;
font-size: 1.7em;
text-align: center;
border-bottom: 1px solid var(--van-border-color);
padding-bottom: 10px;
padding-bottom: 6px;
}
.rich-html-content h2 {
font-size: 1.25em;
margin-top: 20px;
font-size: 1.5em;
margin-top: 14px;
}
.rich-html-content h3 {
font-size: 1.1em;
border-left: 4px solid #1989fa;
padding-left: 10px;
margin-top: 15px;
padding-top: 4px;
padding-bottom: 4px;
font-size: 1.2em;
border-left: 3px solid #1989fa;
padding-left: 8px;
margin-top: 10px;
padding-top: 2px;
padding-bottom: 2px;
}
.rich-html-content p {
margin: 12px 0;
margin: 6px 0;
}
.rich-html-content ul,
.rich-html-content ol {
padding-left: 20px;
margin: 14px 0;
padding-left: 18px;
margin: 8px 0;
}
.rich-html-content li {
margin: 8px 0;
margin: 4px 0;
}
.rich-html-content strong {
font-weight: 600;
}
/* 表格样式优化 - 移动端适配滑动 */
/* 表格样式优化 - 撑满宽度并支持独立横向和纵向滚动 */
.rich-html-content table {
display: block;
width: 100%;
overflow-x: auto;
border-collapse: collapse;
margin: 16px 0;
margin: 8px 0;
background: var(--van-background-2);
border-radius: 4px;
border: 1px solid var(--van-border-color);
border: none;
overflow-x: auto;
overflow-y: auto;
max-height: 50vh;
-webkit-overflow-scrolling: touch;
}
.rich-html-content th,
.rich-html-content td {
padding: 10px 12px;
padding: 6px 8px;
text-align: left;
border: 1px solid var(--van-border-color);
min-width: 80px; /* 防止内容过于拥挤 */
border: none;
border-bottom: 1px solid var(--van-border-color-light);
min-width: 70px; /* 防止内容过于拥挤 */
font-size: 12px;
white-space: nowrap; /* 防止文字换行 */
flex: 1; /* 让单元格按比例撑满宽度 */
}
/* 针对第一列预算项增加最小宽度 */
.rich-html-content td:first-child,
.rich-html-content th:first-child {
min-width: 100px;
/* 表格行确保100%撑满 */
.rich-html-content tbody,
.rich-html-content thead {
display: table;
width: 100%;
table-layout: auto;
}
/* 针对第一列预算项增加最小宽度 - 确保在滑动时有背景遮挡 */
.rich-html-content td:first-child {
min-width: 80px;
position: sticky;
left: 0;
background: inherit;
background: var(--van-background-2);
z-index: 1;
}
.rich-html-content th:first-child {
min-width: 80px;
position: sticky;
left: 0;
background: var(--van-gray-1);
z-index: 1;
}
@@ -88,7 +109,7 @@
background: var(--van-gray-1);
color: var(--van-text-color);
font-weight: 600;
font-size: 13px;
font-size: 12px;
white-space: nowrap;
}
@@ -130,12 +151,16 @@
color: #f5f5f5;
}
.rich-html-content td:first-child,
.rich-html-content th:first-child {
.rich-html-content td:first-child {
background-color: #1a1a1a;
}
.rich-html-content th:first-child {
background-color: #242424;
}
.rich-html-content th,
.rich-html-content td {
border-bottom: 1px solid #2c2c2c;
}
}