@gx-design-vue/create-gx-cli 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/cli.js +1 -1
- package/src/main.js +4 -0
- package/template-design-pro/.editorconfig +0 -19
- package/template-design-pro/.env +0 -2
- package/template-design-pro/.env.development +0 -18
- package/template-design-pro/.env.pro +0 -32
- package/template-design-pro/.env.production +0 -32
- package/template-design-pro/.env.test +0 -20
- package/template-design-pro/.eslintignore +0 -16
- package/template-design-pro/.eslintrc.js +0 -64
- package/template-design-pro/.gitpod.yml +0 -6
- package/template-design-pro/.husky/pre-commit +0 -4
- package/template-design-pro/.prettierignore +0 -9
- package/template-design-pro/.stylelintignore +0 -3
- package/template-design-pro/.yarnclean +0 -48
- package/template-design-pro/LICENSE +0 -21
- package/template-design-pro/README.md +0 -111
- package/template-design-pro/build/constant.ts +0 -6
- package/template-design-pro/build/generate/generateModifyVars.ts +0 -18
- package/template-design-pro/build/getConfigFileName.ts +0 -13
- package/template-design-pro/build/script/buildConf.ts +0 -44
- package/template-design-pro/build/script/postBuild.ts +0 -25
- package/template-design-pro/build/script/reSetRootHtml.ts +0 -20
- package/template-design-pro/build/utils.ts +0 -85
- package/template-design-pro/build/vite/cdn.ts +0 -7
- package/template-design-pro/build/vite/optimizer.ts +0 -22
- package/template-design-pro/build/vite/plugin/autoImport.ts +0 -18
- package/template-design-pro/build/vite/plugin/compress.ts +0 -35
- package/template-design-pro/build/vite/plugin/hmr.ts +0 -25
- package/template-design-pro/build/vite/plugin/html.ts +0 -47
- package/template-design-pro/build/vite/plugin/index.ts +0 -89
- package/template-design-pro/build/vite/plugin/mock.ts +0 -20
- package/template-design-pro/build/vite/plugin/pwa.ts +0 -37
- package/template-design-pro/build/vite/plugin/styleImport.ts +0 -129
- package/template-design-pro/build/vite/plugin/visualizer.ts +0 -17
- package/template-design-pro/build/vite/plugin/vite-plugin-antd-theme/index.ts +0 -24
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createMockServer.ts +0 -303
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createProdMockServer.ts +0 -93
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/index.ts +0 -68
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/types.ts +0 -30
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/utils.ts +0 -26
- package/template-design-pro/commitlint.config.js +0 -32
- package/template-design-pro/config/config.ts +0 -14
- package/template-design-pro/config/default/animate.ts +0 -30
- package/template-design-pro/config/default/defaultSettings.ts +0 -75
- package/template-design-pro/config/default/network.ts +0 -16
- package/template-design-pro/config/default/proxy.ts +0 -26
- package/template-design-pro/config/default/theme.ts +0 -43
- package/template-design-pro/config/default/themeColor.ts +0 -62
- package/template-design-pro/index.html +0 -45
- package/template-design-pro/jest.config.mjs +0 -36
- package/template-design-pro/mock/_createProductionServer.ts +0 -19
- package/template-design-pro/mock/_util.ts +0 -55
- package/template-design-pro/mock/controller/menu.ts +0 -85
- package/template-design-pro/mock/controller/notices.ts +0 -114
- package/template-design-pro/mock/system/dict.ts +0 -60
- package/template-design-pro/mock/system/user.ts +0 -218
- package/template-design-pro/package.json +0 -151
- package/template-design-pro/pnpm-lock.yaml +0 -9913
- package/template-design-pro/postcss.config.js +0 -5
- package/template-design-pro/prettier.config.js +0 -18
- package/template-design-pro/public/resource/css/index.css +0 -171
- package/template-design-pro/public/resource/img/favicon.ico +0 -0
- package/template-design-pro/public/resource/img/logo.png +0 -0
- package/template-design-pro/public/resource/img/pro_icon.svg +0 -5
- package/template-design-pro/public/resource/img/pwa-192x192.png +0 -0
- package/template-design-pro/public/resource/img/pwa-512x512.png +0 -0
- package/template-design-pro/src/App.vue +0 -47
- package/template-design-pro/src/assets/error_images/403.png +0 -0
- package/template-design-pro/src/assets/error_images/404.png +0 -0
- package/template-design-pro/src/assets/error_images/cloud.png +0 -0
- package/template-design-pro/src/assets/login_images/login_background.svg +0 -69
- package/template-design-pro/src/assets/logo.png +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.css +0 -94
- package/template-design-pro/src/assets/menu_font/iconfont.eot +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.js +0 -1
- package/template-design-pro/src/assets/menu_font/iconfont.json +0 -142
- package/template-design-pro/src/assets/menu_font/iconfont.svg +0 -57
- package/template-design-pro/src/assets/menu_font/iconfont.ttf +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff2 +0 -0
- package/template-design-pro/src/assets/menu_font/index.less +0 -94
- package/template-design-pro/src/common/global.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.less +0 -80
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.tsx +0 -342
- package/template-design-pro/src/components/GDesign/ProLayout/PageLoading.tsx +0 -20
- package/template-design-pro/src/components/GDesign/ProLayout/RenderTypings.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/RouteContext.tsx +0 -82
- package/template-design-pro/src/components/GDesign/ProLayout/WrapContent.tsx +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalFooter/index.tsx +0 -88
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/DefaultHeader.tsx +0 -189
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/Header.less +0 -8
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/index.tsx +0 -105
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/props.ts +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/style.less +0 -144
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/index.tsx +0 -81
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/props.ts +0 -29
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/index.tsx +0 -384
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/props.ts +0 -15
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/style.less +0 -79
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeIcon.tsx +0 -148
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.module.less +0 -115
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.tsx +0 -154
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.less +0 -39
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.tsx +0 -133
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx +0 -190
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts +0 -48
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less +0 -128
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts +0 -0
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/AvatarDropdown.tsx +0 -63
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/HeaderSearch.tsx +0 -122
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/headerSearch.less +0 -30
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx +0 -95
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/style.less +0 -90
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/BlockCheckbox.tsx +0 -70
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/LayoutSetting.tsx +0 -107
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/ThemeColor.tsx +0 -68
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/index.tsx +0 -346
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/BaseMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/SiderMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/index.tsx +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/props.ts +0 -112
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/style.less +0 -262
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/typings.ts +0 -44
- package/template-design-pro/src/components/GDesign/ProLayout/default.less +0 -2
- package/template-design-pro/src/components/GDesign/ProLayout/defaultSettings.ts +0 -121
- package/template-design-pro/src/components/GDesign/ProLayout/hooks/context/index.ts +0 -45
- package/template-design-pro/src/components/GDesign/ProLayout/index.ts +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/props.ts +0 -57
- package/template-design-pro/src/components/GDesign/ProLayout/style.less +0 -272
- package/template-design-pro/src/components/GDesign/ProLayout/typings.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/utils/getMenuData.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/utils/index.ts +0 -94
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isImg/index.ts +0 -6
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isUrl/index.ts +0 -5
- package/template-design-pro/src/components/GDesign/Result/index.tsx +0 -142
- package/template-design-pro/src/components/GDesign/Result/style.less +0 -140
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/index.tsx +0 -56
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/props.ts +0 -23
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/index.tsx +0 -164
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/props.ts +0 -11
- package/template-design-pro/src/components/GDesign/Scrollbars/context.ts +0 -10
- package/template-design-pro/src/components/GDesign/Scrollbars/index.tsx +0 -200
- package/template-design-pro/src/components/GDesign/Scrollbars/props.ts +0 -65
- package/template-design-pro/src/components/GDesign/Scrollbars/style.less +0 -85
- package/template-design-pro/src/components/GDesign/Scrollbars/util.ts +0 -40
- package/template-design-pro/src/components/GDesign/utils/index.ts +0 -7
- package/template-design-pro/src/components/PageLoading/index.tsx +0 -44
- package/template-design-pro/src/components/PageTransition/index.vue +0 -98
- package/template-design-pro/src/components/index.ts +0 -6
- package/template-design-pro/src/core/ant-design/index.ts +0 -14
- package/template-design-pro/src/core/gx-admin-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-admin-directives/index.ts +0 -8
- package/template-design-pro/src/core/gx-admin-directives/permission.ts +0 -28
- package/template-design-pro/src/core/gx-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-pro-design/index.ts +0 -10
- package/template-design-pro/src/core/index.ts +0 -27
- package/template-design-pro/src/design/ant-design/index.less +0 -4
- package/template-design-pro/src/design/ant-design/layout.less +0 -29
- package/template-design-pro/src/design/ant-design/menu.less +0 -55
- package/template-design-pro/src/design/ant-design/table.less +0 -67
- package/template-design-pro/src/design/ant-design/tooltip.less +0 -13
- package/template-design-pro/src/design/color.less +0 -1
- package/template-design-pro/src/design/config.less +0 -5
- package/template-design-pro/src/design/index.less +0 -41
- package/template-design-pro/src/design/mixin.less +0 -66
- package/template-design-pro/src/design/normalize.less +0 -390
- package/template-design-pro/src/global.less +0 -15
- package/template-design-pro/src/hooks/core/index.ts +0 -3
- package/template-design-pro/src/hooks/core/useRequest/index.ts +0 -70
- package/template-design-pro/src/hooks/core/useRequest/typings.ts +0 -0
- package/template-design-pro/src/hooks/event/index.ts +0 -3
- package/template-design-pro/src/hooks/event/useClipboard.ts +0 -14
- package/template-design-pro/src/hooks/system/index.ts +0 -5
- package/template-design-pro/src/hooks/system/useDict.ts +0 -62
- package/template-design-pro/src/hooks/system/usePermissions.ts +0 -39
- package/template-design-pro/src/hooks/typings.ts +0 -17
- package/template-design-pro/src/layout/BasicLayout.vue +0 -104
- package/template-design-pro/src/layout/BlankLayout.vue +0 -5
- package/template-design-pro/src/layout/ContentView.vue +0 -76
- package/template-design-pro/src/layout/IframeView.vue +0 -1
- package/template-design-pro/src/layout/UserLayout.vue +0 -7
- package/template-design-pro/src/main.ts +0 -34
- package/template-design-pro/src/plugins/index.ts +0 -3
- package/template-design-pro/src/router/guard/index.ts +0 -84
- package/template-design-pro/src/router/guard/permissions.ts +0 -73
- package/template-design-pro/src/router/guard/stateGuard.ts +0 -11
- package/template-design-pro/src/router/helper/routeHelper.ts +0 -244
- package/template-design-pro/src/router/helper/utils.ts +0 -19
- package/template-design-pro/src/router/index.ts +0 -30
- package/template-design-pro/src/router/routes/index.ts +0 -85
- package/template-design-pro/src/router/routes/modules/workplace.ts +0 -19
- package/template-design-pro/src/services/common/index.ts +0 -11
- package/template-design-pro/src/services/controller/router.ts +0 -10
- package/template-design-pro/src/services/controller/user.ts +0 -35
- package/template-design-pro/src/services/system/dictData.ts +0 -10
- package/template-design-pro/src/services/system/notices.ts +0 -9
- package/template-design-pro/src/store/index.ts +0 -32
- package/template-design-pro/src/store/modules/dict.ts +0 -27
- package/template-design-pro/src/store/modules/permission.ts +0 -19
- package/template-design-pro/src/store/modules/routes.ts +0 -110
- package/template-design-pro/src/store/modules/settings.ts +0 -102
- package/template-design-pro/src/store/modules/tabsRouter.ts +0 -73
- package/template-design-pro/src/store/modules/user.ts +0 -153
- package/template-design-pro/src/utils/accessToken.ts +0 -93
- package/template-design-pro/src/utils/crypto.ts +0 -39
- package/template-design-pro/src/utils/env.ts +0 -52
- package/template-design-pro/src/utils/fetchFile.ts +0 -79
- package/template-design-pro/src/utils/index.ts +0 -127
- package/template-design-pro/src/utils/pageTitle.ts +0 -17
- package/template-design-pro/src/utils/request/XHR.ts +0 -131
- package/template-design-pro/src/utils/request/axiosCancel.ts +0 -60
- package/template-design-pro/src/utils/request/checkStatus.ts +0 -26
- package/template-design-pro/src/utils/request/index.ts +0 -145
- package/template-design-pro/src/utils/request/typings.ts +0 -114
- package/template-design-pro/src/utils/storage.ts +0 -194
- package/template-design-pro/src/utils/uploadFile.ts +0 -26
- package/template-design-pro/src/utils/util.ts +0 -278
- package/template-design-pro/src/utils/validate.ts +0 -221
- package/template-design-pro/src/views/Iframe/index.vue +0 -76
- package/template-design-pro/src/views/MenuOne/index.vue +0 -15
- package/template-design-pro/src/views/MenuTwo/index.vue +0 -13
- package/template-design-pro/src/views/exception/403/index.vue +0 -9
- package/template-design-pro/src/views/exception/404/index.vue +0 -9
- package/template-design-pro/src/views/user/login/index.vue +0 -110
- package/template-design-pro/src/views/user/login/style.less +0 -38
- package/template-design-pro/stylelint.config.js +0 -106
- package/template-design-pro/tests/__mocks__/fileMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/styleMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/workerMock.ts +0 -5
- package/template-design-pro/tests/server/README.md +0 -15
- package/template-design-pro/tests/server/controller/FileController.ts +0 -18
- package/template-design-pro/tests/server/controller/UserController.ts +0 -15
- package/template-design-pro/tests/server/ecosystem.config.js +0 -18
- package/template-design-pro/tests/server/index.ts +0 -63
- package/template-design-pro/tests/server/nodemon.json +0 -8
- package/template-design-pro/tests/server/package.json +0 -36
- package/template-design-pro/tests/server/routes.ts +0 -23
- package/template-design-pro/tests/server/service/FileService.ts +0 -54
- package/template-design-pro/tests/server/service/UserService.ts +0 -25
- package/template-design-pro/tests/server/tsconfig.json +0 -15
- package/template-design-pro/tests/server/utils.ts +0 -9
- package/template-design-pro/tests/server/yarn.lock +0 -2955
- package/template-design-pro/tests/test.spec.ts +0 -16
- package/template-design-pro/tsconfig.json +0 -47
- package/template-design-pro/types/auto-imports.d.ts +0 -61
- package/template-design-pro/types/config.d.ts +0 -100
- package/template-design-pro/types/global.d.ts +0 -103
- package/template-design-pro/types/gx-components.d.ts +0 -24
- package/template-design-pro/types/index.d.ts +0 -13
- package/template-design-pro/types/mock.d.ts +0 -23
- package/template-design-pro/types/module.d.ts +0 -16
- package/template-design-pro/types/response.d.ts +0 -15
- package/template-design-pro/types/route.d.ts +0 -89
- package/template-design-pro/vite.config.ts +0 -136
- package/template-design-pro/yarn.lock +0 -9697
package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx
DELETED
@@ -1,190 +0,0 @@
|
|
1
|
-
import type { ExtractPropTypes, VNodeChild } from 'vue'
|
2
|
-
import { omit } from 'lodash-es'
|
3
|
-
import { defineComponent } from 'vue'
|
4
|
-
import { RouterLink } from 'vue-router'
|
5
|
-
import { Card, PageHeader, Breadcrumb } from 'ant-design-vue'
|
6
|
-
import { breadcrumbProps } from 'ant-design-vue/es/breadcrumb/Breadcrumb'
|
7
|
-
import config from '/config/config'
|
8
|
-
import { GPorWaterMark } from '@gx-design-vue/pro-watermark'
|
9
|
-
import { getPrefixCls, getSlotVNode } from '@gx-design-vue/pro-utils'
|
10
|
-
import { PropTypes } from '@/utils'
|
11
|
-
import { pageContainerProps } from './props'
|
12
|
-
import { useRouteContext } from '../../RouteContext'
|
13
|
-
import type { RouteContextProps } from '../../RouteContext'
|
14
|
-
import type { DefaultPropRender } from '../../RenderTypings'
|
15
|
-
|
16
|
-
export type PageContainerProps = Partial<ExtractPropTypes<typeof pageContainerProps>>
|
17
|
-
|
18
|
-
const { waterMark } = config.defaultSettings
|
19
|
-
|
20
|
-
const renderPageHeader = (
|
21
|
-
content: CustomRender,
|
22
|
-
extraContent: CustomRender,
|
23
|
-
prefixedClassName: string
|
24
|
-
): VNodeChild | JSX.Element | null => {
|
25
|
-
if (!content && !extraContent) {
|
26
|
-
return null
|
27
|
-
}
|
28
|
-
return (
|
29
|
-
<div class={`${prefixedClassName}-detail`}>
|
30
|
-
<div class={`${prefixedClassName}-main`}>
|
31
|
-
<div class={`${prefixedClassName}-row`}>
|
32
|
-
{content && (
|
33
|
-
<div class={`${prefixedClassName}-content`}>
|
34
|
-
{(typeof content === 'function' && content()) || content}
|
35
|
-
</div>
|
36
|
-
)}
|
37
|
-
{extraContent && (
|
38
|
-
<div class={`${prefixedClassName}-extraContent`}>
|
39
|
-
{(typeof extraContent === 'function' && extraContent()) || extraContent}
|
40
|
-
</div>
|
41
|
-
)}
|
42
|
-
</div>
|
43
|
-
</div>
|
44
|
-
</div>
|
45
|
-
)
|
46
|
-
}
|
47
|
-
|
48
|
-
/**
|
49
|
-
* 配置与面包屑相同,只是增加了自动根据路由计算面包屑的功能。此功能必须要在 ProLayout 中使用。
|
50
|
-
*
|
51
|
-
* @param props
|
52
|
-
* @returns
|
53
|
-
*/
|
54
|
-
const ProBreadcrumb = defineComponent({
|
55
|
-
props: breadcrumbProps(),
|
56
|
-
setup(props) {
|
57
|
-
const value = useRouteContext()
|
58
|
-
|
59
|
-
return () => {
|
60
|
-
return (
|
61
|
-
<div
|
62
|
-
style={{
|
63
|
-
height: '100%',
|
64
|
-
display: 'flex',
|
65
|
-
alignItems: 'center'
|
66
|
-
}}
|
67
|
-
>
|
68
|
-
<Breadcrumb {...value?.breadcrumb} {...value?.breadcrumbProps} {...props} />
|
69
|
-
</div>
|
70
|
-
)
|
71
|
-
}
|
72
|
-
}
|
73
|
-
})
|
74
|
-
|
75
|
-
const defaultPageHeaderRender = (
|
76
|
-
props: PageContainerProps,
|
77
|
-
value: Required<RouteContextProps> & { prefixedClassName: string }
|
78
|
-
) => {
|
79
|
-
const { title, content, pageHeaderRender, header, extraContent, ...restProps } = omit(props, [
|
80
|
-
'prefixCls'
|
81
|
-
])
|
82
|
-
if (pageHeaderRender) {
|
83
|
-
return pageHeaderRender({ ...props, ...value })
|
84
|
-
}
|
85
|
-
let pageHeaderTitle = title
|
86
|
-
if (!title && title !== false) {
|
87
|
-
pageHeaderTitle = value.title
|
88
|
-
}
|
89
|
-
const unrefBreadcrumb = unref(value.breadcrumb || {})
|
90
|
-
const breadcrumb = restProps.breadcrumb || {
|
91
|
-
...unrefBreadcrumb,
|
92
|
-
itemRender:
|
93
|
-
unrefBreadcrumb.itemRender ||
|
94
|
-
(({ route }) => {
|
95
|
-
return <RouterLink to={route.path}>{route.breadcrumbName}</RouterLink>
|
96
|
-
})
|
97
|
-
}
|
98
|
-
|
99
|
-
// inject value
|
100
|
-
return (
|
101
|
-
<PageHeader {...restProps} title={pageHeaderTitle} breadcrumb={breadcrumb}>
|
102
|
-
{header || renderPageHeader(content, extraContent, value.prefixedClassName)}
|
103
|
-
</PageHeader>
|
104
|
-
)
|
105
|
-
}
|
106
|
-
|
107
|
-
const PageContainer = defineComponent({
|
108
|
-
inheritAttrs: false,
|
109
|
-
name: 'GProPageContainer',
|
110
|
-
props: {
|
111
|
-
contentStyle: PropTypes.style,
|
112
|
-
cardBodyStyle: PropTypes.style,
|
113
|
-
useCard: PropTypes.bool.def(true)
|
114
|
-
},
|
115
|
-
setup(props, { slots }) {
|
116
|
-
const value = useRouteContext()
|
117
|
-
|
118
|
-
const prefixedClassName = getPrefixCls({
|
119
|
-
suffixCls: 'page-container',
|
120
|
-
isPor: true
|
121
|
-
})
|
122
|
-
|
123
|
-
const gridPrefixCls = getPrefixCls({
|
124
|
-
suffixCls: 'grid-content',
|
125
|
-
isPor: true
|
126
|
-
})
|
127
|
-
|
128
|
-
const headerDom = computed(() => {
|
129
|
-
const tags = getSlotVNode<DefaultPropRender>(slots, props, 'tags')
|
130
|
-
const headerContent = getSlotVNode<DefaultPropRender>(slots, props, 'content')
|
131
|
-
const extra = getSlotVNode<DefaultPropRender>(slots, props, 'extra')
|
132
|
-
const extraContent = getSlotVNode<DefaultPropRender>(slots, props, 'extraContent')
|
133
|
-
return (
|
134
|
-
<div class={`${prefixedClassName}-warp`}>
|
135
|
-
{defaultPageHeaderRender(
|
136
|
-
{
|
137
|
-
...omit(props, 'useCard'),
|
138
|
-
tags,
|
139
|
-
content: headerContent,
|
140
|
-
extra,
|
141
|
-
extraContent,
|
142
|
-
prefixCls: undefined
|
143
|
-
},
|
144
|
-
{
|
145
|
-
...value,
|
146
|
-
prefixedClassName: prefixedClassName
|
147
|
-
}
|
148
|
-
)}
|
149
|
-
</div>
|
150
|
-
)
|
151
|
-
})
|
152
|
-
|
153
|
-
const content = () => (
|
154
|
-
<div class={`${prefixedClassName}-children-content`}>
|
155
|
-
{
|
156
|
-
props.useCard
|
157
|
-
? (
|
158
|
-
<Card style={value.hasContentWide ? { minHeight: '853px' } : undefined} bordered={false}>
|
159
|
-
{slots.default?.()}
|
160
|
-
</Card>
|
161
|
-
) : slots.default?.()
|
162
|
-
}
|
163
|
-
</div>
|
164
|
-
)
|
165
|
-
|
166
|
-
const renderContentDom = () => <>{waterMark ? <GPorWaterMark>{content()}</GPorWaterMark> : content()}</>
|
167
|
-
|
168
|
-
return () => {
|
169
|
-
return (
|
170
|
-
<div
|
171
|
-
class={{
|
172
|
-
[`${prefixedClassName}`]: true,
|
173
|
-
['wide']: value.hasContentWide
|
174
|
-
}}
|
175
|
-
>
|
176
|
-
{!value.hasContentWide && headerDom.value}
|
177
|
-
<div class={gridPrefixCls}>
|
178
|
-
<div class={`${gridPrefixCls}-children`} style={props.contentStyle}>
|
179
|
-
{renderContentDom()}
|
180
|
-
</div>
|
181
|
-
</div>
|
182
|
-
</div>
|
183
|
-
)
|
184
|
-
}
|
185
|
-
}
|
186
|
-
})
|
187
|
-
|
188
|
-
export { ProBreadcrumb }
|
189
|
-
|
190
|
-
export default PageContainer
|
package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
import { pageHeaderProps } from 'ant-design-vue/es/page-header'
|
2
|
-
import { PropTypes } from '@/utils'
|
3
|
-
import type { DefaultPropRender, PageHeaderRender } from '../../RenderTypings'
|
4
|
-
|
5
|
-
export const pageContainerProps = {
|
6
|
-
...pageHeaderProps(),
|
7
|
-
title: {
|
8
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
9
|
-
default: () => null,
|
10
|
-
},
|
11
|
-
subTitle: {
|
12
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
13
|
-
default: () => null,
|
14
|
-
},
|
15
|
-
content: {
|
16
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
17
|
-
default: () => null,
|
18
|
-
},
|
19
|
-
extraContent: {
|
20
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
21
|
-
default: () => null,
|
22
|
-
},
|
23
|
-
header: {
|
24
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
25
|
-
default: () => null,
|
26
|
-
},
|
27
|
-
footer: {
|
28
|
-
type: [Object, String, Boolean, Function] as PropType<DefaultPropRender>,
|
29
|
-
default: () => null,
|
30
|
-
},
|
31
|
-
pageHeaderRender: {
|
32
|
-
type: [Object, Function, Boolean] as PropType<PageHeaderRender>,
|
33
|
-
},
|
34
|
-
prefixCls: {
|
35
|
-
type: String,
|
36
|
-
default: 'gx-pro',
|
37
|
-
},
|
38
|
-
contentStyle: PropTypes.style,
|
39
|
-
useCard: PropTypes.bool.def(true),
|
40
|
-
ghost: {
|
41
|
-
type: Boolean,
|
42
|
-
default: () => undefined,
|
43
|
-
},
|
44
|
-
loading: {
|
45
|
-
type: Boolean,
|
46
|
-
default: () => undefined,
|
47
|
-
},
|
48
|
-
}
|
package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
@root-entry-name: 'default';
|
2
|
-
|
3
|
-
@pro-layout-page-container: ~'@{gx-prefix-pro}-page-container';
|
4
|
-
@pro-layout-grid-content-prefix-cls: ~'@{gx-prefix-pro}-pro-grid-content';
|
5
|
-
|
6
|
-
@pro-layout-page-container-content-margin: 24px 24px 0;
|
7
|
-
@pro-layout-page-container-content-padding: inherit;
|
8
|
-
@pro-layout-page-container-bg-color: inherit;
|
9
|
-
@pro-layout-page-container-warp-bg-color: @component-background;
|
10
|
-
|
11
|
-
.@{pro-layout-grid-content-prefix-cls} {
|
12
|
-
width: 100%;
|
13
|
-
}
|
14
|
-
|
15
|
-
.@{pro-layout-page-container}-children-content {
|
16
|
-
padding: @pro-layout-page-container-content-padding;
|
17
|
-
margin: @pro-layout-page-container-content-margin;
|
18
|
-
}
|
19
|
-
|
20
|
-
.@{pro-layout-page-container} {
|
21
|
-
background-color: @pro-layout-page-container-bg-color;
|
22
|
-
|
23
|
-
&.wide {
|
24
|
-
margin: 0;
|
25
|
-
}
|
26
|
-
|
27
|
-
&-warp {
|
28
|
-
background-color: @pro-layout-page-container-warp-bg-color;
|
29
|
-
|
30
|
-
.@{ant-prefix}-tabs-nav {
|
31
|
-
margin: 0;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
&-ghost {
|
36
|
-
.@{pro-layout-page-container}-warp {
|
37
|
-
background-color: transparent;
|
38
|
-
}
|
39
|
-
|
40
|
-
.@{pro-layout-page-container}-children-content {
|
41
|
-
margin-top: 0;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
.@{pro-layout-page-container}-main {
|
47
|
-
.@{pro-layout-page-container}-detail {
|
48
|
-
display: flex;
|
49
|
-
}
|
50
|
-
|
51
|
-
.@{pro-layout-page-container}-row {
|
52
|
-
display: flex;
|
53
|
-
width: 100%;
|
54
|
-
}
|
55
|
-
|
56
|
-
.@{pro-layout-page-container}-title-content {
|
57
|
-
margin-bottom: 16px;
|
58
|
-
}
|
59
|
-
|
60
|
-
.@{pro-layout-page-container}-title,
|
61
|
-
.@{pro-layout-page-container}-content {
|
62
|
-
flex: auto;
|
63
|
-
width: 100%;
|
64
|
-
}
|
65
|
-
|
66
|
-
.@{pro-layout-page-container}-extraContent,
|
67
|
-
.@{pro-layout-page-container}-main {
|
68
|
-
flex: 0 1 auto;
|
69
|
-
}
|
70
|
-
|
71
|
-
.@{pro-layout-page-container}-main {
|
72
|
-
width: 100%;
|
73
|
-
}
|
74
|
-
|
75
|
-
.@{pro-layout-page-container}-title {
|
76
|
-
margin-bottom: 16px;
|
77
|
-
}
|
78
|
-
|
79
|
-
.@{pro-layout-page-container}-logo {
|
80
|
-
margin-bottom: 16px;
|
81
|
-
}
|
82
|
-
|
83
|
-
.@{pro-layout-page-container}-extraContent {
|
84
|
-
min-width: 242px;
|
85
|
-
margin-left: 88px;
|
86
|
-
text-align: right;
|
87
|
-
}
|
88
|
-
}
|
89
|
-
|
90
|
-
@media screen and (max-width: @screen-xl) {
|
91
|
-
.@{pro-layout-page-container}-main {
|
92
|
-
.@{pro-layout-page-container}-extraContent {
|
93
|
-
margin-left: 44px;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
|
98
|
-
@media screen and (max-width: @screen-lg) {
|
99
|
-
.@{pro-layout-page-container}-main {
|
100
|
-
.@{pro-layout-page-container}-extraContent {
|
101
|
-
margin-left: 20px;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
@media screen and (max-width: @screen-md) {
|
107
|
-
.@{pro-layout-page-container}-main {
|
108
|
-
.@{pro-layout-page-container}-row {
|
109
|
-
display: block;
|
110
|
-
}
|
111
|
-
|
112
|
-
.@{pro-layout-page-container}-action,
|
113
|
-
.@{pro-layout-page-container}-extraContent {
|
114
|
-
margin-left: 0;
|
115
|
-
text-align: left;
|
116
|
-
}
|
117
|
-
}
|
118
|
-
}
|
119
|
-
|
120
|
-
@media screen and (max-width: @screen-sm) {
|
121
|
-
.@{pro-layout-page-container}-detail {
|
122
|
-
display: block;
|
123
|
-
}
|
124
|
-
|
125
|
-
.@{pro-layout-page-container}-extraContent {
|
126
|
-
margin-left: 0;
|
127
|
-
}
|
128
|
-
}
|
package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts
DELETED
File without changes
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import type { FunctionalComponent as FC, VNode } from 'vue'
|
2
|
-
import { cloneVNode } from 'vue'
|
3
|
-
import { cloneDeep } from 'lodash-es'
|
4
|
-
import { Dropdown, Menu, Avatar } from 'ant-design-vue'
|
5
|
-
import { LogoutOutlined, UserOutlined } from '@ant-design/icons-vue'
|
6
|
-
import type { ExtraRightDropdownRender } from '../../RenderTypings'
|
7
|
-
import { useRouteContext } from '../../RouteContext'
|
8
|
-
|
9
|
-
export type AvatarDropdownProps = {
|
10
|
-
extra?: ExtraRightDropdownRender
|
11
|
-
onLogout?: () => void
|
12
|
-
avatar?: string
|
13
|
-
userName?: string
|
14
|
-
}
|
15
|
-
|
16
|
-
const AvatarDropdown: FC<AvatarDropdownProps> = (props: AvatarDropdownProps) => {
|
17
|
-
const { extra, onLogout, avatar, userName } = props
|
18
|
-
|
19
|
-
const context = useRouteContext()
|
20
|
-
|
21
|
-
const baseClassName = context.getPrefixCls({
|
22
|
-
suffixCls: 'header-right',
|
23
|
-
isPor: true
|
24
|
-
})
|
25
|
-
|
26
|
-
return (
|
27
|
-
<Dropdown
|
28
|
-
overlay={
|
29
|
-
<Menu class={`${baseClassName}-menu`}>
|
30
|
-
{extra &&
|
31
|
-
(extra as VNode[]).map((child: VNode, index) => {
|
32
|
-
const newChild = cloneDeep(child)
|
33
|
-
const handleChildClick = child?.['props']?.onClick
|
34
|
-
if (child?.['props']?.onClick) delete child?.['props']?.onClick
|
35
|
-
return (
|
36
|
-
<Menu.Item key={index} onClick={() => handleChildClick()}>
|
37
|
-
{cloneVNode(newChild)}
|
38
|
-
</Menu.Item>
|
39
|
-
)
|
40
|
-
})}
|
41
|
-
<Menu.Item key={extra ? (extra as VNode[]).length : 0} onClick={onLogout}>
|
42
|
-
<a href="javascript:">
|
43
|
-
<LogoutOutlined />
|
44
|
-
<span>退出登录</span>
|
45
|
-
</a>
|
46
|
-
</Menu.Item>
|
47
|
-
</Menu>
|
48
|
-
}
|
49
|
-
>
|
50
|
-
<span class={[`${baseClassName}-action`, `${baseClassName}-account`]}>
|
51
|
-
<Avatar
|
52
|
-
src={avatar}
|
53
|
-
icon={<UserOutlined />}
|
54
|
-
size="small"
|
55
|
-
class={`${baseClassName}-avatar`}
|
56
|
-
/>
|
57
|
-
<span class={[`${baseClassName}-name`, 'anticon']}>{userName}</span>
|
58
|
-
</span>
|
59
|
-
</Dropdown>
|
60
|
-
)
|
61
|
-
}
|
62
|
-
|
63
|
-
export default AvatarDropdown
|
@@ -1,122 +0,0 @@
|
|
1
|
-
import { ref } from 'vue'
|
2
|
-
import { AutoComplete, Input } from 'ant-design-vue'
|
3
|
-
import type { AutoCompleteProps } from 'ant-design-vue/es/auto-complete'
|
4
|
-
import { SearchOutlined } from '@ant-design/icons-vue'
|
5
|
-
import { getPrefixCls } from '@gx-design-vue/pro-utils'
|
6
|
-
|
7
|
-
export type HeaderSearchProps = {
|
8
|
-
onSearch?: (value?: string) => void
|
9
|
-
onChange?: (value?: string) => void
|
10
|
-
onVisibleChange?: (b: boolean) => void
|
11
|
-
placeholder?: string
|
12
|
-
options: AutoCompleteProps['options']
|
13
|
-
defaultVisible?: boolean
|
14
|
-
visible?: boolean
|
15
|
-
defaultValue?: string
|
16
|
-
value?: string
|
17
|
-
}
|
18
|
-
|
19
|
-
const hearderSearchProps = {
|
20
|
-
onSearch: Function as PropType<HeaderSearchProps['onSearch']>,
|
21
|
-
onChange: Function as PropType<HeaderSearchProps['onChange']>,
|
22
|
-
onVisibleChange: Function as PropType<HeaderSearchProps['onVisibleChange']>,
|
23
|
-
placeholder: String as PropType<HeaderSearchProps['placeholder']>,
|
24
|
-
options: Object as PropType<HeaderSearchProps['options']>,
|
25
|
-
defaultVisible: Boolean as PropType<HeaderSearchProps['defaultVisible']>,
|
26
|
-
visible: Boolean as PropType<HeaderSearchProps['visible']>,
|
27
|
-
defaultValue: String as PropType<HeaderSearchProps['defaultValue']>,
|
28
|
-
value: String as PropType<HeaderSearchProps['value']>
|
29
|
-
}
|
30
|
-
|
31
|
-
const HeaderSearch = defineComponent({
|
32
|
-
props: hearderSearchProps,
|
33
|
-
emit: ['update:value', 'update:visible', 'visibleChange', 'change'],
|
34
|
-
setup(props, { emit, attrs }) {
|
35
|
-
const baseClass = getPrefixCls({
|
36
|
-
suffixCls: 'header-search',
|
37
|
-
isPor: true
|
38
|
-
})
|
39
|
-
const inputRef = ref()
|
40
|
-
const value = ref<string>('')
|
41
|
-
const searchMode = ref<boolean>(false)
|
42
|
-
|
43
|
-
watchEffect(() => {
|
44
|
-
value.value = props.value ?? props.defaultValue
|
45
|
-
})
|
46
|
-
|
47
|
-
watchEffect(() => {
|
48
|
-
searchMode.value = props.visible ?? props.defaultVisible
|
49
|
-
})
|
50
|
-
|
51
|
-
const inputClass = computed(() => {
|
52
|
-
return {
|
53
|
-
[`${baseClass}-input`]: true,
|
54
|
-
[`${baseClass}-show`]: searchMode.value
|
55
|
-
}
|
56
|
-
})
|
57
|
-
|
58
|
-
const setValue = (val: string) => {
|
59
|
-
value.value = val
|
60
|
-
emit('change', val)
|
61
|
-
}
|
62
|
-
|
63
|
-
const setSearchMode = (val: boolean) => {
|
64
|
-
searchMode.value = val
|
65
|
-
emit('visibleChange', val)
|
66
|
-
}
|
67
|
-
|
68
|
-
return () => (
|
69
|
-
<div
|
70
|
-
class={{ [`${baseClass}`]: true, [`${attrs.class}`]: true }}
|
71
|
-
onClick={() => {
|
72
|
-
setSearchMode(true)
|
73
|
-
if (searchMode.value && inputRef.value) {
|
74
|
-
inputRef.value.focus()
|
75
|
-
}
|
76
|
-
}}
|
77
|
-
onTransitionend={({ propertyName }) => {
|
78
|
-
if (propertyName === 'width' && !searchMode.value) {
|
79
|
-
if (props.onVisibleChange) {
|
80
|
-
emit('visibleChange', searchMode.value)
|
81
|
-
}
|
82
|
-
}
|
83
|
-
}}
|
84
|
-
>
|
85
|
-
<SearchOutlined
|
86
|
-
key="Icon"
|
87
|
-
style={{
|
88
|
-
cursor: 'pointer'
|
89
|
-
}}
|
90
|
-
/>
|
91
|
-
<AutoComplete
|
92
|
-
key="AutoComplete"
|
93
|
-
class={inputClass.value}
|
94
|
-
value={value}
|
95
|
-
options={props.options}
|
96
|
-
onChange={setValue}
|
97
|
-
>
|
98
|
-
<Input
|
99
|
-
size="small"
|
100
|
-
ref={(e) => (inputRef.value = e)}
|
101
|
-
defaultValue={props.defaultValue}
|
102
|
-
aria-label={props.placeholder}
|
103
|
-
placeholder={props.placeholder}
|
104
|
-
onKeyDown={(e) => {
|
105
|
-
if (e.key === 'Enter') {
|
106
|
-
if (props.onSearch) {
|
107
|
-
props.onSearch(value.value)
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}}
|
111
|
-
onBlur={() => {
|
112
|
-
setSearchMode(false)
|
113
|
-
}}
|
114
|
-
/>
|
115
|
-
</AutoComplete>
|
116
|
-
</div>
|
117
|
-
)
|
118
|
-
}
|
119
|
-
})
|
120
|
-
|
121
|
-
HeaderSearch.inheritAttrs = false
|
122
|
-
export default HeaderSearch
|
@@ -1,30 +0,0 @@
|
|
1
|
-
@import '../../default.less';
|
2
|
-
|
3
|
-
@pro-layout-header-search-prefix-cls: ~'@{gx-prefix-pro}-header-search';
|
4
|
-
|
5
|
-
.@{pro-layout-header-right-prefix-cls} {
|
6
|
-
display: inline-flex;
|
7
|
-
align-items: center;
|
8
|
-
|
9
|
-
.@{pro-layout-header-right-prefix-cls}-input {
|
10
|
-
width: 0;
|
11
|
-
min-width: 0;
|
12
|
-
overflow: hidden;
|
13
|
-
background: transparent;
|
14
|
-
border-radius: 0;
|
15
|
-
transition: width 0.3s, margin-left 0.3s;
|
16
|
-
|
17
|
-
:global(.ant-select-selection) {
|
18
|
-
background: transparent;
|
19
|
-
}
|
20
|
-
|
21
|
-
input {
|
22
|
-
box-shadow: none !important;
|
23
|
-
}
|
24
|
-
|
25
|
-
&.@{pro-layout-header-right-prefix-cls}-show {
|
26
|
-
width: 210px;
|
27
|
-
margin-left: 8px;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
}
|
package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
import { computed, defineComponent, createVNode } from 'vue'
|
2
|
-
import { useRoute, useRouter } from 'vue-router'
|
3
|
-
import { Modal, Space } from 'ant-design-vue'
|
4
|
-
import { LogoutOutlined, ExclamationCircleOutlined } from '@ant-design/icons-vue'
|
5
|
-
import config from '/config/config'
|
6
|
-
import { useStore } from '@gx-vuex'
|
7
|
-
import { globalHeaderProps } from '../GlobalHeader/props'
|
8
|
-
import HeaderSearch from './HeaderSearch'
|
9
|
-
import AvatarDropdown from './AvatarDropdown'
|
10
|
-
import NoticeIcon from '../NoticeIcon'
|
11
|
-
import { useRouteContext } from '../../RouteContext'
|
12
|
-
|
13
|
-
export default defineComponent({
|
14
|
-
components: { LogoutOutlined },
|
15
|
-
props: {
|
16
|
-
theme: globalHeaderProps.theme,
|
17
|
-
extra: globalHeaderProps.extraRightDropdownRender
|
18
|
-
},
|
19
|
-
setup(props) {
|
20
|
-
const { recordRoute } = config.defaultSettings
|
21
|
-
|
22
|
-
const context = useRouteContext()
|
23
|
-
|
24
|
-
const baseClassName = context.getPrefixCls({
|
25
|
-
suffixCls: 'header-right',
|
26
|
-
isPor: true
|
27
|
-
})
|
28
|
-
|
29
|
-
const store = useStore()
|
30
|
-
const route = useRoute()
|
31
|
-
const router = useRouter()
|
32
|
-
|
33
|
-
const avatar = computed(() => store.user.avatar)
|
34
|
-
const userName = computed(() => store.user.loginName)
|
35
|
-
|
36
|
-
const logout = () => {
|
37
|
-
Modal.confirm({
|
38
|
-
title: '温馨提醒',
|
39
|
-
icon: createVNode(ExclamationCircleOutlined),
|
40
|
-
content: '是否确认退出系统?',
|
41
|
-
okText: '确认',
|
42
|
-
cancelText: '取消',
|
43
|
-
onOk() {
|
44
|
-
return new Promise((resolve) => {
|
45
|
-
setTimeout(resolve, 200)
|
46
|
-
store.user.userLogut().then(() => {
|
47
|
-
if (recordRoute) {
|
48
|
-
const fullPath = route.fullPath
|
49
|
-
router.push(`/user/login?redirect=${fullPath}`)
|
50
|
-
} else {
|
51
|
-
router.push({ path: '/user/login' })
|
52
|
-
}
|
53
|
-
})
|
54
|
-
})
|
55
|
-
},
|
56
|
-
onCancel() {}
|
57
|
-
})
|
58
|
-
}
|
59
|
-
|
60
|
-
return () => (
|
61
|
-
<Space class={[baseClassName, props.theme]}>
|
62
|
-
<HeaderSearch
|
63
|
-
class={[`${baseClassName}-action`, `${baseClassName}-search`]}
|
64
|
-
placeholder="站内搜索"
|
65
|
-
defaultValue="Ant Design"
|
66
|
-
options={[
|
67
|
-
{
|
68
|
-
label: <a href="https://umijs.org/zh/guide/umi-ui.html">umi ui</a>,
|
69
|
-
value: 'umi ui'
|
70
|
-
},
|
71
|
-
{
|
72
|
-
label: <a href="https://www.antdv.com/components/overview-cn">Ant Design</a>,
|
73
|
-
value: 'Ant Design'
|
74
|
-
},
|
75
|
-
{
|
76
|
-
label: <a href="https://protable.ant.design/">Pro Table</a>,
|
77
|
-
value: 'Pro Table'
|
78
|
-
},
|
79
|
-
{
|
80
|
-
label: <a href="https://prolayout.ant.design/">Pro Layout</a>,
|
81
|
-
value: 'Pro Layout'
|
82
|
-
}
|
83
|
-
]}
|
84
|
-
/>
|
85
|
-
<NoticeIcon />
|
86
|
-
<AvatarDropdown
|
87
|
-
avatar={avatar.value}
|
88
|
-
userName={userName.value}
|
89
|
-
onLogout={logout}
|
90
|
-
{...props}
|
91
|
-
/>
|
92
|
-
</Space>
|
93
|
-
)
|
94
|
-
}
|
95
|
-
})
|