|
|
@@ -10,7 +10,7 @@
|
|
|
</template>
|
|
|
<template #container>
|
|
|
<slot>
|
|
|
- <Header :deviceType="deviceType" :moduleData="moduleData" :data="data" @select="selectedData = $event" />
|
|
|
+ <Header :deviceType="deviceType" :moduleData="moduleData" :data="data" @select="handleSelect" />
|
|
|
<Content
|
|
|
:style="{ height: header.show ? 'calc(100% - 30px)' : '100%' }"
|
|
|
:moduleData="moduleData"
|
|
|
@@ -83,6 +83,23 @@
|
|
|
openWindow(getFormattedText(props.data, to));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 模块选择切换事件
|
|
|
+ * @param selectedItem
|
|
|
+ */
|
|
|
+ function handleSelect(selectedItem: any) {
|
|
|
+ selectedData.value = selectedItem;
|
|
|
+ if (!selectedItem) return;
|
|
|
+
|
|
|
+ selectedDeviceID.value = options.value[0]?.value;
|
|
|
+ if (selectedItem.id !== undefined && selectedItem.id !== null) {
|
|
|
+ // 确保这个 ID 在当前的 options 里存在
|
|
|
+ const isValid = options.value.some((opt) => opt.value === selectedItem.id);
|
|
|
+ if (isValid) {
|
|
|
+ selectedDeviceID.value = selectedItem.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
watch(
|
|
|
() => props.data,
|
|
|
(d) => {
|