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
+9 -3
View File
@@ -71,6 +71,13 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
const replaceTask = (fresh) => setTasks((prev) => (prev || []).map((t) => (t.id === fresh.id ? fresh : t)))
/** 详情页保存后: 先就地替换该行, 再回源刷新 (不回源也能立刻看到编号/列变更) */
const handleSaved = (fresh) => {
if (fresh?.id) replaceTask(fresh)
setOpenTask(null)
load()
}
/** 更新任务(列/状态/字段), 服务端裁决后以返回值为准 */
async function updateTask(id, patch) {
const snapshot = tasks
@@ -276,7 +283,6 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
<ListView
tasks={visibleTasks}
columns={columns}
codePrefix={project?.code}
onToggle={toggleDone}
onOpen={(t) => setOpenTask(t)}
onMore={openTaskMenu}
@@ -287,7 +293,6 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
<BoardView
tasks={visibleTasks}
columns={columns}
codePrefix={project?.code}
onMoveColumn={moveToColumn}
onOpen={(t) => setOpenTask(t)}
onToggleSub={(c) => toggleDone(c)}
@@ -301,12 +306,13 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
{openTask && (
<TaskDetail
task={openTask}
projectCode={project.code}
columns={columns}
members={project.members || []}
tasks={tasks || []}
taskKinds={project.taskKinds}
onClose={() => setOpenTask(null)}
onSaved={() => { setOpenTask(null); load() }}
onSaved={handleSaved}
onChanged={load}
/>
)}