lxl-dev #3

Merged
zhanghao merged 122 commits from lxl-dev into dev 2026-08-24 13:55:18 +08:00
Showing only changes of commit 657b7b9338 - Show all commits

View File

@ -39,7 +39,12 @@
<el-button :type="groupSelectionPending ? 'primary' : 'default'" @click="group">
<el-icon><CollectionTag /></el-icon>{{ groupSelectionPending ? "取消分组" : "分组" }}
</el-button>
<el-button v-if="flowState !== 'testRunning'" @click="testRun">
<el-button
v-if="flowState !== 'testRunning'"
:loading="trialPreparing"
:disabled="draftSaving"
@click="testRun"
>
<el-icon><VideoPlay /></el-icon>试运行
</el-button>
<el-button v-if="flowState === 'testRunning'" @click="flowPauseFn">
@ -831,6 +836,7 @@ const versionLoading = ref(false);
const versionList = ref([]);
const versionPreviewMode = ref(false);
const previewingVersionNo = ref(null);
const trialPreparing = ref(false);
let draftBeforeVersionPreview = null;
let oldFlowDataBeforeVersionPreview = null;
let disableFormBeforeVersionPreview = false;
@ -846,6 +852,8 @@ const flowInfoData = ref({
* 试运行
*/
const testRun = async () => {
if (trialPreparing.value || draftSaving.value) return;
// 1、验证画布内所有的表单通过验证
const { nodes, edges } = lf.getGraphData();
@ -882,7 +890,14 @@ const testRun = async () => {
return;
}
trialPreparing.value = true;
try {
const saved = await saveDraft({ successMessage: "已自动保存当前草稿" });
if (!saved) return;
isOpen.value = true;
} finally {
trialPreparing.value = false;
}
};
// 流程暂停
@ -1459,7 +1474,7 @@ const getSavableFlowData = () => {
return sanitizeFlowResourceDefinition(validation.graph);
};
const saveDraft = async () => {
const saveDraft = async ({ successMessage = "草稿已保存" } = {}) => {
if (!flowInfoData.value.itemId) return false;
draftSaving.value = true;
try {
@ -1474,7 +1489,7 @@ const saveDraft = async () => {
draftDirty.value = false;
oldFlowData = JSON.parse(JSON.stringify(lf.getGraphData()));
if (flowState.value === "updateData") flowState.value = "draftSaved";
ElMessage.success("草稿已保存");
ElMessage.success(successMessage);
return true;
} catch (error) {
ElMessage.error(error?.message || "保存草稿失败");