vue2-client 0.1.1 → 1.2.0
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/.editorconfig +9 -0
- package/.env +14 -0
- package/.env.development +1 -0
- package/.eslintrc.js +81 -0
- package/.eslintrc.json +5 -0
- package/README.md +56 -36
- package/babel.config.js +14 -5
- package/docs/index.md +29 -0
- package/index.js +28 -35
- package/jest.config.js +3 -0
- package/package.json +68 -22
- package/public/index.html +27 -17
- package/src/App.vue +93 -0
- package/src/assets/img/alipay.png +0 -0
- package/src/assets/img/defect.png +0 -0
- package/src/assets/img/error.png +0 -0
- package/src/assets/img/logo.png +0 -0
- package/src/assets/img/preview-nine.png +0 -0
- package/src/assets/img/preview.png +0 -0
- package/src/assets/img/success.png +0 -0
- package/src/assets/img/success1.png +0 -0
- package/src/assets/img/wechatpay.png +0 -0
- package/src/base-client/all.js +57 -0
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +1159 -0
- package/src/base-client/components/common/CreateQuery/index.js +3 -0
- package/src/base-client/components/common/CreateQuery/index.md +42 -0
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +540 -0
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -0
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -0
- package/src/{components → base-client/components/common}/CustomColumnsDrawer/CustomColumnsDrawer.vue +21 -15
- package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.js +0 -0
- package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.md +46 -46
- package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +150 -0
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -0
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -0
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +163 -0
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -0
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -0
- package/src/base-client/components/common/JSONToTree/index.js +3 -0
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -0
- package/src/base-client/components/common/XAddForm/XAddForm.vue +323 -0
- package/src/base-client/components/common/XAddForm/index.js +3 -0
- package/src/base-client/components/common/XAddForm/index.md +60 -0
- package/src/base-client/components/common/XBadge/XBadge.vue +61 -0
- package/src/base-client/components/common/XBadge/index.js +3 -0
- package/src/base-client/components/common/XBadge/index.md +39 -0
- package/src/base-client/components/common/XCard/XCard.vue +59 -0
- package/src/base-client/components/common/XCard/index.js +3 -0
- package/src/base-client/components/common/XCard/index.md +43 -0
- package/src/base-client/components/common/XForm/XForm.vue +275 -0
- package/src/base-client/components/common/XForm/XFormItem.vue +217 -0
- package/src/base-client/components/common/XForm/index.js +3 -0
- package/src/base-client/components/common/XForm/index.md +196 -0
- package/src/{components/FormItem/FormItem.vue → base-client/components/common/XFormCol/XFormCol.vue} +16 -14
- package/src/base-client/components/common/XFormCol/index.js +3 -0
- package/src/{components/FormItem → base-client/components/common/XFormCol}/index.md +35 -35
- package/src/base-client/components/common/XFormTable/XFormTable.vue +405 -0
- package/src/base-client/components/common/XFormTable/index.js +3 -0
- package/src/base-client/components/common/XFormTable/index.md +89 -0
- package/src/base-client/components/common/XTable/XTable.vue +262 -0
- package/src/base-client/components/common/XTable/index.js +3 -0
- package/src/base-client/components/common/XTable/index.md +255 -0
- package/src/base-client/components/common/XTreeOne/XTreeOne.vue +105 -0
- package/src/base-client/components/common/XTreeOne/index.js +3 -0
- package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +226 -0
- package/src/base-client/components/iot/CustomerDetailsView/index.js +3 -0
- package/src/base-client/components/iot/CustomerDetailsView/index.md +41 -0
- package/src/base-client/components/iot/DataAnalysisUser/DataAnalysisUser.vue +127 -0
- package/src/base-client/components/iot/DataAnalysisUser/index.js +3 -0
- package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +250 -0
- package/src/base-client/components/iot/DataAnalysisView/index.js +3 -0
- package/src/base-client/components/iot/DataAnalysisViewGD/DataAnalysisViewGD.vue +548 -0
- package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/WindowInfotemp.vue +99 -0
- package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/index.js +3 -0
- package/src/base-client/components/iot/DataAnalysisViewGD/index.js +3 -0
- package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +453 -0
- package/src/base-client/components/iot/DeviceBrandDetailsView/index.js +3 -0
- package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +231 -0
- package/src/base-client/components/iot/DeviceDetailsView/index.js +3 -0
- package/src/base-client/components/iot/DeviceDetailsView/index.md +43 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstruct.vue +122 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +122 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsMain.vue +225 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +135 -0
- package/src/base-client/components/iot/DeviceDetailsView/part/index.js +8 -0
- package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +277 -0
- package/src/base-client/components/iot/DeviceTypeDetailsView/index.js +3 -0
- package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +472 -0
- package/src/{components → base-client/components/iot}/InstructDetailsView/index.js +0 -0
- package/src/base-client/components/iot/InstructDetailsView/index.md +45 -0
- package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +380 -0
- package/src/base-client/components/iot/LogDetailsView/index.js +3 -0
- package/src/base-client/components/iot/LogDetailsView/index.md +43 -0
- package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +360 -0
- package/src/{components → base-client/components/iot}/MeterDetailsView/index.js +0 -0
- package/src/base-client/components/iot/MeterDetailsView/index.md +43 -0
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsCount.vue +335 -381
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsException.vue +185 -204
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsHandPlan.vue +292 -320
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsInstruct.vue +237 -278
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsMain.vue +257 -247
- package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsSellGas.vue +190 -211
- package/src/base-client/components/iot/MeterDetailsView/part/index.js +9 -0
- package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +723 -0
- package/src/base-client/components/iot/WebmeterAnalysisView/index.js +3 -0
- package/src/base-client/components/iot/WebmeterAnalysisView/index.md +48 -0
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -0
- package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -0
- package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -0
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +248 -0
- package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -0
- package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +406 -0
- package/src/base-client/components/ticket/EmployeeDetailsView/index.js +3 -0
- package/src/base-client/components/ticket/EmployeeDetailsView/index.md +28 -0
- package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +486 -0
- package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -0
- package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -0
- package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +184 -0
- package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -0
- package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +303 -0
- package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -0
- package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -0
- package/src/base-client/plugins/AppData.js +69 -0
- package/src/{plugins → base-client/plugins}/Config.js +1 -1
- package/src/base-client/plugins/GetLoginInfoService.js +221 -0
- package/src/{plugins → base-client/plugins}/PagedList.js +0 -0
- package/src/base-client/plugins/authority-plugin.js +167 -0
- package/src/base-client/plugins/i18n-extend.js +32 -0
- package/src/base-client/plugins/index.js +21 -0
- package/src/{plugins → base-client/plugins}/moment.js +8 -8
- package/src/base-client/plugins/tabs-page-plugin.js +38 -0
- package/src/bootstrap.js +27 -0
- package/src/components/Charts/Bar.vue +62 -0
- package/src/components/Charts/ChartCard.vue +120 -0
- package/src/components/Charts/DataUserOrderSituation.vue +77 -0
- package/src/components/Charts/DataUserReporting.vue +74 -0
- package/src/components/Charts/DataUserSituation.vue +107 -0
- package/src/components/Charts/Liquid.vue +67 -0
- package/src/components/Charts/MiniArea.vue +39 -0
- package/src/components/Charts/MiniBar.vue +39 -0
- package/src/components/Charts/MiniProgress.vue +75 -0
- package/src/components/Charts/MiniSmoothArea.vue +40 -0
- package/src/components/Charts/Radar.vue +68 -0
- package/src/components/Charts/RankList.vue +77 -0
- package/src/components/Charts/TagCloud.vue +113 -0
- package/src/components/Charts/TransferBar.vue +64 -0
- package/src/components/Charts/Trend.vue +82 -0
- package/src/components/Charts/chart.less +13 -0
- package/src/components/Charts/smooth.area.less +14 -0
- package/src/components/Ellipsis/Ellipsis.vue +64 -0
- package/src/components/Ellipsis/index.js +3 -0
- package/src/components/Ellipsis/index.md +38 -0
- package/src/components/NumberInfo/NumberInfo.vue +54 -0
- package/src/components/NumberInfo/index.js +3 -0
- package/src/components/NumberInfo/index.less +55 -0
- package/src/components/NumberInfo/index.md +43 -0
- package/src/components/STable/README.md +341 -0
- package/src/components/STable/index.js +316 -0
- package/src/components/Trend/Trend.vue +41 -0
- package/src/components/Trend/index.js +3 -0
- package/src/components/Trend/index.less +42 -0
- package/src/components/Trend/index.md +45 -0
- package/src/components/_util/util.js +46 -0
- package/src/components/cache/AKeepAlive.js +172 -0
- package/src/components/card/ChartCard.vue +79 -0
- package/src/components/chart/Bar.vue +60 -0
- package/src/components/chart/MiniArea.vue +67 -0
- package/src/components/chart/MiniBar.vue +59 -0
- package/src/components/chart/MiniProgress.vue +57 -0
- package/src/components/chart/Radar.vue +80 -0
- package/src/components/chart/RankingList.vue +60 -0
- package/src/components/chart/Trend.vue +79 -0
- package/src/components/chart/index.less +9 -0
- package/src/components/checkbox/ColorCheckbox.vue +157 -0
- package/src/components/checkbox/ImgCheckbox.vue +163 -0
- package/src/components/checkbox/index.js +7 -0
- package/src/components/dataAnalysisView/UserData.vue +61 -0
- package/src/components/exception/ExceptionPage.vue +70 -0
- package/src/components/exception/typeConfig.js +19 -0
- package/src/components/form/FormRow.vue +52 -0
- package/src/components/index.js +36 -0
- package/src/components/index.less +6 -0
- package/src/components/input/IInput.vue +66 -0
- package/src/components/menu/Contextmenu.vue +84 -0
- package/src/components/menu/SideMenu.vue +62 -0
- package/src/components/menu/index.less +38 -0
- package/src/components/menu/menu.js +273 -0
- package/src/components/page/header/PageHeader.vue +64 -0
- package/src/components/page/header/index.less +40 -0
- package/src/components/result/Result.vue +77 -0
- package/src/components/setting/Setting.vue +237 -0
- package/src/components/setting/SettingItem.vue +26 -0
- package/src/components/setting/i18n.js +117 -0
- package/src/components/table/StandardTable.vue +142 -0
- package/src/components/table/advance/ActionColumns.vue +158 -0
- package/src/components/table/advance/ActionSize.vue +45 -0
- package/src/components/table/advance/AdvanceTable.vue +275 -0
- package/src/components/table/advance/SearchArea.vue +355 -0
- package/src/components/table/advance/index.js +2 -0
- package/src/components/table/api/ApiTable.vue +50 -0
- package/src/components/task/TaskGroup.vue +80 -0
- package/src/components/task/TaskItem.vue +26 -0
- package/src/components/tool/AStepItem.vue +60 -0
- package/src/components/tool/AvatarList.vue +69 -0
- package/src/components/tool/DetailList.vue +157 -0
- package/src/components/tool/Drawer.vue +142 -0
- package/src/components/tool/FooterToolBar.vue +30 -0
- package/src/components/tool/HeadInfo.vue +35 -0
- package/src/components/tool/TagSelect.vue +83 -0
- package/src/components/tool/TagSelectOption.vue +33 -0
- package/src/components/transition/PageToggleTransition.vue +97 -0
- package/src/config/config.js +13 -0
- package/src/config/default/admin.config.js +18 -0
- package/src/config/default/animate.config.js +21 -0
- package/src/config/default/antd.config.js +84 -0
- package/src/config/default/index.js +6 -0
- package/src/config/default/setting.config.js +33 -0
- package/src/config/index.js +6 -0
- package/src/config/replacer/index.js +10 -0
- package/src/config/replacer/resolve.config.js +67 -0
- package/src/layouts/AdminLayout.vue +174 -0
- package/src/layouts/BlankView.vue +22 -0
- package/src/layouts/CommonLayout.vue +42 -0
- package/src/layouts/ComponentLayoutOne.vue +47 -0
- package/src/layouts/PageLayout.vue +151 -0
- package/src/layouts/PageView.vue +55 -0
- package/src/layouts/SinglePageView.vue +74 -0
- package/src/layouts/footer/PageFooter.vue +46 -0
- package/src/layouts/header/AdminHeader.vue +109 -0
- package/src/layouts/header/HeaderAvatar.vue +60 -0
- package/src/layouts/header/HeaderNotice.vue +97 -0
- package/src/layouts/header/HeaderSearch.vue +67 -0
- package/src/layouts/header/index.less +92 -0
- package/src/layouts/tabs/TabsHead.vue +190 -0
- package/src/layouts/tabs/TabsView.vue +355 -0
- package/src/layouts/tabs/i18n.js +25 -0
- package/src/layouts/tabs/index.js +2 -0
- package/src/main.js +15 -7
- package/src/mock/common/activityData.js +32 -0
- package/src/mock/common/index.js +89 -0
- package/src/mock/common/reportData.js +20 -0
- package/src/mock/common/tableData.js +118 -0
- package/src/mock/extend/index.js +83 -0
- package/src/mock/goods/index.js +108 -0
- package/src/mock/index.js +12 -0
- package/src/mock/project/index.js +17 -0
- package/src/mock/user/current.js +13 -0
- package/src/mock/user/login.js +39 -0
- package/src/mock/user/routes.js +61 -0
- package/src/mock/workplace/index.js +15 -0
- package/src/pages/exception/403.vue +25 -0
- package/src/pages/exception/404.vue +25 -0
- package/src/pages/exception/500.vue +25 -0
- package/src/pages/login/Login.vue +194 -0
- package/src/pages/login/index.js +2 -0
- package/src/pages/report/ReportTable.js +125 -0
- package/src/pages/report/ReportTableHome.vue +28 -0
- package/src/pages/resourceManage/resourceManageMain.vue +55 -0
- package/src/pages/system/applyInstallView/Core.vue +570 -0
- package/src/pages/system/applyInstallView/LFComponents/AddPanel.vue +52 -0
- package/src/pages/system/applyInstallView/LFComponents/Control.vue +78 -0
- package/src/pages/system/applyInstallView/LFComponents/DataDialog.vue +24 -0
- package/src/pages/system/applyInstallView/LFComponents/NodePanel.vue +103 -0
- package/src/pages/system/applyInstallView/PropertySetting/Base.vue +124 -0
- package/src/pages/system/applyInstallView/PropertySetting/CommonProperty.vue +104 -0
- package/src/pages/system/applyInstallView/PropertySetting/PropertyDialog.vue +43 -0
- package/src/pages/system/applyInstallView/background/base.png +0 -0
- package/src/pages/system/applyInstallView/background/click.png +0 -0
- package/src/pages/system/applyInstallView/background/download.png +0 -0
- package/src/pages/system/applyInstallView/background/end.png +0 -0
- package/src/pages/system/applyInstallView/background/push.png +0 -0
- package/src/pages/system/applyInstallView/background/start.png +0 -0
- package/src/pages/system/applyInstallView/background/step.png +0 -0
- package/src/pages/system/applyInstallView/background/time.png +0 -0
- package/src/pages/system/applyInstallView/config.js +22 -0
- package/src/pages/system/applyInstallView/data.json +1284 -0
- package/src/pages/system/applyInstallView/index.vue +34 -0
- package/src/pages/system/applyInstallView/registerNode/Connect.vue +43 -0
- package/src/pages/system/applyInstallView/registerNode/index.js +16 -0
- package/src/pages/system/applyInstallView/registerNode/registerBackEdge.js +44 -0
- package/src/pages/system/applyInstallView/registerNode/registerBase.js +139 -0
- package/src/pages/system/applyInstallView/registerNode/registerConnect.js +60 -0
- package/src/pages/system/applyInstallView/registerNode/registerDownload.js +92 -0
- package/src/pages/system/applyInstallView/registerNode/registerEnd.js +110 -0
- package/src/pages/system/applyInstallView/registerNode/registerPolyline.js +14 -0
- package/src/pages/system/applyInstallView/registerNode/registerPush.js +127 -0
- package/src/pages/system/applyInstallView/registerNode/registerStart.js +105 -0
- package/src/pages/system/applyInstallView/registerNode/registerStep.js +209 -0
- package/src/pages/system/applyInstallView/registerNode/registerTask.js +29 -0
- package/src/pages/system/dictionary/index.vue +41 -0
- package/src/pages/system/queryParams/index.vue +41 -0
- package/src/router/async/config.async.js +25 -0
- package/src/router/async/router.map.js +59 -0
- package/src/router/guards.js +104 -0
- package/src/router/i18n.js +57 -0
- package/src/router/index.js +27 -0
- package/src/services/api/CustomerDetailsViewApi.js +6 -0
- package/src/services/api/DeviceBrandDetailsViewApi.js +14 -0
- package/src/services/api/DeviceDetailsViewApi.js +10 -0
- package/src/services/api/DeviceTypeDetailsViewApi.js +6 -0
- package/src/services/api/DictionaryDetailsViewApi.js +6 -0
- package/src/services/api/EmployeeDetailsViewApi.js +16 -0
- package/src/services/api/FormGroupEditApi.js +6 -0
- package/src/services/api/InstructDetailsViewApi.js +12 -0
- package/src/services/api/LogDetailsViewApi.js +10 -0
- package/src/services/api/MeterDetailsViewApi.js +24 -0
- package/src/services/api/QueryParamsDetailsViewApi.js +6 -0
- package/src/services/api/TicketDetailsViewApi.js +30 -0
- package/src/services/api/WebmeterAnalysisViewApi.js +30 -0
- package/src/services/api/common.js +39 -0
- package/src/services/api/iot.js +7 -0
- package/src/services/api/manage.js +12 -0
- package/src/services/api/restTools.js +23 -0
- package/src/services/api/service.js +12 -0
- package/src/services/api.js +11 -0
- package/src/services/dataSource.js +12 -0
- package/src/services/index.js +7 -0
- package/src/services/user.js +34 -0
- package/src/store/index.js +5 -0
- package/src/store/modules/account.js +103 -0
- package/src/store/modules/index.js +4 -0
- package/src/store/modules/setting.js +114 -0
- package/src/store/mutation-types.js +1 -0
- package/src/theme/antd/ant-menu.less +3 -0
- package/src/theme/antd/ant-message.less +3 -0
- package/src/theme/antd/ant-table.less +22 -0
- package/src/theme/antd/ant-time-picker.less +3 -0
- package/src/theme/antd/index.less +4 -0
- package/src/theme/default/color.less +43 -0
- package/src/theme/default/index.less +3 -0
- package/src/theme/default/nprogress.less +76 -0
- package/src/theme/default/style.less +33 -0
- package/src/theme/global.less +130 -0
- package/src/theme/index.less +5 -0
- package/src/theme/reportTable.less +58 -0
- package/src/theme/theme.less +1 -0
- package/src/utils/Objects.js +25 -0
- package/src/utils/authority-utils.js +85 -0
- package/src/utils/axios-interceptors.js +82 -0
- package/src/utils/colors.js +103 -0
- package/src/utils/excel/Blob.js +181 -0
- package/src/utils/excel/Export2Excel.js +142 -0
- package/src/utils/filter.js +21 -0
- package/src/utils/formatter.js +68 -0
- package/src/utils/i18n.js +80 -0
- package/src/utils/indexedDB.js +146 -0
- package/src/utils/request.js +197 -0
- package/src/utils/routerUtil.js +353 -0
- package/src/utils/theme-color-replacer-extend.js +92 -0
- package/src/utils/themeUtil.js +102 -0
- package/src/utils/util.js +134 -0
- package/tests/unit/ReportTable.spec.js +15 -0
- package/vue.config.js +153 -0
- package/webpack.config.js +12 -0
- package/src/api/business.js +0 -30
- package/src/api/common.js +0 -6
- package/src/assets/logo.png +0 -0
- package/src/components/Criteria/Criteria.vue +0 -191
- package/src/components/Criteria/CriteriaPaged.vue +0 -50
- package/src/components/Criteria/index.js +0 -7
- package/src/components/Criteria/index.md +0 -120
- package/src/components/DataGrid/DataGrid.vue +0 -206
- package/src/components/DataGrid/index.js +0 -3
- package/src/components/DataGrid/index.md +0 -195
- package/src/components/ExportExcel/ExportExcel.vue +0 -246
- package/src/components/ExportExcel/index.js +0 -3
- package/src/components/ExportExcel/index.md +0 -76
- package/src/components/FormItem/index.js +0 -3
- package/src/components/InstructDetailsView/InstructDetailsView.vue +0 -518
- package/src/components/InstructDetailsView/index.md +0 -40
- package/src/components/MetaAnalysis/MetaAnalysis.vue +0 -183
- package/src/components/MetaAnalysis/demo/A.vue +0 -31
- package/src/components/MetaAnalysis/demo/B.vue +0 -31
- package/src/components/MetaAnalysis/demo/C.vue +0 -31
- package/src/components/MetaAnalysis/demo/MetaTest.vue +0 -44
- package/src/components/MetaAnalysis/index.js +0 -3
- package/src/components/MetaAnalysis/index.md +0 -255
- package/src/components/MeterDetailsView/MeterDetailsView.vue +0 -317
- package/src/components/MeterDetailsView/index.md +0 -40
- package/src/components/MeterDetailsView/part/index.js +0 -9
- package/src/components/ModalView/Modal.vue +0 -100
- package/src/components/ModalView/index.js +0 -3
- package/src/components/WCriteria/WCriteria.vue +0 -191
- package/src/components/WCriteria/WCriteriaPaged.vue +0 -95
- package/src/components/WCriteria/index.js +0 -7
- package/src/components/WCriteria/index.md +0 -120
- package/src/components/WTable/WTable.vue +0 -216
- package/src/components/WTable/index.js +0 -3
- package/src/components/WTable/index.md +0 -195
- package/src/plugins/AppData.js +0 -39
- package/src/plugins/GetLoginInfoService.js +0 -475
- package/src/plugins/MessageBox.js +0 -15
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import '~ant-design-vue/lib/style/themes/default';
|
|
2
|
+
|
|
3
|
+
@gray-1: #ffffff;
|
|
4
|
+
@gray-2: #fafafa;
|
|
5
|
+
@gray-3: #f5f5f5;
|
|
6
|
+
@gray-4: #f0f0f0;
|
|
7
|
+
@gray-5: #d9d9d9;
|
|
8
|
+
@gray-6: #bfbfbf;
|
|
9
|
+
@gray-7: #8c8c8c;
|
|
10
|
+
@gray-8: #595959;
|
|
11
|
+
@gray-9: #434343;
|
|
12
|
+
@gray-10: #262626;
|
|
13
|
+
@gray-11: #1f1f1f;
|
|
14
|
+
@gray-12: #141414;
|
|
15
|
+
@gray-13: #000000;
|
|
16
|
+
|
|
17
|
+
@primary-color: @primary-color;
|
|
18
|
+
@success-color: @success-color;
|
|
19
|
+
@warning-color: @warning-color;
|
|
20
|
+
@error-color: @warning-color;
|
|
21
|
+
|
|
22
|
+
@title-color: @heading-color;
|
|
23
|
+
@text-color: @text-color;
|
|
24
|
+
@text-color-second: @text-color-secondary;
|
|
25
|
+
|
|
26
|
+
@layout-bg-color: @layout-body-background;
|
|
27
|
+
@base-bg-color: @body-background;
|
|
28
|
+
@hover-bg-color: rgba(0, 0, 0, 0.025);
|
|
29
|
+
@border-color: @border-color-split;
|
|
30
|
+
@shadow-color: @shadow-color;
|
|
31
|
+
|
|
32
|
+
@text-color-inverse: @text-color-inverse;
|
|
33
|
+
@hover-bg-color-light: @hover-bg-color;
|
|
34
|
+
@hover-bg-color-dark: @primary-7;
|
|
35
|
+
@hover-bg-color-night: rgba(255, 255, 255, 0.025);
|
|
36
|
+
@header-bg-color-dark: @layout-header-background;
|
|
37
|
+
|
|
38
|
+
@shadow-down: @shadow-1-down;
|
|
39
|
+
@shadow-up: @shadow-1-up;
|
|
40
|
+
@shadow-left: @shadow-1-left;
|
|
41
|
+
@shadow-right: @shadow-1-right;
|
|
42
|
+
|
|
43
|
+
@theme-list: light, dark, night;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
@import '~ant-design-vue/lib/style/themes/default';
|
|
2
|
+
|
|
3
|
+
/* Make clicks pass-through */
|
|
4
|
+
#nprogress {
|
|
5
|
+
pointer-events: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
#nprogress .bar {
|
|
9
|
+
background: @primary-color;
|
|
10
|
+
|
|
11
|
+
position: fixed;
|
|
12
|
+
z-index: 1031;
|
|
13
|
+
top: 0;
|
|
14
|
+
left: 0;
|
|
15
|
+
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 2px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Fancy blur effect */
|
|
21
|
+
#nprogress .peg {
|
|
22
|
+
display: block;
|
|
23
|
+
position: absolute;
|
|
24
|
+
right: 0px;
|
|
25
|
+
width: 100px;
|
|
26
|
+
height: 100%;
|
|
27
|
+
box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color;
|
|
28
|
+
opacity: 1.0;
|
|
29
|
+
|
|
30
|
+
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
|
31
|
+
-ms-transform: rotate(3deg) translate(0px, -4px);
|
|
32
|
+
transform: rotate(3deg) translate(0px, -4px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Remove these to get rid of the spinner */
|
|
36
|
+
#nprogress .spinner {
|
|
37
|
+
display: block;
|
|
38
|
+
position: fixed;
|
|
39
|
+
z-index: 1031;
|
|
40
|
+
top: 15px;
|
|
41
|
+
right: 15px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#nprogress .spinner-icon {
|
|
45
|
+
width: 18px;
|
|
46
|
+
height: 18px;
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
|
|
49
|
+
border: solid 2px transparent;
|
|
50
|
+
border-top-color: @primary-color;
|
|
51
|
+
border-left-color: @primary-color;
|
|
52
|
+
border-radius: 50%;
|
|
53
|
+
|
|
54
|
+
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
|
55
|
+
animation: nprogress-spinner 400ms linear infinite;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.nprogress-custom-parent {
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
position: relative;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.nprogress-custom-parent #nprogress .spinner,
|
|
64
|
+
.nprogress-custom-parent #nprogress .bar {
|
|
65
|
+
position: absolute;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@-webkit-keyframes nprogress-spinner {
|
|
69
|
+
0% { -webkit-transform: rotate(0deg); }
|
|
70
|
+
100% { -webkit-transform: rotate(360deg); }
|
|
71
|
+
}
|
|
72
|
+
@keyframes nprogress-spinner {
|
|
73
|
+
0% { transform: rotate(0deg); }
|
|
74
|
+
100% { transform: rotate(360deg); }
|
|
75
|
+
}
|
|
76
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.week-mode{
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
filter: invert(80%);
|
|
4
|
+
}
|
|
5
|
+
.beauty-scroll{
|
|
6
|
+
scrollbar-color: @primary-color @primary-2;
|
|
7
|
+
scrollbar-width: thin;
|
|
8
|
+
-ms-overflow-style:none;
|
|
9
|
+
position: relative;
|
|
10
|
+
&::-webkit-scrollbar{
|
|
11
|
+
width: 3px;
|
|
12
|
+
height: 1px;
|
|
13
|
+
}
|
|
14
|
+
&::-webkit-scrollbar-thumb {
|
|
15
|
+
border-radius: 3px;
|
|
16
|
+
background: @primary-color;
|
|
17
|
+
}
|
|
18
|
+
&::-webkit-scrollbar-track {
|
|
19
|
+
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
20
|
+
border-radius: 3px;
|
|
21
|
+
background: @primary-3;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
.split-right{
|
|
25
|
+
&:not(:last-child) {
|
|
26
|
+
border-right: 1px solid rgba(98, 98, 98, 0.2);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
.disabled{
|
|
30
|
+
cursor: not-allowed;
|
|
31
|
+
color: @disabled-color;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
@import '~ant-design-vue/es/style/themes/default.less';
|
|
2
|
+
|
|
3
|
+
html,
|
|
4
|
+
body,
|
|
5
|
+
#app, #root {
|
|
6
|
+
height: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.height-fill {
|
|
10
|
+
height: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.bg-white {
|
|
14
|
+
background: #fff;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.colorWeak {
|
|
18
|
+
filter: invert(80%);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ant-layout.layout-basic {
|
|
22
|
+
height: 100vh;
|
|
23
|
+
min-height: 100vh;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
canvas {
|
|
27
|
+
display: block;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
body {
|
|
31
|
+
text-rendering: optimizeLegibility;
|
|
32
|
+
-webkit-font-smoothing: antialiased;
|
|
33
|
+
-moz-osx-font-smoothing: grayscale;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ul,
|
|
37
|
+
ol {
|
|
38
|
+
list-style: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 数据列表 样式
|
|
42
|
+
.table-alert {
|
|
43
|
+
margin-bottom: 16px;
|
|
44
|
+
}
|
|
45
|
+
// 数据列表 操作
|
|
46
|
+
.table-operator {
|
|
47
|
+
margin-bottom: 18px;
|
|
48
|
+
|
|
49
|
+
button {
|
|
50
|
+
margin-right: 8px;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 导出组件选择框
|
|
55
|
+
#export-checkbox-group .ant-checkbox-group-item {
|
|
56
|
+
box-sizing: border-box;
|
|
57
|
+
width: 33.33333333%;
|
|
58
|
+
min-height: 1px;
|
|
59
|
+
font-weight: 700;
|
|
60
|
+
margin: 2px 0;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 数据列表 搜索条件 form表单样式
|
|
64
|
+
.table-page-search-wrapper {
|
|
65
|
+
|
|
66
|
+
.ant-form-inline {
|
|
67
|
+
.ant-form-item {
|
|
68
|
+
display: flex;
|
|
69
|
+
margin: 12px 0;
|
|
70
|
+
|
|
71
|
+
.ant-form-item-control-wrapper {
|
|
72
|
+
flex: 1 1;
|
|
73
|
+
display: inline-block;
|
|
74
|
+
vertical-align: middle;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
> .ant-form-item-label {
|
|
78
|
+
line-height: 32px;
|
|
79
|
+
padding-right: 8px;
|
|
80
|
+
width: auto;
|
|
81
|
+
// 保留lable文本中的空格和换行
|
|
82
|
+
> label {
|
|
83
|
+
white-space: pre;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
.ant-form-item-control {
|
|
87
|
+
height: 32px;
|
|
88
|
+
line-height: 32px;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// 日期选择框的样式
|
|
94
|
+
.ant-calendar-picker {
|
|
95
|
+
min-width: 0;
|
|
96
|
+
width: 100% !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.table-page-search-submitButtons {
|
|
100
|
+
display: block;
|
|
101
|
+
margin: 12px 0;
|
|
102
|
+
float: right;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
// 按钮间隔
|
|
105
|
+
.detailed-condition ~ button {
|
|
106
|
+
margin-left: 8px
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.ant-layout-footer {
|
|
112
|
+
display: none;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@media (max-width: @screen-xs) {
|
|
116
|
+
.ant-table {
|
|
117
|
+
width: 100%;
|
|
118
|
+
overflow-x: auto;
|
|
119
|
+
&-thead > tr,
|
|
120
|
+
&-tbody > tr {
|
|
121
|
+
> th,
|
|
122
|
+
> td {
|
|
123
|
+
white-space: pre;
|
|
124
|
+
> span {
|
|
125
|
+
display: block;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#ReportTableHome {
|
|
2
|
+
// 一个div宽高
|
|
3
|
+
@height: 30px;
|
|
4
|
+
@width: 100px;
|
|
5
|
+
// 边框颜色
|
|
6
|
+
@boder-color: #000;
|
|
7
|
+
|
|
8
|
+
position: relative;
|
|
9
|
+
display: flex;
|
|
10
|
+
justify-items: center;
|
|
11
|
+
#reportTable {
|
|
12
|
+
border-left: 1px solid @boder-color;
|
|
13
|
+
border-top: 1px solid @boder-color;
|
|
14
|
+
div {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
position: absolute;
|
|
19
|
+
border-bottom: 1px solid @boder-color;
|
|
20
|
+
border-right: 1px solid @boder-color;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// 循环编写
|
|
24
|
+
.generBase(@i) when (@i <= 20) {
|
|
25
|
+
.hs(@i);
|
|
26
|
+
.ws(@i);
|
|
27
|
+
.ts(@i);
|
|
28
|
+
.ls(@i);
|
|
29
|
+
.generBase(@i+1);
|
|
30
|
+
}
|
|
31
|
+
.hs(@size) {
|
|
32
|
+
.h-@{size} {
|
|
33
|
+
height: @height * @size
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
.ws(@size) {
|
|
37
|
+
.w-@{size} {
|
|
38
|
+
width: @width * @size
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
.ts(@size) {
|
|
42
|
+
.t-@{size} {
|
|
43
|
+
top: @height * @size
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
.ls(@size) {
|
|
47
|
+
.l-@{size} {
|
|
48
|
+
left: @width * @size
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
.generBase(0);
|
|
52
|
+
.title {
|
|
53
|
+
background: #80add9;
|
|
54
|
+
}
|
|
55
|
+
.bold {
|
|
56
|
+
font-weight: bold;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "default/index";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 给对象注入属性
|
|
3
|
+
* @param keys 属性key数组, 如 keys = ['config', 'path'] , 则会给对象注入 object.config.path 的属性
|
|
4
|
+
* @param value 属性值
|
|
5
|
+
* @returns {Object}
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line no-extend-native
|
|
8
|
+
Object.defineProperty(Object.prototype, 'assignProps', {
|
|
9
|
+
writable: false,
|
|
10
|
+
enumerable: false,
|
|
11
|
+
configurable: true,
|
|
12
|
+
value: function (keys, value) {
|
|
13
|
+
let props = this
|
|
14
|
+
for (let i = 0; i < keys.length; i++) {
|
|
15
|
+
const key = keys[i]
|
|
16
|
+
if (i === keys.length - 1) {
|
|
17
|
+
props[key] = value
|
|
18
|
+
} else {
|
|
19
|
+
props[key] = props[key] === undefined ? {} : props[key]
|
|
20
|
+
props = props[key]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return this
|
|
24
|
+
}
|
|
25
|
+
})
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 判断是否有路由的权限
|
|
3
|
+
* @param authority 路由权限配置
|
|
4
|
+
* @param permissions 用户权限集合
|
|
5
|
+
* @returns {boolean|*}
|
|
6
|
+
*/
|
|
7
|
+
function hasPermission (authority, permissions) {
|
|
8
|
+
let required = '*'
|
|
9
|
+
if (typeof authority === 'string') {
|
|
10
|
+
required = authority
|
|
11
|
+
} else if (typeof authority === 'object') {
|
|
12
|
+
required = authority.permission
|
|
13
|
+
}
|
|
14
|
+
return required === '*' || (permissions && permissions.findIndex(item => item === required || item.id === required) !== -1)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 判断是否有路由需要的角色
|
|
19
|
+
* @param authority 路由权限配置
|
|
20
|
+
* @param roles 用户角色集合
|
|
21
|
+
*/
|
|
22
|
+
function hasRole (authority, roles) {
|
|
23
|
+
let required
|
|
24
|
+
if (typeof authority === 'object') {
|
|
25
|
+
required = authority.role
|
|
26
|
+
}
|
|
27
|
+
return authority === '*' || hasAnyRole(required, roles)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 判断是否有需要的任意一个角色
|
|
32
|
+
* @param required {String | Array[String]} 需要的角色,可以是单个角色或者一个角色数组
|
|
33
|
+
* @param roles 拥有的角色
|
|
34
|
+
* @returns {boolean}
|
|
35
|
+
*/
|
|
36
|
+
function hasAnyRole (required, roles) {
|
|
37
|
+
if (!required) {
|
|
38
|
+
return false
|
|
39
|
+
} else if (Array.isArray(required)) {
|
|
40
|
+
return roles.findIndex(role => {
|
|
41
|
+
return required.findIndex(item => item === role || item === role.id) !== -1
|
|
42
|
+
}) !== -1
|
|
43
|
+
} else {
|
|
44
|
+
return roles.findIndex(role => role === required || role.id === required) !== -1
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* 路由权限校验
|
|
50
|
+
* @param route 路由
|
|
51
|
+
* @param permissions 用户权限集合
|
|
52
|
+
* @param roles 用户角色集合
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
function hasAuthority (route, permissions, roles) {
|
|
56
|
+
const authorities = [...route.meta.pAuthorities, route.meta.authority]
|
|
57
|
+
for (const authority of authorities) {
|
|
58
|
+
if (!hasPermission(authority, permissions) && !hasRole(authority, roles)) {
|
|
59
|
+
return false
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return true
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* 根据权限配置过滤菜单数据
|
|
67
|
+
* @param menuData
|
|
68
|
+
* @param permissions
|
|
69
|
+
* @param roles
|
|
70
|
+
*/
|
|
71
|
+
function filterMenu (menuData, permissions, roles) {
|
|
72
|
+
return menuData.filter(menu => {
|
|
73
|
+
if (menu.meta && menu.meta.invisible === undefined) {
|
|
74
|
+
if (!hasAuthority(menu, permissions, roles)) {
|
|
75
|
+
return false
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (menu.children && menu.children.length > 0) {
|
|
79
|
+
menu.children = filterMenu(menu.children, permissions, roles)
|
|
80
|
+
}
|
|
81
|
+
return true
|
|
82
|
+
})
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { filterMenu, hasAuthority }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import Cookie from 'js-cookie'
|
|
2
|
+
// 401拦截
|
|
3
|
+
const resp401 = {
|
|
4
|
+
/**
|
|
5
|
+
* 响应数据之前做点什么
|
|
6
|
+
* @param response 响应对象
|
|
7
|
+
* @param options 应用配置 包含: {router, i18n, store, message}
|
|
8
|
+
* @returns {*}
|
|
9
|
+
*/
|
|
10
|
+
onFulfilled (response, options) {
|
|
11
|
+
const { message } = options
|
|
12
|
+
if (response.code === 401) {
|
|
13
|
+
message.error('无此权限')
|
|
14
|
+
}
|
|
15
|
+
return response
|
|
16
|
+
},
|
|
17
|
+
/**
|
|
18
|
+
* 响应出错时执行
|
|
19
|
+
* @param error 错误对象
|
|
20
|
+
* @param options 应用配置 包含: {router, i18n, store, message}
|
|
21
|
+
* @returns {Promise<never>}
|
|
22
|
+
*/
|
|
23
|
+
onRejected (error, options) {
|
|
24
|
+
const { message } = options
|
|
25
|
+
const { response } = error
|
|
26
|
+
if (response.status === 401) {
|
|
27
|
+
message.error('无此权限')
|
|
28
|
+
}
|
|
29
|
+
return Promise.reject(error)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const resp403 = {
|
|
34
|
+
onFulfilled (response, options) {
|
|
35
|
+
const { message } = options
|
|
36
|
+
if (response.code === 403) {
|
|
37
|
+
message.error('请求被拒绝')
|
|
38
|
+
}
|
|
39
|
+
return response
|
|
40
|
+
},
|
|
41
|
+
onRejected (error, options) {
|
|
42
|
+
const { message } = options
|
|
43
|
+
const { response } = error
|
|
44
|
+
if (response.status === 403) {
|
|
45
|
+
message.error('请求被拒绝')
|
|
46
|
+
}
|
|
47
|
+
return Promise.reject(error)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const reqCommon = {
|
|
52
|
+
/**
|
|
53
|
+
* 发送请求之前做些什么
|
|
54
|
+
* @param config axios config
|
|
55
|
+
* @param options 应用配置 包含: {router, i18n, store, message}
|
|
56
|
+
* @returns {*}
|
|
57
|
+
*/
|
|
58
|
+
onFulfilled (config, options) {
|
|
59
|
+
const { message } = options
|
|
60
|
+
const { url, xsrfCookieName } = config
|
|
61
|
+
if (url.indexOf('Login') === -1 && xsrfCookieName && !Cookie.get(xsrfCookieName)) {
|
|
62
|
+
message.warning('认证 token 已过期,请重新登录')
|
|
63
|
+
}
|
|
64
|
+
return config
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* 请求出错时做点什么
|
|
68
|
+
* @param error 错误对象
|
|
69
|
+
* @param options 应用配置 包含: {router, i18n, store, message}
|
|
70
|
+
* @returns {Promise<never>}
|
|
71
|
+
*/
|
|
72
|
+
onRejected (error, options) {
|
|
73
|
+
const { message } = options
|
|
74
|
+
message.error(error.message)
|
|
75
|
+
return Promise.reject(error)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export default {
|
|
80
|
+
request: [reqCommon], // 请求拦截
|
|
81
|
+
response: [resp401, resp403] // 响应拦截
|
|
82
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
const varyColor = require('webpack-theme-color-replacer/client/varyColor')
|
|
2
|
+
const { generate } = require('@ant-design/colors')
|
|
3
|
+
const { ADMIN, ANTD } = require('../config/default')
|
|
4
|
+
const Config = require('../config')
|
|
5
|
+
|
|
6
|
+
const themeMode = ADMIN.theme.mode
|
|
7
|
+
|
|
8
|
+
// 获取 ant design 色系
|
|
9
|
+
function getAntdColors (color, mode) {
|
|
10
|
+
const options = mode && (mode == themeMode.NIGHT) ? { theme: 'dark' } : undefined
|
|
11
|
+
return generate(color, options)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// 获取功能性颜色
|
|
15
|
+
function getFunctionalColors (mode) {
|
|
16
|
+
const options = mode && (mode == themeMode.NIGHT) ? { theme: 'dark' } : undefined
|
|
17
|
+
let { success, warning, error } = ANTD.primary
|
|
18
|
+
const { success: s1, warning: w1, error: e1 } = Config.theme
|
|
19
|
+
success = success && s1
|
|
20
|
+
warning = success && w1
|
|
21
|
+
error = success && e1
|
|
22
|
+
const successColors = generate(success, options)
|
|
23
|
+
const warningColors = generate(warning, options)
|
|
24
|
+
const errorColors = generate(error, options)
|
|
25
|
+
return {
|
|
26
|
+
success: successColors,
|
|
27
|
+
warning: warningColors,
|
|
28
|
+
error: errorColors
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// 获取菜单色系
|
|
33
|
+
function getMenuColors (color, mode) {
|
|
34
|
+
if (mode == themeMode.NIGHT) {
|
|
35
|
+
return ANTD.primary.night.menuColors
|
|
36
|
+
} else if (color == ANTD.primary.color) {
|
|
37
|
+
return ANTD.primary.dark.menuColors
|
|
38
|
+
} else {
|
|
39
|
+
return [varyColor.darken(color, 0.93), varyColor.darken(color, 0.83), varyColor.darken(color, 0.73)]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 获取主题模式切换色系
|
|
44
|
+
function getThemeToggleColors (color, mode) {
|
|
45
|
+
// 主色系
|
|
46
|
+
const mainColors = getAntdColors(color, mode)
|
|
47
|
+
const primary = mainColors[5]
|
|
48
|
+
// 辅助色系,因为 antd 目前没针对夜间模式设计,所以增加辅助色系以保证夜间模式的正常切换
|
|
49
|
+
const subColors = getAntdColors(primary, themeMode.LIGHT)
|
|
50
|
+
// 菜单色系
|
|
51
|
+
const menuColors = getMenuColors(color, mode)
|
|
52
|
+
// 内容色系(包含背景色、文字颜色等)
|
|
53
|
+
const themeCfg = ANTD.theme[mode]
|
|
54
|
+
let contentColors = Object.keys(themeCfg)
|
|
55
|
+
.map(key => themeCfg[key])
|
|
56
|
+
.map(color => isHex(color) ? color : toNum3(color).join(','))
|
|
57
|
+
// 内容色去重
|
|
58
|
+
contentColors = [...new Set(contentColors)]
|
|
59
|
+
// rgb 格式的主题色
|
|
60
|
+
const rgbColors = [toNum3(primary).join(',')]
|
|
61
|
+
const functionalColors = getFunctionalColors(mode)
|
|
62
|
+
return { primary, mainColors, subColors, menuColors, contentColors, rgbColors, functionalColors }
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function toNum3 (color) {
|
|
66
|
+
if (isHex(color)) {
|
|
67
|
+
return varyColor.toNum3(color)
|
|
68
|
+
}
|
|
69
|
+
let colorStr = ''
|
|
70
|
+
if (isRgb(color)) {
|
|
71
|
+
colorStr = color.slice(5, color.length)
|
|
72
|
+
} else if (isRgba(color)) {
|
|
73
|
+
colorStr = color.slice(6, color.lastIndexOf(','))
|
|
74
|
+
}
|
|
75
|
+
const rgb = colorStr.split(',')
|
|
76
|
+
const r = parseInt(rgb[0])
|
|
77
|
+
const g = parseInt(rgb[1])
|
|
78
|
+
const b = parseInt(rgb[2])
|
|
79
|
+
return [r, g, b]
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function isHex (color) {
|
|
83
|
+
return color.length >= 4 && color[0] == '#'
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function isRgb (color) {
|
|
87
|
+
return color.length >= 10 && color.slice(0, 3) == 'rgb'
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function isRgba (color) {
|
|
91
|
+
return color.length >= 13 && color.slice(0, 4) == 'rgba'
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
module.exports = {
|
|
95
|
+
isHex,
|
|
96
|
+
isRgb,
|
|
97
|
+
isRgba,
|
|
98
|
+
toNum3,
|
|
99
|
+
getAntdColors,
|
|
100
|
+
getMenuColors,
|
|
101
|
+
getThemeToggleColors,
|
|
102
|
+
getFunctionalColors
|
|
103
|
+
}
|