From 759813095e6f8b999b35fae17a7ec235fd89f561 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=9B=B7=E6=A0=A1=E4=BA=91?=
<14135925+chenxilxy@user.noreply.gitee.com>
Date: Thu, 26 Feb 2026 15:11:34 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.editorconfig | 15 +
.env.development | 19 +
.env.production | 19 +
.eslintrc-auto-import.json | 316 +++++
.gitignore | 20 +
.prettierignore | 12 +
.prettierrc.yaml | 41 +
.stylelintignore | 11 +
.stylelintrc.cjs | 38 +
.vscode/settings.json | 71 ++
.vscode/vue3.0.code-snippets | 23 +
.vscode/vue3.2.code-snippets | 17 +
.vscode/vue3.3.code-snippets | 21 +
CHANGELOG.md | 386 ++++++
LICENSE | 21 +
README.md | 11 +
commitlint.config.cjs | 93 ++
eslint.config.ts | 238 ++++
index.html | 93 ++
logo.png | Bin 0 -> 52081 bytes
package.json | 131 ++
public/favicon.ico | Bin 0 -> 4286 bytes
public/img/logo.png | Bin 0 -> 52081 bytes
src/App.vue | 17 +
src/api/BoosAccountManagement/index.ts | 65 +
src/api/TaskManagement/index.ts | 67 +
src/api/ai/index.ts | 191 +++
src/api/auth-api.ts | 86 ++
.../accountAdjustmentApplication/index.ts | 74 ++
.../announcementManagement/index.ts | 75 ++
.../applicationForSealApproval/index.ts | 82 ++
src/api/calibration/approval/index.ts | 56 +
src/api/calibration/bidRegistration/index.ts | 78 ++
src/api/calibration/caseLabel/index.ts | 128 ++
src/api/calibration/caseManagement/index.ts | 272 +++++
.../conflictOfInterestSearch/index.ts | 110 ++
src/api/calibration/department/index.ts | 63 +
.../departureFinancialRegistration/index.ts | 72 ++
.../inventoryRegistration/index.ts | 77 ++
.../calibration/invoiceApplication/index.ts | 81 ++
.../lawFirmStandardDocuments/index.ts | 45 +
.../lmportantScheduleManagement/index.ts | 85 ++
src/api/calibration/login/index.ts | 40 +
.../onboardingRegistration/index.ts | 54 +
.../paymentApplicationForm/index.ts | 84 ++
.../calibration/permissionManagement/index.ts | 72 ++
.../calibration/personnelManagement/index.ts | 125 ++
src/api/calibration/preRegistration/index.ts | 96 ++
.../calibration/registrationPlatform/index.ts | 74 ++
src/api/calibration/reimbursement/index.ts | 78 ++
.../calibration/revenueRecognition/index.ts | 76 ++
src/api/calibration/roleManagement/index.ts | 94 ++
.../salaryBonusAdjustment/index.ts | 74 ++
src/api/calibration/systemManagement/index.ts | 75 ++
src/api/calibration/teamManagement/index.ts | 82 ++
src/api/system/config-api.ts | 70 ++
src/api/system/dept-api.ts | 75 ++
src/api/system/dict-api.ts | 145 +++
src/api/system/log-api.ts | 89 ++
src/api/system/menu-api.ts | 135 ++
src/api/system/notice-api.ts | 121 ++
src/api/system/role-api.ts | 79 ++
src/api/system/user-api.ts | 384 ++++++
src/assets/font-icon/Excel.svg | 1 +
src/assets/font-icon/PDF.svg | 1 +
src/assets/font-icon/Ppt.svg | 1 +
src/assets/font-icon/Txt.svg | 1 +
src/assets/font-icon/Word.svg | 1 +
src/assets/font-icon/shiping.svg | 1 +
src/assets/font-icon/tupian.svg | 1 +
src/assets/font-icon/weizhi.svg | 1 +
src/assets/font-icon/yasuo.svg | 1 +
src/assets/icons/ai.svg | 1 +
src/assets/icons/api.svg | 1 +
src/assets/icons/backtop.svg | 1 +
src/assets/icons/bell.svg | 1 +
src/assets/icons/bilibili.svg | 1 +
src/assets/icons/browser.svg | 1 +
src/assets/icons/captcha.svg | 1 +
src/assets/icons/cascader.svg | 1 +
src/assets/icons/client.svg | 1 +
src/assets/icons/close.svg | 1 +
src/assets/icons/close_all.svg | 1 +
src/assets/icons/close_left.svg | 1 +
src/assets/icons/close_other.svg | 1 +
src/assets/icons/close_right.svg | 1 +
src/assets/icons/cnblogs.svg | 1 +
src/assets/icons/code.svg | 1 +
src/assets/icons/collapse.svg | 1 +
src/assets/icons/csdn.svg | 6 +
src/assets/icons/dict.svg | 1 +
src/assets/icons/document.svg | 1 +
src/assets/icons/down.svg | 1 +
src/assets/icons/download.svg | 1 +
src/assets/icons/enter.svg | 1 +
src/assets/icons/esc.svg | 1 +
src/assets/icons/file.svg | 1 +
src/assets/icons/fullscreen-exit.svg | 1 +
src/assets/icons/fullscreen.svg | 1 +
src/assets/icons/gitcode.svg | 1 +
src/assets/icons/gitee.svg | 1 +
src/assets/icons/github.svg | 1 +
src/assets/icons/homepage.svg | 1 +
src/assets/icons/java.svg | 1 +
src/assets/icons/juejin.svg | 1 +
src/assets/icons/language.svg | 1 +
src/assets/icons/menu.svg | 1 +
src/assets/icons/message.svg | 1 +
src/assets/icons/monitor.svg | 1 +
src/assets/icons/project.svg | 1 +
src/assets/icons/qq.svg | 1 +
src/assets/icons/refresh.svg | 1 +
src/assets/icons/role.svg | 1 +
src/assets/icons/search.svg | 1 +
src/assets/icons/setting.svg | 1 +
src/assets/icons/size.svg | 1 +
src/assets/icons/system.svg | 1 +
src/assets/icons/table.svg | 1 +
src/assets/icons/todo.svg | 1 +
src/assets/icons/tree.svg | 1 +
src/assets/icons/typescript.svg | 1 +
src/assets/icons/up.svg | 1 +
src/assets/icons/user.svg | 1 +
src/assets/icons/visitor.svg | 1 +
src/assets/icons/vue.svg | 1 +
src/assets/icons/wechat.svg | 1 +
src/assets/icons/xml.svg | 1 +
src/assets/images/401.svg | 398 ++++++
src/assets/images/404.svg | 340 ++++++
src/assets/images/login-bg.svg | 73 ++
src/assets/images/login-bg1.svg | 71 ++
src/assets/logo.png | Bin 0 -> 52081 bytes
src/assets/user.png | Bin 0 -> 5205 bytes
src/components/AppLink/index.vue | 38 +
src/components/Breadcrumb/index.vue | 85 ++
src/components/CURD/PageContent.vue | 933 ++++++++++++++
src/components/CURD/PageModal.vue | 273 +++++
src/components/CURD/PageSearch.vue | 169 +++
src/components/CURD/types.ts | 223 ++++
src/components/CURD/usePage.ts | 105 ++
src/components/CommonWrapper/index.vue | 21 +
src/components/DarkModeSwitch/index.vue | 39 +
src/components/Fullscreen/index.vue | 11 +
src/components/Hamburger/index.vue | 66 +
src/components/LangSelect/index.vue | 49 +
src/components/Notification/ApprovalForm.vue | 126 ++
.../ConfirmationOfProxyServiceForm.vue | 48 +
.../Notification/ViewTheConflictList.vue | 189 +++
src/components/Notification/index.vue | 207 ++++
src/components/Pagination/index.vue | 91 ++
src/components/SizeSelect/index.vue | 40 +
src/composables/auth/useTokenRefresh.ts | 91 ++
src/composables/index.ts | 14 +
src/composables/layout/useDeviceDetection.ts | 40 +
src/composables/layout/useLayout.ts | 62 +
src/composables/layout/useLayoutMenu.ts | 39 +
src/composables/useAiAction.ts | 270 ++++
src/composables/useTableSelection.ts | 63 +
src/composables/websocket/useDictSync.ts | 205 ++++
src/composables/websocket/useOnlineCount.ts | 217 ++++
src/composables/websocket/useStomp.ts | 530 ++++++++
src/constants/index.ts | 74 ++
src/directives/index.ts | 8 +
src/directives/permission/index.ts | 58 +
src/enums/api/code-enum.ts | 23 +
src/enums/codegen/form-enum.ts | 15 +
src/enums/codegen/query-enum.ts | 37 +
src/enums/index.ts | 11 +
src/enums/settings/device-enum.ts | 14 +
src/enums/settings/layout-enum.ts | 53 +
src/enums/settings/locale-enum.ts | 14 +
src/enums/settings/theme-enum.ts | 32 +
src/enums/system/menu-enum.ts | 7 +
src/env.d.ts | 8 +
src/lang/index.ts | 27 +
src/lang/package/en.json | 91 ++
src/lang/package/zh-cn.json | 94 ++
src/layouts/components/AppLogo/index.vue | 72 ++
src/layouts/components/AppMain/index.vue | 91 ++
src/layouts/components/Menu/BasicMenu.vue | 245 ++++
src/layouts/components/Menu/MixTopMenu.vue | 187 +++
.../components/Menu/components/MenuItem.vue | 229 ++++
.../Menu/components/MenuItemContent.vue | 30 +
.../NavBar/components/NavbarActions.vue | 272 +++++
src/layouts/components/NavBar/index.vue | 49 +
src/layouts/components/Settings/index.vue | 562 +++++++++
src/layouts/components/TagsView/index.vue | 410 +++++++
src/layouts/index.vue | 46 +
src/layouts/modes/base/index.vue | 36 +
src/layouts/modes/left/index.vue | 132 ++
src/layouts/modes/mix/index.vue | 281 +++++
src/layouts/modes/top/index.vue | 136 +++
src/main.ts | 24 +
src/plugins/icons.ts | 9 +
src/plugins/index.ts | 34 +
src/plugins/permission.ts | 195 +++
src/plugins/vxeTable.ts | 70 ++
src/plugins/websocket.ts | 142 +++
src/router/index.ts | 437 +++++++
src/settings.ts | 67 +
src/store/index.ts | 17 +
src/store/modules/app-store.ts | 108 ++
src/store/modules/dict-store.ts | 79 ++
src/store/modules/permission-store.ts | 103 ++
src/store/modules/settings-store.ts | 176 +++
src/store/modules/tags-view-store.ts | 275 +++++
src/store/modules/user-store.ts | 165 +++
src/styles/dark/css-vars.css | 7 +
src/styles/element-plus.scss | 45 +
src/styles/index.scss | 121 ++
src/styles/reset.scss | 77 ++
src/styles/variables.module.scss | 11 +
src/styles/variables.scss | 93 ++
src/styles/vxe-table.css | 92 ++
src/styles/vxe-table.scss | 39 +
src/types/auto-imports.d.ts | 991 +++++++++++++++
src/types/components.d.ts | 90 ++
src/types/env.d.ts | 35 +
src/types/global.d.ts | 111 ++
src/types/router.d.ts | 54 +
src/types/shims-vue.d.ts | 5 +
src/types/socket.d.ts | 6 +
src/utils/TimerManager/index.ts | 30 +
src/utils/auth.ts | 76 ++
src/utils/auxiliaryFunction/index.ts | 257 ++++
src/utils/functionDialogBox/index.ts | 102 ++
src/utils/i18n.ts | 12 +
src/utils/index.ts | 58 +
src/utils/nprogress.ts | 18 +
src/utils/request.ts | 99 ++
src/utils/storage.ts | 101 ++
src/utils/theme.ts | 112 ++
.../components/BoosAccountDetails.vue | 7 +
.../components/BoosAccountForm.vue | 108 ++
src/views/BoosAccountManagement/index.vue | 257 ++++
.../TaskManagement/components/TaskDetails.vue | 7 +
.../TaskManagement/components/TaskForm.vue | 114 ++
src/views/TaskManagement/index.vue | 254 ++++
.../components/DeptTree.vue | 83 ++
.../components/UserImport.vue | 198 +++
.../accountAdjustmentApplication/index.vue | 323 +++++
.../components/AnnouncementForm.vue | 163 +++
.../announcementManagement/index.vue | 234 ++++
.../components/StampingForm.vue | 213 ++++
.../applicationForSealApproval/index.vue | 294 +++++
.../components/BidRegistrationForm.vue | 269 ++++
.../components/BusinessProjectForm.vue | 257 ++++
.../businessSystem/bidRegistration/index.vue | 313 +++++
.../components/BidRegistrationForm.vue | 305 +++++
.../components/BusinessProjectForm.vue | 257 ++++
.../conflictOfInterestSearch/index.vue | 486 ++++++++
.../components/PreRegistrationForm.vue | 364 ++++++
.../businessSystem/preRegistration/index.vue | 307 +++++
.../components/AdjustTheYearForm.vue | 91 ++
.../components/BidRegistrationForm.vue | 305 +++++
.../components/BusinessProjectForm.vue | 555 +++++++++
.../projectRegistration/index.vue | 342 ++++++
.../caseLabel/components/CaseLabelForm.vue | 108 ++
src/views/calibration/caseLabel/index.vue | 261 ++++
.../components/CaseLogForm.vue | 103 ++
.../components/CaseLogComponent/index.vue | 181 +++
.../components/CaseManagementForm.vue | 227 ++++
.../components/CaseInvoiceForm.vue | 133 ++
.../ChangeApplicationComponent/index.vue | 190 +++
.../CumulativeReceivedPaymentForm.vue | 88 ++
.../components/UploadOfDataForm.vue | 140 +++
.../calibration/caseManagement/index.vue | 604 +++++++++
src/views/calibration/department/index.vue | 258 ++++
.../components/SeparationRegistrationForm.vue | 132 ++
.../components/StampingForm.vue | 217 ++++
.../departureFinancialRegistration/index.vue | 284 +++++
.../components/StampingForm.vue | 176 +++
.../inventoryRegistration/index.vue | 260 ++++
.../components/DeptTree.vue | 83 ++
.../components/UserImport.vue | 198 +++
.../calibration/invoiceApplication/index.vue | 346 ++++++
.../components/LawFirmStandardsForm.vue | 153 +++
.../lawFirmStandardDocuments/index.vue | 255 ++++
.../components/LmportantScheduleForm.vue | 137 +++
.../lmportantScheduleManagement/index.vue | 265 ++++
.../components/DepartmentSelectionForm.vue | 111 ++
.../onboardingRegistration/index.vue | 294 +++++
.../components/DeptTree.vue | 83 ++
.../components/UserImport.vue | 198 +++
.../paymentApplicationForm/index.vue | 368 ++++++
.../components/permissionForm.vue | 134 ++
.../permissionManagement/index.vue | 235 ++++
.../components/DeptTree.vue | 83 ++
.../components/EditorPasswordForm.vue | 112 ++
.../components/UserImport.vue | 198 +++
.../calibration/personnelManagement/index.vue | 1088 +++++++++++++++++
.../components/RegistrationPlatformForm.vue | 130 ++
.../registrationPlatform/index.vue | 221 ++++
.../reimbursement/components/DeptTree.vue | 83 ++
.../reimbursement/components/UserImport.vue | 198 +++
src/views/calibration/reimbursement/index.vue | 349 ++++++
.../components/DeptTree.vue | 83 ++
.../components/UserImport.vue | 198 +++
.../calibration/revenueRecognition/index.vue | 343 ++++++
.../components/GrantPermissionsForm.vue | 106 ++
.../roleManagement/components/RoleForm.vue | 104 ++
.../calibration/roleManagement/index.vue | 261 ++++
.../components/DeptTree.vue | 83 ++
.../components/UserImport.vue | 198 +++
.../salaryBonusAdjustment/index.vue | 340 ++++++
.../components/SystemForm.vue | 161 +++
.../calibration/systemManagement/index.vue | 234 ++++
.../components/GrantPermissionsForm.vue | 106 ++
.../teamManagement/components/RoleForm.vue | 104 ++
.../teamManagement/components/TeamForm.vue | 111 ++
.../calibration/teamManagement/index.vue | 230 ++++
src/views/dashboard/AnnouncementDetails.vue | 79 ++
src/views/dashboard/config.ts | 106 ++
src/views/dashboard/index.vue | 588 +++++++++
src/views/error/401.vue | 25 +
src/views/error/404.vue | 64 +
src/views/login/components/Login.vue | 156 +++
src/views/login/index.vue | 118 ++
tsconfig.json | 40 +
uno.config.ts | 82 ++
vite.config.ts | 252 ++++
321 files changed, 37486 insertions(+)
create mode 100644 .editorconfig
create mode 100644 .env.development
create mode 100644 .env.production
create mode 100644 .eslintrc-auto-import.json
create mode 100644 .gitignore
create mode 100644 .prettierignore
create mode 100644 .prettierrc.yaml
create mode 100644 .stylelintignore
create mode 100644 .stylelintrc.cjs
create mode 100644 .vscode/settings.json
create mode 100644 .vscode/vue3.0.code-snippets
create mode 100644 .vscode/vue3.2.code-snippets
create mode 100644 .vscode/vue3.3.code-snippets
create mode 100644 CHANGELOG.md
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 commitlint.config.cjs
create mode 100644 eslint.config.ts
create mode 100644 index.html
create mode 100644 logo.png
create mode 100644 package.json
create mode 100644 public/favicon.ico
create mode 100644 public/img/logo.png
create mode 100644 src/App.vue
create mode 100644 src/api/BoosAccountManagement/index.ts
create mode 100644 src/api/TaskManagement/index.ts
create mode 100644 src/api/ai/index.ts
create mode 100644 src/api/auth-api.ts
create mode 100644 src/api/calibration/accountAdjustmentApplication/index.ts
create mode 100644 src/api/calibration/announcementManagement/index.ts
create mode 100644 src/api/calibration/applicationForSealApproval/index.ts
create mode 100644 src/api/calibration/approval/index.ts
create mode 100644 src/api/calibration/bidRegistration/index.ts
create mode 100644 src/api/calibration/caseLabel/index.ts
create mode 100644 src/api/calibration/caseManagement/index.ts
create mode 100644 src/api/calibration/conflictOfInterestSearch/index.ts
create mode 100644 src/api/calibration/department/index.ts
create mode 100644 src/api/calibration/departureFinancialRegistration/index.ts
create mode 100644 src/api/calibration/inventoryRegistration/index.ts
create mode 100644 src/api/calibration/invoiceApplication/index.ts
create mode 100644 src/api/calibration/lawFirmStandardDocuments/index.ts
create mode 100644 src/api/calibration/lmportantScheduleManagement/index.ts
create mode 100644 src/api/calibration/login/index.ts
create mode 100644 src/api/calibration/onboardingRegistration/index.ts
create mode 100644 src/api/calibration/paymentApplicationForm/index.ts
create mode 100644 src/api/calibration/permissionManagement/index.ts
create mode 100644 src/api/calibration/personnelManagement/index.ts
create mode 100644 src/api/calibration/preRegistration/index.ts
create mode 100644 src/api/calibration/registrationPlatform/index.ts
create mode 100644 src/api/calibration/reimbursement/index.ts
create mode 100644 src/api/calibration/revenueRecognition/index.ts
create mode 100644 src/api/calibration/roleManagement/index.ts
create mode 100644 src/api/calibration/salaryBonusAdjustment/index.ts
create mode 100644 src/api/calibration/systemManagement/index.ts
create mode 100644 src/api/calibration/teamManagement/index.ts
create mode 100644 src/api/system/config-api.ts
create mode 100644 src/api/system/dept-api.ts
create mode 100644 src/api/system/dict-api.ts
create mode 100644 src/api/system/log-api.ts
create mode 100644 src/api/system/menu-api.ts
create mode 100644 src/api/system/notice-api.ts
create mode 100644 src/api/system/role-api.ts
create mode 100644 src/api/system/user-api.ts
create mode 100644 src/assets/font-icon/Excel.svg
create mode 100644 src/assets/font-icon/PDF.svg
create mode 100644 src/assets/font-icon/Ppt.svg
create mode 100644 src/assets/font-icon/Txt.svg
create mode 100644 src/assets/font-icon/Word.svg
create mode 100644 src/assets/font-icon/shiping.svg
create mode 100644 src/assets/font-icon/tupian.svg
create mode 100644 src/assets/font-icon/weizhi.svg
create mode 100644 src/assets/font-icon/yasuo.svg
create mode 100644 src/assets/icons/ai.svg
create mode 100644 src/assets/icons/api.svg
create mode 100644 src/assets/icons/backtop.svg
create mode 100644 src/assets/icons/bell.svg
create mode 100644 src/assets/icons/bilibili.svg
create mode 100644 src/assets/icons/browser.svg
create mode 100644 src/assets/icons/captcha.svg
create mode 100644 src/assets/icons/cascader.svg
create mode 100644 src/assets/icons/client.svg
create mode 100644 src/assets/icons/close.svg
create mode 100644 src/assets/icons/close_all.svg
create mode 100644 src/assets/icons/close_left.svg
create mode 100644 src/assets/icons/close_other.svg
create mode 100644 src/assets/icons/close_right.svg
create mode 100644 src/assets/icons/cnblogs.svg
create mode 100644 src/assets/icons/code.svg
create mode 100644 src/assets/icons/collapse.svg
create mode 100644 src/assets/icons/csdn.svg
create mode 100644 src/assets/icons/dict.svg
create mode 100644 src/assets/icons/document.svg
create mode 100644 src/assets/icons/down.svg
create mode 100644 src/assets/icons/download.svg
create mode 100644 src/assets/icons/enter.svg
create mode 100644 src/assets/icons/esc.svg
create mode 100644 src/assets/icons/file.svg
create mode 100644 src/assets/icons/fullscreen-exit.svg
create mode 100644 src/assets/icons/fullscreen.svg
create mode 100644 src/assets/icons/gitcode.svg
create mode 100644 src/assets/icons/gitee.svg
create mode 100644 src/assets/icons/github.svg
create mode 100644 src/assets/icons/homepage.svg
create mode 100644 src/assets/icons/java.svg
create mode 100644 src/assets/icons/juejin.svg
create mode 100644 src/assets/icons/language.svg
create mode 100644 src/assets/icons/menu.svg
create mode 100644 src/assets/icons/message.svg
create mode 100644 src/assets/icons/monitor.svg
create mode 100644 src/assets/icons/project.svg
create mode 100644 src/assets/icons/qq.svg
create mode 100644 src/assets/icons/refresh.svg
create mode 100644 src/assets/icons/role.svg
create mode 100644 src/assets/icons/search.svg
create mode 100644 src/assets/icons/setting.svg
create mode 100644 src/assets/icons/size.svg
create mode 100644 src/assets/icons/system.svg
create mode 100644 src/assets/icons/table.svg
create mode 100644 src/assets/icons/todo.svg
create mode 100644 src/assets/icons/tree.svg
create mode 100644 src/assets/icons/typescript.svg
create mode 100644 src/assets/icons/up.svg
create mode 100644 src/assets/icons/user.svg
create mode 100644 src/assets/icons/visitor.svg
create mode 100644 src/assets/icons/vue.svg
create mode 100644 src/assets/icons/wechat.svg
create mode 100644 src/assets/icons/xml.svg
create mode 100644 src/assets/images/401.svg
create mode 100644 src/assets/images/404.svg
create mode 100644 src/assets/images/login-bg.svg
create mode 100644 src/assets/images/login-bg1.svg
create mode 100644 src/assets/logo.png
create mode 100644 src/assets/user.png
create mode 100644 src/components/AppLink/index.vue
create mode 100644 src/components/Breadcrumb/index.vue
create mode 100644 src/components/CURD/PageContent.vue
create mode 100644 src/components/CURD/PageModal.vue
create mode 100644 src/components/CURD/PageSearch.vue
create mode 100644 src/components/CURD/types.ts
create mode 100644 src/components/CURD/usePage.ts
create mode 100644 src/components/CommonWrapper/index.vue
create mode 100644 src/components/DarkModeSwitch/index.vue
create mode 100644 src/components/Fullscreen/index.vue
create mode 100644 src/components/Hamburger/index.vue
create mode 100644 src/components/LangSelect/index.vue
create mode 100644 src/components/Notification/ApprovalForm.vue
create mode 100644 src/components/Notification/ConfirmationOfProxyServiceForm.vue
create mode 100644 src/components/Notification/ViewTheConflictList.vue
create mode 100644 src/components/Notification/index.vue
create mode 100644 src/components/Pagination/index.vue
create mode 100644 src/components/SizeSelect/index.vue
create mode 100644 src/composables/auth/useTokenRefresh.ts
create mode 100644 src/composables/index.ts
create mode 100644 src/composables/layout/useDeviceDetection.ts
create mode 100644 src/composables/layout/useLayout.ts
create mode 100644 src/composables/layout/useLayoutMenu.ts
create mode 100644 src/composables/useAiAction.ts
create mode 100644 src/composables/useTableSelection.ts
create mode 100644 src/composables/websocket/useDictSync.ts
create mode 100644 src/composables/websocket/useOnlineCount.ts
create mode 100644 src/composables/websocket/useStomp.ts
create mode 100644 src/constants/index.ts
create mode 100644 src/directives/index.ts
create mode 100644 src/directives/permission/index.ts
create mode 100644 src/enums/api/code-enum.ts
create mode 100644 src/enums/codegen/form-enum.ts
create mode 100644 src/enums/codegen/query-enum.ts
create mode 100644 src/enums/index.ts
create mode 100644 src/enums/settings/device-enum.ts
create mode 100644 src/enums/settings/layout-enum.ts
create mode 100644 src/enums/settings/locale-enum.ts
create mode 100644 src/enums/settings/theme-enum.ts
create mode 100644 src/enums/system/menu-enum.ts
create mode 100644 src/env.d.ts
create mode 100644 src/lang/index.ts
create mode 100644 src/lang/package/en.json
create mode 100644 src/lang/package/zh-cn.json
create mode 100644 src/layouts/components/AppLogo/index.vue
create mode 100644 src/layouts/components/AppMain/index.vue
create mode 100644 src/layouts/components/Menu/BasicMenu.vue
create mode 100644 src/layouts/components/Menu/MixTopMenu.vue
create mode 100644 src/layouts/components/Menu/components/MenuItem.vue
create mode 100644 src/layouts/components/Menu/components/MenuItemContent.vue
create mode 100644 src/layouts/components/NavBar/components/NavbarActions.vue
create mode 100644 src/layouts/components/NavBar/index.vue
create mode 100644 src/layouts/components/Settings/index.vue
create mode 100644 src/layouts/components/TagsView/index.vue
create mode 100644 src/layouts/index.vue
create mode 100644 src/layouts/modes/base/index.vue
create mode 100644 src/layouts/modes/left/index.vue
create mode 100644 src/layouts/modes/mix/index.vue
create mode 100644 src/layouts/modes/top/index.vue
create mode 100644 src/main.ts
create mode 100644 src/plugins/icons.ts
create mode 100644 src/plugins/index.ts
create mode 100644 src/plugins/permission.ts
create mode 100644 src/plugins/vxeTable.ts
create mode 100644 src/plugins/websocket.ts
create mode 100644 src/router/index.ts
create mode 100644 src/settings.ts
create mode 100644 src/store/index.ts
create mode 100644 src/store/modules/app-store.ts
create mode 100644 src/store/modules/dict-store.ts
create mode 100644 src/store/modules/permission-store.ts
create mode 100644 src/store/modules/settings-store.ts
create mode 100644 src/store/modules/tags-view-store.ts
create mode 100644 src/store/modules/user-store.ts
create mode 100644 src/styles/dark/css-vars.css
create mode 100644 src/styles/element-plus.scss
create mode 100644 src/styles/index.scss
create mode 100644 src/styles/reset.scss
create mode 100644 src/styles/variables.module.scss
create mode 100644 src/styles/variables.scss
create mode 100644 src/styles/vxe-table.css
create mode 100644 src/styles/vxe-table.scss
create mode 100644 src/types/auto-imports.d.ts
create mode 100644 src/types/components.d.ts
create mode 100644 src/types/env.d.ts
create mode 100644 src/types/global.d.ts
create mode 100644 src/types/router.d.ts
create mode 100644 src/types/shims-vue.d.ts
create mode 100644 src/types/socket.d.ts
create mode 100644 src/utils/TimerManager/index.ts
create mode 100644 src/utils/auth.ts
create mode 100644 src/utils/auxiliaryFunction/index.ts
create mode 100644 src/utils/functionDialogBox/index.ts
create mode 100644 src/utils/i18n.ts
create mode 100644 src/utils/index.ts
create mode 100644 src/utils/nprogress.ts
create mode 100644 src/utils/request.ts
create mode 100644 src/utils/storage.ts
create mode 100644 src/utils/theme.ts
create mode 100644 src/views/BoosAccountManagement/components/BoosAccountDetails.vue
create mode 100644 src/views/BoosAccountManagement/components/BoosAccountForm.vue
create mode 100644 src/views/BoosAccountManagement/index.vue
create mode 100644 src/views/TaskManagement/components/TaskDetails.vue
create mode 100644 src/views/TaskManagement/components/TaskForm.vue
create mode 100644 src/views/TaskManagement/index.vue
create mode 100644 src/views/calibration/accountAdjustmentApplication/components/DeptTree.vue
create mode 100644 src/views/calibration/accountAdjustmentApplication/components/UserImport.vue
create mode 100644 src/views/calibration/accountAdjustmentApplication/index.vue
create mode 100644 src/views/calibration/announcementManagement/components/AnnouncementForm.vue
create mode 100644 src/views/calibration/announcementManagement/index.vue
create mode 100644 src/views/calibration/applicationForSealApproval/components/StampingForm.vue
create mode 100644 src/views/calibration/applicationForSealApproval/index.vue
create mode 100644 src/views/calibration/businessSystem/bidRegistration/components/BidRegistrationForm.vue
create mode 100644 src/views/calibration/businessSystem/bidRegistration/components/BusinessProjectForm.vue
create mode 100644 src/views/calibration/businessSystem/bidRegistration/index.vue
create mode 100644 src/views/calibration/businessSystem/conflictOfInterestSearch/components/BidRegistrationForm.vue
create mode 100644 src/views/calibration/businessSystem/conflictOfInterestSearch/components/BusinessProjectForm.vue
create mode 100644 src/views/calibration/businessSystem/conflictOfInterestSearch/index.vue
create mode 100644 src/views/calibration/businessSystem/preRegistration/components/PreRegistrationForm.vue
create mode 100644 src/views/calibration/businessSystem/preRegistration/index.vue
create mode 100644 src/views/calibration/businessSystem/projectRegistration/components/AdjustTheYearForm.vue
create mode 100644 src/views/calibration/businessSystem/projectRegistration/components/BidRegistrationForm.vue
create mode 100644 src/views/calibration/businessSystem/projectRegistration/components/BusinessProjectForm.vue
create mode 100644 src/views/calibration/businessSystem/projectRegistration/index.vue
create mode 100644 src/views/calibration/caseLabel/components/CaseLabelForm.vue
create mode 100644 src/views/calibration/caseLabel/index.vue
create mode 100644 src/views/calibration/caseManagement/components/CaseLogComponent/components/CaseLogForm.vue
create mode 100644 src/views/calibration/caseManagement/components/CaseLogComponent/index.vue
create mode 100644 src/views/calibration/caseManagement/components/CaseManagementForm.vue
create mode 100644 src/views/calibration/caseManagement/components/ChangeApplicationComponent/components/CaseInvoiceForm.vue
create mode 100644 src/views/calibration/caseManagement/components/ChangeApplicationComponent/index.vue
create mode 100644 src/views/calibration/caseManagement/components/CumulativeReceivedPaymentForm.vue
create mode 100644 src/views/calibration/caseManagement/components/UploadOfDataForm.vue
create mode 100644 src/views/calibration/caseManagement/index.vue
create mode 100644 src/views/calibration/department/index.vue
create mode 100644 src/views/calibration/departureFinancialRegistration/components/SeparationRegistrationForm.vue
create mode 100644 src/views/calibration/departureFinancialRegistration/components/StampingForm.vue
create mode 100644 src/views/calibration/departureFinancialRegistration/index.vue
create mode 100644 src/views/calibration/inventoryRegistration/components/StampingForm.vue
create mode 100644 src/views/calibration/inventoryRegistration/index.vue
create mode 100644 src/views/calibration/invoiceApplication/components/DeptTree.vue
create mode 100644 src/views/calibration/invoiceApplication/components/UserImport.vue
create mode 100644 src/views/calibration/invoiceApplication/index.vue
create mode 100644 src/views/calibration/lawFirmStandardDocuments/components/LawFirmStandardsForm.vue
create mode 100644 src/views/calibration/lawFirmStandardDocuments/index.vue
create mode 100644 src/views/calibration/lmportantScheduleManagement/components/LmportantScheduleForm.vue
create mode 100644 src/views/calibration/lmportantScheduleManagement/index.vue
create mode 100644 src/views/calibration/onboardingRegistration/components/DepartmentSelectionForm.vue
create mode 100644 src/views/calibration/onboardingRegistration/index.vue
create mode 100644 src/views/calibration/paymentApplicationForm/components/DeptTree.vue
create mode 100644 src/views/calibration/paymentApplicationForm/components/UserImport.vue
create mode 100644 src/views/calibration/paymentApplicationForm/index.vue
create mode 100644 src/views/calibration/permissionManagement/components/permissionForm.vue
create mode 100644 src/views/calibration/permissionManagement/index.vue
create mode 100644 src/views/calibration/personnelManagement/components/DeptTree.vue
create mode 100644 src/views/calibration/personnelManagement/components/EditorPasswordForm.vue
create mode 100644 src/views/calibration/personnelManagement/components/UserImport.vue
create mode 100644 src/views/calibration/personnelManagement/index.vue
create mode 100644 src/views/calibration/registrationPlatform/components/RegistrationPlatformForm.vue
create mode 100644 src/views/calibration/registrationPlatform/index.vue
create mode 100644 src/views/calibration/reimbursement/components/DeptTree.vue
create mode 100644 src/views/calibration/reimbursement/components/UserImport.vue
create mode 100644 src/views/calibration/reimbursement/index.vue
create mode 100644 src/views/calibration/revenueRecognition/components/DeptTree.vue
create mode 100644 src/views/calibration/revenueRecognition/components/UserImport.vue
create mode 100644 src/views/calibration/revenueRecognition/index.vue
create mode 100644 src/views/calibration/roleManagement/components/GrantPermissionsForm.vue
create mode 100644 src/views/calibration/roleManagement/components/RoleForm.vue
create mode 100644 src/views/calibration/roleManagement/index.vue
create mode 100644 src/views/calibration/salaryBonusAdjustment/components/DeptTree.vue
create mode 100644 src/views/calibration/salaryBonusAdjustment/components/UserImport.vue
create mode 100644 src/views/calibration/salaryBonusAdjustment/index.vue
create mode 100644 src/views/calibration/systemManagement/components/SystemForm.vue
create mode 100644 src/views/calibration/systemManagement/index.vue
create mode 100644 src/views/calibration/teamManagement/components/GrantPermissionsForm.vue
create mode 100644 src/views/calibration/teamManagement/components/RoleForm.vue
create mode 100644 src/views/calibration/teamManagement/components/TeamForm.vue
create mode 100644 src/views/calibration/teamManagement/index.vue
create mode 100644 src/views/dashboard/AnnouncementDetails.vue
create mode 100644 src/views/dashboard/config.ts
create mode 100644 src/views/dashboard/index.vue
create mode 100644 src/views/error/401.vue
create mode 100644 src/views/error/404.vue
create mode 100644 src/views/login/components/Login.vue
create mode 100644 src/views/login/index.vue
create mode 100644 tsconfig.json
create mode 100644 uno.config.ts
create mode 100644 vite.config.ts
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..00ee2de
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+# http://editorconfig.org
+root = true
+
+# 表示所有文件适用
+[*]
+charset = utf-8 # 设置文件字符集为 utf-8
+end_of_line = lf # 控制换行类型(lf | cr | crlf)
+indent_style = space # 缩进风格(tab | space)
+indent_size = 2 # 缩进大小
+insert_final_newline = true # 始终在文件末尾插入一个新行
+
+# 表示仅 md 文件适用以下规则
+[*.md]
+max_line_length = off # 关闭最大行长度限制
+trim_trailing_whitespace = false # 关闭末尾空格修剪
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..b03c6a3
--- /dev/null
+++ b/.env.development
@@ -0,0 +1,19 @@
+# 应用端口
+VITE_APP_PORT=3000
+# 项目名称
+VITE_APP_TITLE=vue3-element-admin
+# 代理前缀
+VITE_APP_BASE_API=/dev-api
+
+# 生产环境配置
+VITE_APP_ENV = 'development'
+
+# 接口地址
+# VITE_APP_API_URL=http://192.168.0.61:8007 # 本地
+VITE_APP_API_URL=http://26.151.107.60:8007 # 本地
+
+# WebSocket 端点(不配置则关闭),线上 ws://api.youlai.tech/ws ,本地 ws://localhost:8989/ws
+VITE_APP_WS_ENDPOINT=
+
+# 启用 Mock 服务
+VITE_MOCK_DEV_SERVER=false
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..98c1b32
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,19 @@
+# 应用端口
+VITE_APP_PORT=3000
+# 项目名称
+VITE_APP_TITLE=vue3-element-admin
+# 代理前缀
+VITE_APP_BASE_API=/dev-api
+
+# 生产环境配置
+VITE_APP_ENV = 'production'
+
+# 接口地址
+VITE_APP_API_URL=http://8.137.99.82:9000 # 线上
+# VITE_APP_API_URL=http://localhost:8989 # 本地
+
+# WebSocket 端点(不配置则关闭),线上 ws://api.youlai.tech/ws ,本地 ws://localhost:8989/ws
+VITE_APP_WS_ENDPOINT=
+
+# 启用 Mock 服务
+VITE_MOCK_DEV_SERVER=false
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
new file mode 100644
index 0000000..0e8546f
--- /dev/null
+++ b/.eslintrc-auto-import.json
@@ -0,0 +1,316 @@
+{
+ "globals": {
+ "Component": true,
+ "ComponentPublicInstance": true,
+ "ComputedRef": true,
+ "EffectScope": true,
+ "ElMessage": true,
+ "ElMessageBox": true,
+ "ElNotification": true,
+ "InjectionKey": true,
+ "PropType": true,
+ "Ref": true,
+ "VNode": true,
+ "asyncComputed": true,
+ "autoResetRef": true,
+ "computed": true,
+ "computedAsync": true,
+ "computedEager": true,
+ "computedInject": true,
+ "computedWithControl": true,
+ "controlledComputed": true,
+ "controlledRef": true,
+ "createApp": true,
+ "createEventHook": true,
+ "createGlobalState": true,
+ "createInjectionState": true,
+ "createReactiveFn": true,
+ "createReusableTemplate": true,
+ "createSharedComposable": true,
+ "createTemplatePromise": true,
+ "createUnrefFn": true,
+ "customRef": true,
+ "debouncedRef": true,
+ "debouncedWatch": true,
+ "defineAsyncComponent": true,
+ "defineComponent": true,
+ "eagerComputed": true,
+ "effectScope": true,
+ "extendRef": true,
+ "getCurrentInstance": true,
+ "getCurrentScope": true,
+ "h": true,
+ "ignorableWatch": true,
+ "inject": true,
+ "isDefined": true,
+ "isProxy": true,
+ "isReactive": true,
+ "isReadonly": true,
+ "isRef": true,
+ "makeDestructurable": true,
+ "markRaw": true,
+ "nextTick": true,
+ "onActivated": true,
+ "onBeforeMount": true,
+ "onBeforeUnmount": true,
+ "onBeforeUpdate": true,
+ "onClickOutside": true,
+ "onDeactivated": true,
+ "onErrorCaptured": true,
+ "onKeyStroke": true,
+ "onLongPress": true,
+ "onMounted": true,
+ "onRenderTracked": true,
+ "onRenderTriggered": true,
+ "onScopeDispose": true,
+ "onServerPrefetch": true,
+ "onStartTyping": true,
+ "onUnmounted": true,
+ "onUpdated": true,
+ "pausableWatch": true,
+ "provide": true,
+ "reactify": true,
+ "reactifyObject": true,
+ "reactive": true,
+ "reactiveComputed": true,
+ "reactiveOmit": true,
+ "reactivePick": true,
+ "readonly": true,
+ "ref": true,
+ "refAutoReset": true,
+ "refDebounced": true,
+ "refDefault": true,
+ "refThrottled": true,
+ "refWithControl": true,
+ "resolveComponent": true,
+ "resolveRef": true,
+ "resolveUnref": true,
+ "shallowReactive": true,
+ "shallowReadonly": true,
+ "shallowRef": true,
+ "syncRef": true,
+ "syncRefs": true,
+ "templateRef": true,
+ "throttledRef": true,
+ "throttledWatch": true,
+ "toRaw": true,
+ "toReactive": true,
+ "toRef": true,
+ "toRefs": true,
+ "toValue": true,
+ "triggerRef": true,
+ "tryOnBeforeMount": true,
+ "tryOnBeforeUnmount": true,
+ "tryOnMounted": true,
+ "tryOnScopeDispose": true,
+ "tryOnUnmounted": true,
+ "unref": true,
+ "unrefElement": true,
+ "until": true,
+ "useActiveElement": true,
+ "useAnimate": true,
+ "useArrayDifference": true,
+ "useArrayEvery": true,
+ "useArrayFilter": true,
+ "useArrayFind": true,
+ "useArrayFindIndex": true,
+ "useArrayFindLast": true,
+ "useArrayIncludes": true,
+ "useArrayJoin": true,
+ "useArrayMap": true,
+ "useArrayReduce": true,
+ "useArraySome": true,
+ "useArrayUnique": true,
+ "useAsyncQueue": true,
+ "useAsyncState": true,
+ "useAttrs": true,
+ "useBase64": true,
+ "useBattery": true,
+ "useBluetooth": true,
+ "useBreakpoints": true,
+ "useBroadcastChannel": true,
+ "useBrowserLocation": true,
+ "useCached": true,
+ "useClipboard": true,
+ "useCloned": true,
+ "useColorMode": true,
+ "useConfirmDialog": true,
+ "useCounter": true,
+ "useCssModule": true,
+ "useCssVar": true,
+ "useCssVars": true,
+ "useCurrentElement": true,
+ "useCycleList": true,
+ "useDark": true,
+ "useDateFormat": true,
+ "useDebounce": true,
+ "useDebounceFn": true,
+ "useDebouncedRefHistory": true,
+ "useDeviceMotion": true,
+ "useDeviceOrientation": true,
+ "useDevicePixelRatio": true,
+ "useDevicesList": true,
+ "useDisplayMedia": true,
+ "useDocumentVisibility": true,
+ "useDraggable": true,
+ "useDropZone": true,
+ "useElementBounding": true,
+ "useElementByPoint": true,
+ "useElementHover": true,
+ "useElementSize": true,
+ "useElementVisibility": true,
+ "useEventBus": true,
+ "useEventListener": true,
+ "useEventSource": true,
+ "useEyeDropper": true,
+ "useFavicon": true,
+ "useFetch": true,
+ "useFileDialog": true,
+ "useFileSystemAccess": true,
+ "useFocus": true,
+ "useFocusWithin": true,
+ "useFps": true,
+ "useFullscreen": true,
+ "useGamepad": true,
+ "useGeolocation": true,
+ "useIdle": true,
+ "useImage": true,
+ "useInfiniteScroll": true,
+ "useIntersectionObserver": true,
+ "useInterval": true,
+ "useIntervalFn": true,
+ "useKeyModifier": true,
+ "useLastChanged": true,
+ "useLocalStorage": true,
+ "useMagicKeys": true,
+ "useManualRefHistory": true,
+ "useMediaControls": true,
+ "useMediaQuery": true,
+ "useMemoize": true,
+ "useMemory": true,
+ "useMounted": true,
+ "useMouse": true,
+ "useMouseInElement": true,
+ "useMousePressed": true,
+ "useMutationObserver": true,
+ "useNavigatorLanguage": true,
+ "useNetwork": true,
+ "useNow": true,
+ "useObjectUrl": true,
+ "useOffsetPagination": true,
+ "useOnline": true,
+ "usePageLeave": true,
+ "useParallax": true,
+ "useParentElement": true,
+ "usePerformanceObserver": true,
+ "usePermission": true,
+ "usePointer": true,
+ "usePointerLock": true,
+ "usePointerSwipe": true,
+ "usePreferredColorScheme": true,
+ "usePreferredContrast": true,
+ "usePreferredDark": true,
+ "usePreferredLanguages": true,
+ "usePreferredReducedMotion": true,
+ "usePrevious": true,
+ "useRafFn": true,
+ "useRefHistory": true,
+ "useResizeObserver": true,
+ "useScreenOrientation": true,
+ "useScreenSafeArea": true,
+ "useScriptTag": true,
+ "useScroll": true,
+ "useScrollLock": true,
+ "useSessionStorage": true,
+ "useShare": true,
+ "useSlots": true,
+ "useSorted": true,
+ "useSpeechRecognition": true,
+ "useSpeechSynthesis": true,
+ "useStepper": true,
+ "useStorage": true,
+ "useStorageAsync": true,
+ "useStyleTag": true,
+ "useSupported": true,
+ "useSwipe": true,
+ "useTemplateRefsList": true,
+ "useTextDirection": true,
+ "useTextSelection": true,
+ "useTextareaAutosize": true,
+ "useThrottle": true,
+ "useThrottleFn": true,
+ "useThrottledRefHistory": true,
+ "useTimeAgo": true,
+ "useTimeout": true,
+ "useTimeoutFn": true,
+ "useTimeoutPoll": true,
+ "useTimestamp": true,
+ "useTitle": true,
+ "useToNumber": true,
+ "useToString": true,
+ "useToggle": true,
+ "useTransition": true,
+ "useUrlSearchParams": true,
+ "useUserMedia": true,
+ "useVModel": true,
+ "useVModels": true,
+ "useVibrate": true,
+ "useVirtualList": true,
+ "useWakeLock": true,
+ "useWebNotification": true,
+ "useWebSocket": true,
+ "useWebWorker": true,
+ "useWebWorkerFn": true,
+ "useWindowFocus": true,
+ "useWindowScroll": true,
+ "useWindowSize": true,
+ "watch": true,
+ "watchArray": true,
+ "watchAtMost": true,
+ "watchDebounced": true,
+ "watchDeep": true,
+ "watchEffect": true,
+ "watchIgnorable": true,
+ "watchImmediate": true,
+ "watchOnce": true,
+ "watchPausable": true,
+ "watchPostEffect": true,
+ "watchSyncEffect": true,
+ "watchThrottled": true,
+ "watchTriggerable": true,
+ "watchWithFilter": true,
+ "useRoute": true,
+ "useRouter": true,
+ "storeToRefs": true,
+ "whenever": true,
+ "DirectiveBinding": true,
+ "ExtractDefaultPropTypes": true,
+ "ExtractPropTypes": true,
+ "ExtractPublicPropTypes": true,
+ "MaybeRef": true,
+ "MaybeRefOrGetter": true,
+ "WritableComputedRef": true,
+ "acceptHMRUpdate": true,
+ "createPinia": true,
+ "defineStore": true,
+ "getActivePinia": true,
+ "injectLocal": true,
+ "mapActions": true,
+ "mapGetters": true,
+ "mapState": true,
+ "mapStores": true,
+ "mapWritableState": true,
+ "onBeforeRouteLeave": true,
+ "onBeforeRouteUpdate": true,
+ "onWatcherCleanup": true,
+ "provideLocal": true,
+ "setActivePinia": true,
+ "setMapStoreSuffix": true,
+ "useClipboardItems": true,
+ "useI18n": true,
+ "useId": true,
+ "useLink": true,
+ "useModel": true,
+ "useTemplateRef": true
+ }
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a6d77ca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,20 @@
+node_modules
+.DS_Store
+dist
+dist-ssr
+*.local
+.history
+
+# Editor directories and files
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.local
+
+stats.html
+pnpm-lock.yaml
+package-lock.json
+.stylelintcache
+.eslintcache
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..44421a7
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,12 @@
+dist
+node_modules
+public
+.husky
+.vscode
+.idea
+*.sh
+*.md
+
+src/assets
+stats.html
+pnpm-lock.yaml
diff --git a/.prettierrc.yaml b/.prettierrc.yaml
new file mode 100644
index 0000000..c6484bf
--- /dev/null
+++ b/.prettierrc.yaml
@@ -0,0 +1,41 @@
+# 在单参数箭头函数中始终添加括号
+arrowParens: "always"
+# JSX 多行元素的闭合标签另起一行
+bracketSameLine: false
+# 对象字面量中的括号之间添加空格
+bracketSpacing: true
+# 自动格式化嵌入的代码(如 Markdown 和 HTML 内的代码)
+embeddedLanguageFormatting: "auto"
+# 忽略 HTML 空白敏感度,将空白视为非重要内容
+htmlWhitespaceSensitivity: "ignore"
+# 不插入 @prettier 的 pragma 注释
+insertPragma: false
+# 在 JSX 中使用双引号
+jsxSingleQuote: false
+# 每行代码的最大长度限制为 100 字符
+printWidth: 100
+# 在 Markdown 中保留原有的换行格式
+proseWrap: "preserve"
+# 仅在必要时添加对象属性的引号
+quoteProps: "as-needed"
+# 不要求文件开头插入 @prettier 的 pragma 注释
+requirePragma: false
+# 在语句末尾添加分号
+semi: false
+# 使用双引号而不是单引号
+singleQuote: true
+# 缩进使用 2 个空格
+tabWidth: 2
+# 在多行元素的末尾添加逗号(ES5 支持的对象、数组等)
+trailingComma: "none"
+# 使用空格而不是制表符缩进
+useTabs: false
+# Vue 文件中的 ",
+ "",
+ "",
+ ""
+ ],
+ "description": "Vue3.0"
+ }
+}
diff --git a/.vscode/vue3.2.code-snippets b/.vscode/vue3.2.code-snippets
new file mode 100644
index 0000000..a083940
--- /dev/null
+++ b/.vscode/vue3.2.code-snippets
@@ -0,0 +1,17 @@
+{
+ "Vue3.2+快速生成模板": {
+ "scope": "vue",
+ "prefix": "Vue3.2+",
+ "body": [
+ "",
+ "",
+ "",
+ " ${1:test}
",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "description": "Vue3.2+"
+ }
+}
diff --git a/.vscode/vue3.3.code-snippets b/.vscode/vue3.3.code-snippets
new file mode 100644
index 0000000..705e04f
--- /dev/null
+++ b/.vscode/vue3.3.code-snippets
@@ -0,0 +1,21 @@
+{
+ "Vue3.3+defineOptions快速生成模板": {
+ "scope": "vue",
+ "prefix": "Vue3.3+",
+ "body": [
+ "",
+ "",
+ "",
+ " ${1:test}
",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "description": "Vue3.3+defineOptions快速生成模板"
+ }
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..aef3f6d
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,386 @@
+
+# 2.11.5 (2024/6/18)
+
+## ✨ feat
+
+- 支持后端文件导入([#142](https://github.com/youlaitech/vue3-element-admin/pull/142)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+
+## 🐛 fix
+- vue-dev-tools 插件导致菜单路由切换卡死,暂时关闭 ([28349e](https://github.com/youlaitech/vue3-element-admin/commit/28349efe147afab36531ba148eaac3a448fe6c71)) [@haoxianrui](https://github.com/haoxianrui)
+
+
+
+# 2.11.4 (2024/6/16)
+
+## ✨ feat
+
+- 操作栏增加render配置参数([#138](https://github.com/youlaitech/vue3-element-admin/pull/140)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 左侧工具栏增加type配置参数([#141](https://github.com/youlaitech/vue3-element-admin/pull/141)) [@diamont1001](https://github.com/diamont1001)
+
+## ♻️ refactor
+- 更换权限分配弹窗类型为 drawer 并添加父子联动开关([2d9193](https://github.com/youlaitech/vue3-element-admin/commit/2d9193c47fd224f01f82b9c0b2bbeb5e7cb33584)) [@haoxianrui](https://github.com/haoxianrui)
+
+
+
+# 2.11.3 (2024/6/11)
+
+## ✨ feat
+
+- 支持默认工具栏的导入([#138](https://github.com/youlaitech/vue3-element-admin/pull/138)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 添加CURD导入示例([19e7bb](https://github.com/youlaitech/vue3-element-admin/commit/eab91effd6a01d5a3d9257249c8d06aa252b3bf8)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+## ♻️ refactor
+- 修改导出全量数据选项文本([904fec](https://github.com/youlaitech/vue3-element-admin/commit/904fecad65217650482fcdbb10ffb7f3d27eb9ea)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+## 🐛 fix
+- 菜单列表未适配el-icon导致图标不显示问题修复([e72b68](https://github.com/youlaitech/vue3-element-admin/commit/e72b68337562b5a7ea24ad55bbe00023e1266b40)) [@haoxianrui](https://github.com/haoxianrui)
+
+# 2.11.2 (2024/6/8)
+
+## ✨ feat
+
+- 支持表格远程筛选([#131](https://github.com/youlaitech/vue3-element-admin/pull/131)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 支持标签输入框([#132](https://github.com/youlaitech/vue3-element-admin/pull/132)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 表单项支持tips配置([#133](https://github.com/youlaitech/vue3-element-admin/pull/133)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 前端导出支持全量数据([#134](https://github.com/youlaitech/vue3-element-admin/pull/134)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 支持选中数据导出([#135](https://github.com/youlaitech/vue3-element-admin/pull/135)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 表格默认工具栏的导出、搜索按钮增加权限点控制([883128](https://github.com/youlaitech/vue3-element-admin/commit/8831289b655f2cc086ecdababaa89f8d8a087c42)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 页签title支持动态设置([23876a](https://github.com/youlaitech/vue3-element-admin/commit/23876aa396143bf77cb5c86af8d6023d9ff6555a)) [@haoxianrui](https://github.com/haoxianrui)
+
+## ♻️ refactor
+- 默认工具栏支持自定义([#136](https://github.com/youlaitech/vue3-element-admin/pull/136)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 未配置全量导出接口时选项隐藏([eab91ef](https://github.com/youlaitech/vue3-element-admin/commit/eab91effd6a01d5a3d9257249c8d06aa252b3bf8)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+## 🐛 fix
+- 修复注销登出后redirect跳转路由参数丢失([5626017](https://github.com/youlaitech/vue3-element-admin/commit/562601736731afd20bb1a5140d856f6515720159)) [@haoxianrui](https://github.com/haoxianrui)
+
+# 2.11.1 (2024/6/6)
+
+## ✨ feat
+
+- 增加pagination、request、parseData配置参数([#119](https://github.com/youlaitech/vue3-element-admin/pull/119)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 增加返回顶部功能([#120](https://github.com/youlaitech/vue3-element-admin/pull/120)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 支持前端导出([#126](https://github.com/youlaitech/vue3-element-admin/pull/126)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+## ♻️ refactor
+- 重构布局样式(解决页面抖动问题)([#116](https://github.com/youlaitech/vue3-element-admin/pull/116)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 修改CURD示例编辑弹窗尺寸([#121](https://github.com/youlaitech/vue3-element-admin/pull/121)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 统一注册vue插件([#122](https://github.com/youlaitech/vue3-element-admin/pull/122)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 默认主题跟随系统([#128](https://github.com/youlaitech/vue3-element-admin/pull/128)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 增加"scss.lint.unknownAtRules": "ignore"代码,解决style中使用@apply提示unknow at rules@apply提示问题([Gitee#22](https://gitee.com/youlaiorg/vue3-element-admin/pulls/22)) [@zjsy521](https://gitee.com/zjsy521)
+
+## 🐛 fix
+- 修复左侧布局移动端菜单弹出样式 ([#117](https://github.com/youlaitech/vue3-element-admin/pull/117)) [@cshaptx4869](https://github.com/cshaptx4869)
+
+- 修复编辑后未清空id再新增菜单覆盖的问题([0e78eeb](https://github.com/youlaitech/vue3-element-admin/commit/0e78eeb75008fa8e9732b1b4e7d7a1ea345c7a1b)) [@haoxianrui](https://github.com/haoxianrui)
+- 修复水印层级问题([#123](https://github.com/youlaitech/vue3-element-admin/pull/123)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 修复混合布局样式问题([#124](https://github.com/youlaitech/vue3-element-admin/pull/124)) [@cshaptx4869](https://github.com/cshaptx4869)
+- 修复关闭弹窗时没有clearValidate问题([#125](https://github.com/youlaitech/vue3-element-admin/pull/125)) [@andm31](https://github.com/andm31)
+
+
+
+# 2.11.0 (2024/5/27)
+
+## ✨ feat
+- 菜单添加路由参数设置(author by [haoxianrui](https://github.com/haoxianrui))
+- 增加列表选择组件(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 增加列表选择组件使用示例(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 增加defaultToolbar配置参数(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 表单弹窗支持drawer模式(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 表单项增加computed和watchEffect配置(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 支持switch属性修改(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 表单项增加文本类型支持(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 列表列增加show配置项(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 支持搜索表单显隐控制(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 支持input属性修改(author by [cshaptx4869](https://github.com/cshaptx4869))
+- search配置新增函数能力拓展(author by [xiudaozhe](https://github.com/xiudaozhe))
+- 表格新增列设置控制(author by [haoxianrui](https://github.com/haoxianrui))
+- 搜索添加展开和收缩(author by [haoxianrui](https://github.com/haoxianrui))
+- watch函数增加配置项参数返回(author by [cshaptx4869](https://github.com/cshaptx4869))
+
+## ♻️ refactor
+- 重构图标选择组件(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 重构列表选择组件默认样式 (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 加强对话框表单组件和列表选择组件(author by [cshaptx4869](https://github.com/cshaptx4869))
+- routeMeta增加alwaysShow字段声明(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 分页组件增加溢出滚动效果(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修正登录表单的Ref类型(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 点击表格刷新按钮不重置页码(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 筛选列超出一定高度滚动(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 优化加强initFn函数,表单项增加initFn函数(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 重构watch、computed、watchEffect调用(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修改操作成功提示(author by [cshaptx4869](https://github.com/cshaptx4869))
+- PageSearch 改用card作为容器,样式改用unocss写法(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 优化首页 loading 动画效果author by [haoxianrui](https://github.com/haoxianrui))
+
+
+## 🐛 fix
+- 路由是否始终显示不限制只有顶级目录才有的配置,开放至菜单 (author by [haoxianrui](https://github.com/haoxianrui))
+- sockjs-client 报错 global is not defined 导致开发环境无法打开 WebSocket 页面问题修复 (author by [haoxianrui](https://github.com/haoxianrui))
+- 发送用户重启密码功能,最少为6位字符(小于6位登陆时不允许的问题) (author by [dreamnyj](https://gitee.com/dreamnyj))
+- 修复系统设置面板滚动条问题(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修复表单插槽失效问题(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修改tagsview刷新丢失query问题(author by [xiudaozhe](https://github.com/xiudaozhe))
+
+## 📦️ build
+- 升级 NPM 包版本至最新 (author by [haoxianrui](https://github.com/haoxianrui))
+
+## ⚙️ ci
+- 规整脚本执行命令(author by [cshaptx4869](https://github.com/cshaptx4869))
+
+
+# 2.10.1 (2024/5/4)
+
+## ♻️ refactor
+- 抽离CURD的使用部分代码为Hooks实现(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修改CURD导入权限点标识名(author by [cshaptx4869](https://github.com/cshaptx4869))
+- cURD表单字段支持watch监听(author by [cshaptx4869](https://github.com/cshaptx4869))
+- cURD表单input支持number修饰(author by [cshaptx4869](https://github.com/cshaptx4869))
+- cURD表单组件支持checkbox多选框(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 优化axios响应数据TS类型提示(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修改CURD表单组件自定义类型的attrs传值(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 同步重置密码按钮权限标识重命名(author by [haoxianrui](https://github.com/haoxianrui))
+- 重构API为静态方法实现模块化管理,并将types.ts重命名为model.ts用于存放接口模型定义(author by [haoxianrui](https://github.com/haoxianrui))
+
+
+## 🐛 fix
+- sockjs-client 报错 global is not defined 导致开发环境无法打开 WebSocket 页面问题修复 (author by [haoxianrui](https://github.com/haoxianrui))
+- 主题颜色设置覆盖暗黑模式下el-table行激活的背景色问题修复 (author by [haoxianrui](https://github.com/haoxianrui))
+- 修复因API接口调整而影响的调用页面的问题 (author by [haoxianrui](https://github.com/haoxianrui))
+
+## 📦️ build
+- 升级 NPM 包版本至最新 (author by [haoxianrui](https://github.com/haoxianrui))
+
+
+# 2.10.0 (2024/4/26)
+## ✨ feat
+- 封装增删改查组件(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 集成 vite-plugin-vue-devtools 插件(author by [Tricker39](https://github.com/Tricker39))
+- 增加CURD配置化实现(author by [cshaptx4869](https://github.com/cshaptx4869))
+
+
+# 2.9.3 (2024/04/14)
+## ✨ feat
+- 增加vue文件代码片段(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 菜单 hover 背景色添加值全局SCSS变量进行控制(author by [haoxianrui](https://github.com/haoxianrui))
+
+## ♻️ refactor
+- 加强基础国际化(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 增加语言和布局大小枚举类型(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 增加侧边栏状态枚举类型(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 使用布局枚举替换字面量(author by [haoxianrui](https://github.com/haoxianrui))
+- 控制台使用静态数据循环渲染(author by [april](mailto:april@zen-game.cn))
+- 本地缓存的 token 变量重命名(author by [haoxianrui](https://github.com/haoxianrui))
+- 完善 Vite 环境变量类型声明(author by [haoxianrui](https://github.com/haoxianrui))
+
+## 🐛 fix
+- 修复构建时提示iconComponent.name可能为undefined的报错 (author by [wangji1042](https://github.com/wangji1042))
+- 修复浏览器密码自动填充时可能存在的报错 (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修复eslint报错(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 移动端下点击左侧菜单节点后关闭侧边栏(author by [haoxianrui](https://github.com/haoxianrui))
+- 添加 size 类型断言修复类型报错(author by [haoxianrui](https://github.com/haoxianrui))
+
+## 📦️ build
+- husky9.x版本适配 (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 升级 npm 包版本至最新(author by [haoxianrui](https://github.com/haoxianrui))
+
+# 2.9.2 (2024/03/05)
+## ✨ feat
+- vscode开发扩展推荐(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 完善基础增删改查Mock接口(author by [haoxianrui](https://github.com/haoxianrui))
+
+## ♻️ refactor
+- 修改login密码框功能实现(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 弱化页面进入动画效果(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 取消推荐TypeScript Vue Plugin (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 网站加载动画替换 (author by [haoxianrui](https://github.com/haoxianrui))
+- 优化主题和主题色监听,避免多个页面重复初始化 (author by [haoxianrui](https://github.com/haoxianrui))
+
+## 🐛 fix
+- AppMain 高度在非固定头部不正确导致出现滚动条问题修复 (author by [haoxianrui](https://github.com/haoxianrui))
+- 修复混合模式开启固定Head时的样式问题 (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 设置面板统一字体大小 (author by [cshaptx4869](https://github.com/cshaptx4869))
+
+## 📦️build
+- 通过env配置控制mock服务 (author by [cshaptx4869](https://github.com/cshaptx4869))
+- 升级依赖包至最新版本 (author by [haoxianrui](https://github.com/haoxianrui))
+- 定义vite全局常量替换项目标题和版本 (author by [cshaptx4869](https://github.com/cshaptx4869))
+
+# 2.9.1 (2024/02/28)
+## ♻️ refactor
+- 项目配置按钮移入navbar(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 优化user数据定义(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 统一设置栏的 SVG 图标风格
+
+## 🐛 fix
+- 规整一些开发依赖(author by [cshaptx4869](https://github.com/cshaptx4869))
+- 修复登录页主题切换问题 (author by [cshaptx4869](https://github.com/cshaptx4869))
+
+## 🚀 pref
+
+- 压缩图片资源 (author by [cshaptx4869](https://github.com/cshaptx4869))
+
+
+# 2.9.0 (2024/02/25)
+
+## ✨ feat
+- 引入 animate.css 动画库
+- 新增水印和配置
+- 动态路由菜单支持 element plus 的图标
+
+## ♻️ refactor
+- Layout 布局重构和相关问题修复
+- sass 使用 @use 替代 @import 引入外部文件指令
+
+## 🐛 fix
+- 修复管理页面部分弹窗无法打开问题
+- 主题颜色设置按钮 hover 等未变化问题修复
+
+
+# 2.8.1 (2024/01/10)
+
+## ✨ feat
+- 替换 Mock 解决方案 vite-plugin-mock 为 vite-plugin-mock-dev-server 适配 Vite5
+
+# 2.8.0 (2023/12/27)
+
+## ⬆️ chore
+- 升级 Vite4 至 Vite5
+
+# 2.7.1 (2023/12/12)
+
+## ♻️ refactor
+- 将打包后的文件进行分类 (author by [ityangzhiwen](https://gitee.com/ityangzhiwen))
+
+# 2.7.0 (2023/11/19)
+
+## ♻️ refactor
+- 代码重构优化
+- 修改自动导入组件类型声明文件路径
+- 完善 typescript 类型
+
+## 🐛 fix
+- 修复管理页面部分弹窗无法打开问题
+
+
+# 2.7.0 (2023/11/19)
+
+## ♻️ refactor
+- 代码重构
+- 修改自动导入组件类型声明文件路径
+- 完善 typescript 类型
+
+## 🐛 fix
+- 修复管理页面部分弹窗无法打开问题
+
+
+# 2.6.3 (2023/10/22)
+
+## ✨ feat
+- 菜单管理新增目录只有一级子路由是否始终显示(alwaysShow)和路由页面是否缓存(keepAlive)的配置
+- 接口文档新增 swagger、knife4j
+- 引入和支持 tsx
+
+## ♻️ refactor
+- 代码瘦身,整理并删除未使用的 svg
+- 控制台样式优化
+
+## 🐛 fix
+- 菜单栏折叠和展开的图标暗黑模式显示问题修复
+
+
+# 2.6.2 (2023/10/11)
+
+## 🐛 fix
+- 主题设置未持久化问题
+- UnoCSS 插件无智能提示
+
+## ♻️ refactor
+- WebSocket 演示样式和代码优化
+- 用户管理代码重构
+
+# 2.6.1 (2023/9/4)
+
+## 🐛 fix
+- 导航顶部模式、混合模式样式在固定 Header 出现的样式问题修复
+- 固定 Header 没有持久化问题修复
+- 字典回显兼容 String 和 Number 类型
+
+# 2.6.0 (2023/8/24)💥💥💥
+
+## ✨ feat
+- 导航顶部模式、混合模式支持(author by [april-tong](https://april-tong.com/))
+- 平台文档(内嵌)(author by [april-tong](https://april-tong.com/))
+
+# 2.5.0 (2023/8/8)
+
+## ✨ feat
+- 新增 Mock(author by [ygcaicn](https://github.com/ygcaicn))
+- 图标 DEMO(author by [ygcaicn](https://github.com/ygcaicn))
+
+## 🐛 fix
+- 字典支持 Number 类型
+
+# 2.4.1 (2023/7/20)
+
+## ✨ feat
+- 整合 vite-plugin-compression 插件打包优化(3.66MB → 1.58MB) (author by [april-tong](https://april-tong.com/))
+- 字典组件封装(author by [haoxr](https://juejin.cn/user/4187394044331261/posts))
+
+## 🐛 fix
+- 分页组件hidden无效
+- 签名无法保存至后端
+- Git 提交 stylelint 校验部分机器报错
+
+# 2.4.0 (2023/6/17)
+
+## ✨ feat
+- 新增组件标签输入框(author by [april-tong](https://april-tong.com/))
+- 新增组件签名(author by [april-tong](https://april-tong.com/))
+- 新增组件表格(author by [april-tong](https://april-tong.com/))
+- Echarts 图表添加下载功能 author by [april-tong](https://april-tong.com/))
+
+## ♻️ refactor
+- 限制包管理器为 pnpm 和 node 版本16+
+- 自定义组件自动导入配置
+- 搜索框样式写法优化
+
+## 🐛 fix
+- 用户导入的部门回显成数字问题修复
+
+## ⬆️ chore
+- element-plus 版本升级 2.3.5 → 2.3.6
+
+# 2.3.1 (2023/5/21)
+
+## 🔄 refactor
+- 组件示例文件名称优化
+
+# 2.2.2 (2023/5/11)
+
+## ✨ feat
+- 组件封装示例添加源码地址
+- 角色、菜单、部门、字段按钮添加权限控制
+
+
+# 2.3.0 (2023/5/12)
+
+## ⬆️ chore
+- vue 版本升级 3.2.45 → 3.3.1 ([CHANGELOG](https://github.com/vuejs/core/blob/main/CHANGELOG.md))
+- vite 版本升级 4.3.1 → 4.3.5
+
+## ♻️ refactor
+- 使用 vue 3.3 版本新特性 `defineOptions` 在 `setup` 定义组件名称,移除重复的 `script` 标签
+
+# 2.2.2 (2023/5/11)
+
+## ✨ feat
+- 用户新增提交添加 `vueUse` 的 `useDebounceFn` 函数实现按钮防抖节流
+
+
+# 2.2.1 (2023/4/25)
+
+## 🐛 fix
+- 图标选择器组件使用 `onClickOutside` 未排除下拉弹出框元素导致无法输入搜索。
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..9825cba
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021-present 有来开源组织
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f5342b7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+# Vue 3 + Typescript + Vite
+
+This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `
+
+
+