diff --git a/.doc/frontend-interactive-test-report.md b/.doc/frontend-interactive-test-report.md new file mode 100644 index 0000000..913ff89 --- /dev/null +++ b/.doc/frontend-interactive-test-report.md @@ -0,0 +1,105 @@ +--- +title: 前端整体交互测试报告 +author: AI Assistant +date: 2026-02-21 +status: draft +category: 测试 +--- + +# 前端整体交互测试报告 + +## 一、测试目标 + +第一步:对 `http://localhost:5173/` 前端页面进行逐页面、按钮与输入控件的基础交互测试。 +第二步:检查是否存在明显样式崩坏、按钮不可点击或无响应的情况。 +第三步:记录控制台错误与异常行为,形成后续修复依据。 + +## 二、测试范围 + +- 页面范围:底部导航 5 个页面(日历、统计、账单、预算、设置) +- 控件范围:可见按钮、链接、开关、输入/文本域/下拉框(不含上传功能) +- 非目标:不做业务流程深度验证、不做上传功能测试、不做截图对比 + +## 三、测试环境与前置条件 + +- 地址:`http://localhost:5173/` +- 工具:Playwright(自动化点击与输入) +- 说明:已跳过文件上传输入控件(`input[type=file]`) + +## 四、测试方法 + +第一步:通过底部导航依次进入 5 个页面。 +第二步:对每个页面所有 `button`、`a`、`.van-switch` 进行点击。 +第三步:对可编辑输入控件执行填入与清空。 +第四步:记录页面路由变化与控制台异常。 + +## 五、测试结果概览 + +- 样式检查:未发现明显崩坏(基于 DOM 与可见结构的自动化判断) +- 点击响应:大多数按钮可触发交互或弹窗 +- 控制台异常:存在路由错误与 Vue 警告(详见第七节) + +## 六、逐页面结果 + +### 1) 日历页 `/calendar-v2` + +| 项目 | 结果 | 备注 | +| --- | --- | --- | +| 按钮点击 | 通过 | 存在未命名按钮,点击后跳转至 `/balance?tab=message` | +| 链接点击 | 无 | 未检测到 `a` 标签 | +| 输入控件 | 无 | 未检测到输入控件 | +| 样式 | 正常 | 未见崩坏 | + +### 2) 统计页 `/statistics-v2` + +| 项目 | 结果 | 备注 | +| --- | --- | --- | +| 按钮点击 | 通过 | 包含“取消/确认”按钮 | +| 链接点击 | 无 | 未检测到 `a` 标签 | +| 输入控件 | 无 | 未检测到输入控件 | +| 样式 | 正常 | 未见崩坏 | + +### 3) 账单页 `/balance` + +| 项目 | 结果 | 备注 | +| --- | --- | --- | +| 按钮点击 | 通过 | 存在大量“删除”按钮,点击可触发确认弹窗 | +| 链接点击 | 无 | 未检测到 `a` 标签 | +| 输入控件 | 无 | 未检测到输入控件 | +| 样式 | 正常 | 未见崩坏 | + +### 4) 预算页 `/budget-v2` + +| 项目 | 结果 | 备注 | +| --- | --- | --- | +| 按钮点击 | 通过 | 包含“取消/确认”按钮 | +| 链接点击 | 无 | 未检测到 `a` 标签 | +| 输入控件 | 无 | 未检测到输入控件 | +| 样式 | 正常 | 未见崩坏 | + +### 5) 设置页 `/setting` + +| 项目 | 结果 | 备注 | +| --- | --- | --- | +| 按钮点击 | 通过 | 包含“取消/确认”按钮 | +| 开关点击 | 通过 | `.van-switch` 可点击切换 | +| 输入控件 | 跳过 | `input[type=file]` 按要求跳过 | +| 样式 | 正常 | 未见崩坏 | + +## 七、控制台异常记录 + +- Vue 警告:Invalid prop type check failed +- Vue 警告:Unhandled error during execution(出现多次) +- 路由错误:No match for {"name":"statistics","params":...} + +## 八、结论与建议 + +- 结论:基础可见交互大多可点击,页面样式未见明显崩坏,但存在控制台错误与警告,需优先排查。 +- 建议: + 1. 修复路由名称与参数不匹配问题(统计页相关)。 + 2. 排查触发弹窗/确认按钮时的异常栈(Vue Unhandled error)。 + 3. 如需“功能正常且符合逻辑”的强结论,建议补充关键业务流程的人工验证。 + +## 更新日志 + +- 2026-02-21:首次生成前端整体交互测试报告(自动化点击/输入)。 diff --git a/Web/src/components/Transaction/TransactionDetailSheet.vue b/Web/src/components/Transaction/TransactionDetailSheet.vue index ccd3758..f7acbce 100644 --- a/Web/src/components/Transaction/TransactionDetailSheet.vue +++ b/Web/src/components/Transaction/TransactionDetailSheet.vue @@ -105,19 +105,26 @@
- - - 建议: {{ props.transaction?.unconfirmedClassify }} - - ({{ getTypeName(props.transaction?.unconfirmedType) }}) +
+ + + 建议: {{ props.transaction?.unconfirmedClassify }} + + ({{ getTypeName(props.transaction?.unconfirmedType) }}) + - -
+
+
应用
@@ -648,13 +655,20 @@ const handleDelete = async () => { .suggestion-tip { display: flex; align-items: center; - padding: 8px 12px; background: var(--van-active-color); color: var(--van-primary-color); border-radius: 8px; + overflow: hidden; + border: 1px solid var(--van-primary-color); +} + +.suggestion-content { + flex: 1; + display: flex; + align-items: center; + padding: 8px 12px; cursor: pointer; transition: opacity 0.2s; - border: 1px solid var(--van-primary-color); &:active { opacity: 0.8; @@ -667,18 +681,22 @@ const handleDelete = async () => { } .suggestion-text { - flex: 1; font-size: 14px; font-weight: 500; } .suggestion-apply { - padding: 2px 10px; + padding: 10px 12px; background: var(--van-primary-color); color: #fff; - border-radius: 4px; font-size: 12px; font-weight: bold; + cursor: pointer; + transition: opacity 0.2s; + + &:active { + opacity: 0.8; + } } .classify-value { diff --git a/balance-page-after.png b/balance-page-after.png deleted file mode 100644 index c7bc96d..0000000 Binary files a/balance-page-after.png and /dev/null differ diff --git a/budget-page.png b/budget-page.png deleted file mode 100644 index ae5bb29..0000000 Binary files a/budget-page.png and /dev/null differ diff --git a/budget-v2-fixed.png b/budget-v2-fixed.png deleted file mode 100644 index bf65a4b..0000000 Binary files a/budget-v2-fixed.png and /dev/null differ diff --git a/openspec/changes/fix-budget-and-ui-bugs/.openspec.yaml b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/.openspec.yaml similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/.openspec.yaml rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/.openspec.yaml diff --git a/openspec/changes/fix-budget-and-ui-bugs/design.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/design.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/design.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/design.md diff --git a/openspec/changes/fix-budget-and-ui-bugs/proposal.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/proposal.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/proposal.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/proposal.md diff --git a/openspec/changes/fix-budget-and-ui-bugs/specs/bill-management/spec.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/bill-management/spec.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/specs/bill-management/spec.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/bill-management/spec.md diff --git a/openspec/changes/fix-budget-and-ui-bugs/specs/budget-stats/spec.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/budget-stats/spec.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/specs/budget-stats/spec.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/budget-stats/spec.md diff --git a/openspec/changes/fix-budget-and-ui-bugs/specs/navigation/spec.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/navigation/spec.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/specs/navigation/spec.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/specs/navigation/spec.md diff --git a/openspec/changes/fix-budget-and-ui-bugs/tasks.md b/openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/tasks.md similarity index 100% rename from openspec/changes/fix-budget-and-ui-bugs/tasks.md rename to openspec/changes/archive/2026-02-21-fix-budget-and-ui-bugs/tasks.md diff --git a/openspec/changes/icon-search-integration/.openspec.yaml b/openspec/changes/archive/2026-02-21-icon-search-integration/.openspec.yaml similarity index 100% rename from openspec/changes/icon-search-integration/.openspec.yaml rename to openspec/changes/archive/2026-02-21-icon-search-integration/.openspec.yaml diff --git a/openspec/changes/icon-search-integration/design.md b/openspec/changes/archive/2026-02-21-icon-search-integration/design.md similarity index 100% rename from openspec/changes/icon-search-integration/design.md rename to openspec/changes/archive/2026-02-21-icon-search-integration/design.md diff --git a/openspec/changes/icon-search-integration/proposal.md b/openspec/changes/archive/2026-02-21-icon-search-integration/proposal.md similarity index 100% rename from openspec/changes/icon-search-integration/proposal.md rename to openspec/changes/archive/2026-02-21-icon-search-integration/proposal.md diff --git a/openspec/changes/icon-search-integration/specs/ai-category-icon-generation/spec.md b/openspec/changes/archive/2026-02-21-icon-search-integration/specs/ai-category-icon-generation/spec.md similarity index 100% rename from openspec/changes/icon-search-integration/specs/ai-category-icon-generation/spec.md rename to openspec/changes/archive/2026-02-21-icon-search-integration/specs/ai-category-icon-generation/spec.md diff --git a/openspec/changes/icon-search-integration/specs/icon-search/spec.md b/openspec/changes/archive/2026-02-21-icon-search-integration/specs/icon-search/spec.md similarity index 100% rename from openspec/changes/icon-search-integration/specs/icon-search/spec.md rename to openspec/changes/archive/2026-02-21-icon-search-integration/specs/icon-search/spec.md diff --git a/openspec/changes/icon-search-integration/tasks.md b/openspec/changes/archive/2026-02-21-icon-search-integration/tasks.md similarity index 100% rename from openspec/changes/icon-search-integration/tasks.md rename to openspec/changes/archive/2026-02-21-icon-search-integration/tasks.md diff --git a/openspec/changes/migrate-to-chartjs/.openspec.yaml b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/.openspec.yaml similarity index 100% rename from openspec/changes/migrate-to-chartjs/.openspec.yaml rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/.openspec.yaml diff --git a/openspec/changes/migrate-to-chartjs/design.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/design.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/design.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/design.md diff --git a/openspec/changes/migrate-to-chartjs/proposal.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/proposal.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/proposal.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/proposal.md diff --git a/openspec/changes/migrate-to-chartjs/specs/budget-visualization/spec.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/budget-visualization/spec.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/specs/budget-visualization/spec.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/budget-visualization/spec.md diff --git a/openspec/changes/migrate-to-chartjs/specs/chartjs-integration/spec.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/chartjs-integration/spec.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/specs/chartjs-integration/spec.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/chartjs-integration/spec.md diff --git a/openspec/changes/migrate-to-chartjs/specs/statistics-charts/spec.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/statistics-charts/spec.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/specs/statistics-charts/spec.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/specs/statistics-charts/spec.md diff --git a/openspec/changes/migrate-to-chartjs/tasks.md b/openspec/changes/archive/2026-02-21-migrate-to-chartjs/tasks.md similarity index 100% rename from openspec/changes/migrate-to-chartjs/tasks.md rename to openspec/changes/archive/2026-02-21-migrate-to-chartjs/tasks.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/.openspec.yaml b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/.openspec.yaml similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/.openspec.yaml rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/.openspec.yaml diff --git a/openspec/changes/remove-v1-calendar-stats-budget/design.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/design.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/design.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/design.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/proposal.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/proposal.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/proposal.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/proposal.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/specs/budget-api/spec.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/budget-api/spec.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/specs/budget-api/spec.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/budget-api/spec.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/specs/routing/spec.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/routing/spec.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/specs/routing/spec.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/routing/spec.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/specs/statistics-api/spec.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/statistics-api/spec.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/specs/statistics-api/spec.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/statistics-api/spec.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/specs/transaction-api/spec.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/transaction-api/spec.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/specs/transaction-api/spec.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/specs/transaction-api/spec.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/tasks.md b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/tasks.md similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/tasks.md rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/tasks.md diff --git a/openspec/changes/remove-v1-calendar-stats-budget/v1-files-backup.txt b/openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/v1-files-backup.txt similarity index 100% rename from openspec/changes/remove-v1-calendar-stats-budget/v1-files-backup.txt rename to openspec/changes/archive/2026-02-21-remove-v1-calendar-stats-budget/v1-files-backup.txt diff --git a/openspec/changes/saving-detail-calculation/.openspec.yaml b/openspec/changes/archive/2026-02-21-saving-detail-calculation/.openspec.yaml similarity index 100% rename from openspec/changes/saving-detail-calculation/.openspec.yaml rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/.openspec.yaml diff --git a/openspec/changes/saving-detail-calculation/design.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/design.md similarity index 100% rename from openspec/changes/saving-detail-calculation/design.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/design.md diff --git a/openspec/changes/saving-detail-calculation/proposal.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/proposal.md similarity index 100% rename from openspec/changes/saving-detail-calculation/proposal.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/proposal.md diff --git a/openspec/changes/saving-detail-calculation/specs/budget-savings/spec.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/budget-savings/spec.md similarity index 100% rename from openspec/changes/saving-detail-calculation/specs/budget-savings/spec.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/budget-savings/spec.md diff --git a/openspec/changes/saving-detail-calculation/specs/saving-detail-calculation/spec.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/saving-detail-calculation/spec.md similarity index 100% rename from openspec/changes/saving-detail-calculation/specs/saving-detail-calculation/spec.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/saving-detail-calculation/spec.md diff --git a/openspec/changes/saving-detail-calculation/specs/saving-detail-display/spec.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/saving-detail-display/spec.md similarity index 100% rename from openspec/changes/saving-detail-calculation/specs/saving-detail-display/spec.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/specs/saving-detail-display/spec.md diff --git a/openspec/changes/saving-detail-calculation/tasks.md b/openspec/changes/archive/2026-02-21-saving-detail-calculation/tasks.md similarity index 100% rename from openspec/changes/saving-detail-calculation/tasks.md rename to openspec/changes/archive/2026-02-21-saving-detail-calculation/tasks.md diff --git a/openspec/changes/unified-popup-component/.openspec.yaml b/openspec/changes/archive/2026-02-21-unified-popup-component/.openspec.yaml similarity index 100% rename from openspec/changes/unified-popup-component/.openspec.yaml rename to openspec/changes/archive/2026-02-21-unified-popup-component/.openspec.yaml diff --git a/openspec/changes/unified-popup-component/design.md b/openspec/changes/archive/2026-02-21-unified-popup-component/design.md similarity index 100% rename from openspec/changes/unified-popup-component/design.md rename to openspec/changes/archive/2026-02-21-unified-popup-component/design.md diff --git a/openspec/changes/unified-popup-component/proposal.md b/openspec/changes/archive/2026-02-21-unified-popup-component/proposal.md similarity index 100% rename from openspec/changes/unified-popup-component/proposal.md rename to openspec/changes/archive/2026-02-21-unified-popup-component/proposal.md diff --git a/openspec/changes/unified-popup-component/specs/unified-popup-system/spec.md b/openspec/changes/archive/2026-02-21-unified-popup-component/specs/unified-popup-system/spec.md similarity index 100% rename from openspec/changes/unified-popup-component/specs/unified-popup-system/spec.md rename to openspec/changes/archive/2026-02-21-unified-popup-component/specs/unified-popup-system/spec.md diff --git a/openspec/changes/unified-popup-component/tasks.md b/openspec/changes/archive/2026-02-21-unified-popup-component/tasks.md similarity index 100% rename from openspec/changes/unified-popup-component/tasks.md rename to openspec/changes/archive/2026-02-21-unified-popup-component/tasks.md diff --git a/openspec/changes/unify-stats-calendar-color-scheme/.openspec.yaml b/openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/.openspec.yaml similarity index 100% rename from openspec/changes/unify-stats-calendar-color-scheme/.openspec.yaml rename to openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/.openspec.yaml diff --git a/openspec/changes/unify-stats-calendar-color-scheme/design.md b/openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/design.md similarity index 100% rename from openspec/changes/unify-stats-calendar-color-scheme/design.md rename to openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/design.md diff --git a/openspec/changes/unify-stats-calendar-color-scheme/proposal.md b/openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/proposal.md similarity index 100% rename from openspec/changes/unify-stats-calendar-color-scheme/proposal.md rename to openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/proposal.md diff --git a/openspec/changes/unify-stats-calendar-color-scheme/specs/consistent-color-scheme/spec.md b/openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/specs/consistent-color-scheme/spec.md similarity index 100% rename from openspec/changes/unify-stats-calendar-color-scheme/specs/consistent-color-scheme/spec.md rename to openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/specs/consistent-color-scheme/spec.md diff --git a/openspec/changes/unify-stats-calendar-color-scheme/tasks.md b/openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/tasks.md similarity index 100% rename from openspec/changes/unify-stats-calendar-color-scheme/tasks.md rename to openspec/changes/archive/2026-02-21-unify-stats-calendar-color-scheme/tasks.md diff --git a/sqlite_mcp_server.db b/sqlite_mcp_server.db deleted file mode 100644 index e69de29..0000000 diff --git a/warnings.txt b/warnings.txt deleted file mode 100644 index 73c1102..0000000 --- a/warnings.txt +++ /dev/null @@ -1,98 +0,0 @@ -Total messages: 12 (Errors: 1, Warnings: 8) -Returning 9 messages for level "warning" - -[WARNING] [Vue warn]: Plugin has already been applied to target app. @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Property "chartData" was accessed during render but is not defined on instance. - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got Undefined - at - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got Undefined - at type="doughnut" data=undefined ... > - at - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Property "chartData" was accessed during render but is not defined on instance. - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got Undefined - at - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got Undefined - at type="doughnut" data=undefined ... > - at - at - at - at - at > - at - at ref=Ref< undefined > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -[WARNING] [Vue warn]: Unhandled error during execution of mounted hook - at type="doughnut" data=undefined ... > - at - at - at - at - at > - at - at ref=Ref< Proxy(Object) > key="budget-v2" > - at - at - at - at @ http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2194 -TypeError: Cannot read properties of undefined (reading 'labels') - at cloneData (http://localhost:5173/node_modules/.vite/deps/vue-chartjs.js?v=9b5e80e2:109:28) - at renderChart (http://localhost:5173/node_modules/.vite/deps/vue-chartjs.js?v=9b5e80e2:140:26) - at http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:5221:40 - at callWithErrorHandling (http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2342:19) - at callWithAsyncErrorHandling (http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2349:17) - at hook.__weh.hook.__weh (http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:5201:19) - at flushPostFlushCbs (http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2527:28) - at flushJobs (http://localhost:5173/node_modules/.vite/deps/chunk-TTLTGI2G.js?v=9b5e80e2:2569:5) \ No newline at end of file