skill-home 0.3.1 → 0.3.13
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 +96 -52
- package/dist/cli/cmd_read.js +59 -778
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +11 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/keys.d.ts +4 -0
- package/dist/cli/keys.d.ts.map +1 -0
- package/dist/cli/keys.js +51 -0
- package/dist/cli/keys.js.map +1 -0
- package/dist/cli/registry.d.ts +4 -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.map +1 -1
- package/dist/config.js +14 -7
- package/dist/config.js.map +1 -1
- package/dist/express/commands.d.ts +3 -0
- package/dist/express/commands.d.ts.map +1 -0
- package/dist/express/commands.js +6 -0
- package/dist/express/commands.js.map +1 -0
- package/dist/express/index.d.ts +3 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +4 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/pages/express.d.ts +24 -0
- package/dist/express/pages/express.d.ts.map +1 -0
- package/dist/express/pages/express.js +160 -0
- package/dist/express/pages/express.js.map +1 -0
- package/dist/express/pages/list.d.ts +24 -0
- package/dist/express/pages/list.d.ts.map +1 -0
- package/dist/express/pages/list.js +167 -0
- package/dist/express/pages/list.js.map +1 -0
- package/dist/express/pages/missing.d.ts +24 -0
- package/dist/express/pages/missing.d.ts.map +1 -0
- package/dist/express/pages/missing.js +146 -0
- package/dist/express/pages/missing.js.map +1 -0
- package/dist/express/pages/stock.d.ts +24 -0
- package/dist/express/pages/stock.d.ts.map +1 -0
- package/dist/express/pages/stock.js +176 -0
- package/dist/express/pages/stock.js.map +1 -0
- package/dist/express/routes.d.ts +3 -0
- package/dist/express/routes.d.ts.map +1 -0
- package/dist/express/routes.js +8 -0
- package/dist/express/routes.js.map +1 -0
- package/dist/express/shopping.d.ts +4 -0
- package/dist/express/shopping.d.ts.map +1 -0
- package/dist/express/shopping.js +143 -0
- package/dist/express/shopping.js.map +1 -0
- package/dist/family/care.d.ts +4 -0
- package/dist/family/care.d.ts.map +1 -0
- package/dist/family/care.js +103 -0
- package/dist/family/care.js.map +1 -0
- package/dist/family/commands.d.ts +3 -0
- package/dist/family/commands.d.ts.map +1 -0
- package/dist/family/commands.js +6 -0
- package/dist/family/commands.js.map +1 -0
- package/dist/family/index.d.ts +3 -0
- package/dist/family/index.d.ts.map +1 -0
- package/dist/family/index.js +4 -0
- package/dist/family/index.js.map +1 -0
- package/dist/family/pages/family_borrow.d.ts +24 -0
- package/dist/family/pages/family_borrow.d.ts.map +1 -0
- package/dist/family/pages/family_borrow.js +267 -0
- package/dist/family/pages/family_borrow.js.map +1 -0
- package/dist/family/pages/family_members.d.ts +24 -0
- package/dist/family/pages/family_members.d.ts.map +1 -0
- package/dist/family/pages/family_members.js +171 -0
- package/dist/family/pages/family_members.js.map +1 -0
- package/dist/family/routes.d.ts +3 -0
- package/dist/family/routes.d.ts.map +1 -0
- package/dist/family/routes.js +20 -0
- package/dist/family/routes.js.map +1 -0
- package/dist/fetch/db.d.ts.map +1 -1
- package/dist/fetch/db.js +9 -1
- package/dist/fetch/db.js.map +1 -1
- package/dist/fetch/domains.d.ts +92 -0
- package/dist/fetch/domains.d.ts.map +1 -1
- package/dist/fetch/domains.js +165 -26
- package/dist/fetch/domains.js.map +1 -1
- package/dist/fetch/index.d.ts +2 -1
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +6 -1
- package/dist/fetch/index.js.map +1 -1
- package/dist/health.d.ts +9 -0
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +19 -0
- package/dist/health.js.map +1 -1
- package/dist/help/helpAssets.js +1 -1
- package/dist/items/add.d.ts +3 -0
- package/dist/items/add.d.ts.map +1 -0
- package/dist/items/add.js +34 -0
- package/dist/items/add.js.map +1 -0
- package/dist/items/commands.d.ts +3 -0
- package/dist/items/commands.d.ts.map +1 -0
- package/dist/items/commands.js +22 -0
- package/dist/items/commands.js.map +1 -0
- package/dist/items/detail.d.ts +3 -0
- package/dist/items/detail.d.ts.map +1 -0
- package/dist/items/detail.js +31 -0
- package/dist/items/detail.js.map +1 -0
- package/dist/items/index.d.ts +3 -0
- package/dist/items/index.d.ts.map +1 -0
- package/dist/items/index.js +4 -0
- package/dist/items/index.js.map +1 -0
- package/dist/items/inventory.d.ts +4 -0
- package/dist/items/inventory.d.ts.map +1 -0
- package/dist/items/inventory.js +41 -0
- package/dist/items/inventory.js.map +1 -0
- package/dist/items/pages/add_form.d.ts +24 -0
- package/dist/items/pages/add_form.d.ts.map +1 -0
- package/dist/items/pages/add_form.js +174 -0
- package/dist/items/pages/add_form.js.map +1 -0
- package/dist/items/pages/browse.d.ts +24 -0
- package/dist/items/pages/browse.d.ts.map +1 -0
- package/dist/items/pages/browse.js +143 -0
- package/dist/items/pages/browse.js.map +1 -0
- package/dist/items/pages/category_manage.d.ts +24 -0
- package/dist/items/pages/category_manage.d.ts.map +1 -0
- package/dist/items/pages/category_manage.js +153 -0
- package/dist/items/pages/category_manage.js.map +1 -0
- package/dist/items/pages/confirm.d.ts +24 -0
- package/dist/items/pages/confirm.d.ts.map +1 -0
- package/dist/items/pages/confirm.js +149 -0
- package/dist/items/pages/confirm.js.map +1 -0
- package/dist/items/pages/detail.d.ts +24 -0
- package/dist/items/pages/detail.d.ts.map +1 -0
- package/dist/items/pages/detail.js +160 -0
- package/dist/items/pages/detail.js.map +1 -0
- package/dist/items/pages/duplicates.d.ts +24 -0
- package/dist/items/pages/duplicates.d.ts.map +1 -0
- package/dist/items/pages/duplicates.js +138 -0
- package/dist/items/pages/duplicates.js.map +1 -0
- package/dist/items/pages/history.d.ts +24 -0
- package/dist/items/pages/history.d.ts.map +1 -0
- package/dist/items/pages/history.js +213 -0
- package/dist/items/pages/history.js.map +1 -0
- package/dist/items/pages/inventory_diff.d.ts +24 -0
- package/dist/items/pages/inventory_diff.d.ts.map +1 -0
- package/dist/items/pages/inventory_diff.js +126 -0
- package/dist/items/pages/inventory_diff.js.map +1 -0
- package/dist/items/pages/inventory_records.d.ts +24 -0
- package/dist/items/pages/inventory_records.d.ts.map +1 -0
- package/dist/items/pages/inventory_records.js +147 -0
- package/dist/items/pages/inventory_records.js.map +1 -0
- package/dist/items/pages/inventory_round.d.ts +24 -0
- package/dist/items/pages/inventory_round.d.ts.map +1 -0
- package/dist/items/pages/inventory_round.js +145 -0
- package/dist/items/pages/inventory_round.js.map +1 -0
- package/dist/items/pages/locate.d.ts +24 -0
- package/dist/items/pages/locate.d.ts.map +1 -0
- package/dist/items/pages/locate.js +129 -0
- package/dist/items/pages/locate.js.map +1 -0
- package/dist/items/pages/move_checklist.d.ts +24 -0
- package/dist/items/pages/move_checklist.d.ts.map +1 -0
- package/dist/items/pages/move_checklist.js +112 -0
- package/dist/items/pages/move_checklist.js.map +1 -0
- package/dist/items/pages/photo_wall.d.ts +24 -0
- package/dist/items/pages/photo_wall.d.ts.map +1 -0
- package/dist/items/pages/photo_wall.js +145 -0
- package/dist/items/pages/photo_wall.js.map +1 -0
- package/dist/items/pages/photos.d.ts +24 -0
- package/dist/items/pages/photos.d.ts.map +1 -0
- package/dist/items/pages/photos.js +182 -0
- package/dist/items/pages/photos.js.map +1 -0
- package/dist/items/pages/receipt.d.ts +24 -0
- package/dist/items/pages/receipt.d.ts.map +1 -0
- package/dist/items/pages/receipt.js +252 -0
- package/dist/items/pages/receipt.js.map +1 -0
- package/dist/items/pages/relations.d.ts +24 -0
- package/dist/items/pages/relations.d.ts.map +1 -0
- package/dist/items/pages/relations.js +144 -0
- package/dist/items/pages/relations.js.map +1 -0
- package/dist/items/pages/search_list.d.ts +24 -0
- package/dist/items/pages/search_list.d.ts.map +1 -0
- package/dist/items/pages/search_list.js +133 -0
- package/dist/items/pages/search_list.js.map +1 -0
- package/dist/items/pages/tag_manage.d.ts +24 -0
- package/dist/items/pages/tag_manage.d.ts.map +1 -0
- package/dist/items/pages/tag_manage.js +213 -0
- package/dist/items/pages/tag_manage.js.map +1 -0
- package/dist/items/pages/undo_select.d.ts +24 -0
- package/dist/items/pages/undo_select.d.ts.map +1 -0
- package/dist/items/pages/undo_select.js +143 -0
- package/dist/items/pages/undo_select.js.map +1 -0
- package/dist/items/routes.d.ts +3 -0
- package/dist/items/routes.d.ts.map +1 -0
- package/dist/items/routes.js +62 -0
- package/dist/items/routes.js.map +1 -0
- package/dist/items/search.d.ts +3 -0
- package/dist/items/search.d.ts.map +1 -0
- package/dist/items/search.js +47 -0
- package/dist/items/search.js.map +1 -0
- package/dist/items/tag.d.ts +25 -0
- package/dist/items/tag.d.ts.map +1 -0
- package/dist/items/tag.js +133 -0
- package/dist/items/tag.js.map +1 -0
- package/dist/items/update.d.ts +20 -0
- package/dist/items/update.d.ts.map +1 -0
- package/dist/items/update.js +211 -0
- package/dist/items/update.js.map +1 -0
- package/dist/outfit/commands.d.ts +3 -0
- package/dist/outfit/commands.d.ts.map +1 -0
- package/dist/outfit/commands.js +7 -0
- package/dist/outfit/commands.js.map +1 -0
- package/dist/outfit/index.d.ts +3 -0
- package/dist/outfit/index.d.ts.map +1 -0
- package/dist/outfit/index.js +4 -0
- package/dist/outfit/index.js.map +1 -0
- package/dist/outfit/outfit.d.ts +3 -0
- package/dist/outfit/outfit.d.ts.map +1 -0
- package/dist/outfit/outfit.js +182 -0
- package/dist/outfit/outfit.js.map +1 -0
- package/dist/outfit/pages/outfit_picker.d.ts +24 -0
- package/dist/outfit/pages/outfit_picker.d.ts.map +1 -0
- package/dist/outfit/pages/outfit_picker.js +185 -0
- package/dist/outfit/pages/outfit_picker.js.map +1 -0
- package/dist/outfit/pages/travel_trip.d.ts +24 -0
- package/dist/outfit/pages/travel_trip.d.ts.map +1 -0
- package/dist/outfit/pages/travel_trip.js +185 -0
- package/dist/outfit/pages/travel_trip.js.map +1 -0
- package/dist/outfit/pages/trip_outfit_plan.d.ts +24 -0
- package/dist/outfit/pages/trip_outfit_plan.d.ts.map +1 -0
- package/dist/outfit/pages/trip_outfit_plan.js +173 -0
- package/dist/outfit/pages/trip_outfit_plan.js.map +1 -0
- package/dist/outfit/pages/wardrobe_analyze.d.ts +24 -0
- package/dist/outfit/pages/wardrobe_analyze.d.ts.map +1 -0
- package/dist/outfit/pages/wardrobe_analyze.js +171 -0
- package/dist/outfit/pages/wardrobe_analyze.js.map +1 -0
- package/dist/outfit/pages/wardrobe_season.d.ts +24 -0
- package/dist/outfit/pages/wardrobe_season.d.ts.map +1 -0
- package/dist/outfit/pages/wardrobe_season.js +167 -0
- package/dist/outfit/pages/wardrobe_season.js.map +1 -0
- package/dist/outfit/routes.d.ts +3 -0
- package/dist/outfit/routes.d.ts.map +1 -0
- package/dist/outfit/routes.js +9 -0
- package/dist/outfit/routes.js.map +1 -0
- package/dist/outfit/trip.d.ts +3 -0
- package/dist/outfit/trip.d.ts.map +1 -0
- package/dist/outfit/trip.js +59 -0
- package/dist/outfit/trip.js.map +1 -0
- package/dist/output.d.ts +13 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +57 -0
- package/dist/output.js.map +1 -0
- package/dist/policy/routes.generated.d.ts +3 -0
- package/dist/policy/routes.generated.d.ts.map +1 -0
- package/dist/policy/routes.generated.js +128 -0
- package/dist/policy/routes.generated.js.map +1 -0
- package/dist/policy/wakewords.d.ts +1 -0
- package/dist/policy/wakewords.d.ts.map +1 -1
- package/dist/policy/wakewords.js +11 -93
- package/dist/policy/wakewords.js.map +1 -1
- package/dist/receipt/commands.d.ts +3 -0
- package/dist/receipt/commands.d.ts.map +1 -0
- package/dist/receipt/commands.js +6 -0
- package/dist/receipt/commands.js.map +1 -0
- package/dist/receipt/index.d.ts +3 -0
- package/dist/receipt/index.d.ts.map +1 -0
- package/dist/receipt/index.js +4 -0
- package/dist/receipt/index.js.map +1 -0
- package/dist/receipt/pages/accounts.d.ts +24 -0
- package/dist/receipt/pages/accounts.d.ts.map +1 -0
- package/dist/receipt/pages/accounts.js +217 -0
- package/dist/receipt/pages/accounts.js.map +1 -0
- package/dist/receipt/pages/certificates.d.ts +24 -0
- package/dist/receipt/pages/certificates.d.ts.map +1 -0
- package/dist/receipt/pages/certificates.js +231 -0
- package/dist/receipt/pages/certificates.js.map +1 -0
- package/dist/receipt/pages/purchase_records.d.ts +24 -0
- package/dist/receipt/pages/purchase_records.d.ts.map +1 -0
- package/dist/receipt/pages/purchase_records.js +267 -0
- package/dist/receipt/pages/purchase_records.js.map +1 -0
- package/dist/receipt/pages/warranty.d.ts +24 -0
- package/dist/receipt/pages/warranty.d.ts.map +1 -0
- package/dist/receipt/pages/warranty.js +142 -0
- package/dist/receipt/pages/warranty.js.map +1 -0
- package/dist/receipt/routes.d.ts +3 -0
- package/dist/receipt/routes.d.ts.map +1 -0
- package/dist/receipt/routes.js +21 -0
- package/dist/receipt/routes.js.map +1 -0
- package/dist/receipt/ticket.d.ts +4 -0
- package/dist/receipt/ticket.d.ts.map +1 -0
- package/dist/receipt/ticket.js +282 -0
- package/dist/receipt/ticket.js.map +1 -0
- package/dist/render/copyArea.d.ts +45 -0
- package/dist/render/copyArea.d.ts.map +1 -0
- package/dist/render/copyArea.js +74 -0
- package/dist/render/copyArea.js.map +1 -0
- package/dist/render/envelope.d.ts.map +1 -1
- package/dist/render/envelope.js +4 -23
- 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/familyPage.d.ts +20 -0
- package/dist/render/familyPage.d.ts.map +1 -0
- package/dist/render/familyPage.js +106 -0
- package/dist/render/familyPage.js.map +1 -0
- package/dist/render/html.d.ts +7 -2
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +78 -6
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +8 -2
- 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/pageFamilies.d.ts +8 -0
- package/dist/render/pageFamilies.d.ts.map +1 -0
- package/dist/render/pageFamilies.js +169 -0
- package/dist/render/pageFamilies.js.map +1 -0
- package/dist/render/sceneNaming.d.ts +14 -0
- package/dist/render/sceneNaming.d.ts.map +1 -0
- package/dist/render/sceneNaming.js +173 -0
- package/dist/render/sceneNaming.js.map +1 -0
- package/dist/render/views.d.ts +34 -2
- package/dist/render/views.d.ts.map +1 -1
- package/dist/render/views.js +28 -4
- package/dist/render/views.js.map +1 -1
- package/dist/setup/commands.d.ts +3 -0
- package/dist/setup/commands.d.ts.map +1 -0
- package/dist/setup/commands.js +9 -0
- package/dist/setup/commands.js.map +1 -0
- package/dist/setup/index.d.ts +3 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +4 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/pages/backup_receipt.d.ts +24 -0
- package/dist/setup/pages/backup_receipt.d.ts.map +1 -0
- package/dist/setup/pages/backup_receipt.js +198 -0
- package/dist/setup/pages/backup_receipt.js.map +1 -0
- package/dist/setup/pages/first_use_wizard.d.ts +24 -0
- package/dist/setup/pages/first_use_wizard.d.ts.map +1 -0
- package/dist/setup/pages/first_use_wizard.js +169 -0
- package/dist/setup/pages/first_use_wizard.js.map +1 -0
- package/dist/setup/pages/health_report.d.ts +24 -0
- package/dist/setup/pages/health_report.d.ts.map +1 -0
- package/dist/setup/pages/health_report.js +152 -0
- package/dist/setup/pages/health_report.js.map +1 -0
- package/dist/setup/pages/import_restore.d.ts +24 -0
- package/dist/setup/pages/import_restore.d.ts.map +1 -0
- package/dist/setup/pages/import_restore.js +179 -0
- package/dist/setup/pages/import_restore.js.map +1 -0
- package/dist/setup/routes.d.ts +3 -0
- package/dist/setup/routes.d.ts.map +1 -0
- package/dist/setup/routes.js +2 -0
- package/dist/setup/routes.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +30 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +8 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/shared/fail.d.ts +4 -0
- package/dist/shared/fail.d.ts.map +1 -0
- package/dist/shared/fail.js +16 -0
- package/dist/shared/fail.js.map +1 -0
- package/dist/shared/params.d.ts +2 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +12 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/space/commands.d.ts +3 -0
- package/dist/space/commands.d.ts.map +1 -0
- package/dist/space/commands.js +6 -0
- package/dist/space/commands.js.map +1 -0
- package/dist/space/index.d.ts +3 -0
- package/dist/space/index.d.ts.map +1 -0
- package/dist/space/index.js +4 -0
- package/dist/space/index.js.map +1 -0
- package/dist/space/location.d.ts +82 -0
- package/dist/space/location.d.ts.map +1 -0
- package/dist/space/location.js +310 -0
- package/dist/space/location.js.map +1 -0
- package/dist/space/pages/fixed_spot.d.ts +24 -0
- package/dist/space/pages/fixed_spot.d.ts.map +1 -0
- package/dist/space/pages/fixed_spot.js +122 -0
- package/dist/space/pages/fixed_spot.js.map +1 -0
- package/dist/space/pages/location_manage.d.ts +24 -0
- package/dist/space/pages/location_manage.d.ts.map +1 -0
- package/dist/space/pages/location_manage.js +169 -0
- package/dist/space/pages/location_manage.js.map +1 -0
- package/dist/space/pages/space_view.d.ts +24 -0
- package/dist/space/pages/space_view.d.ts.map +1 -0
- package/dist/space/pages/space_view.js +185 -0
- package/dist/space/pages/space_view.js.map +1 -0
- package/dist/space/pages/suggest_storage.d.ts +24 -0
- package/dist/space/pages/suggest_storage.d.ts.map +1 -0
- package/dist/space/pages/suggest_storage.js +179 -0
- package/dist/space/pages/suggest_storage.js.map +1 -0
- package/dist/space/routes.d.ts +3 -0
- package/dist/space/routes.d.ts.map +1 -0
- package/dist/space/routes.js +24 -0
- package/dist/space/routes.js.map +1 -0
- package/dist/stats/commands.d.ts +3 -0
- package/dist/stats/commands.d.ts.map +1 -0
- package/dist/stats/commands.js +6 -0
- package/dist/stats/commands.js.map +1 -0
- package/dist/stats/index.d.ts +3 -0
- package/dist/stats/index.d.ts.map +1 -0
- package/dist/stats/index.js +4 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/stats/pages/expiring.d.ts +24 -0
- package/dist/stats/pages/expiring.d.ts.map +1 -0
- package/dist/stats/pages/expiring.js +220 -0
- package/dist/stats/pages/expiring.js.map +1 -0
- package/dist/stats/pages/idle.d.ts +24 -0
- package/dist/stats/pages/idle.d.ts.map +1 -0
- package/dist/stats/pages/idle.js +181 -0
- package/dist/stats/pages/idle.js.map +1 -0
- package/dist/stats/pages/inventory_stat.d.ts +24 -0
- package/dist/stats/pages/inventory_stat.d.ts.map +1 -0
- package/dist/stats/pages/inventory_stat.js +165 -0
- package/dist/stats/pages/inventory_stat.js.map +1 -0
- package/dist/stats/pages/overview.d.ts +24 -0
- package/dist/stats/pages/overview.d.ts.map +1 -0
- package/dist/stats/pages/overview.js +238 -0
- package/dist/stats/pages/overview.js.map +1 -0
- package/dist/stats/routes.d.ts +3 -0
- package/dist/stats/routes.d.ts.map +1 -0
- package/dist/stats/routes.js +16 -0
- package/dist/stats/routes.js.map +1 -0
- package/dist/stats/stats.d.ts +4 -0
- package/dist/stats/stats.d.ts.map +1 -0
- package/dist/stats/stats.js +73 -0
- package/dist/stats/stats.js.map +1 -0
- package/package.json +8 -5
- package/templates/care_query.html +1 -0
- package/templates/care_receipt.html +1 -0
- package/templates/express/express.html +17 -0
- package/templates/express/list.html +17 -0
- package/templates/express/missing.html +17 -0
- package/templates/express/stock.html +17 -0
- package/templates/family/family_borrow.html +17 -0
- package/templates/family/family_members.html +17 -0
- package/templates/help.html +1 -0
- package/templates/inventory_records.html +1 -0
- package/templates/inventory_round.html +1 -0
- package/templates/item_detail.html +1 -0
- package/templates/item_receipt.html +1 -0
- package/templates/item_search.html +1 -0
- package/templates/item_update_receipt.html +1 -0
- package/templates/items/add_form.html +17 -0
- package/templates/items/browse.html +17 -0
- package/templates/items/category_manage.html +17 -0
- package/templates/items/confirm.html +17 -0
- package/templates/items/detail.html +17 -0
- package/templates/items/duplicates.html +17 -0
- package/templates/items/history.html +17 -0
- package/templates/items/inventory_diff.html +17 -0
- package/templates/items/inventory_records.html +17 -0
- package/templates/items/inventory_round.html +17 -0
- package/templates/items/locate.html +17 -0
- package/templates/items/move_checklist.html +17 -0
- package/templates/items/photo_wall.html +17 -0
- package/templates/items/photos.html +17 -0
- package/templates/items/receipt.html +17 -0
- package/templates/items/relations.html +17 -0
- package/templates/items/search_list.html +17 -0
- package/templates/items/tag_manage.html +17 -0
- package/templates/items/undo_select.html +17 -0
- package/templates/location_query.html +1 -0
- package/templates/location_receipt.html +1 -0
- package/templates/outfit/outfit_picker.html +17 -0
- package/templates/outfit/travel_trip.html +17 -0
- package/templates/outfit/trip_outfit_plan.html +17 -0
- package/templates/outfit/wardrobe_analyze.html +17 -0
- package/templates/outfit/wardrobe_season.html +17 -0
- package/templates/outfit_pick.html +1 -0
- package/templates/receipt/accounts.html +17 -0
- package/templates/receipt/certificates.html +17 -0
- package/templates/receipt/purchase_records.html +17 -0
- package/templates/receipt/warranty.html +17 -0
- package/templates/setup/backup_receipt.html +17 -0
- package/templates/setup/first_use_wizard.html +17 -0
- package/templates/setup/health_report.html +17 -0
- package/templates/setup/import_restore.html +17 -0
- package/templates/shopping_query.html +1 -0
- package/templates/shopping_receipt.html +1 -0
- package/templates/space/fixed_spot.html +63 -0
- package/templates/space/location_manage.html +70 -0
- package/templates/space/space_view.html +65 -0
- package/templates/space/suggest_storage.html +58 -0
- package/templates/stats/expiring.html +17 -0
- package/templates/stats/idle.html +17 -0
- package/templates/stats/inventory_stat.html +17 -0
- package/templates/stats/overview.html +17 -0
- package/templates/stats_alert.html +1 -0
- package/templates/stats_overview.html +1 -0
- package/templates/tag_query.html +1 -0
- package/templates/tag_receipt.html +1 -0
- package/templates/ticket_query.html +1 -0
- package/templates/ticket_receipt.html +1 -0
- package/templates/trip_receipt.html +1 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Envelope } from 'base-link-core';
|
|
2
|
+
export declare const FAMILY: "inventory_diff";
|
|
3
|
+
export declare const PAGE_META: {
|
|
4
|
+
readonly domain: "items";
|
|
5
|
+
readonly family: "inventory_diff";
|
|
6
|
+
readonly key: "home.inventory.round";
|
|
7
|
+
readonly shape: "receipt";
|
|
8
|
+
readonly preset: Record<string, unknown>;
|
|
9
|
+
readonly rows: readonly {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly preset: Record<string, unknown>;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare const REQUIRED_BLOCKS: {
|
|
15
|
+
readonly fields: readonly string[];
|
|
16
|
+
readonly operations: readonly string[];
|
|
17
|
+
readonly empty: readonly string[];
|
|
18
|
+
readonly status: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function renderFamilyPage(env: Envelope, ctx?: {
|
|
21
|
+
readonly command?: string;
|
|
22
|
+
readonly actionAt?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
//# sourceMappingURL=inventory_diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_diff.d.ts","sourceRoot":"","sources":["../../../src/items/pages/inventory_diff.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,gBAAyB,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;qBAKQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACiB,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACzI,CAAC;AAEX,eAAO,MAAM,eAAe,EA4BvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAoDF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAoCvH"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// items能力·inventory_diff真页面(#808 域票填内容,6-2 差异处理)。
|
|
2
|
+
//
|
|
3
|
+
// 信息结构对齐老 `物品/inventory_diff.html`:缺/多/异/待确认四组+动作集+批量确认。
|
|
4
|
+
// 命令回执只带所属记录号(差异明细由命令侧增补后展开,见域对账说明),本页按回执
|
|
5
|
+
// 如实呈现分组处理台:四组动作可点选,新位置可填,批量确认组装处理话术。
|
|
6
|
+
// 必需块原文=契约附录:差异分组missing/extra/diff/pending 含拉丁字符,只进 data-need 属性。
|
|
7
|
+
import { readFileSync } from 'node:fs';
|
|
8
|
+
import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
|
|
9
|
+
export const FAMILY = 'inventory_diff';
|
|
10
|
+
export const PAGE_META = {
|
|
11
|
+
domain: 'items',
|
|
12
|
+
family: FAMILY,
|
|
13
|
+
key: 'home.inventory.round',
|
|
14
|
+
shape: 'receipt',
|
|
15
|
+
preset: { "op": "resolve" },
|
|
16
|
+
rows: [{ "key": "home.inventory.round", "preset": { "op": "resolve" } }],
|
|
17
|
+
};
|
|
18
|
+
export const REQUIRED_BLOCKS = {
|
|
19
|
+
"empty": [
|
|
20
|
+
"空态:该记录没有未处理差异",
|
|
21
|
+
"异常:数据解析失败"
|
|
22
|
+
],
|
|
23
|
+
"fields": [
|
|
24
|
+
"差异分组missing/extra/diff/pending",
|
|
25
|
+
"所属盘点记录",
|
|
26
|
+
"动作集",
|
|
27
|
+
"新位置输入",
|
|
28
|
+
"批量行"
|
|
29
|
+
],
|
|
30
|
+
"operations": [
|
|
31
|
+
"按实际更新",
|
|
32
|
+
"忽略",
|
|
33
|
+
"录入为新物品",
|
|
34
|
+
"标记复查",
|
|
35
|
+
"先不处理",
|
|
36
|
+
"批量确认",
|
|
37
|
+
"复制数据",
|
|
38
|
+
"复制日志"
|
|
39
|
+
],
|
|
40
|
+
"status": [
|
|
41
|
+
"缺",
|
|
42
|
+
"多",
|
|
43
|
+
"异",
|
|
44
|
+
"待确认"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
const NEED = {
|
|
48
|
+
fields: '差异分组missing/extra/diff/pending|所属盘点记录|动作集|新位置输入|批量行',
|
|
49
|
+
operations: '按实际更新|忽略|录入为新物品|标记复查|先不处理|批量确认|复制数据|复制日志',
|
|
50
|
+
empty: '空态:该记录没有未处理差异|异常:数据解析失败',
|
|
51
|
+
status: '缺|多|异|待确认',
|
|
52
|
+
};
|
|
53
|
+
const CSS = '.hero{background:linear-gradient(180deg,#fff,#f8fbff);border-radius:20px;padding:22px;margin:14px 0}'
|
|
54
|
+
+ '.eyebrow{color:#007aff;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}'
|
|
55
|
+
+ '.lead{color:#6e6e73;font-size:14px}'
|
|
56
|
+
+ '.sec{background:#fff;border-radius:16px;padding:18px;margin:14px 0}'
|
|
57
|
+
+ '.sec h2{font-size:17px;margin-bottom:10px}'
|
|
58
|
+
+ 'summary{min-height:44px;display:flex;align-items:center;cursor:pointer}'
|
|
59
|
+
+ '.grp{border:1px solid #eef0f4;border-radius:14px;padding:14px;margin:10px 0}'
|
|
60
|
+
+ '.grp h3{font-size:15px;margin-bottom:8px}'
|
|
61
|
+
+ '.actrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}'
|
|
62
|
+
+ '.act{border:1.5px solid #d2d2d7;background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;cursor:pointer;min-height:44px}'
|
|
63
|
+
+ '.act.on{background:#007aff;color:#fff;border-color:#007aff}'
|
|
64
|
+
+ '.actline{margin:8px 0 0;font-size:13px}'
|
|
65
|
+
+ '.actline input{padding:9px 12px;border:1px solid #d2d2d7;border-radius:10px;font-size:13px;min-width:170px;min-height:44px}'
|
|
66
|
+
+ '.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}'
|
|
67
|
+
+ '.btn{border:none;background:#007aff;color:#fff;border-radius:999px;padding:10px 12px;font-weight:700;cursor:pointer;font-size:13.5px;min-height:44px}'
|
|
68
|
+
+ '.btn.ghost{background:#fff;color:#007aff;border:1.5px solid #007aff}'
|
|
69
|
+
+ '.btn.green{background:#34c759}'
|
|
70
|
+
+ '.empty{color:#86868b;padding:12px 0}'
|
|
71
|
+
+ '.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:14px}'
|
|
72
|
+
+ '.kv dt{color:#86868b}.kv dd{color:#1d1d1f}'
|
|
73
|
+
+ 'details{margin:14px 0;font-size:13px;color:#6e6e73}'
|
|
74
|
+
+ 'pre{white-space:pre-wrap;word-break:break-all;background:#f8f9fb;border-radius:10px;padding:10px;font-size:12px}'
|
|
75
|
+
+ '@media(max-width:820px){.hero{padding:18px 14px}.sec{padding:14px}.btnrow{grid-template-columns:1fr}}';
|
|
76
|
+
const JS = 'function copyText(t){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t);}else{var ta=document.createElement("textarea");ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand("copy");}catch(e){}document.body.removeChild(ta);}}'
|
|
77
|
+
+ 'function pickAct(btn){var row=btn.parentNode;row.querySelectorAll(".act").forEach(function(x){x.classList.remove("on");});btn.classList.add("on");}'
|
|
78
|
+
+ 'function collectResolve(){var rec=document.getElementById("recid").textContent;'
|
|
79
|
+
+ 'var L=["请加载「居家管家」技能,帮我处理盘点差异(唤醒词:差异处理):",""," 记 录: 记录"+rec];var n=0;'
|
|
80
|
+
+ 'document.querySelectorAll(".grp").forEach(function(g){var act=g.querySelector(".act.on");if(!act)return;n++;'
|
|
81
|
+
+ 'var nm=g.querySelector("h3").textContent;L.push(" "+n+". "+nm+": "+act.textContent);});'
|
|
82
|
+
+ 'if(n===0)L.push(" 未选择任何处理");copyText(L.join("\\n"));}';
|
|
83
|
+
function str(v) {
|
|
84
|
+
return typeof v === 'string' ? v : '';
|
|
85
|
+
}
|
|
86
|
+
function parseResolve(message) {
|
|
87
|
+
const m = message.match(/差异:#(\d+)/);
|
|
88
|
+
return m ? m[1] : '—';
|
|
89
|
+
}
|
|
90
|
+
// 装配入口:真 envelope(真命令链产出)+本族模板 → 分组处理真页面。
|
|
91
|
+
// fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
|
|
92
|
+
export function renderFamilyPage(env, ctx) {
|
|
93
|
+
const template = readFileSync(new URL('../../../templates/items/inventory_diff.html', import.meta.url), 'utf8');
|
|
94
|
+
const data = (env.data ?? {});
|
|
95
|
+
const rid = parseResolve(str(data.message));
|
|
96
|
+
const group = (title, acts, extraInput) => '<div class="grp"><h3>' + escapeHtml(title) + '</h3>'
|
|
97
|
+
+ '<div class="actrow">' + acts.map((a) => '<button class="act" onclick="pickAct(this)">' + escapeHtml(a) + '</button>').join('')
|
|
98
|
+
+ extraInput + '</div></div>';
|
|
99
|
+
const content = '<div class="hero"><p class="eyebrow">选择后确认</p>'
|
|
100
|
+
+ '<p class="lead">缺/多/异/待确认四组,逐项指定处理再批量确认</p></div>'
|
|
101
|
+
+ '<section class="sec" data-block="fields" data-need="' + NEED.fields + '"><h2>差异分组</h2>'
|
|
102
|
+
+ '<dl class="kv"><dt>所属盘点记录</dt><dd>记录<span id="recid">' + escapeHtml(rid) + '</span></dd></dl>'
|
|
103
|
+
+ '<div class="empty">—</div>'
|
|
104
|
+
+ '<h2>动作集</h2>'
|
|
105
|
+
+ group('缺组', ['按实际更新', '忽略', '先不处理'],
|
|
106
|
+
// #817(⑤文案不冗余):左标签已经写了「新位置输入」,占位符不再把同一件事再说一遍,改给一条填写举例。
|
|
107
|
+
'<p class="actline">新位置输入:<input placeholder="例:书房/书架"></p>')
|
|
108
|
+
+ group('多组', ['录入为新物品', '忽略'], '')
|
|
109
|
+
+ group('异组', ['按实际更新', '忽略'], '')
|
|
110
|
+
+ group('待确认组', ['标记复查', '先不处理'], '')
|
|
111
|
+
+ '<div class="btnrow">'
|
|
112
|
+
+ '<button class="btn green" onclick="collectResolve()">批量确认</button>'
|
|
113
|
+
+ '</div>'
|
|
114
|
+
+ homeCopyArea({
|
|
115
|
+
data: { envelope: env },
|
|
116
|
+
log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
|
|
117
|
+
})
|
|
118
|
+
+ '</section>'
|
|
119
|
+
+ '<section class="sec" data-block="operations" data-need="' + NEED.operations + '" hidden></section>'
|
|
120
|
+
+ '<section class="sec" data-block="status" data-need="' + NEED.status + '" hidden></section>'
|
|
121
|
+
+ '<section class="sec" data-block="empty" data-need="' + NEED.empty + '" hidden></section>'
|
|
122
|
+
+ '<details><summary>数据原文</summary><pre class="pre-block-code" id="raw">' + escapeHtml(JSON.stringify(env.data ?? {})) + '</pre></details>'
|
|
123
|
+
+ '<style>' + CSS + '</style><script>' + JS + '</script>';
|
|
124
|
+
return fillTemplate(template, content);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=inventory_diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_diff.js","sourceRoot":"","sources":["../../../src/items/pages/inventory_diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Envelope } from 'base-link-core';
|
|
2
|
+
export declare const FAMILY: "inventory_records";
|
|
3
|
+
export declare const PAGE_META: {
|
|
4
|
+
readonly domain: "items";
|
|
5
|
+
readonly family: "inventory_records";
|
|
6
|
+
readonly key: "home.inventory.records";
|
|
7
|
+
readonly shape: "list";
|
|
8
|
+
readonly preset: Record<string, unknown>;
|
|
9
|
+
readonly rows: readonly {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly preset: Record<string, unknown>;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare const REQUIRED_BLOCKS: {
|
|
15
|
+
readonly fields: readonly string[];
|
|
16
|
+
readonly operations: readonly string[];
|
|
17
|
+
readonly empty: readonly string[];
|
|
18
|
+
readonly status: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function renderFamilyPage(env: Envelope, ctx?: {
|
|
21
|
+
readonly command?: string;
|
|
22
|
+
readonly actionAt?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
//# sourceMappingURL=inventory_records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_records.d.ts","sourceRoot":"","sources":["../../../src/items/pages/inventory_records.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,mBAA4B,CAAC;AAEnD,eAAO,MAAM,SAAS;;;;;qBAKN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACmB,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CAC7H,CAAC;AAEX,eAAO,MAAM,eAAe,EAyBvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAuEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAiDvH"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
// items能力·inventory_records真页面(#808 域票填内容,6-3 盘点记录)。
|
|
2
|
+
//
|
|
3
|
+
// 信息结构对齐老 `物品/inventory_records.html`:历史盘点列表+单次展开+复查入口。
|
|
4
|
+
// 命令信封只带记录标识、范围与规模(发生时间与差异计数由命令侧增补后展开,
|
|
5
|
+
// 见域对账说明),本页按信封如实呈现记录卡:编号、范围、规模可点开,
|
|
6
|
+
// 时间与计数—,复查与差异处理组装话术直达。
|
|
7
|
+
// 必需块原文=契约附录:历史盘点(N)含拉丁字符,只进 data-need 属性。
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
|
|
10
|
+
export const FAMILY = 'inventory_records';
|
|
11
|
+
export const PAGE_META = {
|
|
12
|
+
domain: 'items',
|
|
13
|
+
family: FAMILY,
|
|
14
|
+
key: 'home.inventory.records',
|
|
15
|
+
shape: 'list',
|
|
16
|
+
preset: {},
|
|
17
|
+
rows: [{ "key": "home.inventory.records", "preset": {} }],
|
|
18
|
+
};
|
|
19
|
+
export const REQUIRED_BLOCKS = {
|
|
20
|
+
"empty": [
|
|
21
|
+
"空态:还没有盘点记录",
|
|
22
|
+
"异常:数据解析失败"
|
|
23
|
+
],
|
|
24
|
+
"fields": [
|
|
25
|
+
"历史盘点(N)",
|
|
26
|
+
"发生时间",
|
|
27
|
+
"缺/多/异/待确认计数",
|
|
28
|
+
"记录状态"
|
|
29
|
+
],
|
|
30
|
+
"operations": [
|
|
31
|
+
"展开详情",
|
|
32
|
+
"处理差异",
|
|
33
|
+
"复查",
|
|
34
|
+
"开始盘点",
|
|
35
|
+
"复制数据",
|
|
36
|
+
"复制日志"
|
|
37
|
+
],
|
|
38
|
+
"status": [
|
|
39
|
+
"进行中",
|
|
40
|
+
"已完成",
|
|
41
|
+
"已处理",
|
|
42
|
+
"已复查"
|
|
43
|
+
]
|
|
44
|
+
};
|
|
45
|
+
const NEED = {
|
|
46
|
+
fields: '历史盘点(N)|发生时间|缺/多/异/待确认计数|记录状态',
|
|
47
|
+
operations: '展开详情|处理差异|复查|开始盘点|复制数据|复制日志',
|
|
48
|
+
empty: '空态:还没有盘点记录|异常:数据解析失败',
|
|
49
|
+
status: '进行中|已完成|已处理|已复查',
|
|
50
|
+
};
|
|
51
|
+
/** 差异计数四格(#817 ⑥分隔符不懒政):原来把「缺— 多— 异— 待确认—」四段标签+空值挤成一行正文,
|
|
52
|
+
* 靠空格与破折号断句;改成四个字段位(标签在上、值在下),空值照全批口径如实写「—」。
|
|
53
|
+
* 需数据:信封 `data.items[]` 只带 `{name:'盘点#N 范围', count}`,四计数由命令侧增补(同上「发生时间」)。 */
|
|
54
|
+
const DIFF_SLOTS = ['缺', '多', '异', '待确认'];
|
|
55
|
+
const CSS = '.hero{background:linear-gradient(180deg,#fff,#f8fbff);border-radius:20px;padding:22px;margin:14px 0}'
|
|
56
|
+
+ '.eyebrow{color:#007aff;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}'
|
|
57
|
+
+ '.lead{color:#6e6e73;font-size:14px}'
|
|
58
|
+
+ '.sec{background:#fff;border-radius:16px;padding:18px;margin:14px 0}'
|
|
59
|
+
+ '.sec h2{font-size:17px;margin-bottom:10px}'
|
|
60
|
+
+ 'summary{min-height:44px;display:flex;align-items:center;cursor:pointer}'
|
|
61
|
+
+ '.rec{border:1px solid #eef0f4;border-radius:14px;padding:14px;margin:10px 0}'
|
|
62
|
+
+ '.rec .top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}'
|
|
63
|
+
+ '.rec .nm{font-weight:700;font-size:15px}'
|
|
64
|
+
+ '.pill{display:inline-block;border:1px solid #d2d2d7;background:#fbfbfd;border-radius:999px;padding:3px 9px;margin:2px;font-size:12px}'
|
|
65
|
+
+ '.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:14px;margin-top:8px}'
|
|
66
|
+
+ '.kv dt{color:#86868b}.kv dd{color:#1d1d1f}'
|
|
67
|
+
+ '.detail{display:none;margin-top:10px;border-top:1px solid #ececf1;padding-top:10px;font-size:13px;color:#6e6e73}'
|
|
68
|
+
+ '.counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 0}'
|
|
69
|
+
+ '.cnt{background:#f8f9fb;border:1px solid #eef0f4;border-radius:12px;padding:8px 6px;text-align:center}'
|
|
70
|
+
+ '.cnt b{display:block;font-size:12px;color:#86868b;font-weight:600;margin-bottom:2px}'
|
|
71
|
+
+ '.cnt span{font-size:15px;font-weight:700;color:#1d1d1f}'
|
|
72
|
+
+ '.btnrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}'
|
|
73
|
+
+ '.btnrow.two{grid-template-columns:1fr 1fr}'
|
|
74
|
+
+ '.btn{border:none;background:#007aff;color:#fff;border-radius:999px;padding:10px 12px;font-weight:700;cursor:pointer;font-size:13.5px;min-height:44px}'
|
|
75
|
+
+ '.btn.ghost{background:#fff;color:#007aff;border:1.5px solid #007aff}'
|
|
76
|
+
+ '.empty{color:#86868b;padding:12px 0}'
|
|
77
|
+
+ 'details{margin:14px 0;font-size:13px;color:#6e6e73}'
|
|
78
|
+
+ 'pre{white-space:pre-wrap;word-break:break-all;background:#f8f9fb;border-radius:10px;padding:10px;font-size:12px}'
|
|
79
|
+
+ '@media(max-width:820px){.hero{padding:18px 14px}.sec{padding:14px}.btnrow{grid-template-columns:1fr}}';
|
|
80
|
+
const JS = 'function copyText(t){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t);}else{var ta=document.createElement("textarea");ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand("copy");}catch(e){}document.body.removeChild(ta);}}'
|
|
81
|
+
+ 'function toggleDetail(btn){var d=btn.parentNode.previousElementSibling;if(d&&d.classList.contains("detail"))d.style.display=(d.style.display==="block")?"none":"block";}'
|
|
82
|
+
+ 'function recCmd(btn,kind){var id=btn.dataset.r||"";var sc=btn.dataset.sc||"全屋";'
|
|
83
|
+
+ 'if(kind==="diff")copyText("请加载「居家管家」技能,帮我处理盘点差异(唤醒词:差异处理):\\n\\n 记 录: 记录"+id+"(先查看该记录缺多异清单,再逐项处理)");'
|
|
84
|
+
+ 'else if(kind==="re")copyText("请加载「居家管家」技能,帮我盘点(唤醒词:盘点):\\n\\n 范 围: "+sc+"\\n 重点: 上次盘点记录"+id+"缺的件,请重点核对是否找到");'
|
|
85
|
+
+ 'else if(kind==="start")copyText("请加载「居家管家」技能,帮我盘点(唤醒词:盘点):\\n\\n 范 围: ______");}'
|
|
86
|
+
+ 'function recLog(){var d=new Date();function p(n){return (n<10?"0":"")+n;}var xs=[];document.querySelectorAll(".rec").forEach(function(r){var nm=r.querySelector(".nm");var pill=r.querySelector(".pill");xs.push((nm?nm.textContent:"")+(pill?"("+pill.textContent+")":""));});copyText("盘点记录|"+d.getFullYear()+"-"+p(d.getMonth()+1)+"-"+p(d.getDate())+" "+p(d.getHours())+":"+p(d.getMinutes())+":"+p(d.getSeconds())+"|共"+xs.length+"条"+(xs.length?"|"+xs.join("、"):""));}';
|
|
87
|
+
function str(v) { return typeof v === 'string' ? v : ''; }
|
|
88
|
+
// 信封条目形如“盘点#1 全屋”+count=规模:解析记录号、范围与规模。
|
|
89
|
+
// 范围词中文化(all→全屋,location→按位置;机审英文裸词行零容忍,原文只进数据原文)。
|
|
90
|
+
function parseRow(name, count) {
|
|
91
|
+
const m = str(name).match(/盘点#(\d+)\s*(.*)/);
|
|
92
|
+
const raw = m ? m[2].trim() : '';
|
|
93
|
+
const scope = raw === '' || raw === 'all' ? '全屋' : raw === 'location' ? '按位置' : raw;
|
|
94
|
+
return {
|
|
95
|
+
id: m ? m[1] : '—',
|
|
96
|
+
scope,
|
|
97
|
+
total: typeof count === 'number' ? count : 0,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// 装配入口:真 envelope(真命令链产出)+本族模板 → 记录列表真页面。
|
|
101
|
+
// fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
|
|
102
|
+
export function renderFamilyPage(env, ctx) {
|
|
103
|
+
const template = readFileSync(new URL('../../../templates/items/inventory_records.html', import.meta.url), 'utf8');
|
|
104
|
+
const data = (env.data ?? {});
|
|
105
|
+
const rawItems = Array.isArray(data.items) ? data.items : [];
|
|
106
|
+
const rows = rawItems.map((c) => parseRow(str(c.name), c.count));
|
|
107
|
+
// 发生时间/记录状态需数据:信封只带记录号、范围与规模(时间与差异计数由命令侧增补),两格保持「—」。
|
|
108
|
+
const cards = rows.map((r) => '<div class="rec"><div class="top"><span class="nm">记录' + escapeHtml(r.id) + '</span>'
|
|
109
|
+
+ '<span class="pill">' + escapeHtml(r.scope) + '</span>'
|
|
110
|
+
+ '<span class="pill">规模' + r.total + '条</span></div>'
|
|
111
|
+
+ '<dl class="kv"><dt>发生时间</dt><dd>—</dd>'
|
|
112
|
+
+ '<dt>记录状态</dt><dd>—</dd></dl>'
|
|
113
|
+
// #890(⑥分隔符不懒政):折叠区里原先是「记录4缺— 多— 异— 待确认—」——四段标签+空值靠
|
|
114
|
+
// 空格与破折号挤成一行正文。DIFF_SLOTS 与 `.counts`/`.cnt` 这套四格字段位本页早就有了
|
|
115
|
+
// (见下面「差异计数」那一段),这里改成同一套,折叠区与汇总区同一个形状。
|
|
116
|
+
+ '<div class="detail"><div class="counts">'
|
|
117
|
+
+ DIFF_SLOTS.map((k) => '<div class="cnt"><b>' + k + '</b><span>—</span></div>').join('')
|
|
118
|
+
+ '</div></div>'
|
|
119
|
+
+ '<div class="btnrow"><button class="btn ghost" onclick="toggleDetail(this)">展开详情</button>'
|
|
120
|
+
+ '<button class="btn ghost" data-r="' + escapeHtml(r.id) + '" onclick="recCmd(this,\'diff\')">处理差异</button>'
|
|
121
|
+
+ '<button class="btn ghost" data-r="' + escapeHtml(r.id) + '" data-sc="' + escapeHtml(r.scope) + '" onclick="recCmd(this,\'re\')">复查</button>'
|
|
122
|
+
+ '</div></div>').join('');
|
|
123
|
+
const body = rows.length > 0 ? cards : '<div class="empty">还没有盘点记录</div>';
|
|
124
|
+
const content = '<div class="hero"><p class="eyebrow">查看</p><p class="lead">留痕与复查闭环,缺件下次置顶</p></div>'
|
|
125
|
+
+ '<section class="sec" data-block="fields" data-need="' + NEED.fields + '"><h2>历史盘点共' + (typeof data.total === 'number' ? data.total : rows.length) + '条</h2>'
|
|
126
|
+
+ body
|
|
127
|
+
+ '<h2>差异计数</h2><div class="counts">'
|
|
128
|
+
+ DIFF_SLOTS.map((k) => '<div class="cnt"><b>' + k + '</b><span>—</span></div>').join('')
|
|
129
|
+
+ '</div></section>'
|
|
130
|
+
// #817(②层级清):原来把判据件的状态枚举「进行中/已完成/已处理/已复查」当正文摆在页尾;记录状态
|
|
131
|
+
// 值位由命令侧增补,当刻四张卡的状态全写「—」,枚举上屏既无值可筛也无值可对,故收进判据槽(`hidden`,
|
|
132
|
+
// `data-block`/`data-need` 原样在位)。改真筛选控件要数据层先给每条记录的状态。
|
|
133
|
+
+ '<section class="sec" data-block="status" data-need="' + NEED.status + '" hidden></section>'
|
|
134
|
+
+ '<section class="sec" data-block="operations" data-need="' + NEED.operations + '"><h2>动作</h2>'
|
|
135
|
+
+ '<div class="btnrow two"><button class="btn ghost" onclick="recCmd(this,\'start\')">开始盘点</button>'
|
|
136
|
+
+ '</div>'
|
|
137
|
+
+ homeCopyArea({
|
|
138
|
+
data: { envelope: env },
|
|
139
|
+
log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
|
|
140
|
+
})
|
|
141
|
+
+ '</section>'
|
|
142
|
+
+ '<section class="sec" data-block="empty" data-need="' + NEED.empty + '" hidden></section>'
|
|
143
|
+
+ '<details><summary>数据原文</summary><pre class="pre-block-code" id="raw">' + escapeHtml(JSON.stringify(env.data ?? {})) + '</pre></details>'
|
|
144
|
+
+ '<style>' + CSS + '</style><script>' + JS + '</script>';
|
|
145
|
+
return fillTemplate(template, content);
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=inventory_records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_records.js","sourceRoot":"","sources":["../../../src/items/pages/inventory_records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Envelope } from 'base-link-core';
|
|
2
|
+
export declare const FAMILY: "inventory_round";
|
|
3
|
+
export declare const PAGE_META: {
|
|
4
|
+
readonly domain: "items";
|
|
5
|
+
readonly family: "inventory_round";
|
|
6
|
+
readonly key: "home.inventory.round";
|
|
7
|
+
readonly shape: "receipt";
|
|
8
|
+
readonly preset: Record<string, unknown>;
|
|
9
|
+
readonly rows: readonly {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly preset: Record<string, unknown>;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare const REQUIRED_BLOCKS: {
|
|
15
|
+
readonly fields: readonly string[];
|
|
16
|
+
readonly operations: readonly string[];
|
|
17
|
+
readonly empty: readonly string[];
|
|
18
|
+
readonly status: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function renderFamilyPage(env: Envelope, ctx?: {
|
|
21
|
+
readonly command?: string;
|
|
22
|
+
readonly actionAt?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
//# sourceMappingURL=inventory_round.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_round.d.ts","sourceRoot":"","sources":["../../../src/items/pages/inventory_round.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,iBAA0B,CAAC;AAEjD,eAAO,MAAM,SAAS;;;;;qBAKM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACiB,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACvI,CAAC;AAEX,eAAO,MAAM,eAAe,EAmCvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AA4DF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAqCvH"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// items能力·inventory_round真页面(#808 域票填内容,6-1 盘点)。
|
|
2
|
+
//
|
|
3
|
+
// 信息结构对齐老 `物品/inventory_round.html`:范围+待复查置顶+核对清单三态+修正。
|
|
4
|
+
// 命令回执只带记录标识与规模(明细条目由命令侧增补后展开,见域对账说明),本页按
|
|
5
|
+
// 回执如实呈现任务单:范围、规模、三态判定、修正入口、提交话术。
|
|
6
|
+
// 必需块原文=契约附录:核对清单(ID/位置/数量/状态)含拉丁字符,只进 data-need 属性。
|
|
7
|
+
import { readFileSync } from 'node:fs';
|
|
8
|
+
import { fillTemplate, escapeHtml, homeCopyArea, homeCopyLog, homeNowStamp } from '../../render/index.js';
|
|
9
|
+
export const FAMILY = 'inventory_round';
|
|
10
|
+
export const PAGE_META = {
|
|
11
|
+
domain: 'items',
|
|
12
|
+
family: FAMILY,
|
|
13
|
+
key: 'home.inventory.round',
|
|
14
|
+
shape: 'receipt',
|
|
15
|
+
preset: { "op": "round" },
|
|
16
|
+
rows: [{ "key": "home.inventory.round", "preset": { "op": "round" } }],
|
|
17
|
+
};
|
|
18
|
+
export const REQUIRED_BLOCKS = {
|
|
19
|
+
"empty": [
|
|
20
|
+
"空态:范围内没有物品",
|
|
21
|
+
"异常:数据解析失败"
|
|
22
|
+
],
|
|
23
|
+
"fields": [
|
|
24
|
+
"范围",
|
|
25
|
+
"上次待复查(置顶)",
|
|
26
|
+
"核对清单(ID/位置/数量/状态)",
|
|
27
|
+
"三态判定",
|
|
28
|
+
"数量修正",
|
|
29
|
+
"状态修正(下拉)",
|
|
30
|
+
"新位置"
|
|
31
|
+
],
|
|
32
|
+
"operations": [
|
|
33
|
+
"在/不在/不确定",
|
|
34
|
+
"发现清单外物品",
|
|
35
|
+
"状态不变+状态下拉",
|
|
36
|
+
"保存进度",
|
|
37
|
+
"确认提交(含差异)",
|
|
38
|
+
"复制数据",
|
|
39
|
+
"复制日志"
|
|
40
|
+
],
|
|
41
|
+
"status": [
|
|
42
|
+
"在",
|
|
43
|
+
"不在",
|
|
44
|
+
"不确定",
|
|
45
|
+
"状态不变",
|
|
46
|
+
"在家",
|
|
47
|
+
"备用",
|
|
48
|
+
"借用中",
|
|
49
|
+
"维修中",
|
|
50
|
+
"找不到",
|
|
51
|
+
"已废弃"
|
|
52
|
+
]
|
|
53
|
+
};
|
|
54
|
+
const NEED = {
|
|
55
|
+
fields: '范围|上次待复查(置顶)|核对清单(ID/位置/数量/状态)|三态判定|数量修正|状态修正(下拉)|新位置',
|
|
56
|
+
operations: '在/不在/不确定|发现清单外物品|状态不变+状态下拉|保存进度|确认提交(含差异)|复制数据|复制日志',
|
|
57
|
+
empty: '空态:范围内没有物品|异常:数据解析失败',
|
|
58
|
+
status: '在|不在|不确定|状态不变|在家|备用|借用中|维修中|找不到|已废弃',
|
|
59
|
+
};
|
|
60
|
+
const CSS = '.hero{background:linear-gradient(180deg,#fff,#f6fbf7);border-radius:20px;padding:22px;margin:14px 0}'
|
|
61
|
+
+ '.eyebrow{color:#34c759;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:6px}'
|
|
62
|
+
+ '.lead{color:#6e6e73;font-size:14px}'
|
|
63
|
+
+ '.sec{background:#fff;border-radius:16px;padding:18px;margin:14px 0}'
|
|
64
|
+
+ '.sec h2{font-size:17px;margin-bottom:10px}.sec h3{font-size:15px;margin:12px 0 8px}'
|
|
65
|
+
+ 'summary{min-height:44px;display:flex;align-items:center;cursor:pointer}'
|
|
66
|
+
+ '.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:14px}'
|
|
67
|
+
+ '.kv dt{color:#86868b}.kv dd{color:#1d1d1f}'
|
|
68
|
+
+ '.trio{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}'
|
|
69
|
+
+ '.tri{border:1.5px solid #d2d2d7;background:#fff;border-radius:999px;padding:8px 20px;font-size:14px;cursor:pointer;min-height:44px}'
|
|
70
|
+
+ '.tri.on{font-weight:800;color:#fff}'
|
|
71
|
+
+ '.tri[data-v="在"].on{background:#34c759;border-color:#34c759}'
|
|
72
|
+
+ '.tri[data-v="不在"].on{background:#ff3b30;border-color:#ff3b30}'
|
|
73
|
+
+ '.tri[data-v="不确定"].on{background:#ff9500;border-color:#ff9500}'
|
|
74
|
+
+ '.frow{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px;color:#1d1d1f;flex-wrap:wrap}'
|
|
75
|
+
+ '.frow input,.frow select{padding:9px 12px;border:1.5px solid #d2d2d7;border-radius:10px;font-size:14px;background:#fff;color:#1d1d1f;min-height:44px}'
|
|
76
|
+
+ '.btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}'
|
|
77
|
+
+ '.btn{border:none;background:#007aff;color:#fff;border-radius:999px;padding:10px 12px;font-weight:700;cursor:pointer;font-size:13.5px;min-height:44px}'
|
|
78
|
+
+ '.btn.ghost{background:#fff;color:#007aff;border:1.5px solid #007aff}'
|
|
79
|
+
+ '.btn.green{background:#34c759}'
|
|
80
|
+
+ '.empty{color:#86868b;padding:12px 0}'
|
|
81
|
+
+ '.pill{display:inline-block;border:1px solid #d2d2d7;border-radius:999px;padding:3px 9px;font-size:12px;margin:2px}'
|
|
82
|
+
+ 'details{margin:14px 0;font-size:13px;color:#6e6e73}'
|
|
83
|
+
+ 'pre{white-space:pre-wrap;word-break:break-all;background:#f8f9fb;border-radius:10px;padding:10px;font-size:12px}'
|
|
84
|
+
+ '@media(max-width:820px){.hero{padding:18px 14px}.sec{padding:14px}.btnrow{grid-template-columns:1fr}}';
|
|
85
|
+
const JS = 'function copyText(t){if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t);}else{var ta=document.createElement("textarea");ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand("copy");}catch(e){}document.body.removeChild(ta);}}'
|
|
86
|
+
+ 'function setTri(btn){var box=btn.parentNode;box.querySelectorAll(".tri").forEach(function(x){x.classList.remove("on");});btn.classList.add("on");}'
|
|
87
|
+
+ 'function roundCmd(kind){var rec=document.getElementById("recid").textContent;var scope=document.getElementById("scope").textContent;'
|
|
88
|
+
+ 'if(kind==="extra")copyText("请加载「居家管家」技能,帮我盘点(唤醒词:盘点):\\n\\n 清单外物品: ______");'
|
|
89
|
+
+ 'else if(kind==="save")copyText("请加载「居家管家」技能,帮我继续盘点(唤醒词:盘点):\\n\\n 记 录: "+rec+"\\n 范 围: "+scope);'
|
|
90
|
+
+ 'else if(kind==="commit")copyText("请加载「居家管家」技能,帮我完成盘点(唤醒词:盘点):\\n\\n 记 录: "+rec+"\\n 在: ______\\n 不在: ______\\n 不确定: ______");'
|
|
91
|
+
+ 'else if(kind==="records")copyText("请加载「居家管家」技能,帮我查看盘点记录(唤醒词:盘点记录):");}'
|
|
92
|
+
+ 'function roundLog(){var d=new Date();function p(n){return (n<10?"0":"")+n;}var g=function(i){return document.getElementById(i).textContent;};copyText("盘点|"+d.getFullYear()+"-"+p(d.getMonth()+1)+"-"+p(d.getDate())+" "+p(d.getHours())+":"+p(d.getMinutes())+":"+p(d.getSeconds())+"|记录"+g("recid")+"|范围"+g("scope")+"|清单"+g("total"));}';
|
|
93
|
+
function str(v) {
|
|
94
|
+
return typeof v === 'string' ? v : '';
|
|
95
|
+
}
|
|
96
|
+
// 回执形如“已盘点:#4 全屋 共 62 条位置记录”:解析记录号、范围与规模。
|
|
97
|
+
// 范围词中文化(all→全屋,location→按位置;机审英文裸词行零容忍,原文只进数据原文)。
|
|
98
|
+
function parseRound(message) {
|
|
99
|
+
const m = message.match(/盘点:#(\d+)\s*(\S+)?\s*共\s*(\d+)\s*条/);
|
|
100
|
+
if (!m)
|
|
101
|
+
return { id: '—', scope: '全屋', total: '—' };
|
|
102
|
+
const raw = m[2] ?? '';
|
|
103
|
+
const scope = raw === '' || raw === 'all' ? '全屋' : raw === 'location' ? '按位置' : raw;
|
|
104
|
+
return { id: m[1], scope, total: m[3] };
|
|
105
|
+
}
|
|
106
|
+
// 装配入口:真 envelope(真命令链产出)+本族模板 → 盘点任务单真页面。
|
|
107
|
+
// fail-closed:模板缺失/标记异常(fillTemplate 内抛)不返空页。
|
|
108
|
+
export function renderFamilyPage(env, ctx) {
|
|
109
|
+
const template = readFileSync(new URL('../../../templates/items/inventory_round.html', import.meta.url), 'utf8');
|
|
110
|
+
const data = (env.data ?? {});
|
|
111
|
+
const round = parseRound(str(data.message));
|
|
112
|
+
const empty = round.total === '0';
|
|
113
|
+
const content = '<div class="hero"><p class="eyebrow">填写后确认完成</p>'
|
|
114
|
+
// 三态词之间给足分隔(此前连写成「在不在不确定」,读起来有歧义:#817 seq 25 的 ⑥)。
|
|
115
|
+
+ '<p class="lead">逐件确认:在/不在/不确定;数量不同即为异</p></div>'
|
|
116
|
+
+ '<section class="sec" data-block="fields" data-need="' + NEED.fields + '"><h2>范围</h2>'
|
|
117
|
+
+ '<dl class="kv"><dt>盘点范围</dt><dd id="scope">' + escapeHtml(round.scope) + '</dd>'
|
|
118
|
+
+ '<dt>所属记录</dt><dd>记录<span id="recid">' + escapeHtml(round.id) + '</span></dd>'
|
|
119
|
+
+ '<dt>清单规模</dt><dd id="total">共' + escapeHtml(round.total) + '条位置记录</dd></dl></section>'
|
|
120
|
+
+ '<section class="sec"><h2>上次待复查置顶</h2><div class="empty">—</div>'
|
|
121
|
+
+ '<div class="btnrow"><button class="btn ghost" onclick="roundCmd(\'records\')">查看盘点记录</button></div></section>'
|
|
122
|
+
+ '<section class="sec"><h2>核对清单</h2>' + (empty ? '<div class="empty">范围内没有物品</div>' : '<div class="empty">—</div>')
|
|
123
|
+
+ '<h3>三态判定</h3><div class="trio"><button class="tri" data-v="在" onclick="setTri(this)">在</button>'
|
|
124
|
+
+ '<button class="tri" data-v="不在" onclick="setTri(this)">不在</button>'
|
|
125
|
+
+ '<button class="tri" data-v="不确定" onclick="setTri(this)">不确定</button></div>'
|
|
126
|
+
+ '<div class="frow">状态修正:<select><option>状态不变</option><option>在家</option><option>备用</option><option>借用中</option><option>维修中</option><option>找不到</option><option>已废弃</option></select></div>'
|
|
127
|
+
+ '<div class="frow">数量修正:<input type="number" placeholder="数量修正选填"></div>'
|
|
128
|
+
+ '<div class="frow">新位置:<input placeholder="新位置选填"></div>'
|
|
129
|
+
+ '<div class="btnrow"><button class="btn ghost" onclick="roundCmd(\'extra\')">发现清单外物品</button>'
|
|
130
|
+
+ '<button class="btn ghost" onclick="roundCmd(\'save\')">保存进度</button>'
|
|
131
|
+
+ '<button class="btn green" onclick="roundCmd(\'commit\')">确认提交含差异</button>'
|
|
132
|
+
+ '</div>'
|
|
133
|
+
+ homeCopyArea({
|
|
134
|
+
data: { envelope: env },
|
|
135
|
+
log: { envelope: env, copyLog: homeCopyLog({ command: ctx?.command ?? 'home-cmd-read ' + PAGE_META.key, actionAt: ctx?.actionAt ?? homeNowStamp() }) },
|
|
136
|
+
})
|
|
137
|
+
+ '</section>'
|
|
138
|
+
+ '<section class="sec" data-block="operations" data-need="' + NEED.operations + '" hidden></section>'
|
|
139
|
+
+ '<section class="sec" data-block="status" data-need="' + NEED.status + '" hidden></section>'
|
|
140
|
+
+ '<section class="sec" data-block="empty" data-need="' + NEED.empty + '" hidden></section>'
|
|
141
|
+
+ '<details><summary>数据原文</summary><pre class="pre-block-code" id="raw">' + escapeHtml(JSON.stringify(env.data ?? {})) + '</pre></details>'
|
|
142
|
+
+ '<style>' + CSS + '</style><script>' + JS + '</script>';
|
|
143
|
+
return fillTemplate(template, content);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=inventory_round.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory_round.js","sourceRoot":"","sources":["../../../src/items/pages/inventory_round.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Envelope } from 'base-link-core';
|
|
2
|
+
export declare const FAMILY: "locate";
|
|
3
|
+
export declare const PAGE_META: {
|
|
4
|
+
readonly domain: "items";
|
|
5
|
+
readonly family: "locate";
|
|
6
|
+
readonly key: "home.item.search";
|
|
7
|
+
readonly shape: "list";
|
|
8
|
+
readonly preset: Record<string, unknown>;
|
|
9
|
+
readonly rows: readonly {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly preset: Record<string, unknown>;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare const REQUIRED_BLOCKS: {
|
|
15
|
+
readonly fields: readonly string[];
|
|
16
|
+
readonly operations: readonly string[];
|
|
17
|
+
readonly empty: readonly string[];
|
|
18
|
+
readonly status: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function renderFamilyPage(env: Envelope, ctx?: {
|
|
21
|
+
readonly command?: string;
|
|
22
|
+
readonly actionAt?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
//# sourceMappingURL=locate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../../src/items/pages/locate.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,MAAM,EAAG,QAAiB,CAAC;AAExC,eAAO,MAAM,SAAS;;;;;qBAKO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACa,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;CACpI,CAAC;AAEX,eAAO,MAAM,eAAe,EAmBvB;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AA4DF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAsCvH"}
|