fix(任务): 编号改为 #序号展示、详情页完整编号可复制、修复详情改列报「看板列不存在」

- 列表/看板任务编号徽标改为 `#序号`(如 #18), 移除不再需要的 codePrefix 透传
- 详情页标题下新增完整任务编号胶囊 (项目编号-序号, 如 ADMIN-18), 点按复制:
  Clipboard API 优先, 非安全上下文/旧 WebView 回退 execCommand, 并提示已复制
- 修复详情页「看板列」切换报错: 0.2.1 本地库列 id 为 uuid 字符串,
  ActionSheet 的 key 恒为字符串, 旧代码 Number(key) 得到 NaN ->
  update 校验失败抛「看板列不存在」。改为字符串比对 (currentCol/勾选标记同步)
- 详情页保存后先就地替换该行再回源刷新
This commit is contained in:
jif2.zhang
2026-10-27 10:06:12 +08:00
parent 317072539d
commit 06e9a3e694
8 changed files with 119 additions and 24 deletions
+17
View File
@@ -16,6 +16,23 @@ export const RETENTION_OPTIONS = ['never', 'today', '3d', 'week', 'month', 'fore
export const STATUS_LABEL = { todo: '未开始', doing: '执行中', done: '完成' }
export const STATUS_OPTIONS = ['todo', 'doing', 'done']
// 任务编号 (T-TK-编号): 服务端分配 `Project.code` + 项目内自增 `Task.number`
// - 列表 / 看板: 只显示 `#序号` (短, 不占卡片宽度)
// - 详情页: 显示完整编号 `项目编号-序号`, 点按复制
// - 离线新建、上行定号前的任务 number 为空 -> 两处都不出编号 (不做假编号)
/** 列表 / 看板的短编号: '#12'; 未定号返回 null */
export function taskShortId(task) {
const n = task?.number
return n === null || n === undefined || n === '' ? null : `#${n}`
}
/** 完整任务编号: 'IB-12'; 未定号返回 null */
export function taskFullId(task, code) {
const n = task?.number
if (n === null || n === undefined || n === '') return null
return code ? `${code}-${n}` : `#${n}`
}
const FMT = new Intl.DateTimeFormat('en-CA', {
timeZone: TZ, year: 'numeric', month: '2-digit', day: '2-digit',
})