diff --git a/frontend/src/views/case-management/caseReview/components/reviewSubmit.vue b/frontend/src/views/case-management/caseReview/components/reviewSubmit.vue
index 3cd7344658..c6517982ab 100644
--- a/frontend/src/views/case-management/caseReview/components/reviewSubmit.vue
+++ b/frontend/src/views/case-management/caseReview/components/reviewSubmit.vue
@@ -24,8 +24,9 @@
:ok-text="t('caseManagement.caseReview.commitResult')"
:ok-button-props="{ disabled: submitDisabled }"
@before-ok="submit"
+ @cancel="cancel"
>
-
+
@@ -33,6 +34,7 @@
import { nextTick, onMounted, ref, watch } from 'vue';
import { useEventListener } from '@vueuse/core';
import { Message } from '@arco-design/web-vue';
+ import { cloneDeep } from 'lodash-es';
import type { MinderJsonNode } from '@/components/pure/ms-minder-editor/props';
import { getMinderOperationParams } from '@/components/business/ms-minders/caseReviewMinder/utils';
@@ -67,6 +69,7 @@
};
const form = ref({ ...defaultForm });
+ const dialogForm = ref({ ...defaultForm });
const modalVisible = ref(false);
const submitLoading = ref(false);
@@ -82,6 +85,7 @@
const editorContent = document.querySelector('.execute-form')?.querySelector('.editor-content');
useEventListener(editorContent, 'dblclick', () => {
modalVisible.value = true;
+ dialogForm.value = cloneDeep(form.value);
});
});
});
@@ -93,6 +97,14 @@
}
);
+ function cancel(e: Event) {
+ // 点击取消/关闭,弹窗关闭,富文本内容都清空;点击空白处,弹窗关闭,将弹窗内容填入下面富文本内容里
+ if (!(e.target as any)?.classList.contains('arco-modal-wrapper')) {
+ dialogForm.value = { ...defaultForm };
+ }
+ form.value = cloneDeep(dialogForm.value);
+ }
+
// 提交执行
async function submit() {
try {
@@ -102,7 +114,7 @@
userId: props.userId,
reviewId: props.reviewId,
reviewPassRule: props.reviewPassRule,
- ...form.value,
+ ...(modalVisible.value ? dialogForm.value : form.value),
notifier: form.value.notifiers?.join(';') ?? '',
...getMinderOperationParams(props.selectNode),
};
diff --git a/frontend/src/views/test-plan/testPlan/detail/featureCase/detail/executeSubmit.vue b/frontend/src/views/test-plan/testPlan/detail/featureCase/detail/executeSubmit.vue
index d46a5838ff..8524f10ebc 100644
--- a/frontend/src/views/test-plan/testPlan/detail/featureCase/detail/executeSubmit.vue
+++ b/frontend/src/views/test-plan/testPlan/detail/featureCase/detail/executeSubmit.vue
@@ -14,8 +14,9 @@
:ok-loading="submitLoading"
:ok-text="t('caseManagement.caseReview.commitResult')"
@before-ok="submit"
+ @cancel="cancel"
>
-
+
@@ -23,6 +24,7 @@
import { ref } from 'vue';
import { useEventListener } from '@vueuse/core';
import { Message } from '@arco-design/web-vue';
+ import { cloneDeep } from 'lodash-es';
import ExecuteForm from '@/views/test-plan/testPlan/detail/featureCase/components/executeForm.vue';
@@ -50,6 +52,7 @@
const appStore = useAppStore();
const form = ref({ ...defaultExecuteForm });
+ const dialogForm = ref({ ...defaultExecuteForm });
const modalVisible = ref(false);
const submitLoading = ref(false);
@@ -60,6 +63,7 @@
const editorContent = document.querySelector('.execute-form')?.querySelector('.editor-content');
useEventListener(editorContent, 'dblclick', () => {
modalVisible.value = true;
+ dialogForm.value = cloneDeep(form.value);
});
});
});
@@ -86,6 +90,14 @@
}
);
+ function cancel(e: Event) {
+ // 点击取消/关闭,弹窗关闭,富文本内容都清空;点击空白处,弹窗关闭,将弹窗内容填入下面富文本内容里
+ if (!(e.target as any)?.classList.contains('arco-modal-wrapper')) {
+ dialogForm.value = { ...defaultExecuteForm };
+ }
+ form.value = cloneDeep(dialogForm.value);
+ }
+
// 提交执行
async function submit() {
try {
@@ -95,7 +107,7 @@
caseId: props.caseId,
testPlanId: props.testPlanId,
id: props.id,
- ...form.value,
+ ...(modalVisible.value ? dialogForm.value : form.value),
stepsExecResult: JSON.stringify(props.stepExecutionResult) ?? '',
notifier: form.value?.commentIds?.join(';'),
};