From ec763e1cb7dca873caf4afbc0dfde047b51753d3 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 17 十月 2025 17:26:54 +0800
Subject: [PATCH] 2025.10.17
---
src/components/scene/SceneSearch.vue | 51 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 40 insertions(+), 11 deletions(-)
diff --git a/src/components/scene/SceneSearch.vue b/src/components/scene/SceneSearch.vue
index 92d4de0..fcf7c57 100644
--- a/src/components/scene/SceneSearch.vue
+++ b/src/components/scene/SceneSearch.vue
@@ -13,6 +13,7 @@
draggable
:modal="false"
width="400px"
+ size="medium"
>
<template #default>
<el-row class="scene-table">
@@ -21,6 +22,7 @@
:data="sceneStore.sceneList"
table-layout="fixed"
size="small"
+ height="30vh"
:show-overflow-tooltip="true"
border
row-class-name="t-row"
@@ -28,18 +30,25 @@
header-row-class-name="t-header-row"
header-cell-class-name="t-header-cell"
@row-click="handleRowClick"
+ @filter-change="handleFilterChange"
>
<el-table-column type="index" label="#" width="25" />
<el-table-column
prop="type"
label="绫诲瀷"
- width="55"
+ width="56"
+ column-key="type"
:filters="sceneTypeFilter"
:filter-method="filterHandler"
/>
<el-table-column prop="name" label="鍚嶇О" />
<!-- <el-table-column prop="location" label="鍦板潃" /> -->
- <!-- <el-table-column prop="districtName" label="鍖哄幙" align="center" /> -->
+ <el-table-column
+ prop="districtName"
+ label="鍖哄幙"
+ align="center"
+ width="54"
+ />
<!-- <el-table-column label="绠$悊" width="70" align="center">
<template #default="{ row }">
<el-button
@@ -94,7 +103,8 @@
data() {
return {
dialogVisible: false,
- onConfirm: undefined
+ onConfirm: undefined,
+ showSceneTypes: []
};
},
computed: {
@@ -108,6 +118,15 @@
.map((v) => {
return { text: v.label, value: v.label };
});
+ },
+ showSceneList() {
+ if (this.showSceneTypes.length == 0) {
+ return this.sceneStore.sceneList;
+ } else {
+ return this.sceneStore.sceneList.filter((v) => {
+ return this.showSceneTypes.indexOf(v.type) != -1;
+ });
+ }
}
},
watch: {
@@ -120,14 +139,20 @@
}
}
},
- 'sceneStore.sceneList': {
- handler(nV, oV) {
- if (nV != oV) {
- this.dialogVisible = true;
- this.drawMarks(nV);
- }
- },
- deep: true
+ // 'sceneStore.sceneList': {
+ // handler(nV, oV) {
+ // if (nV != oV) {
+ // this.dialogVisible = true;
+ // this.drawMarks(nV);
+ // }
+ // },
+ // deep: true
+ // },
+ showSceneList(nV, oV) {
+ if (nV != oV) {
+ this.dialogVisible = true;
+ this.drawMarks(nV);
+ }
},
'toolboxStore.sceneSearchStatus': {
handler(nV) {
@@ -158,6 +183,10 @@
filterHandler(value, row, column) {
const property = column['property'];
return row[property] === value;
+ },
+ handleFilterChange(newFilters) {
+ // console.log(newFilters);
+ this.showSceneTypes = newFilters['type'];
}
}
};
--
Gitblit v1.9.3