feat(cma): strategy map lane KR delete entry (cma-map-kr-delete-entry-20260916)
- MapNode.vue: hover trash icon per KR row emitting delete-kr (inline SVG, no emoji) - StrategyLayer.vue / MapCanvas.vue: passthrough + MyDialog second confirm + okrApi.deleteKr + whole-map save - MapsDialog: single-KR policy hint (keep at least 1 KR per objective)
This commit is contained in:
@@ -61,7 +61,10 @@
|
||||
|
||||
<div class="mc-kr-section">
|
||||
<div class="mc-kr-header">
|
||||
<span>关键结果({{ form.krs.length }}条)</span>
|
||||
<span>
|
||||
关键结果({{ form.krs.length }}条)
|
||||
<span class="mc-kr-min-hint">每个目标至少保留 1 条</span>
|
||||
</span>
|
||||
<span style="display:flex;gap:6px;">
|
||||
<el-button size="small" plain @click="autoDivideWeights">⚖️ 自动平分</el-button>
|
||||
<el-button size="small" type="primary" plain @click="addKr">+ 添加KR</el-button>
|
||||
@@ -72,7 +75,7 @@
|
||||
<div class="mc-kr-row-top">
|
||||
<span class="mc-kr-index">#{{ ki + 1 }}</span>
|
||||
<input v-model="kr.name" class="mc-input mc-kr-name" placeholder="KR名称" />
|
||||
<el-button v-if="form.krs.length > 1" size="small" text type="danger" @click="removeKr(ki)">×</el-button>
|
||||
<el-button v-if="form.krs.length > 1" size="small" text type="danger" title="删除该关键结果" @click="removeKr(ki)">×</el-button>
|
||||
</div>
|
||||
<div class="mc-kr-row-bottom">
|
||||
<div class="mc-kr-field">
|
||||
@@ -937,6 +940,13 @@ function planStatusLabel(s: string): string {
|
||||
font-weight: 500;
|
||||
color: #606266;
|
||||
}
|
||||
/* 单条 KR 口径提示(2026-09-16):不允许删到 0,UI 明示 */
|
||||
.mc-kr-min-hint {
|
||||
margin-left: 8px;
|
||||
font-size: 11px;
|
||||
font-weight: 400;
|
||||
color: #909399;
|
||||
}
|
||||
.mc-kr-row {
|
||||
border: 1px solid #e4e7ed;
|
||||
border-radius: 6px;
|
||||
|
||||
Reference in New Issue
Block a user