sqlite-web 0.7.2
gitea.db
action
Create
Query
access
access_token
action
action_artifact
action_run
action_run_index
action_run_job
action_runner
action_runner_token
action_schedule
action_schedule_spec
action_task
action_task_output
action_task_step
action_tasks_version
action_variable
app_state
attachment
auth_token
badge
branch
collaboration
comment
commit_status
commit_status_index
commit_status_summary
commit_sync_log
commit_sync_status
dbfs_data
dbfs_meta
deploy_key
email_address
email_hash
external_login_user
follow
gpg_key
gpg_key_import
hook_task
issue
issue_assignees
issue_content_history
issue_dependency
issue_index
issue_label
issue_pin
issue_user
issue_watch
label
language_stat
lfs_lock
lfs_meta_object
login_source
milestone
mirror
notice
notification
oauth2_application
oauth2_authorization_code
oauth2_grant
org_user
package
package_blob
package_blob_upload
package_cleanup_rule
package_file
package_property
package_version
project
project_board
project_issue
protected_branch
protected_tag
public_key
pull_auto_merge
pull_request
push_mirror
reaction
release
renamed_branch
repo_archiver
repo_hidden_file
repo_indexer_status
repo_license
repo_redirect
repo_topic
repo_transfer
repo_unit
repository
review
review_state
secret
session
sqlite_sequence
star
stopwatch
system_setting
task
team
team_invite
team_repo
team_unit
team_user
topic
tracked_time
two_factor
upload
user
user_badge
user_blocking
user_open_id
user_redirect
user_setting
version
watch
webauthn_credential
webhook
Toggle helper tables
Structure
Content
Query
Insert
Drop
Import
Export
Update row 20283 in action
id
Primary key.
INTEGER NOT NULL
user_id
INTEGER
op_type
INTEGER
act_user_id
INTEGER
repo_id
INTEGER
comment_id
INTEGER
is_deleted
INTEGER NOT NULL (default 0
ref_name
refs/heads/feat/solution-tier-multi-product
TEXT
is_private
INTEGER NOT NULL (default 0
content
{"Commits":[{"Sha1":"815f9b634be98eeea1ead07bc5daaf37dec909e0","Message":"feat(solution): 三档方案支持每档多商品,数量默认取项目包房总数\n\n## 多商品\n契约 `solutionOptionInputSchema.products` 一直是 `.min(1).max(500)`,后端逐条落\nSolutionOptionProduct、转报价桥接逐条转成报价明细、客户页也已在显示「配置 N 项」——\n整条链路早就支持多商品,**只有设计器表单把它写死成单元素数组**,能力在用户唯一\n够得着的那一层被锁掉(同 C25/C26 族:能力挂在哪一层决定它存不存在)。\n\n改法复用仓内既有 AccessoryEditor 模式:选择 + 数量 → 添加成可删除的清单行。\n刻意不用 `\u003cselect multiple\u003e`:每个商品要带自己的数量,多选框表达不了;且 Select\n原语的注释明确禁止把它改造成多选(E2E 按 locator(\"select\") 定位、Capacitor 依赖\n原生选择器)。同档重复添加同一商品累加数量,不并排出现两行肉眼一样的配置。\n\n## 数量默认值\n默认 = 本项目包房总数(kind===\"ROOM\" 的空间数量求和),只预填不锁定。\n回落 1 而非 0:契约 quantity 是 int().positive(),预填 0 会让按钮看着能点、\n提交却被 Zod 挡下(C24 同款:默认值不合法 = 表单永远提交不了)。\nUI 显式写明「数量默认按本项目包房总数 N 间预填,可逐项调整」,不做魔法数字。\n\n## 顺带修掉一个跨项目状态串味\nSolutionDesigner 的已选商品与包房数预填都是挂载时求值的本地状态,\n渲染处此前无 key——切换项目不重挂,会把上一个项目的选择带过去。已加 key={project.id}。\n\n## 证据(本地工作区 2026-08-01)\n- pnpm check exit 0;check:runtime 279/0;check:ui 9/0\n- 端到端读回:推荐档配 2 个商品 → 客户页断言「配置 2 项」→ 成功转成正式报价\n- 负向测试两条均实跑判红后恢复:\n ① addProduct 改为 `products: [line]`(回潮到单商品)→ 恰好 solution-product-row\n 期望 2 实得 1 判红;\n ② roomTotal 改为常量 1 → 恰好 待添加数量 期望 \"8\" 实得 \"1\" 判红\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-01T06:23:24-07:00"}],"HeadCommit":{"Sha1":"815f9b634be98eeea1ead07bc5daaf37dec909e0","Message":"feat(solution): 三档方案支持每档多商品,数量默认取项目包房总数\n\n## 多商品\n契约 `solutionOptionInputSchema.products` 一直是 `.min(1).max(500)`,后端逐条落\nSolutionOptionProduct、转报价桥接逐条转成报价明细、客户页也已在显示「配置 N 项」——\n整条链路早就支持多商品,**只有设计器表单把它写死成单元素数组**,能力在用户唯一\n够得着的那一层被锁掉(同 C25/C26 族:能力挂在哪一层决定它存不存在)。\n\n改法复用仓内既有 AccessoryEditor 模式:选择 + 数量 → 添加成可删除的清单行。\n刻意不用 `\u003cselect multiple\u003e`:每个商品要带自己的数量,多选框表达不了;且 Select\n原语的注释明确禁止把它改造成多选(E2E 按 locator(\"select\") 定位、Capacitor 依赖\n原生选择器)。同档重复添加同一商品累加数量,不并排出现两行肉眼一样的配置。\n\n## 数量默认值\n默认 = 本项目包房总数(kind===\"ROOM\" 的空间数量求和),只预填不锁定。\n回落 1 而非 0:契约 quantity 是 int().positive(),预填 0 会让按钮看着能点、\n提交却被 Zod 挡下(C24 同款:默认值不合法 = 表单永远提交不了)。\nUI 显式写明「数量默认按本项目包房总数 N 间预填,可逐项调整」,不做魔法数字。\n\n## 顺带修掉一个跨项目状态串味\nSolutionDesigner 的已选商品与包房数预填都是挂载时求值的本地状态,\n渲染处此前无 key——切换项目不重挂,会把上一个项目的选择带过去。已加 key={project.id}。\n\n## 证据(本地工作区 2026-08-01)\n- pnpm check exit 0;check:runtime 279/0;check:ui 9/0\n- 端到端读回:推荐档配 2 个商品 → 客户页断言「配置 2 项」→ 成功转成正式报价\n- 负向测试两条均实跑判红后恢复:\n ① addProduct 改为 `products: [line]`(回潮到单商品)→ 恰好 solution-product-row\n 期望 2 实得 1 判红;\n ② roomTotal 改为常量 1 → 恰好 待添加数量 期望 \"8\" 实得 \"1\" 判红\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-01T06:23:24-07:00"},"CompareURL":"luoanwu/juhai-quotation-system/compare/ccbb031fdb47bc913ed2b4ba270c0a49889eb88d...815f9b634be98eeea1ead07bc5daaf37dec909e0","Len":1}
TEXT
created_unix
INTEGER
Update
Cancel