网页端:保存按钮整行 + 左上角「编辑任务」+ 补回分类与循环 (#83)
用户 2026-11-05:
「保存按钮感觉太小了。要不也像鸿蒙版一样长长的一条?」
「最左上角也是一样,应该显示"编辑任务",而不是显示任务的标题。」
「你倒是提醒我了,分类和重复,也就是循环,都需要加上,鸿蒙端也得加上。」
① 保存按钮 → 整行长条
原来 `.btn-sm` 是内联宽(按文字撑),在 648px 宽的面板里又小又偏。
⇒ `.tk-attr-actions > .btn { width:100%; height:42px; justify-content:center }`
实测:648 x 42,占行宽 100% ✅
② 左上角改「编辑任务」
根因:`entry_popup.js` 的 `paintDetail()` 第 142 行永远是
titleEl().textContent = data.title || 详情
任务面板带 `data.panel`,它本身就是编辑面板,标题栏写任务名会让用户
以为"这是详情页,只是恰好能改"。
⇒ `var headText = data.panel ? 编辑任务 : (data.title || 详情);`
⚠️ 其它来源(观影/旅程/日程/纪念日)**保持显示名字**:它们点开的
确实是"这条记录的详情",显示名字才是对的。
③ 补回分类与循环
上一轮我按「不需要额外信息」把这两项删了 —— 理解偏了:
用户指的是"不要编辑表单里那些多余字段",不是"分类/循环不要"。
⇒ 补回,位置放在协作人之后(用户指定的前四项顺序不动)。
⚠️ `tasks/panel_save` 的 `$sd` 需要能接这两个字段 —— 见服务端那侧,
它用 `array_key_exists` 判"传没传",所以不传时保留原值、传了就更新。
实测渲染:任务标题 → 截止 → 负责人 → 备注 → 协作人 → 分类 → 循环 ✅
This commit is contained in:
@@ -243,6 +243,47 @@ $tpLate = $tpDue !== '' && $tpStatus !== 'done' && \App\Task::isOverdue($tpD
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php /* 🔴 #83(用户 2026-11-05):「你倒是提醒我了,分类和重复,也就是循环,
|
||||
都需要加上,鸿蒙端也得加上。」
|
||||
|
||||
#82 里我按「不需要额外信息」把这两项删了 —— 那是我理解偏了,
|
||||
用户说的是"不要编辑表单里那些额外的字段",不是"分类/循环不要"。
|
||||
⇒ 补回。位置放在协作人之后:用户明确指定的前四项
|
||||
(截止/负责人/备注/协作人)顺序不动,这两项作为补充排在后面。 */ ?>
|
||||
<div class="tk-attr-row">
|
||||
<span class="tk-attr-lb">分类</span>
|
||||
<?php if ($tpCan): ?>
|
||||
<select class="select" name="category_id" id="tkp-category">
|
||||
<option value="0">未分类</option>
|
||||
<?php foreach ($tpCats as $tpC): ?>
|
||||
<?php $tpCid = (int)($tpC['id'] ?? 0); ?>
|
||||
<option value="<?= $tpCid ?>"
|
||||
<?= $tpCid === (int)($tpT['category_id'] ?? 0) ? ' selected' : '' ?>>
|
||||
<?= e((string)($tpC['name'] ?? '')) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php else: ?>
|
||||
<span class="tk-attr-val"><?= $tpCatName !== '' ? e($tpCatName) : '未分类' ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="tk-attr-row">
|
||||
<span class="tk-attr-lb">循环</span>
|
||||
<?php if ($tpCan): ?>
|
||||
<select class="select" name="repeat_rule" id="tkp-repeat">
|
||||
<?php foreach (\App\Task::REPEAT as $tpRk => $tpRv): ?>
|
||||
<option value="<?= e($tpRk) ?>"
|
||||
<?= (string)($tpT['repeat_rule'] ?? '') === (string)$tpRk ? ' selected' : '' ?>>
|
||||
<?= e($tpRv) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php else: ?>
|
||||
<span class="tk-attr-val"><?= e(\App\Task::repeatWord((string)($tpT['repeat_rule'] ?? ''))) ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if ($tpCan): ?>
|
||||
<div class="tk-attr-actions">
|
||||
<button type="button" class="btn btn-sm" data-tk-act="save-attrs">保存</button>
|
||||
|
||||
Reference in New Issue
Block a user