全局表单规范:标签用主题色加粗、两排版式、必填红色无星号 #53

Open
opened 2026-11-05 04:40:32 +00:00 by laoyang · 0 comments
Owner

全局表单规范:标签用主题色加粗、两排版式、必填红色无星号

用户定的全局规范(2026-11-05)

「你记住,以后我们所有的功能全部都这样:

  1. 点击名册里面的"添加",姓名之类的内容全部都按这种形式显示。
    它会按照主题色,加粗大一点显示。所有地方都需要这样改。
  2. 另外一个问题是,为了解决字数原因导致输入框左右来回对不齐的问题,
    我们全部按两排来显示:第一排显示片名,因为是必选必填,所以用红色;
    下一行开始是片名的输入框,以及开始时间、结束时间的输入框,
    全部放在下一行,这样一列下来就行了。」

规则

项 规则
标签颜色 主题色 accent
标签字重 Bold
标签字号 fontSmall(比正文大一号)
必填标记 红色 #C0533F,不加星号
版式 标签独占第一排,控件第二排整宽

为什么两排能解决对齐

原来 标签 | 输入框 同行时,标签宽度由字数决定:

姓名        [__________]     ← 标签 2 字,输入框起点靠左
我对他的称呼 [__________]     ← 标签 6 字,输入框起点靠右

⇒ 整列左右错开,很难看。

标签独占一行后,所有控件都从同一左边缘开始,与标签字数无关 ⇒ 天然对齐。

必填标记的问题

原来名册是这样传的:

this.field('姓名', this.fName, '必填', onChange)
//                            ↑ hint(placeholder)

「必填」是当 placeholder 传的 —— 只在输入框里显示灰字,
既不是红色、也不在标签上,用户看不出哪个字段必填。

⇒ 改成独立的 req 参数,标签本身变红。

改动清单

文件 改动
FbPersonEditSheet.ets field() 改两排 + 主题色 Bold + req 参数
FbTripNodeSheet.ets labelRow() 主题色 Bold(前一轮已改);标题「编辑行程」也改
FbMovieNewSheet.ets 待改:titleField() 等字段块仍是旧版式

验收

  • 名册「姓名」标签 = 绿色 Bold,输入框在下一行
  • 「编辑行程」标题 = 主题色 Bold
  • 电影表单所有字段改两排(待做)
  • 其它表单(待办、资源、账本…)铺开(待做)

备注

这条规范已写入项目长期记忆:
workbuddy_memory/memory/projects/familybook/pitfalls.md


为什么单独建单

这是用户新定的跨模块UI规范,不属于任何单张工单:#50/#51 是行程表单的具体bug,本单是「所有表单都要遵守的版式规则」,影响名册/电影/待办/资源等全部模块。

# 全局表单规范:标签用主题色加粗、两排版式、必填红色无星号 ## 用户定的全局规范(2026-11-05) > 「你记住,以后我们所有的功能全部都这样: > 1. 点击名册里面的"添加",姓名之类的内容全部都按这种形式显示。 > 它会按照主题色,加粗大一点显示。**所有地方都需要这样改**。 > 2. 另外一个问题是,为了解决字数原因导致输入框左右来回对不齐的问题, > 我们全部按两排来显示:第一排显示片名,因为是必选必填,所以用红色; > 下一行开始是片名的输入框,以及开始时间、结束时间的输入框, > 全部放在下一行,这样一列下来就行了。」 ## 规则 | 项 | 规则 | |---|---| | 标签颜色 | **主题色** `accent` | | 标签字重 | **Bold** | | 标签字号 | `fontSmall`(比正文大一号) | | 必填标记 | **红色** `#C0533F`,**不加星号** | | 版式 | **标签独占第一排,控件第二排整宽** | ## 为什么两排能解决对齐 原来 `标签 | 输入框` 同行时,标签宽度由**字数**决定: ``` 姓名 [__________] ← 标签 2 字,输入框起点靠左 我对他的称呼 [__________] ← 标签 6 字,输入框起点靠右 ``` ⇒ 整列左右错开,很难看。 标签独占一行后,所有控件都从**同一左边缘**开始,与标签字数无关 ⇒ 天然对齐。 ## 必填标记的问题 原来名册是这样传的: ```typescript this.field('姓名', this.fName, '必填', onChange) // ↑ hint(placeholder) ``` **「必填」是当 placeholder 传的** —— 只在输入框里显示灰字, 既不是红色、也不在标签上,用户看不出哪个字段必填。 ⇒ 改成独立的 `req` 参数,标签本身变红。 ## 改动清单 | 文件 | 改动 | |---|---| | `FbPersonEditSheet.ets` | `field()` 改两排 + 主题色 Bold + `req` 参数 | | `FbTripNodeSheet.ets` | `labelRow()` 主题色 Bold(前一轮已改);标题「编辑行程」也改 | | `FbMovieNewSheet.ets` | **待改**:`titleField()` 等字段块仍是旧版式 | ## 验收 - [x] 名册「姓名」标签 = 绿色 Bold,输入框在下一行 - [x] 「编辑行程」标题 = 主题色 Bold - [ ] 电影表单所有字段改两排(**待做**) - [ ] 其它表单(待办、资源、账本…)铺开(**待做**) ## 备注 这条规范已写入项目长期记忆: `workbuddy_memory/memory/projects/familybook/pitfalls.md` --- ### 为什么单独建单 这是用户新定的跨模块UI规范,不属于任何单张工单:#50/#51 是行程表单的具体bug,本单是「所有表单都要遵守的版式规则」,影响名册/电影/待办/资源等全部模块。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#53