Browse Source

fix: 更新路由权限ID和优化路径查询逻辑

zhangrenyuan/feature-20260128093451-日常优化1.0
zhangrenyuan 1 month ago
parent
commit
aae33a5602
  1. 18
      src/router/index.js
  2. 12
      src/views/home.vue

18
src/router/index.js

@ -307,27 +307,27 @@ const routes = [
{ {
path: 'receiveDetail', path: 'receiveDetail',
name: "receiveDetail", name: "receiveDetail",
meta: {permissionId: 74},
meta: {permissionId: 59},
children: [ children: [
// 收款提交 // 收款提交
{ {
path: 'receiveService', path: 'receiveService',
name: "receiveService", name: "receiveService",
component: () => import("../views/moneyManage/receiveDetail/receiveService.vue"), component: () => import("../views/moneyManage/receiveDetail/receiveService.vue"),
meta: {permissionId: 60}
meta: {permissionId: [60, 61, 62, 63, 64, 65, 66]}
}, },
// 收款处理(负责人) // 收款处理(负责人)
{ {
path: 'receiveManager', path: 'receiveManager',
name: "receiveManager", name: "receiveManager",
component: () => import("../views/moneyManage/receiveDetail/receiveManage.vue"), component: () => import("../views/moneyManage/receiveDetail/receiveManage.vue"),
meta: {permissionId: [67, 79]}
meta: {permissionId: [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]}
}, },
{//收款处理 {//收款处理
path: 'receiveFinance', path: 'receiveFinance',
name: "receiveFinance", name: "receiveFinance",
component: () => import("../views/moneyManage/receiveDetail/receiveFinance.vue"), component: () => import("../views/moneyManage/receiveDetail/receiveFinance.vue"),
meta: {permissionId: [67, 79]}
meta: {permissionId: [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78]}
}, },
//总部管理员及财务(移除) //总部管理员及财务(移除)
// { // {
@ -350,28 +350,28 @@ const routes = [
path: 'refundService', path: 'refundService',
name: "refundService", name: "refundService",
component: () => import("../views/moneyManage/refundDetail/refundService.vue"), component: () => import("../views/moneyManage/refundDetail/refundService.vue"),
meta: {permissionId: 99}
meta: {permissionId: [99, 100, 101, 102]}
}, },
// 退款审批 // 退款审批
{ {
path: 'refundFinance', path: 'refundFinance',
name: "refundFinance", name: "refundFinance",
component: () => import("../views/moneyManage/refundDetail/refundFinance.vue"), component: () => import("../views/moneyManage/refundDetail/refundFinance.vue"),
meta: {permissionId: 103}
meta: {permissionId: [103, 104, 105, 106]}
}, },
// 退款审批(负责人) // 退款审批(负责人)
{ {
path: 'refundCharge', path: 'refundCharge',
name: "refundCharge", name: "refundCharge",
component: () => import("../views/moneyManage/refundDetail/refundCharge.vue"), component: () => import("../views/moneyManage/refundDetail/refundCharge.vue"),
meta: {permissionId: 107}
meta: {permissionId: [107, 108, 109, 110]}
}, },
// 退款审批(总部财务) // 退款审批(总部财务)
{ {
path: 'refundHeader', path: 'refundHeader',
name: "refundHeader", name: "refundHeader",
component: () => import("../views/moneyManage/refundDetail/refundHeader.vue"), component: () => import("../views/moneyManage/refundDetail/refundHeader.vue"),
meta: {permissionId: 111}
meta: {permissionId: [111, 112, 113, 114]}
}, },
] ]
}, },
@ -380,7 +380,7 @@ const routes = [
path: 'executor', path: 'executor',
name: "executor", name: "executor",
component: () => import("../views/moneyManage/executor/executor.vue"), component: () => import("../views/moneyManage/executor/executor.vue"),
meta: {permissionId: 115}
meta: {permissionId: [115, 116, 117, 118]}
}, },
// 财务核算 // 财务核算
{ {

12
src/views/home.vue

@ -287,13 +287,21 @@ const getPathByQueryId = (queryId) => {
const qid = Number(queryId) const qid = Number(queryId)
if (!Number.isFinite(qid)) return null if (!Number.isFinite(qid)) return null
const record = router.getRoutes().find(r => {
const matchedRoutes = router.getRoutes().filter(r => {
const pid = r.meta?.permissionId const pid = r.meta?.permissionId
if (Array.isArray(pid)) return pid.includes(qid) if (Array.isArray(pid)) return pid.includes(qid)
return pid === qid return pid === qid
}) })
return record?.path || null
if (!matchedRoutes.length) return null
matchedRoutes.sort((a, b) => {
const aDepth = typeof a.path === 'string' ? a.path.split('/').length : 0
const bDepth = typeof b.path === 'string' ? b.path.split('/').length : 0
return bDepth - aDepth
})
return matchedRoutes[0]?.path || null
} }
// + // +

Loading…
Cancel
Save