refactor: 重命名 CRUD 组件为 Crud 并简化字典标签类型

- CURD 组件 PageModal、PageSearch、PageContent、usePage 重命名为 CrudModal、CrudSearch、CrudTable、useCrudPage
- 字典项标签类型改用 primary/success/warning/danger/info,保留历史单字母值兼容读取
- 字典项页面拆分为独立子组件,移除 GithubCorner 组件
- 新增 icon 工具与 screen 样式
- 新增路由缓存、路由跳转、大屏与表格 CRUD 示例页
This commit is contained in:
Ray.Hao
2026-09-25 21:10:54 +08:00
parent 3ccbdb7c06
commit 89d45da839
224 changed files with 7926 additions and 3052 deletions

16
types/components.d.ts vendored
View File

@@ -15,6 +15,10 @@ declare module 'vue' {
Breadcrumb: typeof import('./../src/components/Breadcrumb/index.vue')['default']
CommandPalette: typeof import('./../src/components/CommandPalette/index.vue')['default']
CopyButton: typeof import('./../src/components/CopyButton/index.vue')['default']
CrudModal: typeof import('./../src/components/Crud/CrudModal.vue')['default']
CrudSearch: typeof import('./../src/components/Crud/CrudSearch.vue')['default']
CrudTable: typeof import('./../src/components/Crud/CrudTable.vue')['default']
DictItemPanel: typeof import('./../src/views/system/dict/components/DictItemPanel.vue')['default']
DictSelect: typeof import('./../src/components/DictSelect/index.vue')['default']
DictTag: typeof import('./../src/components/DictTag/index.vue')['default']
ECharts: typeof import('./../src/components/ECharts/index.vue')['default']
@@ -85,7 +89,6 @@ declare module 'vue' {
ElWatermark: typeof import('element-plus/es')['ElWatermark']
FileUpload: typeof import('./../src/components/Upload/FileUpload.vue')['default']
Fullscreen: typeof import('./../src/components/Fullscreen/index.vue')['default']
GithubCorner: typeof import('./../src/components/GithubCorner/index.vue')['default']
Hamburger: typeof import('./../src/components/Hamburger/index.vue')['default']
IconSelect: typeof import('./../src/components/IconSelect/index.vue')['default']
InputTag: typeof import('./../src/components/InputTag/index.vue')['default']
@@ -98,24 +101,23 @@ declare module 'vue' {
LayoutSidebarItem: typeof import('./../src/layouts/components/LayoutSidebarItem.vue')['default']
LayoutTagsView: typeof import('./../src/layouts/components/LayoutTagsView.vue')['default']
LayoutToolbar: typeof import('./../src/layouts/components/LayoutToolbar.vue')['default']
Login: typeof import('./../src/views/login/components/Login.vue')['default']
MultiImageUpload: typeof import('./../src/components/Upload/MultiImageUpload.vue')['default']
NoticeDropdown: typeof import('./../src/components/NoticeDropdown/index.vue')['default']
NoticeCenter: typeof import('./../src/components/NoticeCenter/index.vue')['default']
NoticeDetailDialog: typeof import('./../src/components/NoticeDetailDialog/index.vue')['default']
OperationColumn: typeof import('./../src/components/OperationColumn/index.vue')['default']
PageContent: typeof import('./../src/components/CURD/PageContent.vue')['default']
PageModal: typeof import('./../src/components/CURD/PageModal.vue')['default']
PageSearch: typeof import('./../src/components/CURD/PageSearch.vue')['default']
Pagination: typeof import('./../src/components/Pagination/index.vue')['default']
QrCodeLogin: typeof import('./../src/views/login/components/QrCodeLogin.vue')['default']
Register: typeof import('./../src/views/login/components/Register.vue')['default']
ResetPwd: typeof import('./../src/views/login/components/ResetPwd.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SectionTitle: typeof import('./../src/components/SectionTitle/index.vue')['default']
SingleImageUpload: typeof import('./../src/components/Upload/SingleImageUpload.vue')['default']
SizeSelect: typeof import('./../src/components/SizeSelect/index.vue')['default']
TableSelect: typeof import('./../src/components/TableSelect/index.vue')['default']
TenantSwitcher: typeof import('./../src/components/TenantSwitcher/index.vue')['default']
TextScroll: typeof import('./../src/components/TextScroll/index.vue')['default']
ThemeSwitch: typeof import('./../src/components/ThemeSwitch/index.vue')['default']
ThemeSwitcher: typeof import('./../src/components/ThemeSwitcher/index.vue')['default']
UserDeptTree: typeof import('./../src/views/system/user/components/UserDeptTree.vue')['default']
UserImportDialog: typeof import('./../src/views/system/user/components/UserImportDialog.vue')['default']
WangEditor: typeof import('./../src/components/WangEditor/index.vue')['default']