鸿蒙任务面板:看板平铺、截止负责人备注可改、附件预览下载、留言图标化 #77

Open
opened 2026-11-05 11:06:33 +00:00 by laoyang · 0 comments
Owner

鸿蒙任务面板:看板平铺、截止/负责人/备注可改、附件预览下载、留言图标化

用户(2026-11-05,鸿蒙版首页任务弹窗)

  1. 父级看板让它平铺下来,不要左右滑动了。参考旅程模块行程类型和出行方式
  2. 截止日期需要可以修改
  3. 截止日期下面还有一个看板,这个没必要,直接删除
  4. 负责人可以修改,备注也要修改
  5. 共享给谁 → 统一改叫「协作人」
  6. 附件不能预览也不能下载,需要加上
  7. 加图片 → 改成「添加附件」
  8. 留言那个地方需要是图标
  9. 负责人那个地方需要有图标(人的头像)
  10. 下面说一句「回车发送」
  11. 发送按钮显示不全

⚠️ 这一批是鸿蒙端(FbTaskPanel.ets),不是网页端。

现状(entry/src/main/ets/components/FbTaskPanel.ets,1212 行)

# 现状 位置
1 看板 chips 在 Scroll 里横向滚动 boardChips() 716 行
2 截止是 Text 只读 infoRows() 766 行
3 kvRow('看板', ...) 与 chips 重复 infoRows() 791 行
4 负责人/备注是 kvRow 只读 infoRows() 794 / 803 行
5 标题写「共享给谁」 shareSection() 822 行
6 附件只有缩略图 + 删除角标 attachCell() 1023 行
7 按钮文案「+ 加图片」 attachSection() 994 行
8 「留言」是文字标题 commentSection() 1080 行
9 负责人是纯文字 infoRows()
10 placeholder 有「回车发送」 1148 行(要改成独立说明)
11 发送按钮 width(56) 定宽,可能被挤 1155 行

改法

1. 看板平铺

参考 FbTripNodeSheet.ets:768 的做法:

Flex({ wrap: FlexWrap.Wrap }) {
  // chips
}
.width('100%')

判据与旅程一致:≤6 项换行平铺,>6 项才横滑。当前只有 4 个看板(默认 + 3 个),
所以走平铺分支。

⚠️ boardChip 现在是 Row + padding,放进 Flex(wrap) 要补 margin 做间距
(Row 的 space 在 Flex 里不生效)。

2/3/4. 截止、负责人、备注可改;删掉重复的看板行

  • 删 kvRow('看板', ...)(上面 chips 已经表达得很清楚)
  • 截止:改成可点击 → 弹日期选择
  • 负责人:改成可点击 → 弹选人
  • 备注:改成可编辑文本框

⚠️ 鸿蒙端已有 FbTaskEditSheet(完整编辑表单),也已有 updateTask()。
不能整张表单搬过来,用户要的是"在这个面板里就地改"。
⇒ 每个字段单独保存(调 updateTask 时把其余字段按原值带上,避免覆盖)。

5. 「共享给谁」→「协作人」

shareSection() 里的标题文字。

6. 附件预览 + 下载

  • 图片:点击 → 全屏预览(Image 放大,支持关闭)
  • 非图片:点击 → 下载 / 用系统应用打开

⚠️ 端上没有现成的全屏看图组件,要自己做一个轻量浮层。
⚠️ 下载需要 file 能力,走已有的 FbAttachQueue 逻辑或系统下载。

7. 「+ 加图片」→「+ 添加附件」

attachSection() 的按钮文案。注意 pickAttach() 现在可能只选了图片
(要确认它是否支持任意文件)。

8/9. 留言图标、负责人头像

  • 留言区标题加 💬 类图标
  • 负责人前面显示头像(fbImageSrc + person.avatarKey)

10/11. 「回车发送」说明 + 发送按钮显示不全

  • placeholder 里去掉「回车发送」,改成输入框下面一行小字说明
  • 发送按钮定宽 56 改为自适应(constraintSize 或 layoutWeight),并留够内边距

验收

  • 看板全部平铺可见,不用左右滑
  • 截止日期能点开改,改完立即生效
  • 截止下面没有重复的「看板」行
  • 负责人能点开改,前面有头像
  • 备注能改
  • 标题叫「协作人」
  • 附件点击能预览(图)/ 下载(文件)
  • 按钮叫「添加附件」
  • 留言区有图标
  • 有「回车发送」说明文字
  • 发送按钮完整显示

为什么单独建单

与 #78/#79/#80/#81 都不同:那些改的是网页端 tasks/_panel.php;本单是鸿蒙端 entry/src/main/ets/components/FbTaskPanel.ets,文件与验收载体完全不同。

