feat: 增加工作流编排临时草稿缓存

- 按当前标签页缓存并静默恢复未保存的工作流编排

- 优化试运行抽屉层级、窄屏宽度与长结果滚动

- 覆盖版本变化、缓存异常与保存竞态场景
This commit is contained in:
2026-07-17 18:58:47 +08:00
parent 5a91323a2e
commit 62d763199f
6 changed files with 464 additions and 10 deletions

View File

@@ -93,8 +93,13 @@ function submit() {
</script>
<template>
<div>
<ElForm label-position="top" ref="singleRunForm" :model="runParams">
<div class="single-run">
<ElForm
class="single-run__form"
label-position="top"
ref="singleRunForm"
:model="runParams"
>
<template v-if="isFieldMode">
<div class="single-run-section">
<div class="single-run-section__title">字段值</div>
@@ -176,12 +181,45 @@ function submit() {
</ElButton>
</ElFormItem>
</ElForm>
<div class="mb-2.5 mt-2.5 font-semibold">{{ $t('workflow.result') }}</div>
<ShowJson :value="result" />
<section class="single-run-result">
<div class="single-run-result__title">{{ $t('workflow.result') }}</div>
<ShowJson class="single-run-result__viewer" :value="result" />
</section>
</div>
</template>
<style scoped>
.single-run {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 100%;
}
.single-run__form {
flex: 0 0 auto;
}
.single-run-result {
display: flex;
flex: 1;
flex-direction: column;
min-width: 0;
min-height: 240px;
}
.single-run-result__title {
margin: 10px 0;
font-weight: 600;
}
.single-run-result__viewer {
max-width: 100%;
max-height: min(60vh, 720px);
overflow: auto;
overscroll-behavior: contain;
}
.single-run-section + .single-run-section {
margin-top: 20px;
}