gitextract_l6iyifel/ ├── .editorconfig ├── .eslintignore ├── .eslintrc.cjs ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .prettierignore ├── .prettierrc.cjs ├── .stylelintignore ├── .stylelintrc.cjs ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build/ │ ├── getEnv.ts │ ├── plugins.ts │ └── proxy.ts ├── commitlint.config.cjs ├── index.html ├── lint-staged.config.cjs ├── package.json ├── postcss.config.cjs ├── src/ │ ├── App.vue │ ├── api/ │ │ ├── config/ │ │ │ └── servicePort.ts │ │ ├── helper/ │ │ │ ├── axiosCancel.ts │ │ │ └── checkStatus.ts │ │ ├── index.ts │ │ ├── interface/ │ │ │ └── index.ts │ │ └── modules/ │ │ ├── login.ts │ │ ├── upload.ts │ │ └── user.ts │ ├── assets/ │ │ ├── fonts/ │ │ │ ├── DIN.otf │ │ │ └── font.scss │ │ ├── iconfont/ │ │ │ └── iconfont.scss │ │ └── json/ │ │ ├── authButtonList.json │ │ └── authMenuList.json │ ├── components/ │ │ ├── ECharts/ │ │ │ ├── config/ │ │ │ │ └── index.ts │ │ │ └── index.vue │ │ ├── ErrorMessage/ │ │ │ ├── 403.vue │ │ │ ├── 404.vue │ │ │ ├── 500.vue │ │ │ └── index.scss │ │ ├── Grid/ │ │ │ ├── components/ │ │ │ │ └── GridItem.vue │ │ │ ├── index.vue │ │ │ └── interface/ │ │ │ └── index.ts │ │ ├── ImportExcel/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── Loading/ │ │ │ ├── fullScreen.ts │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── ProTable/ │ │ │ ├── components/ │ │ │ │ ├── ColSetting.vue │ │ │ │ ├── Pagination.vue │ │ │ │ └── TableColumn.vue │ │ │ ├── index.vue │ │ │ └── interface/ │ │ │ └── index.ts │ │ ├── SearchForm/ │ │ │ ├── components/ │ │ │ │ └── SearchFormItem.vue │ │ │ └── index.vue │ │ ├── SelectFilter/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── SelectIcon/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── SvgIcon/ │ │ │ └── index.vue │ │ ├── SwitchDark/ │ │ │ └── index.vue │ │ ├── TreeFilter/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── Upload/ │ │ │ ├── Img.vue │ │ │ └── Imgs.vue │ │ └── WangEditor/ │ │ ├── index.scss │ │ └── index.vue │ ├── config/ │ │ ├── index.ts │ │ └── nprogress.ts │ ├── directives/ │ │ ├── index.ts │ │ └── modules/ │ │ ├── auth.ts │ │ ├── copy.ts │ │ ├── debounce.ts │ │ ├── draggable.ts │ │ ├── longpress.ts │ │ ├── throttle.ts │ │ └── waterMarker.ts │ ├── enums/ │ │ └── httpEnum.ts │ ├── hooks/ │ │ ├── interface/ │ │ │ └── index.ts │ │ ├── useAuthButtons.ts │ │ ├── useDownload.ts │ │ ├── useHandleData.ts │ │ ├── useOnline.ts │ │ ├── useSelection.ts │ │ ├── useTable.ts │ │ ├── useTheme.ts │ │ └── useTime.ts │ ├── languages/ │ │ ├── index.ts │ │ └── modules/ │ │ ├── en.ts │ │ └── zh.ts │ ├── layouts/ │ │ ├── LayoutClassic/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── LayoutColumns/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── LayoutTransverse/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── LayoutVertical/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── components/ │ │ │ ├── Footer/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── Header/ │ │ │ │ ├── ToolBarLeft.vue │ │ │ │ ├── ToolBarRight.vue │ │ │ │ └── components/ │ │ │ │ ├── AssemblySize.vue │ │ │ │ ├── Avatar.vue │ │ │ │ ├── Breadcrumb.vue │ │ │ │ ├── CollapseIcon.vue │ │ │ │ ├── Fullscreen.vue │ │ │ │ ├── InfoDialog.vue │ │ │ │ ├── Language.vue │ │ │ │ ├── Message.vue │ │ │ │ ├── PasswordDialog.vue │ │ │ │ ├── SearchMenu.vue │ │ │ │ └── ThemeSetting.vue │ │ │ ├── Main/ │ │ │ │ ├── components/ │ │ │ │ │ └── Maximize.vue │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── Menu/ │ │ │ │ └── SubMenu.vue │ │ │ ├── Tabs/ │ │ │ │ ├── components/ │ │ │ │ │ └── MoreButton.vue │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── ThemeDrawer/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── index.vue │ │ └── indexAsync.vue │ ├── main.ts │ ├── routers/ │ │ ├── index.ts │ │ └── modules/ │ │ ├── dynamicRouter.ts │ │ └── staticRouter.ts │ ├── stores/ │ │ ├── helper/ │ │ │ └── persist.ts │ │ ├── index.ts │ │ ├── interface/ │ │ │ └── index.ts │ │ └── modules/ │ │ ├── auth.ts │ │ ├── global.ts │ │ ├── keepAlive.ts │ │ ├── tabs.ts │ │ └── user.ts │ ├── styles/ │ │ ├── common.scss │ │ ├── element-dark.scss │ │ ├── element.scss │ │ ├── reset.scss │ │ ├── theme/ │ │ │ ├── aside.ts │ │ │ ├── header.ts │ │ │ └── menu.ts │ │ └── var.scss │ ├── typings/ │ │ ├── global.d.ts │ │ ├── utils.d.ts │ │ └── window.d.ts │ ├── utils/ │ │ ├── color.ts │ │ ├── dict.ts │ │ ├── eleValidate.ts │ │ ├── errorHandler.ts │ │ ├── index.ts │ │ ├── is/ │ │ │ └── index.ts │ │ ├── mittBus.ts │ │ └── svg.ts │ ├── views/ │ │ ├── about/ │ │ │ └── index.vue │ │ ├── assembly/ │ │ │ ├── batchImport/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── draggable/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── guide/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── selectFilter/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── selectIcon/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── svgIcon/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── tabs/ │ │ │ │ ├── detail.vue │ │ │ │ └── index.vue │ │ │ ├── treeFilter/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── uploadFile/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── wangEditor/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── auth/ │ │ │ ├── button/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── menu/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── dashboard/ │ │ │ └── dataVisualize/ │ │ │ ├── components/ │ │ │ │ ├── curve.vue │ │ │ │ └── pie.vue │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── dataScreen/ │ │ │ ├── assets/ │ │ │ │ ├── alarmList.Json │ │ │ │ ├── china.json │ │ │ │ └── ranking-icon.ts │ │ │ ├── components/ │ │ │ │ ├── AgeRatioChart.vue │ │ │ │ ├── AnnualUseChart.vue │ │ │ │ ├── ChinaMapChart.vue │ │ │ │ ├── HotPlateChart.vue │ │ │ │ ├── MaleFemaleRatioChart.vue │ │ │ │ ├── OverNext30Chart.vue │ │ │ │ ├── PlatformSourceChart.vue │ │ │ │ └── RealTimeAccessChart.vue │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── directives/ │ │ │ ├── copyDirect/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── debounceDirect/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── dragDirect/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── longpressDirect/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── throttleDirect/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── watermarkDirect/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── echarts/ │ │ │ ├── columnChart/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── lineChart/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── nestedChart/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── pieChart/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── radarChart/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── waterChart/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── form/ │ │ │ ├── basicForm/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── dynamicForm/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── proForm/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── validateForm/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── home/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── link/ │ │ │ ├── bing/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── docs/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── gitee/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── github/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── juejin/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── login/ │ │ │ ├── components/ │ │ │ │ └── LoginForm.vue │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── menu/ │ │ │ ├── menu1/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ ├── menu2/ │ │ │ │ ├── menu21/ │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.vue │ │ │ │ ├── menu22/ │ │ │ │ │ ├── menu221/ │ │ │ │ │ │ ├── index.scss │ │ │ │ │ │ └── index.vue │ │ │ │ │ └── menu222/ │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.vue │ │ │ │ └── menu23/ │ │ │ │ ├── index.scss │ │ │ │ └── index.vue │ │ │ └── menu3/ │ │ │ ├── index.scss │ │ │ └── index.vue │ │ ├── proTable/ │ │ │ ├── complexProTable/ │ │ │ │ └── index.vue │ │ │ ├── components/ │ │ │ │ └── UserDrawer.vue │ │ │ ├── document/ │ │ │ │ └── index.vue │ │ │ ├── treeProTable/ │ │ │ │ └── index.vue │ │ │ ├── useProTable/ │ │ │ │ ├── detail.vue │ │ │ │ └── index.vue │ │ │ ├── useSelectFilter/ │ │ │ │ └── index.vue │ │ │ └── useTreeFilter/ │ │ │ ├── detail.vue │ │ │ └── index.vue │ │ └── system/ │ │ ├── accountManage/ │ │ │ └── index.vue │ │ ├── departmentManage/ │ │ │ └── index.vue │ │ ├── dictManage/ │ │ │ └── index.vue │ │ ├── menuMange/ │ │ │ └── index.vue │ │ ├── roleManage/ │ │ │ └── index.vue │ │ ├── systemLog/ │ │ │ └── index.vue │ │ └── timingTask/ │ │ └── index.vue │ └── vite-env.d.ts ├── tsconfig.json └── vite.config.ts