Compare commits

..
2 Commits
Author SHA1 Message Date
wc24 0b75f8c6f2 fix(filter): 用户搜索/改筛选时清掉 relation 跳转的隐形 _id pin
跳转用 ?filter={_id} 锁单条,但 _id 不在筛选抽屉里、且抽屉 confirm 会把它原样带回,
导致用户再搜索/筛选时被看不见的 _id 一直 AND 着、结果莫名为空。
onSearch + handleFilterConfirm 现在都剥掉 _id(重置本就清空)。
2026-06-29 20:54:19 +08:00
wc24 417318921c fix(menu): 菜单高亮用 $route.path 而非 fullPath
default-active 原绑 $route.fullPath(含 query),地址栏带 ?filter=… 时与菜单项
index('/'+name,纯路径)对不上 → 菜单不高亮/不跟随切换。改用 $route.path。
layout(桌面) + sideM(移动) 两处同改。
2026-06-29 20:48:58 +08:00
4 changed files with 15 additions and 4 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "shrimp-admin",
"version": "0.3.3",
"version": "0.3.5",
"private": true,
"description": "Shrimp 框架前端 — 消费 ShrimpServer + ShrimpTable 契约的经典 Vue3 + Element Plus 实现",
"main": "src/index.ts",
+12 -1
View File
@@ -132,8 +132,18 @@ const {
const searchVisible = ref(false)
// relation 跳转用 ?filter={_id} 锁定单条;_id 是隐形 pin(不在筛选抽屉里),
// 用户一旦搜索/改筛选就清掉它,避免被看不见的 _id 一直 AND 着导致结果莫名为空
function stripJumpPin() {
if ('_id' in filterData.value) {
const { _id, ...rest } = filterData.value
filterData.value = rest
}
}
function onSearch() {
searchKeyword.value = keyword.value
stripJumpPin()
currentPage.value = 1
refresh()
}
@@ -151,7 +161,8 @@ const hasFilter = computed(() => {
})
async function handleFilterConfirm(newFilterData: Record<string, any>) {
filterData.value = newFilterData
const { _id, ...rest } = newFilterData // 确认筛选 → 丢弃跳转 pin
filterData.value = rest
currentPage.value = 1
await refresh()
}
+1 -1
View File
@@ -24,7 +24,7 @@
<div v-if="!vueAdmin.state.isMobile && nextMenu.length > 0" class="aminui-side">
<div class="adminui-side-scroll">
<el-scrollbar>
<el-menu :default-active="$route.fullPath" router>
<el-menu :default-active="$route.path" router>
<navMenu :navMenus="nextMenu"></navMenu>
</el-menu>
</el-scrollbar>
+1 -1
View File
@@ -17,7 +17,7 @@
<el-main>
<el-scrollbar>
<el-menu
:default-active="$route.fullPath"
:default-active="$route.path"
@select="select"
router
background-color="#212d3d"