Archived
版本号自己定:点编辑,整列版本进编辑态,取消/保存收尾
用户的目的是**自己改版本号**,不是让系统替他递增;顺带把上一轮那些
指示性交互全撤了 —— 这软件给专业业务设计人员用,不需要「点我改」的提示条。
界面:
· 顶栏 编辑 → 取消 / 保存(与流程图卡「编辑 → 保存」同一套手势);
· 行内两个字段:号(自己编)与名(各版不同),行尾 删除;
· 改动攒在草稿里,按保存一趟落库;取消原样退出;
· **删掉**:改名指示条、「点我改」虚下划线、`删掉 v4`/`激活 v4` 这类复述钮名的浮字。
只留下禁用态那一句(生效版先停用 / 还不闭合),那不是指示,是钮为什么点不动。
后端 —— 号从「系统递增」放开为「设计人员自己编」,两道闸是数据本身要求的:
· 撞号拒(VersionTakenError,409);
· 在途钉版拒改号(那些单正按这个号找定义,搬号等于抽它们脚下的地板);
· 已完结的单**跟着改指**:号在三处(包的列、definition、workflow.packageVersion)
一起改 —— 号只是这一版的名牌,搬号连引用一起搬,留痕仍指同一份定义。
先前写成「跑过单就不许改号」,实测等于任何试跑过的包永远编不了号,是过闸。
· 名不设闸:标签不参与流转,在途钉版也能改;改名只动这一版(推翻前一日的
「及于整条流」)—— 各版本正是靠名字互相区分,全同名等于没名字。
路由 POST /api/gov/process/:id/:version/edit 取代 …/:id/rename(单一消费者是本仓前端);
CONTRACT.md 与产品设计.md 同步,api-report 快照随本次提交。
实测(丁子乔账号,测后已 reset-runs 清运行数据):v4→v2→v4 往返,列表、画布图签、
库里三处同步;在途单存在时改号如实报 409 并原样退回。五闸绿。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -553,7 +553,10 @@
|
||||
/* 三卡同厚:头行内容一律 26 高(= 一枚方钮),没按钮的头也不塌 —— 三条底线同一水平 */
|
||||
.g-verslim .g-vercard-h { height: auto; min-height: 26px; padding: 14px 16px 11px; gap: 4px; }
|
||||
.g-verslim .g-vercard-list { padding: 12px; gap: 6px; }
|
||||
.g-verrow { display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 8px 7px 11px; border: 1px solid var(--sh-line); border-left: 3px solid var(--sh-steel); background: #fff; font-family: var(--sh-mono); font-size: 10px; color: #3a4452; text-align: left; cursor: pointer; transition: border-color var(--t-fast); }
|
||||
/* 版本行两行:上行 版本号 · 名字 · 动作;下行只放事实(状态 · 点边计数) */
|
||||
.g-verrow { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 7px 8px 8px 11px; border: 1px solid var(--sh-line); border-left: 3px solid var(--sh-steel); background: #fff; font-family: var(--sh-mono); font-size: 10px; color: #3a4452; text-align: left; cursor: pointer; transition: border-color var(--t-fast); }
|
||||
.g-verrow .ln { display: flex; align-items: center; gap: 7px; }
|
||||
.g-verrow .ln2 { display: flex; align-items: center; gap: 8px; padding-left: 1px; }
|
||||
/* 行尾小钮:启停(平时)/ 删除(编辑态)—— 比动作条矮一号,行不发胖 */
|
||||
.g-verrow .g-ver-act { height: 22px; padding: 0 8px; font-size: 10.5px; }
|
||||
.g-verrow:hover { border-color: #aeb9c6; }
|
||||
@@ -561,20 +564,16 @@
|
||||
.g-verrow.live { border-left-color: var(--sh-brass); background: var(--sh-brass-wash); }
|
||||
.g-verrow.live.on { border-color: #cbb98d; }
|
||||
.g-verrow:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; }
|
||||
.g-verrow > b { font-size: 13px; font-weight: 700; color: var(--sh-ink); }
|
||||
.g-verrow b { font-size: 13px; font-weight: 700; color: var(--sh-ink); }
|
||||
/* 版本名:占满余下、一行截断 —— 界面字体,不用图签的等宽 */
|
||||
.g-verrow .nm { flex: 1; min-width: 0; font: 500 11.5px/1.3 var(--ui-sans); color: var(--sh-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
/* 编辑态:号与名就是两个输入框(号自己编),光标默认,不再是可点切版的行 */
|
||||
.g-verrow.ed { cursor: default; }
|
||||
.g-verrow .g-input.vnum { flex: none; width: 42px; height: 22px; padding: 0 4px; font-family: var(--sh-mono); font-size: 11.5px; text-align: center; }
|
||||
.g-verrow .g-input.nm { flex: 1; min-width: 0; height: 22px; padding: 0 6px; font-size: 11.5px; }
|
||||
.g-verrow .st { font-size: 9px; letter-spacing: .12em; color: var(--sh-muted); }
|
||||
.g-verrow .st.live { color: var(--sh-brass); font-weight: 700; }
|
||||
.g-verrow .cnt { margin-left: auto; font-size: 9.5px; color: var(--sh-muted); white-space: nowrap; }
|
||||
.g-verrow .cnt + .g-ver-act { margin-left: 8px; }
|
||||
/* 版本记录编辑态:一条浅带 —— 改名钮与「行尾可删」的交代住这儿 */
|
||||
.g-veredit { flex: none; display: flex; align-items: center; gap: 8px; padding: 9px 16px; border-bottom: 1px solid var(--sh-line); background: #f9fafc; }
|
||||
.g-veredit .t { font-family: var(--sh-mono); font-size: 9px; line-height: 1.6; color: var(--sh-muted); }
|
||||
.g-veredit .g-verrename { flex: 1; padding: 0; border: 0; background: transparent; }
|
||||
|
||||
/* 改名条:编辑态里点「改名」就地展开 */
|
||||
.g-verrename { flex: none; display: flex; flex-direction: column; gap: 5px; padding: 9px 14px; border-bottom: 1px solid var(--sh-line); background: #f9fafc; }
|
||||
.g-verrename .g-input { height: 26px; font-size: 12px; }
|
||||
.g-verrename .t { font-family: var(--sh-mono); font-size: 8.5px; line-height: 1.7; color: var(--sh-muted); }
|
||||
.g-ver { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--sh-line); border-left: 3px solid var(--sh-steel); background: #fff; cursor: pointer; font-family: var(--sh-mono); font-size: 11px; color: #3a4452; }
|
||||
.g-ver:hover { border-color: #aeb9c6; }
|
||||
.g-ver.on { background: #f2f5f8; border-color: #9fb0c0; }
|
||||
|
||||
Reference in New Issue
Block a user