feat(web): 更新审批中心、审计、政策制度页面及对应的业务脚本,增强前端交互逻辑
This commit is contained in:
@@ -88,7 +88,7 @@
|
||||
<div class="card-head">
|
||||
<div>
|
||||
<h3>Markdown 规则内容</h3>
|
||||
<p>当前展示版本:{{ selectedSkill.displayVersion }},保存后会生成新的版本快照。</p>
|
||||
<p>当前展示版本:{{ selectedSkill.displayVersion }},规则说明与运行时 JSON 分开编辑,但保存时会一起进入版本快照。</p>
|
||||
</div>
|
||||
<button
|
||||
class="mini-btn primary"
|
||||
@@ -118,7 +118,7 @@
|
||||
</label>
|
||||
|
||||
<div class="editor-foot">
|
||||
<span>版本说明:{{ selectedSkill.currentVersionChangeNote }}</span>
|
||||
<span>版本说明:{{ selectedSkill.displayVersionChangeNote }}</span>
|
||||
<span>最近保存:{{ selectedSkill.updatedAt }}</span>
|
||||
</div>
|
||||
|
||||
@@ -128,6 +128,60 @@
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article v-if="selectedSkill.type === 'rules'" class="detail-card panel json-editor-card">
|
||||
<div class="card-head">
|
||||
<div>
|
||||
<h3>运行时 JSON</h3>
|
||||
<p>编辑规则中心实际消费的 `config_json.runtime_rule`,保存时会同步写入配置并追加到 Markdown 版本快照。</p>
|
||||
</div>
|
||||
<button
|
||||
class="mini-btn"
|
||||
type="button"
|
||||
:disabled="!canEditMarkdown || detailBusy"
|
||||
@click="saveRuleRuntimeJson"
|
||||
>
|
||||
<i class="mdi mdi-code-json"></i>
|
||||
<span>{{ actionState === 'save-runtime-json' ? '保存中...' : '保存 JSON' }}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="json-template-meta">
|
||||
<span>
|
||||
<strong>模板</strong>
|
||||
{{ selectedSkill.ruleTemplateLabel }}
|
||||
</span>
|
||||
<span>
|
||||
<strong>模板键</strong>
|
||||
{{ selectedSkill.ruleTemplateKey || '未指定' }}
|
||||
</span>
|
||||
<span>
|
||||
<strong>运行时类型</strong>
|
||||
{{ selectedSkill.runtimeKind || 'policy_rule_draft' }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<label class="field">
|
||||
<span>config_json.runtime_rule</span>
|
||||
<textarea
|
||||
v-model="selectedSkill.runtimeRuleText"
|
||||
class="json-editor"
|
||||
:class="{ disabled: !canEditMarkdown }"
|
||||
spellcheck="false"
|
||||
:readonly="!canEditMarkdown || detailBusy"
|
||||
></textarea>
|
||||
</label>
|
||||
|
||||
<div class="editor-foot">
|
||||
<span>JSON 必须是对象;保存后会同步写入资产配置,并以 `expense-rule` 代码块落到版本历史里。</span>
|
||||
<span>当前展示版本:{{ selectedSkill.displayVersion }}</span>
|
||||
</div>
|
||||
|
||||
<div v-if="!canEditMarkdown" class="review-note-block muted">
|
||||
<strong>只读模式</strong>
|
||||
<p>当前账号没有规则编辑权限,运行时 JSON 仅可查看。</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="detail-card panel">
|
||||
<div class="card-head">
|
||||
<div>
|
||||
@@ -539,7 +593,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="table-wrap">
|
||||
<div class="table-wrap" :class="{ 'is-empty': !loading && !errorMessage && !visibleSkills.length }">
|
||||
<div v-if="loading" class="table-state">
|
||||
<i class="mdi mdi-loading mdi-spin"></i>
|
||||
<p>正在加载{{ activeTabLabel }}资产...</p>
|
||||
@@ -608,7 +662,7 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<footer v-if="!loading && !errorMessage" class="list-foot">
|
||||
<footer v-if="!loading && !errorMessage && visibleSkills.length" class="list-foot">
|
||||
<span class="page-summary">当前展示 {{ visibleSkills.length }} 条资产</span>
|
||||
</footer>
|
||||
</article>
|
||||
|
||||
Reference in New Issue
Block a user