refactor(vimp): 移除冗余的选中设备GB编码相关代码
删除alarm-tree、camera-tree组件中的选中状态定义、节点绑定及双击设置逻辑,同时移除vimp主页面中对应的状态声明、组件传参和状态展示代码
This commit is contained in:
@@ -11,8 +11,6 @@ const { isLoading } = useDeviceCenterQuery();
|
||||
const alarmStore = useAlarmStore();
|
||||
const { lineTabPanes } = storeToRefs(alarmStore);
|
||||
|
||||
const selectedDeviceGbCode = defineModel<[string]>('selectedDeviceGbCode', { default: () => [''] });
|
||||
|
||||
const overrideNodeClickBehavior: TreeOverrideNodeClickBehavior = ({ option }) => {
|
||||
const hasChildren = (option.children?.length ?? 0) > 0;
|
||||
if (hasChildren) {
|
||||
@@ -61,7 +59,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
draggable: alarmOnline(),
|
||||
onDblclick() {
|
||||
if (!alarmOnline()) return;
|
||||
selectedDeviceGbCode.value = [alarm.code];
|
||||
window.$message.info(`查看警报器:${JSON.stringify({ code: alarm.code, name: alarm.name })}`);
|
||||
},
|
||||
onDragstart(event) {
|
||||
@@ -92,7 +89,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
show-line
|
||||
virtual-scroll
|
||||
style="height: 100%"
|
||||
v-model:selected-keys="selectedDeviceGbCode"
|
||||
:data="lineTabPanes.at(0)?.alarmTree"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:render-label="renderNodeLabel"
|
||||
@@ -107,7 +103,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
show-line
|
||||
virtual-scroll
|
||||
style="height: 100%"
|
||||
v-model:selected-keys="selectedDeviceGbCode"
|
||||
:data="alarmTree"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:render-label="renderNodeLabel"
|
||||
|
||||
@@ -11,8 +11,6 @@ const { isLoading } = useDeviceCenterQuery();
|
||||
const cameraStore = useCameraStore();
|
||||
const { lineTabPanes } = storeToRefs(cameraStore);
|
||||
|
||||
const selectedDeviceGbCode = defineModel<[string]>('selectedDeviceGbCode', { default: () => [''] });
|
||||
|
||||
const overrideNodeClickBehavior: TreeOverrideNodeClickBehavior = ({ option }) => {
|
||||
const hasChildren = (option.children?.length ?? 0) > 0;
|
||||
if (hasChildren) {
|
||||
@@ -61,7 +59,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
draggable: cameraOnline(),
|
||||
onDblclick() {
|
||||
if (!cameraOnline()) return;
|
||||
selectedDeviceGbCode.value = [camera.code];
|
||||
window.$message.info(`播放:${JSON.stringify({ code: camera.code, name: camera.name })}`);
|
||||
},
|
||||
onDragstart(event) {
|
||||
@@ -92,7 +89,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
show-line
|
||||
virtual-scroll
|
||||
style="height: 100%"
|
||||
v-model:selected-keys="selectedDeviceGbCode"
|
||||
:data="lineTabPanes.at(0)?.cameraTree"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:render-label="renderNodeLabel"
|
||||
@@ -107,7 +103,6 @@ const renderNodeLabel: TreeProps['renderLabel'] = ({ option }) => {
|
||||
show-line
|
||||
virtual-scroll
|
||||
style="height: 100%"
|
||||
v-model:selected-keys="selectedDeviceGbCode"
|
||||
:data="cameraTree"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:render-label="renderNodeLabel"
|
||||
|
||||
@@ -15,8 +15,6 @@ const resourceTabPanes: ResourceTabPane[] = [
|
||||
{ name: 'alarm', tab: '警报器', component: AlarmTree },
|
||||
];
|
||||
|
||||
const selectedDeviceGbCode = ref<[string]>(['']);
|
||||
|
||||
const onDragover = (event: DragEvent) => {
|
||||
event.preventDefault();
|
||||
if (event.dataTransfer) {
|
||||
@@ -32,13 +30,11 @@ const onDrop = (event: DragEvent) => {
|
||||
const code = event.dataTransfer?.getData('code');
|
||||
if (!code) return;
|
||||
const name = event.dataTransfer?.getData('name');
|
||||
selectedDeviceGbCode.value = [code];
|
||||
window.$message.info(`播放:${JSON.stringify({ code, name })}`);
|
||||
} else if (type === 'alarm') {
|
||||
const code = event.dataTransfer?.getData('code');
|
||||
if (!code) return;
|
||||
const name = event.dataTransfer?.getData('name');
|
||||
selectedDeviceGbCode.value = [code];
|
||||
window.$message.info(`查看警报器:${JSON.stringify({ code, name })}`);
|
||||
} else {
|
||||
}
|
||||
@@ -51,7 +47,7 @@ const onDrop = (event: DragEvent) => {
|
||||
<NTabs :type="'line'" :placement="'left'" style="height: 100%">
|
||||
<NTabPane v-for="{ name: resourceName, tab: resourceTab, component } in resourceTabPanes" :key="resourceName" :tab="resourceTab" :name="resourceName">
|
||||
<template v-if="!!component">
|
||||
<component :is="component" v-model:selected-device-gb-code="selectedDeviceGbCode" />
|
||||
<component :is="component" />
|
||||
</template>
|
||||
</NTabPane>
|
||||
</NTabs>
|
||||
@@ -59,7 +55,6 @@ const onDrop = (event: DragEvent) => {
|
||||
<div style="flex: 1">
|
||||
<div style="height: 480px; background-color: #666; display: grid; place-items: center" @dragover="onDragover" @drop="onDrop">
|
||||
<div>这里是播放器</div>
|
||||
<div>{{ selectedDeviceGbCode }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user