liujie
昨天 c983a0a398504697a777ffae48e59961b5ee2bd7
hugray-admin/src/router/index.js
@@ -163,6 +163,158 @@
        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
      }
    ]
  },
  {
    // 会员详情:不落菜单表,靠这条隐藏路由注入;
    // activeMenu 指向列表页,进详情后侧边栏仍高亮「用户列表」
    path: '/member/user-detail',
    component: Layout,
    hidden: true,
    permissions: ['member:user:list'],
    children: [
      {
        path: 'index/:userId(\\d+)',
        component: () => import('@/views/member/user/detail'),
        name: 'MemberUserDetail',
        meta: { title: '用户详情', activeMenu: '/member/user' }
      }
    ]
  },
  {
    // 认证申请审核详情:同「会员详情」,不落菜单表,activeMenu 指回主体认证审核
    path: '/member/certification-detail',
    component: Layout,
    hidden: true,
    permissions: ['member:certification:list'],
    children: [
      {
        path: 'index/:id(\\d+)',
        component: () => import('@/views/member/certification/detail'),
        name: 'MemberCertificationDetail',
        meta: { title: '认证审核详情', activeMenu: '/member/certification' }
      }
    ]
  },
  {
    // 注销申请审核详情:同「认证审核详情」,不落菜单表,activeMenu 指回注销申请审核
    path: '/member/cancel-detail',
    component: Layout,
    hidden: true,
    permissions: ['member:cancel:list'],
    children: [
      {
        path: 'index/:id(\\d+)',
        component: () => import('@/views/member/cancel/detail'),
        name: 'MemberCancelDetail',
        meta: { title: '注销审核详情', activeMenu: '/member/cancel' }
      }
    ]
  },
  {
    // 城市公司档案的新增/查看共用一个组件(查看页即可直接改并提交):
    // 不落菜单表,靠这条隐藏路由注入;activeMenu 指向列表页。
    // 两个 child 的 route name 都与组件的 name(MemberCompanyForm)不同,
    // 故 keep-alive 匹配不上、每次进入都重新挂载——这正是新增页需要的(不能残留上一次的输入)。
    path: '/member/company-form',
    component: Layout,
    hidden: true,
    permissions: ['member:company:list'],
    children: [
      {
        path: 'add',
        component: () => import('@/views/member/company/form'),
        name: 'MemberCompanyAdd',
        meta: { title: '城市公司档案-新增', activeMenu: '/member/company' }
      },
      {
        path: 'edit/:id(\\d+)',
        component: () => import('@/views/member/company/form'),
        name: 'MemberCompanyEdit',
        meta: { title: '城市公司档案-详情', activeMenu: '/member/company' }
      }
    ]
  },
  {
    // 服务商的新增/查看共用一个组件。原型里详情页本身就可编辑(原话「详情可编辑信息」),
    // 故不像公司档案那样做「查看只读 ↔ 修改」双态,两个入口进来都是可编辑表单。
    // 不落菜单表,靠这条隐藏路由注入;activeMenu 指向列表页。
    // 两个 child 的 route name 都与组件的 name(MemberProviderForm)不同,
    // 故 keep-alive 匹配不上、每次进入都重新挂载——这正是新增页需要的(不能残留上一次的输入)。
    path: '/member/provider-form',
    component: Layout,
    hidden: true,
    permissions: ['member:provider:list'],
    children: [
      {
        path: 'add',
        component: () => import('@/views/member/provider/form'),
        name: 'MemberProviderAdd',
        meta: { title: '服务商-新增', activeMenu: '/member/provider' }
      },
      {
        path: 'edit/:id(\\d+)',
        component: () => import('@/views/member/provider/form'),
        name: 'MemberProviderEdit',
        meta: { title: '服务商-详情', activeMenu: '/member/provider' }
      }
    ]
  },
  {
    // 协议配置的「新发布」与「查看(再发一版)」共用一个组件。
    // 追加式版本模型下「发布新版本」是插一条新行而不是改这一行,故没有「查看只读 ↔ 修改」双态:
    // 两个入口进来都是「填版本号 + 内容 → 发布」。
    // 不落菜单表,靠这条隐藏路由注入;activeMenu 指向列表页。
    // 两个 child 的 route name 都与组件的 name(SystemAgreementForm)不同,
    // 故 keep-alive 匹配不上、每次进入都重新挂载——这正是新增页需要的(不能残留上一次的输入)。
    path: '/system/agreement-form',
    component: Layout,
    hidden: true,
    permissions: ['system:agreement:list'],
    children: [
      {
        path: 'add',
        component: () => import('@/views/system/agreement/form'),
        name: 'SystemAgreementAdd',
        meta: { title: '协议配置-新发布', activeMenu: '/system/agreement' }
      },
      {
        path: 'edit/:id(\\d+)',
        component: () => import('@/views/system/agreement/form'),
        name: 'SystemAgreementEdit',
        meta: { title: '协议配置-详情', activeMenu: '/system/agreement' }
      }
    ]
  },
  {
    // 角色的「新增 / 编辑 / 详情」共用一个组件(views/system/role/form.vue),
    // 模式由 route name 区分,故这里必须给三个互不相同的 name。
    // 它们也都不同于组件 name(SystemRoleForm),keep-alive 匹配不上、每次进入都重新挂载
    // ——新增页尤其需要(不能残留上一次填的名称与勾选)。
    // 不落菜单表,靠这条隐藏路由注入;activeMenu 指向列表页。
    path: '/system/role-form',
    component: Layout,
    hidden: true,
    permissions: ['system:role:list'],
    children: [
      {
        path: 'add',
        component: () => import('@/views/system/role/form'),
        name: 'SystemRoleAdd',
        meta: { title: '新增角色', activeMenu: '/system/role' }
      },
      {
        path: 'edit/:roleId(\\d+)',
        component: () => import('@/views/system/role/form'),
        name: 'SystemRoleEdit',
        meta: { title: '编辑角色', activeMenu: '/system/role' }
      },
      {
        path: 'detail/:roleId(\\d+)',
        component: () => import('@/views/system/role/form'),
        name: 'SystemRoleDetail',
        meta: { title: '角色详情', activeMenu: '/system/role' }
      }
    ]
  }
]