@pubinfo/module-rbac 2.0.0-beta.9 → 2.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ComponentSelect-Din5Vses.js +2 -0
- package/dist/ComponentSelect-Dyqb3Uh3.js +3734 -0
- package/dist/ComponentSelect.css +1 -0
- package/dist/DynamicRoutesForm-CkmCaHum.js +4 -0
- package/dist/DynamicRoutesForm-D3nGj7oA.js +376 -0
- package/dist/HCheckList-3zLNVNr0.js +37 -0
- package/dist/HCheckList-Dd2Tx0jW.js +2 -0
- package/dist/ImportExport-BbZkZEW_.js +4 -0
- package/dist/ImportExport-Yt6dABIv.js +354 -0
- package/dist/MetaForm-CI-T2qEE.js +284 -0
- package/dist/MetaForm-CrsQmdOg.js +4 -0
- package/dist/OrgAndPosition-BK5MTlOO.js +188 -0
- package/dist/OrgAndPosition-CDCim7yM.js +2 -0
- package/dist/ResourceEdit-BFXA953U.js +309 -0
- package/dist/ResourceEdit-V6gt22gW.js +8 -0
- package/dist/ResourceRelation-BihfkBCe.js +93 -0
- package/dist/ResourceRelation-BnLQZey7.js +3 -0
- package/dist/ResourceRelation-CBPrqf2V.js +78 -0
- package/dist/ResourceRelation.css +1 -0
- package/dist/ResourceRelation2.css +1 -0
- package/dist/ResourceSelector-CxZ1ae30.js +247 -0
- package/dist/ResourceSelector.css +1 -0
- package/dist/RoleRelation-BlWDNAM1.js +79 -0
- package/dist/RoleRelation-CAMzPMFz.js +2 -0
- package/dist/RoleSelector-DTnDRRTQ.js +279 -0
- package/dist/TenantEdit-Bt31IV9W.js +253 -0
- package/dist/TenantEdit-DYHJehf0.js +6 -0
- package/dist/UserAuthorization-BdHxAQlK.js +4 -0
- package/dist/UserAuthorization-Dhp0ZamX.js +238 -0
- package/dist/UserAuthorization.css +1 -0
- package/dist/UserEdit-CqH6hxTZ.js +336 -0
- package/dist/UserEdit-CqrRx717.js +4 -0
- package/dist/_plugin-vue_export-helper-Bvl99pNT.js +6 -0
- package/dist/add-child-sIXCU5sL.js +2 -0
- package/dist/animation_item-COb6VI4T.js +2 -0
- package/dist/animation_item-D78koyTo.js +4536 -0
- package/dist/api/modules/assist/qunzujiekou.d.ts +7 -0
- package/dist/api/modules/configData/index.d.ts +1 -1
- package/dist/api/modules/configData/{zidianfuwu.d.ts → zidifuwu.d.ts} +14 -0
- package/dist/api/modules/rbac/gangweijiekou.d.ts +7 -0
- package/dist/api/modules/rbac/index.d.ts +1 -0
- package/dist/api/modules/rbac/pubJiaosezukongzhiqi.d.ts +7 -0
- package/dist/api/modules/rbac/yonghujiekou.d.ts +21 -0
- package/dist/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.d.ts +43 -0
- package/dist/api/modules/rbac/ziyuanjiekou.d.ts +7 -0
- package/dist/api/request.d.ts +1 -1
- package/dist/authority-DQ4-SayE.js +2 -0
- package/dist/authorize-CR54jxEa.js +2 -0
- package/dist/blackWhiteList-B7tUj2Rx.js +213 -0
- package/dist/blackWhiteList.css +1 -0
- package/dist/blacklist-disable-ypFSVSX1.js +2 -0
- package/dist/blacklist-enable-DlkD_15-.js +2 -0
- package/dist/breadcrumb_setting-CIm-6QHw.js +111 -0
- package/dist/breadcrumb_setting.css +1 -0
- package/dist/browser-chrome-DNH4U6iO.js +2 -0
- package/dist/browser-edge-4sSjlzO1.js +2 -0
- package/dist/browser-ie-yTwVV0GC.js +2 -0
- package/dist/browser-other-Jax-vzDs.js +2 -0
- package/dist/browser-safari-B7PIezpj.js +2 -0
- package/dist/browserType-D2cPQa0k.js +2 -0
- package/dist/browserType-DZrDbVVY.js +26 -0
- package/dist/chunk-B3eAFu3c.js +11 -0
- package/dist/cloneDeep-BnvyNhik.js +7 -0
- package/dist/components/DirectoryIcones/ComponentsIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/FolderIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/ModuleIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/PackagesIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/SrcIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/ViewIcones.vue.d.ts +7 -0
- package/dist/components/DirectoryIcones/VueIcones.vue.d.ts +2 -0
- package/dist/components/GroupSelector/index.vue.d.ts +4 -4
- package/dist/components/OrgTree/index.vue.d.ts +1 -1
- package/dist/components/OrgUserSelector/OrgSelector.vue.d.ts +7 -7
- package/dist/components/OrgUserSelector/UserSelector.vue.d.ts +7 -7
- package/dist/components/OrgUserSelector/index.d.ts +3 -2
- package/dist/components/ResourceIcones/Select.vue.d.ts +9 -0
- package/dist/components/ResourceSelector/index.vue.d.ts +5 -5
- package/dist/components/RoleSelector/RoleSearch.vue.d.ts +19 -0
- package/dist/components/RoleSelector/RoleSelector.vue.d.ts +20 -0
- package/dist/components/RoleSelector/TooltipLabel.vue.d.ts +8 -0
- package/dist/components/RoleSelector/index.d.ts +2 -0
- package/dist/components/RoleSelector/interface.d.ts +4 -0
- package/dist/components/RoleSelector/useRole.d.ts +13 -0
- package/dist/composables/useLottie.d.ts +1 -1
- package/dist/configData-CONUFxaH.js +86 -0
- package/dist/context.d.ts +3 -0
- package/dist/createAndEditDataPermission-6pvYsJo9.js +8 -0
- package/dist/createAndEditDataPermission-Bd3tlIEE.js +443 -0
- package/dist/createAndEditDataPermission.css +1 -0
- package/dist/data-permission-Db1Lu9KO.js +156 -0
- package/dist/data-permission.css +1 -0
- package/dist/dayjs.min-KffHrkDe.js +297 -0
- package/dist/dictionary-XMJprxvM.js +180 -0
- package/dist/drawerBlackWhiteList-D-Sq4mul.js +125 -0
- package/dist/drawerBlackWhiteList-DK4g_CpC.js +3 -0
- package/dist/drawerDictionary-Bw3w5PTm.js +130 -0
- package/dist/drawerDictionary-DHIcxPrY.js +4 -0
- package/dist/drawerDictionaryItem-4WIgL3No.js +142 -0
- package/dist/drawerDictionaryItem-dg1sIDYE.js +4 -0
- package/dist/drawerGroup-932n7Ywc.js +188 -0
- package/dist/drawerGroup-CrF2c8UJ.js +3 -0
- package/dist/drawerOrganization-IwZZkHWM.js +251 -0
- package/dist/drawerOrganization-b39q3V33.js +3 -0
- package/dist/drawerPosition-BiO92_At.js +170 -0
- package/dist/drawerPosition-BjoDy0cQ.js +3 -0
- package/dist/drawerRegion-CNOK55im.js +187 -0
- package/dist/drawerRegion-omVT_dpq.js +3 -0
- package/dist/drawerRole-BaQBb2-J.js +215 -0
- package/dist/drawerRole-BqMh5l11.js +5 -0
- package/dist/drawerRole-D7VJRLmp.js +6 -0
- package/dist/drawerRole-IIsKhycU.js +159 -0
- package/dist/drawerRole-PnDochPg.js +172 -0
- package/dist/drawerRole-dJ3m0_K2.js +3 -0
- package/dist/edit-CCL7qbDV.js +2 -0
- package/dist/enum-B-lkiBy0.js +61 -0
- package/dist/enum-BMY6bmPA.js +54 -0
- package/dist/enum-Bg70i-vM.js +4 -0
- package/dist/enum-CUMv4gQ2.js +23 -0
- package/dist/enum-DUjQrWbG.js +4 -0
- package/dist/group-BzuuCGyR.js +174 -0
- package/dist/group.css +1 -0
- package/dist/icard-BUuV9yW4.js +2 -0
- package/dist/icon_animation-rPC0qi0K.js +2 -0
- package/dist/icon_breadcrumb-BOiEdwRY.js +2 -0
- package/dist/icon_copyright-zk1pF8Jj.js +2 -0
- package/dist/icon_jt-BMoQoZvf.js +2 -0
- package/dist/icon_layout-KBHA8xU_.js +2 -0
- package/dist/icon_mainpage-BTdCCyi2.js +2 -0
- package/dist/icon_menu-5k8XiWt5.js +2 -0
- package/dist/icon_page_size-DUMZ6xhJ.js +2 -0
- package/dist/icon_position_type-Cnkn2IzO.js +2 -0
- package/dist/icon_safe_manage-B0PtL90p.js +2 -0
- package/dist/icon_screen_scale-CwVhfflc.js +2 -0
- package/dist/icon_system_manage-vM71UmjM.js +2 -0
- package/dist/icon_tabbar-CuMnIey0.js +2 -0
- package/dist/icon_toolbar-BoCbAU3P.js +2 -0
- package/dist/icon_topbar-DGIDBcE6.js +2 -0
- package/dist/icon_watermark-BBU-lOdN.js +2 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6906 -5
- package/dist/interface.d.ts +27 -3
- package/dist/itemlist-KOYuEUk4.js +157 -0
- package/dist/layout_setting-DQgWzV7M.js +74 -0
- package/dist/layout_setting.css +1 -0
- package/dist/log-BgIwPjNu.js +14 -0
- package/dist/log-center-Z3WDfhg1.js +2 -0
- package/dist/loginHistoryDetail-BNGtarOv.js +4 -0
- package/dist/loginHistoryDetail-DgHx6n66.js +78 -0
- package/dist/loginHistoryDetail.css +1 -0
- package/dist/login_history-Co6JLGsd.js +196 -0
- package/dist/login_history.css +1 -0
- package/dist/menu_setting-B0QIQ1um.js +158 -0
- package/dist/menu_setting.css +1 -0
- package/dist/not-data-DejN9beo.js +2 -0
- package/dist/not-data-uXybSS43.js +2 -0
- package/dist/operateHistoryDetail-BrdNmYD0.js +90 -0
- package/dist/operateHistoryDetail-DsM4L8Nz.js +4 -0
- package/dist/operateHistoryDetail.css +1 -0
- package/dist/operate_history-CVeIorOr.js +191 -0
- package/dist/operate_history.css +1 -0
- package/dist/org-main-C2g7AMMY.js +2 -0
- package/dist/org-unmain-CjGtvuIa.js +2 -0
- package/dist/organization-CXMk4mRo.js +15605 -0
- package/dist/organization.css +1 -0
- package/dist/other_setting-DK9MHysY.js +220 -0
- package/dist/other_setting.css +1 -0
- package/dist/{index-UZeQsp70.js → page_animation_setting-tSYfjx-m.js} +117 -177
- package/dist/page_animation_setting.css +1 -0
- package/dist/page_w_setting-BDI5KsA-.js +69 -0
- package/dist/page_w_setting.css +1 -0
- package/dist/position-BjUZQQUz.js +168 -0
- package/dist/region-BsX0gK_y.js +185 -0
- package/dist/remove-BroXCqy9.js +2 -0
- package/dist/resource-DKhlH74I.js +270 -0
- package/dist/resource-app-DV2RZiRk.js +2 -0
- package/dist/resource-btn-Dw9-L0P5.js +2 -0
- package/dist/resource-dynamic-Cmk2ihZb.js +2 -0
- package/dist/resource-index-D9J-wVCc.js +2 -0
- package/dist/resource-menu-XnlgciPe.js +2 -0
- package/dist/resource-micro-DzYCcl5c.js +2 -0
- package/dist/resource-nonmenu-8bXZBBWf.js +2 -0
- package/dist/role-ffXddsAo.js +196 -0
- package/dist/role_group-BBH28A40.js +172 -0
- package/dist/routes/index.d.ts +3 -1
- package/dist/routes/modules/authority.manage.menu.d.ts +1 -1
- package/dist/routes/modules/log.manage.menu.d.ts +1 -1
- package/dist/routes/modules/safe.manage.menu.d.ts +1 -1
- package/dist/routes/modules/stylesetting.manage.menu.d.ts +1 -1
- package/dist/routes/modules/system.manage.menu.d.ts +1 -1
- package/dist/safe_setting-Dis73Gsw.js +232 -0
- package/dist/safe_setting.css +1 -0
- package/dist/setItem-CjNn98dC.js +77 -0
- package/dist/setItem-H6NRNSt7.js +5 -0
- package/dist/setItem.css +1 -0
- package/dist/setting-manage-BPwzU94V.js +2 -0
- package/dist/stores-Di6SQ3pp.js +2 -0
- package/dist/tabbar_setting-DGwk_Oec.js +142 -0
- package/dist/tabbar_setting.css +1 -0
- package/dist/tenant-BhA6R8aJ.js +183 -0
- package/dist/theme-check-mark-Dz4lGIXE.js +2 -0
- package/dist/theme-title-CPXdAbpI.js +2 -0
- package/dist/theme_setting-Ca1YGTdZ.js +117 -0
- package/dist/theme_setting.css +1 -0
- package/dist/{index-BleenJqT.js → toolbar_setting-Cmrpyxgs.js} +155 -167
- package/dist/toolbar_setting.css +1 -0
- package/dist/useAppAndResource-BgnrL15l.js +57 -0
- package/dist/user-Bnb1cvVD.js +345 -0
- package/dist/user.css +1 -0
- package/dist/view-D4SR4EYn.js +2 -0
- package/dist/views/blackWhiteList/components/drawerBlackWhiteList.vue.d.ts +4 -4
- package/dist/views/blackWhiteList/index.vue.d.ts +319 -319
- package/dist/views/breadcrumb_setting/index.vue.d.ts +1 -1
- package/dist/views/components/HCheckList.vue.d.ts +5 -5
- package/dist/views/components/animation_item.vue.d.ts +5 -5
- package/dist/views/components/setItem.vue.d.ts +18 -18
- package/dist/views/data-permission/components/createAndEditDataPermission.vue.d.ts +35 -35
- package/dist/views/data-permission/index.vue.d.ts +350 -350
- package/dist/views/dictionary/components/drawerDictionary.vue.d.ts +4 -4
- package/dist/views/dictionary/components/drawerDictionaryItem.vue.d.ts +4 -4
- package/dist/views/dictionary/index.vue.d.ts +319 -319
- package/dist/views/dictionary/itemlist.vue.d.ts +319 -319
- package/dist/views/group/components/drawerGroup.vue.d.ts +4 -4
- package/dist/views/group/index.vue.d.ts +319 -319
- package/dist/views/layout_setting/index.vue.d.ts +1 -1
- package/dist/views/log_center/components/browserType.vue.d.ts +3 -3
- package/dist/views/log_center/components/loginHistoryDetail.vue.d.ts +4 -4
- package/dist/views/log_center/components/operateHistoryDetail.vue.d.ts +4 -4
- package/dist/views/log_center/login_history.vue.d.ts +315 -315
- package/dist/views/log_center/operate_history.vue.d.ts +315 -315
- package/dist/views/menu_setting/index.vue.d.ts +1 -1
- package/dist/views/organization/components/drawerOrganization.vue.d.ts +4 -4
- package/dist/views/organization/components/drawerRole.vue.d.ts +18 -10
- package/dist/views/organization/index.vue.d.ts +23 -15
- package/dist/views/other_setting/index.vue.d.ts +1 -1
- package/dist/views/page_animation_setting/index.vue.d.ts +1 -1
- package/dist/views/page_w_setting/index.vue.d.ts +1 -1
- package/dist/views/position/components/drawerPosition.vue.d.ts +4 -4
- package/dist/views/position/index.vue.d.ts +319 -319
- package/dist/views/region/components/drawerRegion.vue.d.ts +4 -4
- package/dist/views/region/index.vue.d.ts +319 -319
- package/dist/views/resource/components/ComponentSelect.vue.d.ts +14 -0
- package/dist/views/resource/components/DynamicRoutesForm.vue.d.ts +13 -0
- package/dist/views/resource/components/ImportExport.vue.d.ts +13 -0
- package/dist/views/resource/components/MetaForm.vue.d.ts +10 -0
- package/dist/views/resource/components/ResourceEdit.vue.d.ts +4 -4
- package/dist/views/resource/components/RoleRelation.vue.d.ts +2 -2
- package/dist/views/resource/enum.d.ts +6 -13
- package/dist/views/resource/hooks/useMetaForm.d.ts +6 -0
- package/dist/views/resource/index.vue.d.ts +343 -321
- package/dist/views/resource/interface.d.ts +4 -1
- package/dist/views/resource/model.d.ts +37 -0
- package/dist/views/role/components/ResourceRelation.vue.d.ts +316 -316
- package/dist/views/role/components/drawerRole.vue.d.ts +10 -10
- package/dist/views/role/index.vue.d.ts +642 -642
- package/dist/views/role_group/components/drawerRole.vue.d.ts +18 -10
- package/dist/views/role_group/index.vue.d.ts +333 -325
- package/dist/views/safe_setting/index.vue.d.ts +1 -1
- package/dist/views/tabbar_setting/index.vue.d.ts +1 -1
- package/dist/views/tenant/components/TenantEdit.vue.d.ts +10 -10
- package/dist/views/tenant/index.vue.d.ts +325 -325
- package/dist/views/theme_setting/index.vue.d.ts +1 -1
- package/dist/views/toolbar_setting/index.vue.d.ts +1 -1
- package/dist/views/user/components/OrgAndPosition.vue.d.ts +3 -3
- package/dist/views/user/components/UserAuthorization.vue.d.ts +18 -10
- package/dist/views/user/components/UserEdit.vue.d.ts +4 -4
- package/dist/views/user/index.vue.d.ts +337 -329
- package/dist/views/watermark_setting/index.vue.d.ts +9 -9
- package/dist/watermark_setting-BnBt5gdM.js +199 -0
- package/dist/watermark_setting.css +1 -0
- package/dist/zddata-Cdy8vScr.js +2 -0
- package/dist/zy_checked-xjGWlIXf.js +2 -0
- package/dist/zy_default-kwFuicHB.js +2 -0
- package/package.json +17 -15
- package/src/api/modules/assist/gonggaofuwu.ts +24 -9
- package/src/api/modules/assist/index.ts +0 -2
- package/src/api/modules/assist/qunzujiekou.ts +37 -7
- package/src/api/modules/assist/quyujiekou.ts +12 -3
- package/src/api/modules/assist/typings.d.ts +62 -58
- package/src/api/modules/configData/heibaimingdanfuwu.ts +12 -3
- package/src/api/modules/configData/index.ts +1 -3
- package/src/api/modules/configData/typings.d.ts +84 -74
- package/src/api/modules/configData/xitongpeizhifuwu.ts +39 -15
- package/src/api/modules/configData/{zidianfuwu.ts → zidifuwu.ts} +80 -8
- package/src/api/modules/log/caozuorizhifuwu.ts +8 -2
- package/src/api/modules/log/denglurizhifuwu.ts +8 -2
- package/src/api/modules/log/index.ts +0 -2
- package/src/api/modules/log/typings.d.ts +29 -25
- package/src/api/modules/rbac/gangweijiekou.ts +44 -8
- package/src/api/modules/rbac/index.ts +1 -2
- package/src/api/modules/rbac/jiaosejiekou.ts +24 -9
- package/src/api/modules/rbac/pubJiaosezukongzhiqi.ts +45 -6
- package/src/api/modules/rbac/shujuquanxianzhubiaokongzhiqi.ts +26 -12
- package/src/api/modules/rbac/typings.d.ts +419 -296
- package/src/api/modules/rbac/yonghujiekou.ts +115 -13
- package/src/api/modules/rbac/yonghushoucangbiaojiekou.ts +20 -5
- package/src/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.ts +12 -3
- package/src/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.ts +158 -0
- package/src/api/modules/rbac/ziyuanjiekou.ts +43 -4
- package/src/api/modules/rbac/zuhuguanlijiekou.ts +20 -11
- package/src/api/modules/rbac/zuzhijiaosebiaokongzhiqi.ts +12 -3
- package/src/api/modules/rbac/zuzhijiekou.ts +28 -10
- package/src/api/request.ts +3 -2
- package/src/assets/icons/add-child.svg +1 -1
- package/src/assets/icons/authority.svg +1 -1
- package/src/assets/icons/authorize.svg +1 -1
- package/src/assets/icons/blacklist-disable.svg +1 -1
- package/src/assets/icons/blacklist-enable.svg +1 -1
- package/src/assets/icons/browser-chrome.svg +1 -1
- package/src/assets/icons/browser-edge.svg +1 -1
- package/src/assets/icons/browser-ie.svg +1 -1
- package/src/assets/icons/browser-other.svg +1 -1
- package/src/assets/icons/browser-safari.svg +1 -1
- package/src/assets/icons/edit.svg +1 -1
- package/src/assets/icons/icard.svg +1 -1
- package/src/assets/icons/icon_animation.svg +1 -1
- package/src/assets/icons/icon_breadcrumb.svg +1 -1
- package/src/assets/icons/icon_copyright.svg +1 -1
- package/src/assets/icons/icon_jt.svg +1 -1
- package/src/assets/icons/icon_layout.svg +1 -1
- package/src/assets/icons/icon_mainpage.svg +1 -1
- package/src/assets/icons/icon_menu.svg +1 -1
- package/src/assets/icons/icon_page_size.svg +1 -1
- package/src/assets/icons/icon_position_type.svg +1 -1
- package/src/assets/icons/icon_safe_manage.svg +1 -1
- package/src/assets/icons/icon_screen_scale.svg +2 -2
- package/src/assets/icons/icon_system_manage.svg +1 -1
- package/src/assets/icons/icon_tabbar.svg +1 -1
- package/src/assets/icons/icon_toolbar.svg +1 -1
- package/src/assets/icons/icon_topbar.svg +1 -1
- package/src/assets/icons/icon_watermark.svg +1 -1
- package/src/assets/icons/log-center.svg +1 -1
- package/src/assets/icons/not-data.svg +1 -1
- package/src/assets/icons/org-main.svg +1 -1
- package/src/assets/icons/org-unmain.svg +1 -1
- package/src/assets/icons/remove.svg +1 -1
- package/src/assets/icons/resource-app.svg +1 -1
- package/src/assets/icons/resource-btn.svg +1 -1
- package/src/assets/icons/resource-dynamic.svg +39 -0
- package/src/assets/icons/resource-index.svg +1 -1
- package/src/assets/icons/resource-menu.svg +1 -1
- package/src/assets/icons/resource-micro.svg +40 -0
- package/src/assets/icons/resource-nonmenu.svg +1 -1
- package/src/assets/icons/setting-manage.svg +1 -1
- package/src/assets/icons/theme-check-mark.svg +1 -1
- package/src/assets/icons/theme-title.svg +1 -1
- package/src/assets/icons/view.svg +1 -1
- package/src/assets/icons/zddata.svg +1 -1
- package/src/assets/icons/zy_checked.svg +1 -1
- package/src/assets/icons/zy_default.svg +1 -1
- package/src/components/DirectoryIcones/ComponentsIcones.vue +18 -0
- package/src/components/DirectoryIcones/FolderIcones.vue +18 -0
- package/src/components/DirectoryIcones/ModuleIcones.vue +18 -0
- package/src/components/DirectoryIcones/PackagesIcones.vue +18 -0
- package/src/components/DirectoryIcones/SrcIcones.vue +18 -0
- package/src/components/DirectoryIcones/ViewIcones.vue +18 -0
- package/src/components/DirectoryIcones/VueIcones.vue +9 -0
- package/src/components/GroupSelector/index.vue +64 -89
- package/src/components/OrgTree/index.vue +2 -2
- package/src/components/OrgUserSelector/index.ts +5 -0
- package/src/components/OrgUserSelector/provider.ts +1 -1
- package/src/components/ResourceIcones/Select.vue +240 -0
- package/src/components/ResourceSelector/index.vue +33 -50
- package/src/components/RoleSelector/RoleSearch.vue +60 -0
- package/src/components/RoleSelector/RoleSelector.vue +174 -0
- package/src/components/RoleSelector/TooltipLabel.vue +24 -0
- package/src/components/RoleSelector/index.ts +2 -0
- package/src/components/RoleSelector/interface.ts +4 -0
- package/src/components/RoleSelector/useRole.ts +56 -0
- package/src/context.ts +20 -0
- package/src/index.ts +21 -18
- package/src/interface.ts +31 -2
- package/src/routes/index.ts +9 -5
- package/src/routes/modules/authority.manage.menu.ts +0 -13
- package/src/routes/modules/log.manage.menu.ts +0 -8
- package/src/routes/modules/safe.manage.menu.ts +0 -12
- package/src/routes/modules/stylesetting.manage.menu.ts +0 -16
- package/src/routes/modules/system.manage.menu.ts +0 -10
- package/src/views/blackWhiteList/components/drawerBlackWhiteList.vue +1 -1
- package/src/views/blackWhiteList/index.vue +14 -26
- package/src/views/breadcrumb_setting/index.vue +3 -3
- package/src/views/components/animation_item.vue +2 -2
- package/src/views/components/setItem.vue +13 -20
- package/src/views/data-permission/components/createAndEditDataPermission.vue +4 -4
- package/src/views/data-permission/enum.ts +7 -7
- package/src/views/data-permission/index.vue +9 -12
- package/src/views/dictionary/components/drawerDictionary.vue +1 -1
- package/src/views/dictionary/components/drawerDictionaryItem.vue +1 -1
- package/src/views/dictionary/index.vue +3 -3
- package/src/views/dictionary/itemlist.vue +3 -3
- package/src/views/group/components/drawerGroup.vue +2 -2
- package/src/views/group/index.vue +13 -18
- package/src/views/layout_setting/index.vue +154 -164
- package/src/views/log_center/components/loginHistoryDetail.vue +6 -8
- package/src/views/log_center/components/operateHistoryDetail.vue +6 -8
- package/src/views/log_center/login_history.vue +6 -11
- package/src/views/log_center/operate_history.vue +6 -11
- package/src/views/menu_setting/index.vue +3 -3
- package/src/views/organization/components/drawerOrganization.vue +3 -3
- package/src/views/organization/components/drawerRole.vue +9 -7
- package/src/views/organization/index.vue +23 -49
- package/src/views/other_setting/index.vue +2 -2
- package/src/views/page_animation_setting/index.vue +10 -18
- package/src/views/page_w_setting/index.vue +133 -116
- package/src/views/position/components/drawerPosition.vue +2 -2
- package/src/views/position/index.vue +1 -1
- package/src/views/region/components/drawerRegion.vue +2 -2
- package/src/views/region/index.vue +1 -1
- package/src/views/resource/components/ComponentSelect.vue +400 -0
- package/src/views/resource/components/DynamicRoutesForm.vue +92 -0
- package/src/views/resource/components/ImportExport.vue +313 -0
- package/src/views/resource/components/MetaForm.vue +119 -0
- package/src/views/resource/components/ResourceEdit.vue +144 -73
- package/src/views/resource/components/RoleRelation.vue +1 -1
- package/src/views/resource/enum.ts +12 -13
- package/src/views/resource/hooks/useMetaForm.ts +103 -0
- package/src/views/resource/index.vue +59 -32
- package/src/views/resource/interface.ts +5 -1
- package/src/views/resource/model.ts +53 -0
- package/src/views/role/components/ResourceRelation.vue +3 -4
- package/src/views/role/components/drawerRole.vue +3 -3
- package/src/views/role/index.vue +1 -1
- package/src/views/role_group/components/ResourceRelation.vue +3 -4
- package/src/views/role_group/components/drawerRole.vue +8 -7
- package/src/views/role_group/index.vue +1 -1
- package/src/views/safe_setting/index.vue +5 -7
- package/src/views/tabbar_setting/index.vue +2 -2
- package/src/views/tenant/components/TenantEdit.vue +1 -1
- package/src/views/tenant/index.vue +1 -1
- package/src/views/theme_setting/index.vue +202 -231
- package/src/views/toolbar_setting/index.vue +3 -3
- package/src/views/user/components/OrgAndPosition.vue +2 -2
- package/src/views/user/components/UserAuthorization.vue +13 -12
- package/src/views/user/components/UserEdit.vue +1 -1
- package/src/views/user/index.vue +1 -1
- package/src/views/watermark_setting/index.vue +8 -15
- package/dist/OrgSelector.vue_vue_type_script_setup_true_lang-BcL0IFuA.js +0 -567
- package/dist/_baseClone-CQ44TFeq.js +0 -191
- package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
- package/dist/animation_item.vue_vue_type_script_setup_true_lang-BQvmwheq.js +0 -4864
- package/dist/browserType.vue_vue_type_script_setup_true_lang-Cv8wph6G.js +0 -38
- package/dist/cloneDeep-BI4WNBQ9.js +0 -8
- package/dist/enum-BEHz_Q18.js +0 -74
- package/dist/enum-C9ihxJe7.js +0 -4
- package/dist/enum-CTUzwCYG.js +0 -4
- package/dist/enum-DDKThkSw.js +0 -24
- package/dist/gangweijiekou-BxJq_m0o.js +0 -46
- package/dist/index-BS45K9vK.js +0 -685
- package/dist/index-Bbsiwecf.js +0 -1631
- package/dist/index-BhcAk-IH.js +0 -399
- package/dist/index-Bl4v-7On.js +0 -125
- package/dist/index-CFPhIFyG.js +0 -140
- package/dist/index-CLSeuhTv.js +0 -872
- package/dist/index-CLxqmFPw.js +0 -317
- package/dist/index-CTiFd9M0.js +0 -303
- package/dist/index-Cej8u1qo.js +0 -274
- package/dist/index-Cr17VOfm.js +0 -389
- package/dist/index-CsHj-xDw.js +0 -283
- package/dist/index-D0yB_8b0.js +0 -181
- package/dist/index-DFR8dd2B.js +0 -785
- package/dist/index-DNf0NPrD.js +0 -131
- package/dist/index-Dm4sOX43.js +0 -27
- package/dist/index-KboUdpTh.js +0 -18588
- package/dist/index-MtXfNGqS.js +0 -1246
- package/dist/index-U8kjKY6p.js +0 -462
- package/dist/index-a0E9oj3q.js +0 -703
- package/dist/index-gmUZUdNl.js +0 -634
- package/dist/index-j_ln_NSt.js +0 -455
- package/dist/index-s32GbmsJ.js +0 -164
- package/dist/index-yEpViVkx.js +0 -409
- package/dist/index-zh8PZXw2.js +0 -862
- package/dist/itemlist-xAbIKRVj.js +0 -369
- package/dist/jiaosejiekou-BfY4h7uI.js +0 -58
- package/dist/login_history-CuQv9Iw3.js +0 -430
- package/dist/operate_history-CGP-1Xy2.js +0 -468
- package/dist/pubJiaosezukongzhiqi-CvYfc8Uz.js +0 -57
- package/dist/request-DQLgc7lT.js +0 -5
- package/dist/setItem-DkOvmWXP.js +0 -152
- package/dist/shujuquanxianzhubiaokongzhiqi-DyNgf1y6.js +0 -65
- package/dist/style.css +0 -1
- package/dist/useAppAndResource-D_b19V4t.js +0 -55
- package/dist/views/organization/components/roleSelect.vue.d.ts +0 -14
- package/dist/views/role_group/components/roleSelect.vue.d.ts +0 -14
- package/dist/views/user/components/roleSelect.vue.d.ts +0 -14
- package/dist/xitongpeizhifuwu-C1Vm-W1B.js +0 -23
- package/dist/zidianfuwu-yCWHhOfO.js +0 -65
- package/dist/ziyuanjiekou-DhrAbneq.js +0 -69
- package/dist/zuzhijiaosebiaokongzhiqi-B1g74RqL.js +0 -28
- package/dist/zuzhijiekou-PeZuFtCO.js +0 -85
- package/src/assets/icons/403.svg +0 -1
- package/src/assets/icons/403_dark.svg +0 -1
- package/src/assets/icons/404.svg +0 -1
- package/src/assets/icons/404_dark.svg +0 -1
- package/src/assets/icons/browser-360.svg +0 -1
- package/src/assets/icons/browser-qq.svg +0 -1
- package/src/assets/icons/browser-uc.svg +0 -1
- package/src/assets/icons/change-org.svg +0 -1
- package/src/assets/icons/empty-data.svg +0 -1
- package/src/assets/icons/favorites.svg +0 -1
- package/src/assets/icons/image-load-fail.svg +0 -1
- package/src/assets/icons/logo-sig.svg +0 -1
- package/src/assets/icons/logo.svg +0 -1
- package/src/assets/icons/mima.svg +0 -1
- package/src/assets/icons/process-management.svg +0 -1
- package/src/assets/icons/project-management.svg +0 -1
- package/src/assets/icons/rbac.svg +0 -1
- package/src/assets/icons/test.svg +0 -1
- package/src/assets/icons/toolbar-collapse.svg +0 -1
- package/src/assets/icons/tree_icon.svg +0 -1
- package/src/assets/icons/tree_icon_checked.svg +0 -1
- package/src/assets/icons/workbench.svg +0 -1
- package/src/views/organization/components/roleSelect.vue +0 -258
- package/src/views/role_group/components/roleSelect.vue +0 -224
- package/src/views/user/components/roleSelect.vue +0 -258
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { IOption } from './interface';
|
|
3
|
+
import { useToggle } from '@vueuse/core';
|
|
3
4
|
import { postGroupList } from '@/api/modules/assist';
|
|
4
5
|
import { GROUP_TYPE } from '@/views/group/enum';
|
|
5
|
-
import { useToggle } from '@vueuse/core';
|
|
6
6
|
|
|
7
7
|
defineOptions({
|
|
8
8
|
name: 'GroupSelector',
|
|
@@ -170,92 +170,75 @@ defineExpose({
|
|
|
170
170
|
</a-modal>
|
|
171
171
|
</template>
|
|
172
172
|
|
|
173
|
-
<style
|
|
174
|
-
.group-modal {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
overflow: auto;
|
|
178
|
-
}
|
|
173
|
+
<style>
|
|
174
|
+
.group-modal .ant-tabs-content-holder {
|
|
175
|
+
--at-apply: overflow-auto pt-0 pb-2 px-4;
|
|
176
|
+
}
|
|
179
177
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
.group-modal .ant-tabs-nav::before {
|
|
179
|
+
--at-apply: hidden;
|
|
180
|
+
}
|
|
183
181
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
182
|
+
.group-modal .ant-tabs-nav-wrap {
|
|
183
|
+
--at-apply: h-38px [background:#f5f5f5];
|
|
184
|
+
}
|
|
188
185
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
.group-modal .ant-tabs-tab {
|
|
187
|
+
--at-apply: m-0 px-3 py-0;
|
|
188
|
+
}
|
|
192
189
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
190
|
+
.group-modal .ant-tabs-tab + .ant-tabs-tab {
|
|
191
|
+
margin-left: 0 !important;
|
|
192
|
+
}
|
|
197
193
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
.group-modal .ant-tabs-tab-active {
|
|
195
|
+
--at-apply: [background:white];
|
|
196
|
+
}
|
|
201
197
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
198
|
+
.group-modal .ant-checkbox-group {
|
|
199
|
+
--at-apply: block;
|
|
200
|
+
}
|
|
205
201
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
202
|
+
.group-modal .ant-checkbox-wrapper {
|
|
203
|
+
--at-apply: flex mb-2;
|
|
204
|
+
}
|
|
210
205
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
206
|
+
.group-modal .ant-tabs-ink-bar {
|
|
207
|
+
--at-apply: hidden;
|
|
214
208
|
}
|
|
215
209
|
|
|
216
|
-
.dark .group-modal {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
background: #000;
|
|
220
|
-
}
|
|
210
|
+
.dark .group-modal .ant-tabs-nav-wrap {
|
|
211
|
+
--at-apply: text-[#f2f3f5] [background:#000];
|
|
212
|
+
}
|
|
221
213
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
214
|
+
.dark .group-modal .ant-tabs-tab-active {
|
|
215
|
+
--at-apply: [background:#141414];
|
|
225
216
|
}
|
|
226
217
|
</style>
|
|
227
218
|
|
|
228
|
-
<style
|
|
229
|
-
.group-modal {
|
|
230
|
-
:
|
|
231
|
-
|
|
232
|
-
border-radius: 0;
|
|
233
|
-
}
|
|
219
|
+
<style scoped>
|
|
220
|
+
.group-modal :deep(.ant-modal-content) {
|
|
221
|
+
--at-apply: p-0 rounded-none;
|
|
222
|
+
}
|
|
234
223
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
border-bottom: 1px solid #e5e6eb;
|
|
239
|
-
}
|
|
224
|
+
.group-modal :deep(.ant-modal-header) {
|
|
225
|
+
--at-apply: mb-0 px-4 py-3 border-b-[#e5e6eb] border-b border-solid;
|
|
226
|
+
}
|
|
240
227
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
color: #1d2129;
|
|
245
|
-
}
|
|
228
|
+
.group-modal :deep(.ant-modal-title) {
|
|
229
|
+
--at-apply: text-base leading-none font-medium text-[#1d2129];
|
|
230
|
+
}
|
|
246
231
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
232
|
+
.group-modal :deep(.ant-modal-body) {
|
|
233
|
+
--at-apply: p-4;
|
|
234
|
+
}
|
|
250
235
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
236
|
+
.group-modal :deep(.ant-modal-footer) {
|
|
237
|
+
--at-apply: p-4 border-t-[#e5e6eb] border-t border-solid;
|
|
238
|
+
}
|
|
254
239
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
}
|
|
240
|
+
.group-modal :deep(.ant-modal-footer) .ant-btn {
|
|
241
|
+
--at-apply: rounded-sm;
|
|
259
242
|
}
|
|
260
243
|
|
|
261
244
|
:deep(.ant-tree-checkbox) {
|
|
@@ -264,42 +247,34 @@ defineExpose({
|
|
|
264
247
|
}
|
|
265
248
|
|
|
266
249
|
:deep(.ant-tree-checkbox + span .ant-tree-iconEle) {
|
|
267
|
-
|
|
250
|
+
--at-apply: mr-1;
|
|
268
251
|
}
|
|
269
252
|
|
|
270
253
|
.custom_tag {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
border-radius: 2px;
|
|
254
|
+
--at-apply: px-2 py-[3px] rounded-sm border-0;
|
|
255
|
+
}
|
|
274
256
|
|
|
275
|
-
|
|
276
|
-
|
|
257
|
+
.custom_tag :deep(.ant-tag-close-icon) {
|
|
258
|
+
--at-apply: text-[#165dff] text-op-60;
|
|
259
|
+
}
|
|
277
260
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
}
|
|
261
|
+
.custom_tag :deep(.ant-tag-close-icon):hover {
|
|
262
|
+
--at-apply: text-[#165dff];
|
|
282
263
|
}
|
|
283
264
|
|
|
284
265
|
.border_color {
|
|
285
|
-
|
|
266
|
+
--at-apply: border-[#e5e6eb];
|
|
286
267
|
}
|
|
287
268
|
|
|
288
|
-
[data-theme="dark"] {
|
|
289
|
-
|
|
290
|
-
border-color: rgb(253 253 253 / 12%);
|
|
291
|
-
}
|
|
269
|
+
[data-theme="dark"] .border_color {
|
|
270
|
+
--at-apply: border-[#FDFDFD] border-op-12;
|
|
292
271
|
}
|
|
293
272
|
|
|
294
273
|
.border_c {
|
|
295
|
-
|
|
296
|
-
border-radius: 10px;
|
|
274
|
+
--at-apply: border rounded-[10px] border-dashed border-[#ccc];
|
|
297
275
|
}
|
|
298
276
|
|
|
299
277
|
:deep(.ant-dropdown-link) {
|
|
300
|
-
|
|
301
|
-
font-size: 12px;
|
|
302
|
-
border-radius: 2px;
|
|
303
|
-
transform: scale(0.7);
|
|
278
|
+
--at-apply: text-xs px-1.5 py-1 rounded-sm scale-[0.7];
|
|
304
279
|
}
|
|
305
280
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { EventDataNode, TreeProps } from 'ant-design-vue/es/tree';
|
|
3
|
-
import { getRbacOrgOrgListByParentId } from '@/api/modules/rbac';
|
|
4
3
|
import { useToggle } from '@vueuse/core';
|
|
4
|
+
import { getRbacOrgOrgListByParentId } from '@/api/modules/rbac';
|
|
5
5
|
|
|
6
6
|
defineOptions({
|
|
7
7
|
name: 'OrgTree',
|
|
@@ -86,6 +86,6 @@ onMounted(() => {
|
|
|
86
86
|
|
|
87
87
|
<style scoped>
|
|
88
88
|
:deep(.ant-tree .ant-tree-node-content-wrapper) {
|
|
89
|
-
|
|
89
|
+
--at-apply: overflow-hidden;
|
|
90
90
|
}
|
|
91
91
|
</style>
|
|
@@ -14,6 +14,11 @@ export function selectUser(props: UserSelectorProps & { modelValue?: UserModelVa
|
|
|
14
14
|
createAppElement(UserSelector, props);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
export {
|
|
18
|
+
OrgSelector,
|
|
19
|
+
UserSelector,
|
|
20
|
+
};
|
|
21
|
+
|
|
17
22
|
function createAppElement(
|
|
18
23
|
component: typeof OrgSelector | typeof UserSelector,
|
|
19
24
|
props: Parameters<typeof selectUser | typeof selectOrg>[0],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { OrgProviderProps, UserProviderProps } from '@pubinfo/headlessui';
|
|
2
|
+
import { message } from 'ant-design-vue';
|
|
2
3
|
import { getGroupDetailById, postGroupFindPage } from '@/api/modules/assist';
|
|
3
4
|
import { getRbacOrgOrgListByParentId, getRbacOrgSearchSubOrgById, postRbacCollectAdd, postRbacCollectFindPage, postRbacCollectRemoveCollect, postRbacOrgSearch, postRbacOrgSearchOrgByIds, postRbacUsedAddBatch, postRbacUsedFindPage, postRbacUserUserAndOrgList, postRbacUserUserForMultiOrgPage } from '@/api/modules/rbac';
|
|
4
|
-
import { message } from 'ant-design-vue';
|
|
5
5
|
|
|
6
6
|
interface ExtraApis {
|
|
7
7
|
/** 回显选中项 */
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import * as AntdIcons from '@ant-design/icons-vue';
|
|
3
|
+
import { Empty } from 'ant-design-vue';
|
|
4
|
+
import { getAllIconModules, PubinfoIcon } from 'pubinfo';
|
|
5
|
+
|
|
6
|
+
defineOptions({ name: 'ResourceIconesSelect' });
|
|
7
|
+
|
|
8
|
+
// v-model
|
|
9
|
+
const modelValueRef = defineModel<string>();
|
|
10
|
+
|
|
11
|
+
// 弹窗
|
|
12
|
+
const visibleRef = ref(false);
|
|
13
|
+
function handleOpenModal() {
|
|
14
|
+
visibleRef.value = true;
|
|
15
|
+
}
|
|
16
|
+
function handleClose() {
|
|
17
|
+
visibleRef.value = false;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 基础数据
|
|
21
|
+
interface IconItem { name: string, module?: string }
|
|
22
|
+
|
|
23
|
+
// 提取文件名(去后缀)
|
|
24
|
+
function extractName(path: string) {
|
|
25
|
+
const seg = path.split(/[\\/]/).pop() || path;
|
|
26
|
+
return seg.replace(/\.(svg|png|jpe?g)$/i, '');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 资产图标模块 -> 图标列表 (Map 迭代)
|
|
30
|
+
const moduleIconMap = computed(() => {
|
|
31
|
+
const m = new Map<string, string[]>();
|
|
32
|
+
const all = getAllIconModules();
|
|
33
|
+
for (const [mod, record] of all.entries()) {
|
|
34
|
+
const arr = Object.keys(record)
|
|
35
|
+
.map(extractName)
|
|
36
|
+
.sort();
|
|
37
|
+
m.set(mod, arr);
|
|
38
|
+
}
|
|
39
|
+
return m;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// AntD 图标(带前缀 antd:)
|
|
43
|
+
const antdIcons = computed<string[]>(() => Object.keys(AntdIcons)
|
|
44
|
+
.filter(n => /(?:Outlined|Filled|TwoTone)$/.test(n))
|
|
45
|
+
.map(n => `antd:${n}`)
|
|
46
|
+
.sort(),
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
// 模块列表(全部 + 本地(local) 优先 + 其余模块 + Ant Design)
|
|
50
|
+
const moduleOptions = computed(() => {
|
|
51
|
+
const keys = Array.from(moduleIconMap.value.keys());
|
|
52
|
+
const hasLocal = keys.includes('local');
|
|
53
|
+
const others = keys.filter(k => k !== 'local').sort();
|
|
54
|
+
return [
|
|
55
|
+
{ label: '全部', value: 'all' },
|
|
56
|
+
...(hasLocal ? [{ label: '本地', value: 'local' }] : []),
|
|
57
|
+
...others.map(v => ({ label: v, value: v })),
|
|
58
|
+
{ label: 'Ant Design', value: 'antd' },
|
|
59
|
+
];
|
|
60
|
+
});
|
|
61
|
+
const activeModule = ref('all');
|
|
62
|
+
|
|
63
|
+
// 搜索关键字
|
|
64
|
+
const keyword = ref('');
|
|
65
|
+
|
|
66
|
+
// 所有图标集合
|
|
67
|
+
const allIcons = computed<IconItem[]>(() => {
|
|
68
|
+
const list: IconItem[] = [];
|
|
69
|
+
for (const [mod, arr] of moduleIconMap.value.entries()) {
|
|
70
|
+
arr.forEach((n) => {
|
|
71
|
+
if (mod === 'local') {
|
|
72
|
+
list.push({ name: n, module: mod });
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
list.push({ name: `${mod}-[${n}]`, module: mod });
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
antdIcons.value.forEach(n => list.push({ name: n, module: 'antd' }));
|
|
80
|
+
return list;
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
// 模块过滤
|
|
84
|
+
const moduleFiltered = computed(() => {
|
|
85
|
+
if (activeModule.value === 'all') {
|
|
86
|
+
return allIcons.value;
|
|
87
|
+
}
|
|
88
|
+
if (activeModule.value === 'antd') {
|
|
89
|
+
return allIcons.value.filter(i => i.module === 'antd');
|
|
90
|
+
}
|
|
91
|
+
return allIcons.value.filter(i => i.module === activeModule.value);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// 搜索过滤(名称包含)
|
|
95
|
+
const filtered = computed(() => {
|
|
96
|
+
const k = keyword.value.trim().toLowerCase();
|
|
97
|
+
if (!k) {
|
|
98
|
+
return moduleFiltered.value;
|
|
99
|
+
}
|
|
100
|
+
return moduleFiltered.value.filter(i => i.name.toLowerCase().includes(k));
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// 计数
|
|
104
|
+
function moduleCount(val: string) {
|
|
105
|
+
if (val === 'all') {
|
|
106
|
+
return allIcons.value.length;
|
|
107
|
+
}
|
|
108
|
+
if (val === 'antd') {
|
|
109
|
+
return allIcons.value.filter(i => i.module === 'antd').length;
|
|
110
|
+
}
|
|
111
|
+
return allIcons.value.filter(i => i.module === val).length;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// 分页 (30/页)
|
|
115
|
+
const pageSize = 30;
|
|
116
|
+
const currentPage = ref(1);
|
|
117
|
+
const pageCount = computed(() => Math.max(1, Math.ceil(filtered.value.length / pageSize)));
|
|
118
|
+
const pageIcons = computed(() => {
|
|
119
|
+
const start = (currentPage.value - 1) * pageSize;
|
|
120
|
+
return filtered.value.slice(start, start + pageSize);
|
|
121
|
+
});
|
|
122
|
+
watch([keyword, activeModule], () => {
|
|
123
|
+
currentPage.value = 1;
|
|
124
|
+
});
|
|
125
|
+
// 当过滤结果长度变化时,若当前页超出范围则回退到最后一页
|
|
126
|
+
watch(filtered, () => {
|
|
127
|
+
if (currentPage.value > pageCount.value) {
|
|
128
|
+
currentPage.value = pageCount.value;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
function onPageChange(page: number) {
|
|
132
|
+
currentPage.value = page;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// 选择
|
|
136
|
+
function handleSelect(icon: IconItem) {
|
|
137
|
+
modelValueRef.value = icon.name;
|
|
138
|
+
handleClose();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
|
|
142
|
+
</script>
|
|
143
|
+
|
|
144
|
+
<template>
|
|
145
|
+
<a-input v-model:value="modelValueRef" @click="handleOpenModal">
|
|
146
|
+
<template #addonAfter>
|
|
147
|
+
<a-tooltip>
|
|
148
|
+
<template #title>
|
|
149
|
+
<PubinfoIcon :name="modelValueRef || ''" size="40px" class="cursor-default" />
|
|
150
|
+
</template>
|
|
151
|
+
<PubinfoIcon :name="modelValueRef || ''" size="20px" class="cursor-default" />
|
|
152
|
+
</a-tooltip>
|
|
153
|
+
</template>
|
|
154
|
+
</a-input>
|
|
155
|
+
<a-form-item-rest>
|
|
156
|
+
<a-modal
|
|
157
|
+
v-model:open="visibleRef"
|
|
158
|
+
title="选择图标"
|
|
159
|
+
width="1200px"
|
|
160
|
+
:footer="null"
|
|
161
|
+
destroy-on-close
|
|
162
|
+
@cancel="handleClose"
|
|
163
|
+
>
|
|
164
|
+
<div class="flex gap-4 min-h-[600px]">
|
|
165
|
+
<!-- 左侧模块列表 -->
|
|
166
|
+
<div class="w-58 flex flex-col border-r border-[#e5e7eb] dark:border-[#30363d] pr-3">
|
|
167
|
+
<div class="mb-3">
|
|
168
|
+
<a-input
|
|
169
|
+
v-model:value="keyword"
|
|
170
|
+
allow-clear
|
|
171
|
+
:bordered="true"
|
|
172
|
+
placeholder="搜索图标"
|
|
173
|
+
class="h-9 text-13px"
|
|
174
|
+
>
|
|
175
|
+
<template #prefix>
|
|
176
|
+
<PubinfoIcon name="i-carbon-search" size="16" class="text-[#7a869a]" />
|
|
177
|
+
</template>
|
|
178
|
+
</a-input>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="flex-1 overflow-auto space-y-1 pr-1">
|
|
181
|
+
<div
|
|
182
|
+
v-for="m in moduleOptions"
|
|
183
|
+
:key="m.value"
|
|
184
|
+
class="flex items-center justify-between px-3 py-2 rounded-md cursor-pointer text-13px border border-transparent hover:bg-[#f3f6fa] dark:hover:bg-[#262c33] transition"
|
|
185
|
+
:class="activeModule === m.value ? 'bg-[#eef5ff] dark:bg-[#1e2a33] border-[#1677ff] text-[#1677ff] font-medium' : 'text-[#4b5563]'"
|
|
186
|
+
@click="activeModule = m.value"
|
|
187
|
+
>
|
|
188
|
+
<span class="truncate max-w-[120px]">{{ m.label }}</span>
|
|
189
|
+
<span class="ml-2 inline-block min-w-6 text-center text-11px rounded bg-[#eef1f5] dark:bg-[#2d3339] px-1 text-[#5d6671] dark:text-[#9aa3ad]">{{ moduleCount(m.value) }}</span>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
<!-- 主体 -->
|
|
194
|
+
<div class="flex-1 flex flex-col min-w-0">
|
|
195
|
+
<template v-if="filtered.length">
|
|
196
|
+
<div class="grid grid-cols-6 gap-3 auto-rows-[96px] overflow-auto flex-1 p-1">
|
|
197
|
+
<a-tooltip
|
|
198
|
+
v-for="icon in pageIcons"
|
|
199
|
+
:key="`${icon.module || ''}:${icon.name}`"
|
|
200
|
+
:mouse-enter-delay="0.35"
|
|
201
|
+
>
|
|
202
|
+
<template #title>
|
|
203
|
+
<div class="text-12px leading-tight space-y-1">
|
|
204
|
+
<div class="font-medium">
|
|
205
|
+
{{ icon.name }}
|
|
206
|
+
</div>
|
|
207
|
+
<div v-if="icon.module" class="opacity-70">
|
|
208
|
+
模块: {{ icon.module }}
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
</template>
|
|
212
|
+
<div
|
|
213
|
+
class="group relative flex flex-col items-center justify-center cursor-pointer rounded-md"
|
|
214
|
+
:class="modelValueRef === icon.name ? 'border-[#1677ff] ring-2 ring-[#1677ff80]' : ''"
|
|
215
|
+
@click="handleSelect(icon)"
|
|
216
|
+
>
|
|
217
|
+
<PubinfoIcon :name="icon.name" size="30px" />
|
|
218
|
+
</div>
|
|
219
|
+
</a-tooltip>
|
|
220
|
+
</div>
|
|
221
|
+
<!-- 分页 -->
|
|
222
|
+
<div class="mt-4 flex justify-center select-none">
|
|
223
|
+
<a-pagination
|
|
224
|
+
:current="currentPage"
|
|
225
|
+
:page-size="pageSize"
|
|
226
|
+
:total="filtered.length"
|
|
227
|
+
:show-size-changer="false"
|
|
228
|
+
show-quick-jumper
|
|
229
|
+
@change="onPageChange"
|
|
230
|
+
/>
|
|
231
|
+
</div>
|
|
232
|
+
</template>
|
|
233
|
+
<div v-else class="flex-1 flex items-center justify-center">
|
|
234
|
+
<a-empty :image="simpleImage" description="没有匹配的图标" />
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
</a-modal>
|
|
239
|
+
</a-form-item-rest>
|
|
240
|
+
</template>
|
|
@@ -349,83 +349,66 @@ defineExpose({
|
|
|
349
349
|
</a-modal>
|
|
350
350
|
</template>
|
|
351
351
|
|
|
352
|
-
<style
|
|
352
|
+
<style scoped>
|
|
353
353
|
.border_color {
|
|
354
|
-
|
|
354
|
+
--at-apply: border-[#e5e6eb];
|
|
355
355
|
}
|
|
356
356
|
|
|
357
|
-
[data-theme="dark"] {
|
|
358
|
-
|
|
359
|
-
border-color: rgb(253 253 253 / 12%);
|
|
360
|
-
}
|
|
357
|
+
[data-theme="dark"] .border_color {
|
|
358
|
+
--at-apply: border-[#fdfdfd1f];
|
|
361
359
|
}
|
|
362
360
|
|
|
363
361
|
.border_c {
|
|
364
|
-
|
|
365
|
-
border-radius: 10px;
|
|
362
|
+
--at-apply: border rounded-[10px] border-dashed border-[#ccc];
|
|
366
363
|
}
|
|
367
364
|
|
|
368
365
|
:deep(.ant-dropdown-link) {
|
|
369
|
-
|
|
370
|
-
font-size: 12px;
|
|
371
|
-
border-radius: 2px;
|
|
372
|
-
transform: scale(0.7);
|
|
366
|
+
--at-apply: text-xs px-1.5 py-1 rounded-sm scale-[0.7];
|
|
373
367
|
}
|
|
374
368
|
</style>
|
|
375
369
|
|
|
376
|
-
<style lang='
|
|
377
|
-
.custom_modal {
|
|
378
|
-
:
|
|
379
|
-
|
|
380
|
-
border-radius: 0;
|
|
381
|
-
}
|
|
370
|
+
<style lang='css' scoped>
|
|
371
|
+
.custom_modal :deep(.ant-modal-content) {
|
|
372
|
+
--at-apply: p-0 rounded-none;
|
|
373
|
+
}
|
|
382
374
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
border-bottom: 1px solid #e5e6eb;
|
|
387
|
-
}
|
|
375
|
+
.custom_modal :deep(.ant-modal-header) {
|
|
376
|
+
--at-apply: mb-0 px-4 py-3 border-b-[#e5e6eb] border-b border-solid;
|
|
377
|
+
}
|
|
388
378
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
color: #1d2129;
|
|
393
|
-
}
|
|
379
|
+
.custom_modal :deep(.ant-modal-title) {
|
|
380
|
+
--at-apply: text-base font-medium text-[#1d2129];
|
|
381
|
+
}
|
|
394
382
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
383
|
+
.custom_modal :deep(.ant-modal-body) {
|
|
384
|
+
--at-apply: p-4;
|
|
385
|
+
}
|
|
398
386
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
387
|
+
.custom_modal :deep(.ant-modal-footer) {
|
|
388
|
+
--at-apply: p-4 border-t-[#e5e6eb] border-t border-solid;
|
|
389
|
+
}
|
|
402
390
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
}
|
|
406
|
-
}
|
|
391
|
+
.custom_modal :deep(.ant-modal-footer) .ant-btn {
|
|
392
|
+
--at-apply: rounded-sm;
|
|
407
393
|
}
|
|
408
394
|
|
|
409
395
|
:deep(.ant-tree-checkbox) {
|
|
410
|
-
|
|
411
|
-
margin-inline-end: 2px;
|
|
396
|
+
--at-apply: mt-0 mr-2px;
|
|
412
397
|
}
|
|
413
398
|
|
|
414
399
|
:deep(.ant-tree-checkbox + span .ant-tree-iconEle) {
|
|
415
|
-
|
|
400
|
+
--at-apply: mr-1;
|
|
416
401
|
}
|
|
417
402
|
|
|
418
403
|
.custom_tag {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
border-radius: 2px;
|
|
404
|
+
--at-apply: px-2 py-[3px] rounded-sm border-0;
|
|
405
|
+
}
|
|
422
406
|
|
|
423
|
-
|
|
424
|
-
|
|
407
|
+
.custom_tag :deep(.ant-tag-close-icon) {
|
|
408
|
+
--at-apply: text-[#165dff] text-op-60;
|
|
409
|
+
}
|
|
425
410
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
}
|
|
411
|
+
.custom_tag :deep(.ant-tag-close-icon):hover {
|
|
412
|
+
--at-apply: text-[#165dff] text-op-100;
|
|
430
413
|
}
|
|
431
414
|
</style>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import type { SelectValue } from 'ant-design-vue/es/select';
|
|
3
|
+
import { SearchOutlined } from '@ant-design/icons-vue';
|
|
4
|
+
import { getRbacPubRoleGroupGetAll } from '@/api/modules/rbac';
|
|
5
|
+
|
|
6
|
+
defineOptions({
|
|
7
|
+
name: 'RoleSearch',
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const props = withDefaults(defineProps<{
|
|
11
|
+
group?: boolean
|
|
12
|
+
}>(), {
|
|
13
|
+
group: false,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const emit = defineEmits(['select']);
|
|
17
|
+
|
|
18
|
+
const searchContent = defineModel<string>();
|
|
19
|
+
const groupId = defineModel<string>('groupId');
|
|
20
|
+
|
|
21
|
+
const groups = ref<API.PubRoleGroup[]>([]);
|
|
22
|
+
|
|
23
|
+
async function getRoleGroup() {
|
|
24
|
+
const res = await getRbacPubRoleGroupGetAll({ name: '' });
|
|
25
|
+
if (res.success) {
|
|
26
|
+
groups.value = res.data ?? [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
onMounted(() => {
|
|
31
|
+
if (props.group) {
|
|
32
|
+
getRoleGroup();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<template>
|
|
38
|
+
<a-input v-model:value="searchContent" placeholder="请输入" allow-clear>
|
|
39
|
+
<template #addonBefore>
|
|
40
|
+
<a-select v-if="group" v-model:value="groupId" style="width: 90px;" @change="($event: SelectValue) => emit('select', $event)">
|
|
41
|
+
<a-select-option value="">
|
|
42
|
+
全部
|
|
43
|
+
</a-select-option>
|
|
44
|
+
<a-select-option v-for="item in groups" :key="item.id" :value="item.id">
|
|
45
|
+
<a-tooltip :title="item.name">
|
|
46
|
+
{{ item.name }}
|
|
47
|
+
</a-tooltip>
|
|
48
|
+
</a-select-option>
|
|
49
|
+
</a-select>
|
|
50
|
+
|
|
51
|
+
<div v-else>
|
|
52
|
+
全部
|
|
53
|
+
</div>
|
|
54
|
+
</template>
|
|
55
|
+
|
|
56
|
+
<template #suffix>
|
|
57
|
+
<SearchOutlined />
|
|
58
|
+
</template>
|
|
59
|
+
</a-input>
|
|
60
|
+
</template>
|