Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e3dc1a170 |
@@ -0,0 +1,12 @@
|
||||
# v0.7.0 发布说明(2026-10-26)
|
||||
|
||||
## 记账:分类筛选
|
||||
|
||||
- 工具栏新增「分类」下拉:选项为本月**实际出现的分类**(自动去重排序),支持「全部分类」
|
||||
- 与类型筛选(支出/收入)、报销筛选可叠加使用;底部「当前筛选 N 条」实时联动
|
||||
- 切换月份自动重置分类筛选,避免跨月无效选项
|
||||
|
||||
## 部署
|
||||
|
||||
- 服务器:`cd /opt/daywork && git pull && cd server && docker compose up -d --build`(网页端即生效)
|
||||
- 桌面 / 安卓:安装 0.7.0 安装包
|
||||
+2
-2
@@ -1,2 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./web-OZOB5r8S.js","./index-BkEETrCl.js","./index-CJ5TTgSd.css"])))=>i.map(i=>d[i]);
|
||||
import{r as s,_ as i}from"./index-BkEETrCl.js";var t;(function(e){e.Documents="DOCUMENTS",e.Data="DATA",e.Library="LIBRARY",e.Cache="CACHE",e.External="EXTERNAL",e.ExternalStorage="EXTERNAL_STORAGE"})(t||(t={}));var a;(function(e){e.UTF8="utf8",e.ASCII="ascii",e.UTF16="utf16"})(a||(a={}));const E=s("Filesystem",{web:()=>i(()=>import("./web-OZOB5r8S.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>new e.FilesystemWeb)});export{t as Directory,a as Encoding,E as Filesystem};
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./web-Cn9aGqjN.js","./index-vpp14W9X.js","./index-D9ZLjO2x.css"])))=>i.map(i=>d[i]);
|
||||
import{r as s,_ as i}from"./index-vpp14W9X.js";var t;(function(e){e.Documents="DOCUMENTS",e.Data="DATA",e.Library="LIBRARY",e.Cache="CACHE",e.External="EXTERNAL",e.ExternalStorage="EXTERNAL_STORAGE"})(t||(t={}));var a;(function(e){e.UTF8="utf8",e.ASCII="ascii",e.UTF16="utf16"})(a||(a={}));const E=s("Filesystem",{web:()=>i(()=>import("./web-Cn9aGqjN.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>new e.FilesystemWeb)});export{t as Directory,a as Encoding,E as Filesystem};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+14
-14
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -8,8 +8,8 @@
|
||||
<link rel="icon" href="./icons/icon.svg" type="image/svg+xml" />
|
||||
<link rel="apple-touch-icon" href="./icons/icon-192.png" />
|
||||
<title>实习工作日志</title>
|
||||
<script type="module" crossorigin src="./assets/index-BkEETrCl.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/index-CJ5TTgSd.css">
|
||||
<script type="module" crossorigin src="./assets/index-vpp14W9X.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/index-D9ZLjO2x.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "intern-log",
|
||||
"private": true,
|
||||
"version": "0.6.9",
|
||||
"version": "0.7.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -86,9 +86,16 @@ const summary = computed(() => {
|
||||
|
||||
const typeFilter = ref<'all' | TxType>('all')
|
||||
const reimbFilter = ref<'all' | 'pending' | 'done'>('all')
|
||||
const catFilter = ref<string>('all')
|
||||
// 切换月份时重置分类筛选(新月份的分类集合可能不同)
|
||||
watch(monthRef, () => { catFilter.value = 'all' })
|
||||
const usedCategories = computed(() =>
|
||||
Array.from(new Set(rows.value.map(r => r.category))).sort((a, b) => a.localeCompare(b, 'zh'))
|
||||
)
|
||||
const filtered = computed(() =>
|
||||
sorted.value.filter(r => {
|
||||
if (typeFilter.value !== 'all' && r.type !== typeFilter.value) return false
|
||||
if (catFilter.value !== 'all' && r.category !== catFilter.value) return false
|
||||
if (reimbFilter.value === 'pending' && !(r.type === 'expense' && r.reimbursable === 1 && r.reimbursed !== 1)) return false
|
||||
if (reimbFilter.value === 'done' && !(r.reimbursable === 1 && r.reimbursed === 1)) return false
|
||||
return true
|
||||
@@ -227,6 +234,10 @@ async function confirmDelete() {
|
||||
<option value="expense">仅支出</option>
|
||||
<option value="income">仅收入</option>
|
||||
</select>
|
||||
<select class="select w-filter" v-model="catFilter">
|
||||
<option value="all">全部分类</option>
|
||||
<option v-for="c in usedCategories" :key="c" :value="c">{{ c }}</option>
|
||||
</select>
|
||||
<select class="select w-filter" v-model="reimbFilter">
|
||||
<option value="all">全部报销</option>
|
||||
<option value="pending">待报销</option>
|
||||
|
||||
Reference in New Issue
Block a user