diff --git a/src/components/common/echartCard/index.vue b/src/components/common/echartCard/index.vue index 9585f5ed..88028679 100644 --- a/src/components/common/echartCard/index.vue +++ b/src/components/common/echartCard/index.vue @@ -59,7 +59,7 @@ import Chart from './taskChart.vue'; import { useClickOutside } from '@/utils/clickOutside'; const chartPopover = ref(); -const { popoverVisible } = useClickOutside(chartPopover); +const { popoverVisible } = useClickOutside(chartPopover, { enableMouseMove: true }); const props = withDefaults( defineProps<{ diff --git a/src/components/common/treeCaseTable/knowledgeSelect.vue b/src/components/common/treeCaseTable/knowledgeSelect.vue index c434f471..48d7a609 100644 --- a/src/components/common/treeCaseTable/knowledgeSelect.vue +++ b/src/components/common/treeCaseTable/knowledgeSelect.vue @@ -315,6 +315,11 @@ watch( .map((path) => path.split(',')) : []; selected.value = pathsArray; + if (pathsArray.length === 0) { + options.value = []; + optionsKey.value = Date.now(); + return; + } if (pathsArray.length > 0 && pathsArray[0].length > 0) { if (props.editable) { await buildOptionsFromIds(pathsArray); diff --git a/src/components/common/treeCaseTable/nodeDetailDialog.vue b/src/components/common/treeCaseTable/nodeDetailDialog.vue index 7b4feda6..ff371c70 100644 --- a/src/components/common/treeCaseTable/nodeDetailDialog.vue +++ b/src/components/common/treeCaseTable/nodeDetailDialog.vue @@ -506,6 +506,13 @@ watch( prepareFromProps(); } else { formData.value = {}; + standard.value = null; + exceptionFile.value = null; + selectedFlowTemplate.value = null; + isAutoFilled.value = false; + autoFilledFields.value = []; + standardSceneChildren.value = []; + tabName.value = '基础信息'; } } ); diff --git a/src/utils/clickOutside.ts b/src/utils/clickOutside.ts index a3802216..250fb440 100644 --- a/src/utils/clickOutside.ts +++ b/src/utils/clickOutside.ts @@ -1,6 +1,11 @@ import { ref, onMounted, onBeforeUnmount } from 'vue'; -export function useClickOutside(popoverRef: any) { +interface ClickOutsideOptions { + enableMouseMove?: boolean; +} + +export function useClickOutside(popoverRef: any, options?: ClickOutsideOptions) { + const { enableMouseMove = false } = options || {}; const popoverVisible = ref(false); let hideTimer: number | null = null; @@ -72,13 +77,17 @@ export function useClickOutside(popoverRef: any) { onMounted(() => { document.addEventListener('click', handleClickOutside); - document.addEventListener('mousemove', handleMouseMove); + if (enableMouseMove) { + document.addEventListener('mousemove', handleMouseMove); + } }); onBeforeUnmount(() => { clearHideTimer(); document.removeEventListener('click', handleClickOutside); - document.removeEventListener('mousemove', handleMouseMove); + if (enableMouseMove) { + document.removeEventListener('mousemove', handleMouseMove); + } }); return {