# 鸿蒙任务面板:看板平铺、截止/负责人/备注可改、附件预览下载、留言图标化 ## 用户(2026-11-05,鸿蒙版首页任务弹窗) > 1. 父级看板让它平铺下来,不要左右滑动了。参考旅程模块行程类型和出行方式 > 2. 截止日期需要可以修改 > 3. 截止日期下面还有一个看板,这个没必要,直接删除 > 4. 负责人可以修改,备注也要修改 > 5. 共享给谁 → 统一改叫「协作人」 > 6. 附件不能预览也不能**下载**,需要加上 > 7. 加图片 → 改成「添加附件」 > 8. 留言那个地方需要是图标 > 9. 负责人那个地方需要有图标(人的头像) > 10. 下面说一句「回车发送」 > 11. 发送按钮显示不全 ⚠️ 这一批是**鸿蒙端**(`FbTaskPanel.ets`),不是网页端。 ## 现状(`entry/src/main/ets/components/FbTaskPanel.ets`,1212 行) | # | 现状 | 位置 | |---|---|---| | 1 | 看板 chips 在 `Scroll` 里横向滚动 | `boardChips()` 716 行 | | 2 | 截止是 `Text` 只读 | `infoRows()` 766 行 | | 3 | `kvRow('看板', ...)` 与 chips 重复 | `infoRows()` 791 行 | | 4 | 负责人/备注是 `kvRow` 只读 | `infoRows()` 794 / 803 行 | | 5 | 标题写「共享给谁」 | `shareSection()` 822 行 | | 6 | 附件只有缩略图 + 删除角标 | `attachCell()` 1023 行 | | 7 | 按钮文案「+ 加图片」 | `attachSection()` 994 行 | | 8 | 「留言」是文字标题 | `commentSection()` 1080 行 | | 9 | 负责人是纯文字 | `infoRows()` | | 10 | placeholder 有「回车发送」 | 1148 行(要改成独立说明) | | 11 | 发送按钮 `width(56)` 定宽,可能被挤 | 1155 行 | ## 改法 ### 1. 看板平铺 参考 `FbTripNodeSheet.ets:768` 的做法: ```typescript Flex({ wrap: FlexWrap.Wrap }) { // chips } .width('100%') ``` 判据与旅程一致:**≤6 项换行平铺,>6 项才横滑**。当前只有 4 个看板(默认 + 3 个), 所以走平铺分支。 ⚠️ `boardChip` 现在是 `Row` + `padding`,放进 `Flex(wrap)` 要补 `margin` 做间距 (`Row` 的 `space` 在 Flex 里不生效)。 ### 2/3/4. 截止、负责人、备注可改;删掉重复的看板行 - 删 `kvRow('看板', ...)`(上面 chips 已经表达得很清楚) - 截止:改成可点击 → 弹日期选择 - 负责人:改成可点击 → 弹选人 - 备注:改成可编辑文本框 ⚠️ 鸿蒙端已有 `FbTaskEditSheet`(完整编辑表单),也已有 `updateTask()`。 **不能整张表单搬过来**,用户要的是"在这个面板里就地改"。 ⇒ 每个字段单独保存(调 `updateTask` 时把其余字段按原值带上,避免覆盖)。 ### 5. 「共享给谁」→「协作人」 `shareSection()` 里的标题文字。 ### 6. 附件预览 + 下载 - 图片:点击 → 全屏预览(`Image` 放大,支持关闭) - 非图片:点击 → 下载 / 用系统应用打开 ⚠️ 端上没有现成的全屏看图组件,要自己做一个轻量浮层。 ⚠️ 下载需要 `file` 能力,走已有的 `FbAttachQueue` 逻辑或系统下载。 ### 7. 「+ 加图片」→「+ 添加附件」 `attachSection()` 的按钮文案。注意 `pickAttach()` 现在可能只选了图片 (要确认它是否支持任意文件)。 ### 8/9. 留言图标、负责人头像 - 留言区标题加 💬 类图标 - 负责人前面显示头像(`fbImageSrc` + `person.avatarKey`) ### 10/11. 「回车发送」说明 + 发送按钮显示不全 - placeholder 里去掉「回车发送」,改成输入框下面一行小字说明 - 发送按钮定宽 56 改为自适应(`constraintSize` 或 `layoutWeight`),并留够内边距 ## 验收 - [ ] 看板全部平铺可见,不用左右滑 - [ ] 截止日期能点开改,改完立即生效 - [ ] 截止下面没有重复的「看板」行 - [ ] 负责人能点开改,前面有头像 - [ ] 备注能改 - [ ] 标题叫「协作人」 - [ ] 附件点击能预览(图)/ 下载(文件) - [ ] 按钮叫「添加附件」 - [ ] 留言区有图标 - [ ] 有「回车发送」说明文字 - [ ] 发送按钮完整显示 --- ### 为什么单独建单 与 #78/#79/#80/#81 都不同:那些改的是**网页端** tasks/_panel.php;本单是**鸿蒙端** entry/src/main/ets/components/FbTaskPanel.ets,文件与验收载体完全不同。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#77