skill-bill 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +128 -0
- package/dist/.gen-inputs.json +30 -0
- package/dist/account/accounts.d.ts +98 -0
- package/dist/account/accounts.d.ts.map +1 -0
- package/dist/account/accounts.js +184 -0
- package/dist/account/accounts.js.map +1 -0
- package/dist/account/commands.d.ts +18 -0
- package/dist/account/commands.d.ts.map +1 -0
- package/dist/account/commands.js +21 -0
- package/dist/account/commands.js.map +1 -0
- package/dist/account/declaration.d.ts +9 -0
- package/dist/account/declaration.d.ts.map +1 -0
- package/dist/account/declaration.js +70 -0
- package/dist/account/declaration.js.map +1 -0
- package/dist/account/index.d.ts +15 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +15 -0
- package/dist/account/index.js.map +1 -0
- package/dist/account/pageParts.d.ts +127 -0
- package/dist/account/pageParts.d.ts.map +1 -0
- package/dist/account/pageParts.js +222 -0
- package/dist/account/pageParts.js.map +1 -0
- package/dist/account/params.d.ts +52 -0
- package/dist/account/params.d.ts.map +1 -0
- package/dist/account/params.js +153 -0
- package/dist/account/params.js.map +1 -0
- package/dist/account/query.d.ts +11 -0
- package/dist/account/query.d.ts.map +1 -0
- package/dist/account/query.js +10 -0
- package/dist/account/query.js.map +1 -0
- package/dist/account/read.d.ts +8 -0
- package/dist/account/read.d.ts.map +1 -0
- package/dist/account/read.js +56 -0
- package/dist/account/read.js.map +1 -0
- package/dist/account/scene-add.d.ts +3 -0
- package/dist/account/scene-add.d.ts.map +1 -0
- package/dist/account/scene-add.js +54 -0
- package/dist/account/scene-add.js.map +1 -0
- package/dist/account/scene-transfer.d.ts +3 -0
- package/dist/account/scene-transfer.d.ts.map +1 -0
- package/dist/account/scene-transfer.js +73 -0
- package/dist/account/scene-transfer.js.map +1 -0
- package/dist/account/scene-update.d.ts +3 -0
- package/dist/account/scene-update.d.ts.map +1 -0
- package/dist/account/scene-update.js +56 -0
- package/dist/account/scene-update.js.map +1 -0
- package/dist/account/scene.d.ts +73 -0
- package/dist/account/scene.d.ts.map +1 -0
- package/dist/account/scene.js +34 -0
- package/dist/account/scene.js.map +1 -0
- package/dist/account/template-form.d.ts +52 -0
- package/dist/account/template-form.d.ts.map +1 -0
- package/dist/account/template-form.js +125 -0
- package/dist/account/template-form.js.map +1 -0
- package/dist/account/template-summary.d.ts +38 -0
- package/dist/account/template-summary.d.ts.map +1 -0
- package/dist/account/template-summary.js +179 -0
- package/dist/account/template-summary.js.map +1 -0
- package/dist/account/template-update.d.ts +35 -0
- package/dist/account/template-update.d.ts.map +1 -0
- package/dist/account/template-update.js +193 -0
- package/dist/account/template-update.js.map +1 -0
- package/dist/account/write.d.ts +14 -0
- package/dist/account/write.d.ts.map +1 -0
- package/dist/account/write.js +166 -0
- package/dist/account/write.js.map +1 -0
- package/dist/analysis/agg.d.ts +135 -0
- package/dist/analysis/agg.d.ts.map +1 -0
- package/dist/analysis/agg.js +196 -0
- package/dist/analysis/agg.js.map +1 -0
- package/dist/analysis/cards.d.ts +40 -0
- package/dist/analysis/cards.d.ts.map +1 -0
- package/dist/analysis/cards.js +97 -0
- package/dist/analysis/cards.js.map +1 -0
- package/dist/analysis/commands.d.ts +17 -0
- package/dist/analysis/commands.d.ts.map +1 -0
- package/dist/analysis/commands.js +28 -0
- package/dist/analysis/commands.js.map +1 -0
- package/dist/analysis/declaration.d.ts +9 -0
- package/dist/analysis/declaration.d.ts.map +1 -0
- package/dist/analysis/declaration.js +368 -0
- package/dist/analysis/declaration.js.map +1 -0
- package/dist/analysis/index.d.ts +14 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +14 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/pageParts.d.ts +103 -0
- package/dist/analysis/pageParts.d.ts.map +1 -0
- package/dist/analysis/pageParts.js +158 -0
- package/dist/analysis/pageParts.js.map +1 -0
- package/dist/{policy/analysis.d.ts → analysis/params.d.ts} +1 -1
- package/dist/analysis/params.d.ts.map +1 -0
- package/dist/{policy/analysis.js → analysis/params.js} +10 -4
- package/dist/analysis/params.js.map +1 -0
- package/dist/analysis/read.d.ts +26 -0
- package/dist/analysis/read.d.ts.map +1 -0
- package/dist/analysis/read.js +84 -0
- package/dist/analysis/read.js.map +1 -0
- package/dist/analysis/scene-account.d.ts +3 -0
- package/dist/analysis/scene-account.d.ts.map +1 -0
- package/dist/analysis/scene-account.js +88 -0
- package/dist/analysis/scene-account.js.map +1 -0
- package/dist/analysis/scene-activity.d.ts +3 -0
- package/dist/analysis/scene-activity.d.ts.map +1 -0
- package/dist/analysis/scene-activity.js +108 -0
- package/dist/analysis/scene-activity.js.map +1 -0
- package/dist/analysis/scene-anomaly.d.ts +3 -0
- package/dist/analysis/scene-anomaly.d.ts.map +1 -0
- package/dist/analysis/scene-anomaly.js +173 -0
- package/dist/analysis/scene-anomaly.js.map +1 -0
- package/dist/analysis/scene-cat-compare.d.ts +3 -0
- package/dist/analysis/scene-cat-compare.d.ts.map +1 -0
- package/dist/analysis/scene-cat-compare.js +128 -0
- package/dist/analysis/scene-cat-compare.js.map +1 -0
- package/dist/analysis/scene-cat-trend.d.ts +3 -0
- package/dist/analysis/scene-cat-trend.d.ts.map +1 -0
- package/dist/analysis/scene-cat-trend.js +121 -0
- package/dist/analysis/scene-cat-trend.js.map +1 -0
- package/dist/analysis/scene-category.d.ts +3 -0
- package/dist/analysis/scene-category.d.ts.map +1 -0
- package/dist/analysis/scene-category.js +104 -0
- package/dist/analysis/scene-category.js.map +1 -0
- package/dist/analysis/scene-debt.d.ts +3 -0
- package/dist/analysis/scene-debt.d.ts.map +1 -0
- package/dist/analysis/scene-debt.js +111 -0
- package/dist/analysis/scene-debt.js.map +1 -0
- package/dist/analysis/scene-distribution.d.ts +3 -0
- package/dist/analysis/scene-distribution.d.ts.map +1 -0
- package/dist/analysis/scene-distribution.js +144 -0
- package/dist/analysis/scene-distribution.js.map +1 -0
- package/dist/analysis/scene-insight.d.ts +3 -0
- package/dist/analysis/scene-insight.d.ts.map +1 -0
- package/dist/analysis/scene-insight.js +151 -0
- package/dist/analysis/scene-insight.js.map +1 -0
- package/dist/analysis/scene-installment.d.ts +3 -0
- package/dist/analysis/scene-installment.d.ts.map +1 -0
- package/dist/analysis/scene-installment.js +168 -0
- package/dist/analysis/scene-installment.js.map +1 -0
- package/dist/analysis/scene-ledger.d.ts +3 -0
- package/dist/analysis/scene-ledger.d.ts.map +1 -0
- package/dist/analysis/scene-ledger.js +80 -0
- package/dist/analysis/scene-ledger.js.map +1 -0
- package/dist/analysis/scene-monthly.d.ts +3 -0
- package/dist/analysis/scene-monthly.d.ts.map +1 -0
- package/dist/analysis/scene-monthly.js +79 -0
- package/dist/analysis/scene-monthly.js.map +1 -0
- package/dist/analysis/scene-overview.d.ts +3 -0
- package/dist/analysis/scene-overview.d.ts.map +1 -0
- package/dist/analysis/scene-overview.js +82 -0
- package/dist/analysis/scene-overview.js.map +1 -0
- package/dist/analysis/scene-period-compare.d.ts +3 -0
- package/dist/analysis/scene-period-compare.d.ts.map +1 -0
- package/dist/analysis/scene-period-compare.js +127 -0
- package/dist/analysis/scene-period-compare.js.map +1 -0
- package/dist/analysis/scene-range-compare.d.ts +3 -0
- package/dist/analysis/scene-range-compare.d.ts.map +1 -0
- package/dist/analysis/scene-range-compare.js +144 -0
- package/dist/analysis/scene-range-compare.js.map +1 -0
- package/dist/analysis/scene-refund.d.ts +3 -0
- package/dist/analysis/scene-refund.d.ts.map +1 -0
- package/dist/analysis/scene-refund.js +78 -0
- package/dist/analysis/scene-refund.js.map +1 -0
- package/dist/analysis/scene-reimburse.d.ts +3 -0
- package/dist/analysis/scene-reimburse.d.ts.map +1 -0
- package/dist/analysis/scene-reimburse.js +88 -0
- package/dist/analysis/scene-reimburse.js.map +1 -0
- package/dist/analysis/scene-stats.d.ts +3 -0
- package/dist/analysis/scene-stats.d.ts.map +1 -0
- package/dist/analysis/scene-stats.js +80 -0
- package/dist/analysis/scene-stats.js.map +1 -0
- package/dist/analysis/scene-structure.d.ts +3 -0
- package/dist/analysis/scene-structure.d.ts.map +1 -0
- package/dist/analysis/scene-structure.js +93 -0
- package/dist/analysis/scene-structure.js.map +1 -0
- package/dist/analysis/scene-top-freq.d.ts +3 -0
- package/dist/analysis/scene-top-freq.d.ts.map +1 -0
- package/dist/analysis/scene-top-freq.js +91 -0
- package/dist/analysis/scene-top-freq.js.map +1 -0
- package/dist/analysis/scene-top.d.ts +3 -0
- package/dist/analysis/scene-top.d.ts.map +1 -0
- package/dist/analysis/scene-top.js +69 -0
- package/dist/analysis/scene-top.js.map +1 -0
- package/dist/analysis/scene-trend.d.ts +3 -0
- package/dist/analysis/scene-trend.d.ts.map +1 -0
- package/dist/analysis/scene-trend.js +131 -0
- package/dist/analysis/scene-trend.js.map +1 -0
- package/dist/analysis/scene-week.d.ts +3 -0
- package/dist/analysis/scene-week.d.ts.map +1 -0
- package/dist/analysis/scene-week.js +128 -0
- package/dist/analysis/scene-week.js.map +1 -0
- package/dist/analysis/scene-yearly.d.ts +3 -0
- package/dist/analysis/scene-yearly.d.ts.map +1 -0
- package/dist/analysis/scene-yearly.js +103 -0
- package/dist/analysis/scene-yearly.js.map +1 -0
- package/dist/analysis/scene-yoy.d.ts +3 -0
- package/dist/analysis/scene-yoy.d.ts.map +1 -0
- package/dist/analysis/scene-yoy.js +95 -0
- package/dist/analysis/scene-yoy.js.map +1 -0
- package/dist/analysis/scene.d.ts +240 -0
- package/dist/analysis/scene.d.ts.map +1 -0
- package/dist/analysis/scene.js +47 -0
- package/dist/analysis/scene.js.map +1 -0
- package/dist/analysis/template-bars.d.ts +3 -0
- package/dist/analysis/template-bars.d.ts.map +1 -0
- package/dist/analysis/template-bars.js +64 -0
- package/dist/analysis/template-bars.js.map +1 -0
- package/dist/analysis/template-charts.d.ts +3 -0
- package/dist/analysis/template-charts.d.ts.map +1 -0
- package/dist/analysis/template-charts.js +55 -0
- package/dist/analysis/template-charts.js.map +1 -0
- package/dist/analysis/template-compare.d.ts +3 -0
- package/dist/analysis/template-compare.d.ts.map +1 -0
- package/dist/analysis/template-compare.js +54 -0
- package/dist/analysis/template-compare.js.map +1 -0
- package/dist/analysis/template-insight.d.ts +3 -0
- package/dist/analysis/template-insight.d.ts.map +1 -0
- package/dist/analysis/template-insight.js +56 -0
- package/dist/analysis/template-insight.js.map +1 -0
- package/dist/analysis/template-tables.d.ts +3 -0
- package/dist/analysis/template-tables.d.ts.map +1 -0
- package/dist/analysis/template-tables.js +49 -0
- package/dist/analysis/template-tables.js.map +1 -0
- package/dist/analysis/views.d.ts +35 -0
- package/dist/analysis/views.d.ts.map +1 -0
- package/dist/{render → analysis}/views.js +2 -55
- package/dist/analysis/views.js.map +1 -0
- package/dist/cli/cmd_read.js +158 -415
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +16 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +81 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/health.d.ts +7 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +32 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/registry.d.ts +15 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +30 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/fetch/db.d.ts +9 -0
- package/dist/fetch/db.d.ts.map +1 -1
- package/dist/fetch/db.js +19 -2
- package/dist/fetch/db.js.map +1 -1
- package/dist/fetch/index.d.ts +2 -2
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +2 -2
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/paths.d.ts +16 -4
- package/dist/fetch/paths.d.ts.map +1 -1
- package/dist/fetch/paths.js +54 -24
- package/dist/fetch/paths.js.map +1 -1
- package/dist/goal/commands.d.ts +18 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +21 -0
- package/dist/goal/commands.js.map +1 -0
- package/dist/goal/declaration.d.ts +9 -0
- package/dist/goal/declaration.d.ts.map +1 -0
- package/dist/goal/declaration.js +71 -0
- package/dist/goal/declaration.js.map +1 -0
- package/dist/goal/goalData.d.ts +126 -0
- package/dist/goal/goalData.d.ts.map +1 -0
- package/dist/goal/goalData.js +228 -0
- package/dist/goal/goalData.js.map +1 -0
- package/dist/goal/index.d.ts +19 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +19 -0
- package/dist/goal/index.js.map +1 -0
- package/dist/goal/pageParts.d.ts +140 -0
- package/dist/goal/pageParts.d.ts.map +1 -0
- package/dist/goal/pageParts.js +233 -0
- package/dist/goal/pageParts.js.map +1 -0
- package/dist/goal/params.d.ts +63 -0
- package/dist/goal/params.d.ts.map +1 -0
- package/dist/goal/params.js +164 -0
- package/dist/goal/params.js.map +1 -0
- package/dist/goal/query.d.ts +12 -0
- package/dist/goal/query.d.ts.map +1 -0
- package/dist/goal/query.js +10 -0
- package/dist/goal/query.js.map +1 -0
- package/dist/goal/read.d.ts +5 -0
- package/dist/goal/read.d.ts.map +1 -0
- package/dist/goal/read.js +79 -0
- package/dist/goal/read.js.map +1 -0
- package/dist/goal/scene-budget.d.ts +3 -0
- package/dist/goal/scene-budget.d.ts.map +1 -0
- package/dist/goal/scene-budget.js +125 -0
- package/dist/goal/scene-budget.js.map +1 -0
- package/dist/goal/scene-saving.d.ts +3 -0
- package/dist/goal/scene-saving.d.ts.map +1 -0
- package/dist/goal/scene-saving.js +116 -0
- package/dist/goal/scene-saving.js.map +1 -0
- package/dist/goal/scene-set-budget.d.ts +3 -0
- package/dist/goal/scene-set-budget.d.ts.map +1 -0
- package/dist/goal/scene-set-budget.js +94 -0
- package/dist/goal/scene-set-budget.js.map +1 -0
- package/dist/goal/scene-set-saving.d.ts +3 -0
- package/dist/goal/scene-set-saving.d.ts.map +1 -0
- package/dist/goal/scene-set-saving.js +66 -0
- package/dist/goal/scene-set-saving.js.map +1 -0
- package/dist/goal/scene.d.ts +142 -0
- package/dist/goal/scene.d.ts.map +1 -0
- package/dist/goal/scene.js +51 -0
- package/dist/goal/scene.js.map +1 -0
- package/dist/goal/template-form.d.ts +32 -0
- package/dist/goal/template-form.d.ts.map +1 -0
- package/dist/goal/template-form.js +124 -0
- package/dist/goal/template-form.js.map +1 -0
- package/dist/goal/template-progress.d.ts +47 -0
- package/dist/goal/template-progress.d.ts.map +1 -0
- package/dist/goal/template-progress.js +79 -0
- package/dist/goal/template-progress.js.map +1 -0
- package/dist/goal/write.d.ts +6 -0
- package/dist/goal/write.d.ts.map +1 -0
- package/dist/goal/write.js +131 -0
- package/dist/goal/write.js.map +1 -0
- package/dist/health.d.ts +41 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +456 -0
- package/dist/health.js.map +1 -0
- package/dist/help/declaration.d.ts +9 -0
- package/dist/help/declaration.d.ts.map +1 -0
- package/dist/help/declaration.js +28 -0
- package/dist/help/declaration.js.map +1 -0
- package/dist/help/helpFile.d.ts +88 -0
- package/dist/help/helpFile.d.ts.map +1 -0
- package/dist/help/helpFile.js +119 -0
- package/dist/help/helpFile.js.map +1 -0
- package/dist/help/helpPaths.d.ts +11 -0
- package/dist/help/helpPaths.d.ts.map +1 -0
- package/dist/help/helpPaths.js +36 -0
- package/dist/help/helpPaths.js.map +1 -0
- package/dist/help/index.d.ts +2 -0
- package/dist/help/index.d.ts.map +1 -1
- package/dist/help/index.js +2 -0
- package/dist/help/index.js.map +1 -1
- package/dist/help/items.d.ts +17 -0
- package/dist/help/items.d.ts.map +1 -0
- package/dist/help/items.js +5 -0
- package/dist/help/items.js.map +1 -0
- package/dist/help/lookup.d.ts +1 -1
- package/dist/help/lookup.d.ts.map +1 -1
- package/dist/help/lookup.js +5 -4
- package/dist/help/lookup.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/link/declaration.d.ts +9 -0
- package/dist/link/declaration.d.ts.map +1 -0
- package/dist/link/declaration.js +40 -0
- package/dist/link/declaration.js.map +1 -0
- package/dist/output.d.ts +21 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +48 -0
- package/dist/output.js.map +1 -0
- package/dist/query/commands.d.ts +17 -0
- package/dist/query/commands.d.ts.map +1 -0
- package/dist/query/commands.js +36 -0
- package/dist/query/commands.js.map +1 -0
- package/dist/query/declaration.d.ts +9 -0
- package/dist/query/declaration.d.ts.map +1 -0
- package/dist/query/declaration.js +251 -0
- package/dist/query/declaration.js.map +1 -0
- package/dist/query/detail.d.ts +28 -0
- package/dist/query/detail.d.ts.map +1 -0
- package/dist/query/detail.js +143 -0
- package/dist/query/detail.js.map +1 -0
- package/dist/query/index.d.ts +19 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +12 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/items.d.ts +22 -0
- package/dist/query/items.d.ts.map +1 -0
- package/dist/query/items.js +7 -0
- package/dist/query/items.js.map +1 -0
- package/dist/query/list.d.ts +100 -0
- package/dist/query/list.d.ts.map +1 -0
- package/dist/query/list.js +247 -0
- package/dist/query/list.js.map +1 -0
- package/dist/query/pageParts.d.ts +6 -0
- package/dist/query/pageParts.d.ts.map +1 -0
- package/dist/query/pageParts.js +18 -0
- package/dist/query/pageParts.js.map +1 -0
- package/dist/query/read.d.ts +17 -0
- package/dist/query/read.d.ts.map +1 -0
- package/dist/query/read.js +324 -0
- package/dist/query/read.js.map +1 -0
- package/dist/render/envelope.d.ts.map +1 -1
- package/dist/render/envelope.js +21 -16
- package/dist/render/envelope.js.map +1 -1
- package/dist/render/errors.d.ts +1 -1
- package/dist/render/errors.d.ts.map +1 -1
- package/dist/render/errors.js.map +1 -1
- package/dist/render/html.d.ts +0 -1
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +2 -4
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +6 -3
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +9 -2
- package/dist/render/index.js.map +1 -1
- package/dist/render/templates.js +1 -1
- package/dist/render/templates.js.map +1 -1
- package/dist/setup/backups.d.ts +52 -0
- package/dist/setup/backups.d.ts.map +1 -0
- package/dist/setup/backups.js +172 -0
- package/dist/setup/backups.js.map +1 -0
- package/dist/setup/blocked.d.ts +12 -0
- package/dist/setup/blocked.d.ts.map +1 -0
- package/dist/setup/blocked.js +65 -0
- package/dist/setup/blocked.js.map +1 -0
- package/dist/setup/commands.d.ts +10 -0
- package/dist/setup/commands.d.ts.map +1 -0
- package/dist/setup/commands.js +12 -0
- package/dist/setup/commands.js.map +1 -0
- package/dist/setup/declaration.d.ts +9 -0
- package/dist/setup/declaration.d.ts.map +1 -0
- package/dist/setup/declaration.js +92 -0
- package/dist/setup/declaration.js.map +1 -0
- package/dist/setup/import.d.ts +8 -0
- package/dist/setup/import.d.ts.map +1 -0
- package/dist/setup/import.js +111 -0
- package/dist/setup/import.js.map +1 -0
- package/dist/setup/importer.d.ts +79 -0
- package/dist/setup/importer.d.ts.map +1 -0
- package/dist/setup/importer.js +231 -0
- package/dist/setup/importer.js.map +1 -0
- package/dist/setup/index.d.ts +8 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +8 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/pageParts.d.ts +93 -0
- package/dist/setup/pageParts.d.ts.map +1 -0
- package/dist/setup/pageParts.js +197 -0
- package/dist/setup/pageParts.js.map +1 -0
- package/dist/setup/params.d.ts +43 -0
- package/dist/setup/params.d.ts.map +1 -0
- package/dist/setup/params.js +94 -0
- package/dist/setup/params.js.map +1 -0
- package/dist/setup/restore.d.ts +5 -0
- package/dist/setup/restore.d.ts.map +1 -0
- package/dist/setup/restore.js +129 -0
- package/dist/setup/restore.js.map +1 -0
- package/dist/setup/run.d.ts +5 -0
- package/dist/setup/run.d.ts.map +1 -0
- package/dist/setup/run.js +188 -0
- package/dist/setup/run.js.map +1 -0
- package/dist/setup/scene-backup-create.d.ts +3 -0
- package/dist/setup/scene-backup-create.d.ts.map +1 -0
- package/dist/setup/scene-backup-create.js +26 -0
- package/dist/setup/scene-backup-create.js.map +1 -0
- package/dist/setup/scene-backup-list.d.ts +3 -0
- package/dist/setup/scene-backup-list.d.ts.map +1 -0
- package/dist/setup/scene-backup-list.js +24 -0
- package/dist/setup/scene-backup-list.js.map +1 -0
- package/dist/setup/scene-import.d.ts +3 -0
- package/dist/setup/scene-import.d.ts.map +1 -0
- package/dist/setup/scene-import.js +36 -0
- package/dist/setup/scene-import.js.map +1 -0
- package/dist/setup/scene-init-status.d.ts +14 -0
- package/dist/setup/scene-init-status.d.ts.map +1 -0
- package/dist/setup/scene-init-status.js +16 -0
- package/dist/setup/scene-init-status.js.map +1 -0
- package/dist/setup/scene-init.d.ts +3 -0
- package/dist/setup/scene-init.d.ts.map +1 -0
- package/dist/setup/scene-init.js +25 -0
- package/dist/setup/scene-init.js.map +1 -0
- package/dist/setup/scene-restore.d.ts +3 -0
- package/dist/setup/scene-restore.d.ts.map +1 -0
- package/dist/setup/scene-restore.js +33 -0
- package/dist/setup/scene-restore.js.map +1 -0
- package/dist/setup/scene.d.ts +26 -0
- package/dist/setup/scene.d.ts.map +1 -0
- package/dist/setup/scene.js +42 -0
- package/dist/setup/scene.js.map +1 -0
- package/dist/setup/status.d.ts +47 -0
- package/dist/setup/status.d.ts.map +1 -0
- package/dist/setup/status.js +68 -0
- package/dist/setup/status.js.map +1 -0
- package/dist/setup/steps.d.ts +66 -0
- package/dist/setup/steps.d.ts.map +1 -0
- package/dist/setup/steps.js +123 -0
- package/dist/setup/steps.js.map +1 -0
- package/dist/setup/template-list.d.ts +29 -0
- package/dist/setup/template-list.d.ts.map +1 -0
- package/dist/setup/template-list.js +187 -0
- package/dist/setup/template-list.js.map +1 -0
- package/dist/setup/template-receipt.d.ts +18 -0
- package/dist/setup/template-receipt.d.ts.map +1 -0
- package/dist/setup/template-receipt.js +93 -0
- package/dist/setup/template-receipt.js.map +1 -0
- package/dist/setup/template-wizard.d.ts +64 -0
- package/dist/setup/template-wizard.d.ts.map +1 -0
- package/dist/setup/template-wizard.js +233 -0
- package/dist/setup/template-wizard.js.map +1 -0
- package/dist/{policy → shared}/category.d.ts +0 -6
- package/dist/shared/category.d.ts.map +1 -0
- package/dist/{policy → shared}/category.js +16 -54
- package/dist/shared/category.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +75 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +2 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/shared/copyArea.d.ts +51 -0
- package/dist/shared/copyArea.d.ts.map +1 -0
- package/dist/shared/copyArea.js +124 -0
- package/dist/shared/copyArea.js.map +1 -0
- package/dist/shared/dateRange.d.ts +31 -0
- package/dist/shared/dateRange.d.ts.map +1 -0
- package/dist/shared/dateRange.js +121 -0
- package/dist/shared/dateRange.js.map +1 -0
- package/dist/shared/docPage.d.ts +21 -0
- package/dist/shared/docPage.d.ts.map +1 -0
- package/dist/shared/docPage.js +120 -0
- package/dist/shared/docPage.js.map +1 -0
- package/dist/shared/kpi.d.ts +21 -0
- package/dist/shared/kpi.d.ts.map +1 -0
- package/dist/shared/kpi.js +20 -0
- package/dist/shared/kpi.js.map +1 -0
- package/dist/shared/pageIdentity.d.ts +39 -0
- package/dist/shared/pageIdentity.d.ts.map +1 -0
- package/dist/shared/pageIdentity.js +45 -0
- package/dist/shared/pageIdentity.js.map +1 -0
- package/dist/shared/pageSections.d.ts +23 -0
- package/dist/shared/pageSections.d.ts.map +1 -0
- package/dist/shared/pageSections.js +52 -0
- package/dist/shared/pageSections.js.map +1 -0
- package/dist/shared/pageShell.d.ts +24 -0
- package/dist/shared/pageShell.d.ts.map +1 -0
- package/dist/shared/pageShell.js +37 -0
- package/dist/shared/pageShell.js.map +1 -0
- package/dist/shared/params.d.ts +11 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +60 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +19 -0
- package/dist/shared/sourceLine.d.ts.map +1 -0
- package/dist/shared/sourceLine.js +52 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/writeParts.d.ts +64 -0
- package/dist/shared/writeParts.d.ts.map +1 -0
- package/dist/shared/writeParts.js +39 -0
- package/dist/shared/writeParts.js.map +1 -0
- package/dist/triggers/routeSpec.d.ts +109 -0
- package/dist/triggers/routeSpec.d.ts.map +1 -0
- package/dist/triggers/routeSpec.js +19 -0
- package/dist/triggers/routeSpec.js.map +1 -0
- package/dist/triggers/wake-assets.d.ts +15 -0
- package/dist/triggers/wake-assets.d.ts.map +1 -0
- package/dist/triggers/wake-assets.js +67 -0
- package/dist/triggers/wake-assets.js.map +1 -0
- package/dist/triggers/wakeTable.d.ts +18 -0
- package/dist/triggers/wakeTable.d.ts.map +1 -0
- package/dist/triggers/wakeTable.js +135 -0
- package/dist/triggers/wakeTable.js.map +1 -0
- package/dist/write/blockedFold.d.ts +10 -0
- package/dist/write/blockedFold.d.ts.map +1 -0
- package/dist/write/blockedFold.js +31 -0
- package/dist/write/blockedFold.js.map +1 -0
- package/dist/write/blockedSlots.d.ts +39 -0
- package/dist/write/blockedSlots.d.ts.map +1 -0
- package/dist/write/blockedSlots.js +108 -0
- package/dist/write/blockedSlots.js.map +1 -0
- package/dist/write/candidatePick.d.ts +50 -0
- package/dist/write/candidatePick.d.ts.map +1 -0
- package/dist/write/candidatePick.js +116 -0
- package/dist/write/candidatePick.js.map +1 -0
- package/dist/write/collect.d.ts +20 -0
- package/dist/write/collect.d.ts.map +1 -0
- package/dist/write/collect.js +15 -0
- package/dist/write/collect.js.map +1 -0
- package/dist/write/collectBody.d.ts +29 -0
- package/dist/write/collectBody.d.ts.map +1 -0
- package/dist/write/collectBody.js +196 -0
- package/dist/write/collectBody.js.map +1 -0
- package/dist/write/collectFrame.d.ts +17 -0
- package/dist/write/collectFrame.d.ts.map +1 -0
- package/dist/write/collectFrame.js +36 -0
- package/dist/write/collectFrame.js.map +1 -0
- package/dist/write/commands.d.ts +10 -0
- package/dist/write/commands.d.ts.map +1 -0
- package/dist/write/commands.js +20 -0
- package/dist/write/commands.js.map +1 -0
- package/dist/write/declaration.d.ts +9 -0
- package/dist/write/declaration.d.ts.map +1 -0
- package/dist/write/declaration.js +239 -0
- package/dist/write/declaration.js.map +1 -0
- package/dist/write/diffTable.d.ts +26 -0
- package/dist/write/diffTable.d.ts.map +1 -0
- package/dist/write/diffTable.js +77 -0
- package/dist/write/diffTable.js.map +1 -0
- package/dist/write/duplicateNote.d.ts +40 -0
- package/dist/write/duplicateNote.d.ts.map +1 -0
- package/dist/write/duplicateNote.js +96 -0
- package/dist/write/duplicateNote.js.map +1 -0
- package/dist/write/emptyNote.d.ts +15 -0
- package/dist/write/emptyNote.d.ts.map +1 -0
- package/dist/write/emptyNote.js +27 -0
- package/dist/write/emptyNote.js.map +1 -0
- package/dist/write/errorReceipt.d.ts +21 -0
- package/dist/write/errorReceipt.d.ts.map +1 -0
- package/dist/write/errorReceipt.js +37 -0
- package/dist/write/errorReceipt.js.map +1 -0
- package/dist/write/flowSteps.d.ts +25 -0
- package/dist/write/flowSteps.d.ts.map +1 -0
- package/dist/write/flowSteps.js +49 -0
- package/dist/write/flowSteps.js.map +1 -0
- package/dist/write/index.d.ts +18 -0
- package/dist/write/index.d.ts.map +1 -0
- package/dist/write/index.js +13 -0
- package/dist/write/index.js.map +1 -0
- package/dist/write/installmentPreview.d.ts +23 -0
- package/dist/write/installmentPreview.d.ts.map +1 -0
- package/dist/write/installmentPreview.js +144 -0
- package/dist/write/installmentPreview.js.map +1 -0
- package/dist/write/outsideScan.d.ts +34 -0
- package/dist/write/outsideScan.d.ts.map +1 -0
- package/dist/write/outsideScan.js +116 -0
- package/dist/write/outsideScan.js.map +1 -0
- package/dist/write/pageParts.d.ts +69 -0
- package/dist/write/pageParts.d.ts.map +1 -0
- package/dist/write/pageParts.js +80 -0
- package/dist/write/pageParts.js.map +1 -0
- package/dist/write/photoEscape.d.ts +53 -0
- package/dist/write/photoEscape.d.ts.map +1 -0
- package/dist/write/photoEscape.js +139 -0
- package/dist/write/photoEscape.js.map +1 -0
- package/dist/write/prefillNote.d.ts +21 -0
- package/dist/write/prefillNote.d.ts.map +1 -0
- package/dist/write/prefillNote.js +79 -0
- package/dist/write/prefillNote.js.map +1 -0
- package/dist/write/receipt.d.ts +18 -0
- package/dist/write/receipt.d.ts.map +1 -0
- package/dist/write/receipt.js +11 -0
- package/dist/write/receipt.js.map +1 -0
- package/dist/write/receiptBody.d.ts +10 -0
- package/dist/write/receiptBody.d.ts.map +1 -0
- package/dist/write/receiptBody.js +111 -0
- package/dist/write/receiptBody.js.map +1 -0
- package/dist/write/receiptOut.d.ts +14 -0
- package/dist/write/receiptOut.d.ts.map +1 -0
- package/dist/write/receiptOut.js +13 -0
- package/dist/write/receiptOut.js.map +1 -0
- package/dist/write/receiptParts.d.ts +12 -0
- package/dist/write/receiptParts.d.ts.map +1 -0
- package/dist/write/receiptParts.js +38 -0
- package/dist/write/receiptParts.js.map +1 -0
- package/dist/write/recentPicks.d.ts +34 -0
- package/dist/write/recentPicks.d.ts.map +1 -0
- package/dist/write/recentPicks.js +65 -0
- package/dist/write/recentPicks.js.map +1 -0
- package/dist/write/record.d.ts +13 -0
- package/dist/write/record.d.ts.map +1 -0
- package/dist/{policy → write}/record.js +12 -28
- package/dist/write/record.js.map +1 -0
- package/dist/write/recordPicker.d.ts +32 -0
- package/dist/write/recordPicker.d.ts.map +1 -0
- package/dist/write/recordPicker.js +201 -0
- package/dist/write/recordPicker.js.map +1 -0
- package/dist/write/rowEditorTable.d.ts +31 -0
- package/dist/write/rowEditorTable.d.ts.map +1 -0
- package/dist/write/rowEditorTable.js +103 -0
- package/dist/write/rowEditorTable.js.map +1 -0
- package/dist/write/scene-batch.d.ts +3 -0
- package/dist/write/scene-batch.d.ts.map +1 -0
- package/dist/write/scene-batch.js +37 -0
- package/dist/write/scene-batch.js.map +1 -0
- package/dist/write/scene-borrow.d.ts +3 -0
- package/dist/write/scene-borrow.d.ts.map +1 -0
- package/dist/write/scene-borrow.js +166 -0
- package/dist/write/scene-borrow.js.map +1 -0
- package/dist/write/scene-collect.d.ts +3 -0
- package/dist/write/scene-collect.d.ts.map +1 -0
- package/dist/write/scene-collect.js +155 -0
- package/dist/write/scene-collect.js.map +1 -0
- package/dist/write/scene-expense.d.ts +3 -0
- package/dist/write/scene-expense.d.ts.map +1 -0
- package/dist/write/scene-expense.js +50 -0
- package/dist/write/scene-expense.js.map +1 -0
- package/dist/write/scene-income.d.ts +3 -0
- package/dist/write/scene-income.d.ts.map +1 -0
- package/dist/write/scene-income.js +51 -0
- package/dist/write/scene-income.js.map +1 -0
- package/dist/write/scene-installment.d.ts +3 -0
- package/dist/write/scene-installment.d.ts.map +1 -0
- package/dist/write/scene-installment.js +52 -0
- package/dist/write/scene-installment.js.map +1 -0
- package/dist/write/scene-lend.d.ts +3 -0
- package/dist/write/scene-lend.d.ts.map +1 -0
- package/dist/write/scene-lend.js +165 -0
- package/dist/write/scene-lend.js.map +1 -0
- package/dist/write/scene-photo.d.ts +3 -0
- package/dist/write/scene-photo.d.ts.map +1 -0
- package/dist/write/scene-photo.js +108 -0
- package/dist/write/scene-photo.js.map +1 -0
- package/dist/write/scene-plain.d.ts +3 -0
- package/dist/write/scene-plain.d.ts.map +1 -0
- package/dist/write/scene-plain.js +52 -0
- package/dist/write/scene-plain.js.map +1 -0
- package/dist/write/scene-refund.d.ts +3 -0
- package/dist/write/scene-refund.d.ts.map +1 -0
- package/dist/write/scene-refund.js +139 -0
- package/dist/write/scene-refund.js.map +1 -0
- package/dist/write/scene-reimburse-done.d.ts +3 -0
- package/dist/write/scene-reimburse-done.d.ts.map +1 -0
- package/dist/write/scene-reimburse-done.js +151 -0
- package/dist/write/scene-reimburse-done.js.map +1 -0
- package/dist/write/scene-reimburse.d.ts +3 -0
- package/dist/write/scene-reimburse.d.ts.map +1 -0
- package/dist/write/scene-reimburse.js +65 -0
- package/dist/write/scene-reimburse.js.map +1 -0
- package/dist/write/scene-repay.d.ts +3 -0
- package/dist/write/scene-repay.d.ts.map +1 -0
- package/dist/write/scene-repay.js +155 -0
- package/dist/write/scene-repay.js.map +1 -0
- package/dist/write/scene-restore.d.ts +3 -0
- package/dist/write/scene-restore.d.ts.map +1 -0
- package/dist/write/scene-restore.js +59 -0
- package/dist/write/scene-restore.js.map +1 -0
- package/dist/write/scene-undo.d.ts +3 -0
- package/dist/write/scene-undo.d.ts.map +1 -0
- package/dist/write/scene-undo.js +57 -0
- package/dist/write/scene-undo.js.map +1 -0
- package/dist/write/scene-update.d.ts +3 -0
- package/dist/write/scene-update.d.ts.map +1 -0
- package/dist/write/scene-update.js +57 -0
- package/dist/write/scene-update.js.map +1 -0
- package/dist/write/scene.d.ts +86 -0
- package/dist/write/scene.d.ts.map +1 -0
- package/dist/write/scene.js +44 -0
- package/dist/write/scene.js.map +1 -0
- package/dist/write/slots.d.ts +16 -0
- package/dist/write/slots.d.ts.map +1 -0
- package/dist/write/slots.js +73 -0
- package/dist/write/slots.js.map +1 -0
- package/dist/write/sourceNote.d.ts +5 -0
- package/dist/write/sourceNote.d.ts.map +1 -0
- package/dist/write/sourceNote.js +37 -0
- package/dist/write/sourceNote.js.map +1 -0
- package/dist/write/summaryRow.d.ts +44 -0
- package/dist/write/summaryRow.d.ts.map +1 -0
- package/dist/write/summaryRow.js +86 -0
- package/dist/write/summaryRow.js.map +1 -0
- package/dist/write/template-batch.d.ts +37 -0
- package/dist/write/template-batch.d.ts.map +1 -0
- package/dist/write/template-batch.js +212 -0
- package/dist/write/template-batch.js.map +1 -0
- package/dist/write/template-expense.d.ts +90 -0
- package/dist/write/template-expense.d.ts.map +1 -0
- package/dist/write/template-expense.js +214 -0
- package/dist/write/template-expense.js.map +1 -0
- package/dist/write/template-flow.d.ts +130 -0
- package/dist/write/template-flow.d.ts.map +1 -0
- package/dist/write/template-flow.js +225 -0
- package/dist/write/template-flow.js.map +1 -0
- package/dist/write/template-installment.d.ts +69 -0
- package/dist/write/template-installment.d.ts.map +1 -0
- package/dist/write/template-installment.js +240 -0
- package/dist/write/template-installment.js.map +1 -0
- package/dist/write/template-update.d.ts +83 -0
- package/dist/write/template-update.d.ts.map +1 -0
- package/dist/write/template-update.js +263 -0
- package/dist/write/template-update.js.map +1 -0
- package/dist/write/typeBadge.d.ts +28 -0
- package/dist/write/typeBadge.d.ts.map +1 -0
- package/dist/write/typeBadge.js +76 -0
- package/dist/write/typeBadge.js.map +1 -0
- package/dist/write/userWording.d.ts +32 -0
- package/dist/write/userWording.d.ts.map +1 -0
- package/dist/write/userWording.js +121 -0
- package/dist/write/userWording.js.map +1 -0
- package/dist/write/write.d.ts +9 -0
- package/dist/write/write.d.ts.map +1 -0
- package/dist/write/write.js +186 -0
- package/dist/write/write.js.map +1 -0
- package/dist/write/writeWire.d.ts +16 -0
- package/dist/write/writeWire.d.ts.map +1 -0
- package/dist/write/writeWire.js +109 -0
- package/dist/write/writeWire.js.map +1 -0
- package/package.json +11 -5
- package/dist/policy/accounts.d.ts +0 -13
- package/dist/policy/accounts.d.ts.map +0 -1
- package/dist/policy/accounts.js +0 -31
- package/dist/policy/accounts.js.map +0 -1
- package/dist/policy/analysis.d.ts.map +0 -1
- package/dist/policy/analysis.js.map +0 -1
- package/dist/policy/category.d.ts.map +0 -1
- package/dist/policy/category.js.map +0 -1
- package/dist/policy/goals.d.ts +0 -15
- package/dist/policy/goals.d.ts.map +0 -1
- package/dist/policy/goals.js +0 -33
- package/dist/policy/goals.js.map +0 -1
- package/dist/policy/index.d.ts +0 -13
- package/dist/policy/index.d.ts.map +0 -1
- package/dist/policy/index.js +0 -7
- package/dist/policy/index.js.map +0 -1
- package/dist/policy/record.d.ts +0 -15
- package/dist/policy/record.d.ts.map +0 -1
- package/dist/policy/record.js.map +0 -1
- package/dist/policy/wakewords.d.ts +0 -14
- package/dist/policy/wakewords.d.ts.map +0 -1
- package/dist/policy/wakewords.js +0 -121
- package/dist/policy/wakewords.js.map +0 -1
- package/dist/render/views.d.ts +0 -86
- package/dist/render/views.d.ts.map +0 -1
- package/dist/render/views.js.map +0 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** 候选单选(缺口块之一,**唯一定义地**):一条记录列表供选择 +「为什么是它」的依据徽标 + 候选空态。
|
|
2
|
+
*
|
|
3
|
+
* 谁在用(本票:**不接任何页面**,理由见下;件头按将来实数写,写得出第二个用法):
|
|
4
|
+
* ① 特殊收支族(记退款/报销到账/记借出/记借入/记收回/记偿还 6 条)——「这条退款对应哪笔原支出」
|
|
5
|
+
* 那一格要的就是它:列候选、每条给一句依据、缺 id 时让你从表里挑;
|
|
6
|
+
* ② 批量与修正族(改记录/撤销/恢复 3 条)——改记录「缺 id 列候选」、撤销「列出可撤销记录」、
|
|
7
|
+
* 恢复「列出已打标记录」三处同一件,只是过筛条件不同(换 `why` 那一句话,不换件)。
|
|
8
|
+
* 两个用法的分界:①挑的是「被这条新记录指向的原记录」,②挑的是「要被改动的那条记录」。
|
|
9
|
+
*
|
|
10
|
+
* 本票为什么先冻不接:本票的红线是**不改任何页面的可见行为**,接进去就会改(记退款现在出通用页)。
|
|
11
|
+
* 故本件这一票只做「件 + 断言」,接入落在那两族窗口自己那一件场景件里(`src/write/scene-refund.ts` 等)。
|
|
12
|
+
*
|
|
13
|
+
* 老侧出处:`templates/写入/flow_confirm.html:192`(`name="cand"` 单选)、`:187`(候选空态);
|
|
14
|
+
* 老侧默认选中第一笔(`:206-211`)——本件**不照抄这一处**:默认选中等于拿最近一笔兜底,
|
|
15
|
+
* 施工图第四节点名要修,本件的规矩是「没给 `selectedId` 就不预选,空候选直接反问用户」。
|
|
16
|
+
*
|
|
17
|
+
* 一件不自造:列表走 `renderDataTable`、单选走 `renderParamForm` 的单选项、依据徽标走 `renderStatusBadge`、
|
|
18
|
+
* 一行口径走 `renderCaliberLine`、空态走共用位的 `./emptyNote.js`(它包 base 的 `renderEmptyBlock`)。
|
|
19
|
+
*/
|
|
20
|
+
import { renderStatusBadge } from 'base-paint';
|
|
21
|
+
import { renderCaliberLine, renderDataTable, renderParamForm } from 'base-paint/blocks';
|
|
22
|
+
import { emptyNote } from './emptyNote.js';
|
|
23
|
+
import { optionLabelOf } from './recentPicks.js';
|
|
24
|
+
import { badgeTextOf } from './userWording.js';
|
|
25
|
+
/** 选项的那一行文本与取值:**只写编号**(`#15`),详情就在紧挨着的那张表里逐列列着。
|
|
26
|
+
* 本轮整改:原来选项里把「分类 + 账户 + 备注」又抄一遍,同一句话在页上印两遍
|
|
27
|
+
* (机审判成重复句);编号是单选真正要选的那件事,挑中的就是编号。 */
|
|
28
|
+
function optionOf(item) {
|
|
29
|
+
return '#' + item.id;
|
|
30
|
+
}
|
|
31
|
+
/** 依据徽标:逐条候选一句「为什么是它」。**空依据抛错**——不写依据的候选等于让人猜。
|
|
32
|
+
* 徽标只写「第几条 + 依据」:分类/账户/金额那一份已经在上面那张表里逐列列过,
|
|
33
|
+
* 这里再抄一遍就是同一件事在页上印两遍(本轮整改;表内文字是数据,徽标是文案)。
|
|
34
|
+
* 依据逐字相同的候选只说一遍(一行口径):撤销/改记录的候选依据只与过筛条件有关、
|
|
35
|
+
* 与行无关,逐条徽标就是同一句印 N 遍(t410 终审 n29)。恢复的依据逐条不同(各行撤销时间不同),照旧逐条徽标。 */
|
|
36
|
+
function whyBadges(items) {
|
|
37
|
+
for (let i = 0; i < items.length; i += 1) {
|
|
38
|
+
if (typeof items[i]?.why !== 'string' || (items[i]?.why ?? '').trim() === '') {
|
|
39
|
+
throw new Error('candidatePick: 第 ' + (i + 1) + ' 条候选没有写「为什么是它」');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const first = (items[0]?.why ?? '').trim();
|
|
43
|
+
if (items.length > 1 && items.every((it) => it.why.trim() === first)) {
|
|
44
|
+
return renderCaliberLine('以下 ' + items.length + ' 条候选依据相同:' + first + '。');
|
|
45
|
+
}
|
|
46
|
+
const lines = items.map((it) => {
|
|
47
|
+
return renderStatusBadge({ status: 'warn', text: badgeTextOf('候选 #' + it.id + ':' + it.why) });
|
|
48
|
+
});
|
|
49
|
+
return lines.join('');
|
|
50
|
+
}
|
|
51
|
+
/** 候选为空那一格:不拿最近一笔兜底,直接反问用户要哪一条。
|
|
52
|
+
*
|
|
53
|
+
* **本轮返工(真 bug,一处救三页)**:`what` 收的是场景件那句**整句「这一格要的是…」**(就是传进来的 `hint` 原句),
|
|
54
|
+
* 改前本件又给它加了一遍「这一格要的是」前缀,于是三页同一行同时出两处硬伤——
|
|
55
|
+
* 「这一格要的是这一格要的是…」(模板串重复)与句尾「。,列表里一条都没有。」(标点粘连)。
|
|
56
|
+
* 现在按整句收:本件**不再加前缀**,只在句尾缺句号时补一个;
|
|
57
|
+
* `;` 缀着的后一句(「拿不准就让助手先查…」)从正文里挪出来并进「下一步」那一格——
|
|
58
|
+
* 正文只说「要的是哪一类」与「一条都没有」,两句各自成句,不再串在一行里。
|
|
59
|
+
* `what` 没给时才退回本件自己那一句。 */
|
|
60
|
+
export function candidateEmpty(input) {
|
|
61
|
+
const told = (input.what ?? '').trim();
|
|
62
|
+
const clauses = told === '' ? [] : told.split(';');
|
|
63
|
+
const head = clauses.length === 0 ? '这一格要的是那类记录' : clauses[0];
|
|
64
|
+
const rest = clauses.slice(1).map((s) => s.trim()).filter((s) => s !== '').join('');
|
|
65
|
+
const want = head.endsWith('。') ? head : head + '。';
|
|
66
|
+
return emptyNote({
|
|
67
|
+
title: '没有可选的' + input.label,
|
|
68
|
+
text: want + '列表里一条都没有。',
|
|
69
|
+
next: rest + '不拿最近一笔顶替。请把' + input.label + '告诉助手(或先说清是哪一笔),再跟助手说一遍。',
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/** 记录列表(含依据徽标):一条候选一行,零行返回空串(空态由 `candidatePick` 出)。
|
|
73
|
+
* 表头 `资金`(金额)与列名照用户说法。「为什么是它」只出下面的依据徽标(带候选编号),
|
|
74
|
+
* 不再另占表的一列——同页同句印两遍,且五列表在手机端被压成单字串(t410 终审 n29)。 */
|
|
75
|
+
export function candidateRows(items) {
|
|
76
|
+
if (items.length === 0)
|
|
77
|
+
return '';
|
|
78
|
+
return renderDataTable({
|
|
79
|
+
columns: [
|
|
80
|
+
{ key: 'id', label: '记录编号' },
|
|
81
|
+
{ key: 'label', label: '是哪一笔' },
|
|
82
|
+
{ key: 'amount', label: '金额', align: 'right' },
|
|
83
|
+
{ key: 'time', label: '时间' },
|
|
84
|
+
],
|
|
85
|
+
rows: items.map((it) => ({ id: it.id, label: optionLabelOf(it.label), amount: it.amount, time: it.time })),
|
|
86
|
+
caption: '可选的记录(共 ' + items.length + ' 条)',
|
|
87
|
+
}) + whyBadges(items);
|
|
88
|
+
}
|
|
89
|
+
/** 候选单选整块:单选格 + 记录列表 +「为什么是它」徽标 + 一行口径;候选为空则只出空态。
|
|
90
|
+
*
|
|
91
|
+
* **已经认准的那条不再进那张表**(本轮整改):认准之后同页的只读回显表已经把这一条逐项列全,
|
|
92
|
+
* 候选表再列一遍就是同一句话在页上印两遍(机审判成重复句那一处就是它)。
|
|
93
|
+
* 没认准的形态照旧:全量候选铺开供挑。 */
|
|
94
|
+
export function candidatePick(input) {
|
|
95
|
+
const name = input.name;
|
|
96
|
+
const label = input.label;
|
|
97
|
+
if (input.candidates.length === 0) {
|
|
98
|
+
return candidateEmpty({ label, what: input.hint });
|
|
99
|
+
}
|
|
100
|
+
const selected = input.selectedId ?? null;
|
|
101
|
+
const hit = selected === null ? undefined : input.candidates.find((it) => it.id === selected);
|
|
102
|
+
const table = hit === undefined ? candidateRows(input.candidates) : '';
|
|
103
|
+
return renderParamForm({
|
|
104
|
+
description: input.hint ?? '从下面列出的记录里挑一条。挑中的编号要跟复制指令里的那一个一致。',
|
|
105
|
+
fields: [{
|
|
106
|
+
name,
|
|
107
|
+
label,
|
|
108
|
+
required: true,
|
|
109
|
+
...(hit === undefined ? {} : { value: optionOf(hit) }),
|
|
110
|
+
options: input.candidates.map(optionOf),
|
|
111
|
+
}],
|
|
112
|
+
}) + table + renderCaliberLine(hit === undefined
|
|
113
|
+
? '候选未预选(不给默认选中):请用户从列表里指明是哪一条,再跟助手说一遍。'
|
|
114
|
+
: '候选已认准 ' + optionOf(hit) + ':请用户核一眼依据,再跟助手说一遍。');
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=candidatePick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidatePick.js","sourceRoot":"","sources":["../../src/write/candidatePick.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** 采集页分派位:按 `kind`/`op` 取场景件,叫它的 `collect`。**装配体不住这里**(本票的拆件口径)。
|
|
2
|
+
*
|
|
3
|
+
* 谁在用(两个调用点,指名):
|
|
4
|
+
* ① `src/write/write.ts` 的 `writeRecordAdd`——`bill.record.add` 有阻断项(缺必需槽位/金额方向不符)时出这一页;
|
|
5
|
+
* ② `src/write/write.ts` 的 `writeRecordUpdate`——`bill.record.update` 有阻断项(缺 `id`)时出这一页。
|
|
6
|
+
* 第二个消费者:`src/query/`(随兄弟图 #403 的查询域一起到位,出来的是同一套采集页/回执页/复制区)。
|
|
7
|
+
*
|
|
8
|
+
* 本件只剩三件事:转出槽位表(`./slots.ts` 的定义,测试与 `write.ts` 照旧引这一条)、
|
|
9
|
+
* 按落点取件(`./scene.ts` 的 `sceneFor`)、把入参原样交给那一件场景件。
|
|
10
|
+
* 拆件前这里装着通用采集页的十块:先搬进 `./collectBody.ts`,再随「按域页型表」落成**五张模板件**
|
|
11
|
+
* 各持自己那张页的块序(`./template-{expense,flow,batch,installment,update}.ts`)——`collectBody.ts`
|
|
12
|
+
* 随本票删除(场景件都走模板了,它已无调用方)。
|
|
13
|
+
* 后续三族窗口填各自那张页时改的是**模板件(块序)与场景件(差异值)**,本件一行不动。
|
|
14
|
+
*/
|
|
15
|
+
import type { CollectInput } from './scene.js';
|
|
16
|
+
export { RECORD_SLOTS, missingSlots } from './slots.js';
|
|
17
|
+
export type { RecordSlot } from './slots.js';
|
|
18
|
+
/** 过程型采集页整页:取件交给场景件装配(判定四条见 `./scene.ts` 的 `sceneFor`)。 */
|
|
19
|
+
export declare function recordCollectDoc(input: CollectInput): string;
|
|
20
|
+
//# sourceMappingURL=collect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/write/collect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAM5D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { sceneFor } from './scene.js';
|
|
2
|
+
export { RECORD_SLOTS, missingSlots } from './slots.js';
|
|
3
|
+
/** 一个值的字符串形态(判落点只认字符串;数字等其余形态一律当「没给这一格」)。 */
|
|
4
|
+
function textOf(v) {
|
|
5
|
+
return typeof v === 'string' ? v.trim() : '';
|
|
6
|
+
}
|
|
7
|
+
/** 过程型采集页整页:取件交给场景件装配(判定四条见 `./scene.ts` 的 `sceneFor`)。 */
|
|
8
|
+
export function recordCollectDoc(input) {
|
|
9
|
+
return sceneFor({
|
|
10
|
+
key: input.key,
|
|
11
|
+
kind: textOf(input.params['kind']),
|
|
12
|
+
op: textOf(input.params['op']),
|
|
13
|
+
}).collect(input);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=collect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/write/collect.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,6CAA6C;AAC7C,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,OAAO,QAAQ,CAAC;QACd,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC/B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { BlockedItem } from './blockedSlots.js';
|
|
2
|
+
import type { PrefillMark } from './prefillNote.js';
|
|
3
|
+
import type { CollectInput } from './scene.js';
|
|
4
|
+
/** 预填标注的「来源」串收短(**本族五页共用这一处**):只把括号里的附注去掉,两类来源的区分一字不动
|
|
5
|
+
* (`来自记录编号 N(最近一笔)`→`来自记录编号 N`、`缺省值(库里还没有可用的账户,留空=落库默认)`→`缺省值`)。
|
|
6
|
+
* 为什么要收:这一句会作为字段卡的提示上屏,390 宽下原来那串长文被输入框裁掉后半截(E 席基线
|
|
7
|
+
* n1 记的「账户 placeholder 后半框内半藏」),收短之后整句进得了框;口径条文仍在
|
|
8
|
+
* `../shared/prefillNote.ts` 那一处,本件只做展示用的收笔,不另立第二份来源说法。 */
|
|
9
|
+
export declare function prefillShort(marks: readonly PrefillMark[]): readonly PrefillMark[];
|
|
10
|
+
/** 采集页的缺项阻断块(**折叠形**,本族五页共用这一处摆法):共用的阻断条——「还缺什么」错误回执、
|
|
11
|
+
* 缺项明示表、写库口令原文、置灰的写库按钮——整条收进折叠区,首屏只留缺项标签与进度两处形状承担提示。
|
|
12
|
+
* 派单的架构级整改要的就是这一条(口令原文块整条可见 → 折叠)。
|
|
13
|
+
*
|
|
14
|
+
* **判定与文案仍是 `../shared/blockedSlots.ts` 那一份**:本件只把共用件的产出换个位置摆,不另写第二份缺项口径,
|
|
15
|
+
* 也不改阻断行为(写库那一半照旧由 `src/write/write.ts` 拦)。折叠区里那枚置灰按钮不带 `data-t`,
|
|
16
|
+
* 折叠与否都点不动(`packages/base-render/src/controls.ts` 的点击委派读到空 `data-t` 即早退)。
|
|
17
|
+
*
|
|
18
|
+
* 谁在用(本族五件,指名):`scene-expense`(经本件 `collectBody`)、`scene-income`、`scene-photo`、
|
|
19
|
+
* `scene-batch`、`scene-plain`——五张采集页同一摆法,改一处五页同时改。 */
|
|
20
|
+
export declare function collectBlockedFold(input: {
|
|
21
|
+
readonly items: readonly BlockedItem[];
|
|
22
|
+
/** 写库口令原文(补齐后照抄重跑那条);带尖括号占位符。 */
|
|
23
|
+
readonly command: string;
|
|
24
|
+
/** 补齐之后会发生什么(不给=走共用件那句缺省口径)。 */
|
|
25
|
+
readonly note?: string;
|
|
26
|
+
}): string;
|
|
27
|
+
/** 通用采集页整页:三段按序拼(见文件头信息层次)。 */
|
|
28
|
+
export declare function collectBody(input: CollectInput): string;
|
|
29
|
+
//# sourceMappingURL=collectBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectBody.d.ts","sourceRoot":"","sources":["../../src/write/collectBody.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AASrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8D/C;;;;4DAI4D;AAC5D,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAElF;AAED;;;;;;;;;uDASuD;AACvD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAUT;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAiFvD"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/** 基础收支族的通用采集页装配体(**记支出那一张**):有阻断项时出这一页(**只采集、不写库**)。
|
|
2
|
+
*
|
|
3
|
+
* 谁在用(本票实数):`src/write/scene-expense.ts` 这一件——`Scene.collect` 就是本件。
|
|
4
|
+
* 其余族的场景件各自有装配体(收入/拍账单/批量录入在各自件里,借贷与修正族在它们自己那几件里),
|
|
5
|
+
* 故本件只服务记支出这一条唤醒词。
|
|
6
|
+
* 本件另对外给一件:`collectBlockedFold`——本族五张采集页共用的缺项阻断摆法(口令原文块折叠)。
|
|
7
|
+
*
|
|
8
|
+
* 信息层次(照派单的架构级整改重排;形状取 `../shared/collectFrame.ts` 里面向用户的那三种——
|
|
9
|
+
* 进度/缺项标签/分段标题,本件不另造形状;该件另两种(架头/按钮层级)的固定文案是页面自指话,
|
|
10
|
+
* 上屏就是把开发话给用户看,本席未上屏,作残项报给该件所属窗口):
|
|
11
|
+
* 类型徽章(唤醒词+口径+状态徽章,不再缀祈使句)→ 进度 → 缺项标签 →
|
|
12
|
+
* 第 1 段(现状一行+重复检测条+预填标注+缺项阻断折叠区+空态)→
|
|
13
|
+
* 第 2 段(字段卡+复制给助手)→ 第 3 段(按钮层级一行)→ 复制区。
|
|
14
|
+
*
|
|
15
|
+
* 本轮改动(只动本件的可见正文与块序,不动行为判定与信封字段):
|
|
16
|
+
* ① **首屏同形「未给」卡清零**:删结论摘要行那一网格——采集页的金额/分类/账户/账本/时间五格
|
|
17
|
+
* 在本页都还没有值,五张同形「未给」卡只是把「还缺什么」说五遍;事实由缺项标签+缺项表+字段卡承担。
|
|
18
|
+
* 摘要行的取值口径(`summaryRow.ts`)一字未动,回执页照旧引它。
|
|
19
|
+
* ② **写库四遍并一句**:原先「写库:还没发生——…」「这一页先不写库;补齐之后…」「填好必需项再说一遍…」
|
|
20
|
+
* 「这一笔还差 N 项…」四处复读,现只留一行陈述(徽章「还没写库」+本行)与复制 prompt 区那一段。
|
|
21
|
+
* ③ **祈使改陈述**:页内不再出现「照上面那句跟助手说一遍」这类祈使(复制区按钮与它的提示照旧)。
|
|
22
|
+
* ④ 页标题只留唤醒词(页型由架头那两枚徽章说);副标题改成缺项计数(信封里的 `message` 一字未动)。
|
|
23
|
+
*
|
|
24
|
+
* 本页**不写库**:写库那一半在 `src/write/write.ts`,落点是结果型回执整页(`./receiptBody.ts`)。
|
|
25
|
+
*/
|
|
26
|
+
import { renderCaliberLine, renderDisclosure, renderParamForm } from 'base-paint/blocks';
|
|
27
|
+
import { ALL_L1, EXPENSE_L1 } from '../shared/category.js';
|
|
28
|
+
import { blockedBar, blockedItems, blockedMessage } from './blockedSlots.js';
|
|
29
|
+
import { collectMissingTags, collectProgress, collectSectionTitle } from './collectFrame.js';
|
|
30
|
+
import { copyArea, copyLog, promptCopyArea } from '../shared/copyArea.js';
|
|
31
|
+
import { duplicateNote, findDuplicates } from './duplicateNote.js';
|
|
32
|
+
import { emptyNote } from './emptyNote.js';
|
|
33
|
+
import { DOC_SKILL, DOC_TITLE, DOC_VERSION, sceneKeyOf } from '../shared/pageIdentity.js';
|
|
34
|
+
import { writePageShell as pageShell } from './pageParts.js';
|
|
35
|
+
import { prefillHint, prefillOf } from './prefillNote.js';
|
|
36
|
+
import { optionsFor, pickOf as pickValues, textOf } from './recentPicks.js';
|
|
37
|
+
import { typeBadge, wakeWordOf } from './typeBadge.js';
|
|
38
|
+
import { commandLine } from '../shared/writeParts.js';
|
|
39
|
+
import { isGiven } from './slots.js';
|
|
40
|
+
/** 三枚选择器的候选(**转发到共用位 `src/write/recentPicks.ts`,本件不另写一份取数**):
|
|
41
|
+
* 通用采集页的 `kind` 只有「支出」与「其余」两档,支出落支出侧名单、其余两侧都给。 */
|
|
42
|
+
function pickOf(recent, kind) {
|
|
43
|
+
return pickValues(recent, kind === 'expense' ? EXPENSE_L1 : ALL_L1);
|
|
44
|
+
}
|
|
45
|
+
/** 采集表单的七槽:字段一律由 `renderParamForm` 出(标签与控件配对、每格带 `name`)。 */
|
|
46
|
+
function formFields(input) {
|
|
47
|
+
const shortMarks = prefillShort(input.marks);
|
|
48
|
+
return input.slots.map((s) => {
|
|
49
|
+
const mark = input.marks.find((m) => m.name === s.name);
|
|
50
|
+
const value = isGiven(input.params[s.name]) ? String(input.params[s.name]) : (mark?.value ?? '');
|
|
51
|
+
const options = optionsFor(input.pick, s.name, value);
|
|
52
|
+
return {
|
|
53
|
+
name: s.name,
|
|
54
|
+
label: s.label,
|
|
55
|
+
hint: prefillHint(shortMarks, s.name) ?? s.hint,
|
|
56
|
+
...(options === undefined ? {} : { options }),
|
|
57
|
+
...(s.required ? { required: true } : {}),
|
|
58
|
+
...(value === '' ? {} : { value }),
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** 复制 prompt 区那段 prompt:说清缺什么、这一页先不写库、补齐后跟助手说哪条词。
|
|
63
|
+
* **不给可跑的写库指令**(那条只在缺项阻断条里、且不给复制按钮)——缺项即不出复制指令;
|
|
64
|
+
* 本轮整改:缺项清单只列中文名,括号里的「没给」复读删掉,祈使句改陈述,命令原文不回抄一遍
|
|
65
|
+
* (口令只有阻断条那一处,复制区这一段是给人看的话)。 */
|
|
66
|
+
function promptOf(wakeWord, blocked) {
|
|
67
|
+
return '这一笔还差 ' + blocked.length + ' 项:' + blocked.map((i) => i.label).join('、')
|
|
68
|
+
+ '。这一页先不写库。补齐后跟助手说一遍「' + wakeWord + '」。';
|
|
69
|
+
}
|
|
70
|
+
/** 缺项时那条写库指令原文:缺的值留成尖括号占位符,**只给看不给复制**(复制按钮在阻断条里被拿掉)。 */
|
|
71
|
+
function commandLineOf(key, params, blocked) {
|
|
72
|
+
const filled = { ...params };
|
|
73
|
+
for (const b of blocked)
|
|
74
|
+
filled[b.name] = '<' + b.label + '>';
|
|
75
|
+
return commandLine(key, filled);
|
|
76
|
+
}
|
|
77
|
+
/** 副标题:只报缺几项,明细在下表(信封里的 `message` 一字未动,照旧是那句完整口径)。 */
|
|
78
|
+
function subtitleOf(missing, blocked) {
|
|
79
|
+
if (missing === 0)
|
|
80
|
+
return '这一笔还差 ' + blocked + ' 项,详见下表。';
|
|
81
|
+
return '缺 ' + blocked + ' 项,详见下表。';
|
|
82
|
+
}
|
|
83
|
+
/** 预填标注的「来源」串收短(**本族五页共用这一处**):只把括号里的附注去掉,两类来源的区分一字不动
|
|
84
|
+
* (`来自记录编号 N(最近一笔)`→`来自记录编号 N`、`缺省值(库里还没有可用的账户,留空=落库默认)`→`缺省值`)。
|
|
85
|
+
* 为什么要收:这一句会作为字段卡的提示上屏,390 宽下原来那串长文被输入框裁掉后半截(E 席基线
|
|
86
|
+
* n1 记的「账户 placeholder 后半框内半藏」),收短之后整句进得了框;口径条文仍在
|
|
87
|
+
* `../shared/prefillNote.ts` 那一处,本件只做展示用的收笔,不另立第二份来源说法。 */
|
|
88
|
+
export function prefillShort(marks) {
|
|
89
|
+
return marks.map((m) => ({ ...m, from: m.from.replace(/([^)]*)/g, '') }));
|
|
90
|
+
}
|
|
91
|
+
/** 采集页的缺项阻断块(**折叠形**,本族五页共用这一处摆法):共用的阻断条——「还缺什么」错误回执、
|
|
92
|
+
* 缺项明示表、写库口令原文、置灰的写库按钮——整条收进折叠区,首屏只留缺项标签与进度两处形状承担提示。
|
|
93
|
+
* 派单的架构级整改要的就是这一条(口令原文块整条可见 → 折叠)。
|
|
94
|
+
*
|
|
95
|
+
* **判定与文案仍是 `../shared/blockedSlots.ts` 那一份**:本件只把共用件的产出换个位置摆,不另写第二份缺项口径,
|
|
96
|
+
* 也不改阻断行为(写库那一半照旧由 `src/write/write.ts` 拦)。折叠区里那枚置灰按钮不带 `data-t`,
|
|
97
|
+
* 折叠与否都点不动(`packages/base-render/src/controls.ts` 的点击委派读到空 `data-t` 即早退)。
|
|
98
|
+
*
|
|
99
|
+
* 谁在用(本族五件,指名):`scene-expense`(经本件 `collectBody`)、`scene-income`、`scene-photo`、
|
|
100
|
+
* `scene-batch`、`scene-plain`——五张采集页同一摆法,改一处五页同时改。 */
|
|
101
|
+
export function collectBlockedFold(input) {
|
|
102
|
+
if (input.items.length === 0)
|
|
103
|
+
return '';
|
|
104
|
+
return renderDisclosure({
|
|
105
|
+
title: '还缺什么,以及补齐后照抄的那条',
|
|
106
|
+
contentHtml: blockedBar({
|
|
107
|
+
items: input.items,
|
|
108
|
+
command: input.command,
|
|
109
|
+
...(input.note === undefined ? {} : { note: input.note }),
|
|
110
|
+
}),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/** 通用采集页整页:三段按序拼(见文件头信息层次)。 */
|
|
114
|
+
export function collectBody(input) {
|
|
115
|
+
const { key, params, slots, missing } = input;
|
|
116
|
+
const kind = textOf(params.kind);
|
|
117
|
+
const wakeWord = wakeWordOf(kind);
|
|
118
|
+
const blocked = blockedItems({ params, missing, kind });
|
|
119
|
+
const message = blockedMessage(missing, blocked);
|
|
120
|
+
const envelope = {
|
|
121
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'receipt', key: sceneKeyOf(key),
|
|
122
|
+
data: { ok: false, message },
|
|
123
|
+
};
|
|
124
|
+
const prefill = prefillOf({ params, recent: input.recent, today: input.today });
|
|
125
|
+
const amount = isGiven(params.amount) ? Number(params.amount) : null;
|
|
126
|
+
const probe = {
|
|
127
|
+
amount: amount !== null && Number.isFinite(amount) ? amount : null,
|
|
128
|
+
category: textOf(params.category),
|
|
129
|
+
date: textOf(params.time) === '' ? input.today : textOf(params.time),
|
|
130
|
+
account: textOf(params.account),
|
|
131
|
+
};
|
|
132
|
+
const pick = pickOf(input.recent, kind);
|
|
133
|
+
const empties = [];
|
|
134
|
+
if (pick.account.length === 0) {
|
|
135
|
+
empties.push(emptyNote({
|
|
136
|
+
title: '没有可选的历史账户',
|
|
137
|
+
text: '库里还没有带账户的记录,账户这一格现在是空的。',
|
|
138
|
+
next: '账户为空就记到默认账户。',
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
const content = [
|
|
142
|
+
typeBadge({
|
|
143
|
+
kind,
|
|
144
|
+
status: 'danger',
|
|
145
|
+
state: blocked.length > 0 ? '待补槽位 · 未写库(已阻断)' : '待补槽位 · 未写库',
|
|
146
|
+
// 下一步那句话由本页的进度与按钮层级两处说出来,这里不再缀一行祈使(下一句见 collectProgress)。
|
|
147
|
+
next: '',
|
|
148
|
+
}),
|
|
149
|
+
collectProgress({ wakeWord, missing: blocked.length }),
|
|
150
|
+
collectMissingTags({ labels: blocked.map((i) => i.label) }),
|
|
151
|
+
collectSectionTitle({ no: 1, title: '先看这一笔缺什么' }),
|
|
152
|
+
duplicateNote(findDuplicates(input.recent, probe), probe),
|
|
153
|
+
prefill.length === 0 ? '' : renderCaliberLine('预填标注:下面几格已经替你填上,来源写在格子里。'),
|
|
154
|
+
collectBlockedFold({
|
|
155
|
+
items: blocked,
|
|
156
|
+
command: commandLineOf(key, params, blocked),
|
|
157
|
+
// 状态那一句与补齐后的去向都收在这一行里(阻断条自带的口径行位):首屏不再多一行灰字压标题,
|
|
158
|
+
// 「写库:还没发生」仍在本页(页断言逐字钉着它),只是随阻断条一起收进折叠区。
|
|
159
|
+
note: '写库:还没发生,本页只采集。补齐后照上面那条口令跟助手说一遍。',
|
|
160
|
+
}),
|
|
161
|
+
empties.join(''),
|
|
162
|
+
collectSectionTitle({ no: 2, title: '把缺的格逐格补齐' }),
|
|
163
|
+
renderParamForm({
|
|
164
|
+
description: '补齐必需项即可继续。',
|
|
165
|
+
fields: formFields({ slots, params, marks: prefill, pick }),
|
|
166
|
+
}),
|
|
167
|
+
promptCopyArea(promptOf(wakeWord, blocked), '这一段就是补齐后要发给助手的话'),
|
|
168
|
+
collectSectionTitle({ no: 3, title: '补齐了再请助手记' }),
|
|
169
|
+
copyArea({
|
|
170
|
+
data: { envelope },
|
|
171
|
+
log: {
|
|
172
|
+
envelope,
|
|
173
|
+
copyLog: copyLog({
|
|
174
|
+
// 日志第 4 段是**本次真跑的那条**(不是补齐后那条带占位符的):过程证据要照实记,
|
|
175
|
+
// 带占位符的写库指令只在上面阻断条里给看不给复制。
|
|
176
|
+
command: commandLine(key, params),
|
|
177
|
+
source: input.source,
|
|
178
|
+
detail: '没写库(采集页)',
|
|
179
|
+
actionAt: input.actionAt,
|
|
180
|
+
version: DOC_VERSION,
|
|
181
|
+
}),
|
|
182
|
+
},
|
|
183
|
+
}),
|
|
184
|
+
].join('');
|
|
185
|
+
return pageShell({
|
|
186
|
+
docTitle: DOC_TITLE + '·采集页',
|
|
187
|
+
title: wakeWord,
|
|
188
|
+
subtitle: subtitleOf(missing.length, blocked.length),
|
|
189
|
+
slot: 'collect',
|
|
190
|
+
page: 'collect',
|
|
191
|
+
shape: envelope.shape,
|
|
192
|
+
key,
|
|
193
|
+
content,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=collectBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectBody.js","sourceRoot":"","sources":["../../src/write/collectBody.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** 进度:补上这几项就能记(只读数,不判定)。
|
|
2
|
+
* 入参保留 `wakeWord`(五个调用点原样传,签名不动),但**这一行不再印它**——
|
|
3
|
+
* H1 恒写着同一个唤醒词,再印一遍就是同一件事在页上出现两次(t728 去冗)。 */
|
|
4
|
+
export declare function collectProgress(input: {
|
|
5
|
+
readonly wakeWord: string;
|
|
6
|
+
readonly missing: number;
|
|
7
|
+
}): string;
|
|
8
|
+
/** 缺项标签:缺的格逐枚成标签(空即不出块)。 */
|
|
9
|
+
export declare function collectMissingTags(input: {
|
|
10
|
+
readonly labels: readonly string[];
|
|
11
|
+
}): string;
|
|
12
|
+
/** 分段标题:第几段加一句中文标题(黑块前后分段用)。 */
|
|
13
|
+
export declare function collectSectionTitle(input: {
|
|
14
|
+
readonly no: number;
|
|
15
|
+
readonly title: string;
|
|
16
|
+
}): string;
|
|
17
|
+
//# sourceMappingURL=collectFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectFrame.d.ts","sourceRoot":"","sources":["../../src/write/collectFrame.ts"],"names":[],"mappings":"AAcA;;+CAE+C;AAC/C,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAKtG;AAED,4BAA4B;AAC5B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAIxF;AAED,gCAAgC;AAChC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIlG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** 采集页通用架形状件(只加形状,不改行为口径)。
|
|
2
|
+
*
|
|
3
|
+
* 谁在用(五个调用点,指名):`src/write/template-{expense,flow,batch,installment,update}.ts`——
|
|
4
|
+
* 五张模板的采集页各在 `typeBadge` 之后调本件(记支出/批量录入两张用全三件,其余三张取用得上的那几件)。
|
|
5
|
+
* 共用理由:五张模板盖住的那 16 条词的采集页是同一套架子,只写一遍、别处引用;行为判定
|
|
6
|
+
* (`blockedItems`/`findDuplicates`/信封)一处不动,本件只读唤醒词与缺项数做展示。
|
|
7
|
+
*
|
|
8
|
+
* 只许加的三种形状(t410 终审后收口为三):
|
|
9
|
+
* 缺项标签/进度/分段标题。各一函数,对外三个,不多给。
|
|
10
|
+
* 文案纪律:纯中文加数字,不含 `·`/`|`/英文标识(机审版式位与区外内部话两列保持零命中);
|
|
11
|
+
* 每句带唤醒词或段号,页内不重句。
|
|
12
|
+
*/
|
|
13
|
+
import { renderCaliberLine, renderChipRow, renderConclusionBar } from 'base-paint/blocks';
|
|
14
|
+
/** 进度:补上这几项就能记(只读数,不判定)。
|
|
15
|
+
* 入参保留 `wakeWord`(五个调用点原样传,签名不动),但**这一行不再印它**——
|
|
16
|
+
* H1 恒写着同一个唤醒词,再印一遍就是同一件事在页上出现两次(t728 去冗)。 */
|
|
17
|
+
export function collectProgress(input) {
|
|
18
|
+
const n = Number.isFinite(input.missing) && input.missing > 0 ? Math.floor(input.missing) : 0;
|
|
19
|
+
// t728 去冗:这一行**只说「补上会怎样」**——唤醒词归 H1、缺几项与缺哪几项归副标题与缺项徽章,
|
|
20
|
+
// 三处不再互相复述(改前这一行同时复述了 H1 的唤醒词与副标题的项数)。
|
|
21
|
+
return renderCaliberLine('补齐这 ' + n + ' 项就能记进账本');
|
|
22
|
+
}
|
|
23
|
+
/** 缺项标签:缺的格逐枚成标签(空即不出块)。 */
|
|
24
|
+
export function collectMissingTags(input) {
|
|
25
|
+
const items = input.labels.map((s) => s.trim()).filter((s) => s !== '');
|
|
26
|
+
if (items.length === 0)
|
|
27
|
+
return '';
|
|
28
|
+
return renderChipRow({ items: items.map((text) => ({ text })) });
|
|
29
|
+
}
|
|
30
|
+
/** 分段标题:第几段加一句中文标题(黑块前后分段用)。 */
|
|
31
|
+
export function collectSectionTitle(input) {
|
|
32
|
+
const no = Number.isFinite(input.no) && input.no > 0 ? Math.floor(input.no) : 1;
|
|
33
|
+
const title = input.title.trim() === '' ? '继续往下看' : input.title.trim();
|
|
34
|
+
return renderConclusionBar('第 ' + no + ' 段 ' + title);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=collectFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectFrame.js","sourceRoot":"","sources":["../../src/write/collectFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;+CAE+C;AAC/C,MAAM,UAAU,eAAe,CAAC,KAA8D;IAC5F,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,uDAAuD;IACvD,uCAAuC;IACvC,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,kBAAkB,CAAC,KAA6C;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,mBAAmB,CAAC,KAAsD;IACxF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,mBAAmB,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/write/commands.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,eAAe;;;;;;;GAiBM,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { writeRecordAdd, writeRecordUpdate } from './write.js';
|
|
2
|
+
export const RECORD_COMMANDS = [
|
|
3
|
+
{
|
|
4
|
+
kind: 'write',
|
|
5
|
+
key: 'bill.record.add',
|
|
6
|
+
shape: 'receipt',
|
|
7
|
+
title: '记一笔',
|
|
8
|
+
example: 'bill-cmd-read bill.record.add --params \'{"category":"餐饮","amount":-12.5,"time":"2026-09-14 12:00:00","account":"支付宝","ledger":"生活"}\'',
|
|
9
|
+
run: writeRecordAdd,
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
kind: 'write',
|
|
13
|
+
key: 'bill.record.update',
|
|
14
|
+
shape: 'receipt',
|
|
15
|
+
title: '改记录',
|
|
16
|
+
example: 'bill-cmd-read bill.record.update --params \'{"note":"改过"}\'',
|
|
17
|
+
run: writeRecordUpdate,
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/write/commands.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,wIAAwI;QACjJ,GAAG,EAAE,cAAc;KACpB;IACD;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,oBAAoB;QACzB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,6DAA6D;QACtE,GAAG,EAAE,iBAAiB;KACvB;CAC+B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** #721 · 写入域的**域声明**(手写、唯一事实源)。
|
|
2
|
+
*
|
|
3
|
+
* 一条唤醒词的字面量只准住在这里(判据=`test/t721-判据与摘要锁.test.mjs` 扫非声明件);
|
|
4
|
+
* 场景的 `wake_word` 是投影、不写——词条拥有它;二级组按场景 id 指回词条名下的场景。
|
|
5
|
+
* 合并方:`src/triggers/wakeTable.ts`(词表+路由+派生)与 `src/triggers/wake-assets.ts`(HELP 目录)。
|
|
6
|
+
*/
|
|
7
|
+
import type { DomainDeclaration } from '../triggers/routeSpec.js';
|
|
8
|
+
export declare const WRITE_DECLARATION: DomainDeclaration;
|
|
9
|
+
//# sourceMappingURL=declaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../src/write/declaration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,iBAAiB,EAAE,iBA6O/B,CAAC"}
|