fix(功能用例&测试计划): 脑图评审的评审富文本&测试计划详情用例详情的开始执行富文本

--bug=1044182 --user=吕梦园
https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001044182
This commit is contained in:
teukkk 2024-07-19 15:22:40 +08:00 committed by 刘瑞斌
parent ea09ed03c4
commit ec358a705a
2 changed files with 28 additions and 4 deletions

View File

@ -24,8 +24,9 @@
:ok-text="t('caseManagement.caseReview.commitResult')"
:ok-button-props="{ disabled: submitDisabled }"
@before-ok="submit"
@cancel="cancel"
>
<ReviewForm v-model:form="form" />
<ReviewForm v-model:form="dialogForm" />
</a-modal>
</template>
@ -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),
};

View File

@ -14,8 +14,9 @@
:ok-loading="submitLoading"
:ok-text="t('caseManagement.caseReview.commitResult')"
@before-ok="submit"
@cancel="cancel"
>
<ExecuteForm v-model:form="form" />
<ExecuteForm v-model:form="dialogForm" />
</a-modal>
</template>
@ -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<ExecuteFeatureCaseFormParams>({ ...defaultExecuteForm });
const dialogForm = ref<ExecuteFeatureCaseFormParams>({ ...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(';'),
};