Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
8ee76e82
提交
8ee76e82
编写于
4年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ShineKOT 发布系统代码 [后台服务,演示应用]
上级
d6f66297
变更
17
展开全部
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
1440 行增加
和
6 行删除
+1440
-6
portlet-data.json
app_Web/public/assets/json/portlet-data.json
+1
-1
en-US-base.ts
app_Web/src/locale/lang/en-US-base.ts
+1
-1
zh-CN-base.ts
app_Web/src/locale/lang/zh-CN-base.ts
+1
-1
quickmenubar-appmenu.ts
...src/mock/app/quickmenubar-appmenu/quickmenubar-appmenu.ts
+54
-0
portlet.ts
app_Web/src/mock/portlet/portlet.ts
+1
-1
app-portal-view2-db-dashboard.vue
...rtal-view2-db-dashboard/app-portal-view2-db-dashboard.vue
+1
-1
quickmenubar-appmenu-base.vue
...ts/app/quickmenubar-appmenu/quickmenubar-appmenu-base.vue
+646
-0
quickmenubar-appmenu-model.ts
...ts/app/quickmenubar-appmenu/quickmenubar-appmenu-model.ts
+88
-0
quickmenubar-appmenu-service.ts
.../app/quickmenubar-appmenu/quickmenubar-appmenu-service.ts
+46
-0
quickmenubar-appmenu.less
...idgets/app/quickmenubar-appmenu/quickmenubar-appmenu.less
+159
-0
quickmenubar-appmenu.vue
...widgets/app/quickmenubar-appmenu/quickmenubar-appmenu.vue
+14
-0
quickmenubar-portlet-base.vue
...ts/app/quickmenubar-portlet/quickmenubar-portlet-base.vue
+315
-0
quickmenubar-portlet-model.ts
...ts/app/quickmenubar-portlet/quickmenubar-portlet-model.ts
+21
-0
quickmenubar-portlet-service.ts
.../app/quickmenubar-portlet/quickmenubar-portlet-service.ts
+11
-0
quickmenubar-portlet.less
...idgets/app/quickmenubar-portlet/quickmenubar-portlet.less
+63
-0
quickmenubar-portlet.vue
...widgets/app/quickmenubar-portlet/quickmenubar-portlet.vue
+17
-0
systemResource.json
demo-core/src/main/resources/permission/systemResource.json
+1
-1
未找到文件。
app_Web/public/assets/json/portlet-data.json
浏览文件 @
8ee76e82
...
...
@@ -314,7 +314,7 @@
{
"type"
:
"app"
,
"appCodeName"
:
"Web"
,
"appName"
:
"演示应用"
,
"portletCodeName"
:
"
appMenu
"
,
"portletCodeName"
:
"
QUICKMENUBAR
"
,
"portletName"
:
"快捷菜单"
,
"groupCodeName"
:
"Ungroup"
,
"groupName"
:
"(未分类)"
,
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/locale/lang/en-US-base.ts
浏览文件 @
8ee76e82
...
...
@@ -179,7 +179,7 @@ function getAppLocale(){
info
:
"Please configure the data import item"
},
menus
:
{
appmenu
:
{
quickmenubar
:
{
menuitem1
:
commonLogic
.
appcommonhandle
(
"应用菜单"
,
null
),
menuitem2
:
commonLogic
.
appcommonhandle
(
"打开文档"
,
null
),
},
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/locale/lang/zh-CN-base.ts
浏览文件 @
8ee76e82
...
...
@@ -179,7 +179,7 @@ function getAppLocale(){
info
:
"请配置数据导入项"
},
menus
:
{
appmenu
:
{
quickmenubar
:
{
menuitem1
:
commonLogic
.
appcommonhandle
(
"应用菜单"
,
null
),
menuitem2
:
commonLogic
.
appcommonhandle
(
"打开文档"
,
null
),
},
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/mock/app/quickmenubar-appmenu/quickmenubar-appmenu.ts
0 → 100644
浏览文件 @
8ee76e82
import
{
MockAdapter
}
from
'@/mock/mock-adapter'
;
const
mock
=
MockAdapter
.
getInstance
();
import
Mock
from
'mockjs'
const
Random
=
Mock
.
Random
;
// 获取应用数据
mock
.
onGet
(
'v7/quickmenubarappmenu'
).
reply
((
config
:
any
)
=>
{
let
status
=
MockAdapter
.
mockStatus
(
config
);
return
[
status
,
{
name
:
'db_appmenu1_appmenu'
,
items
:
[
{
id
:
'161CE06C-7FEB-4D3A-908A-EA2756104A50'
,
name
:
'menuitem1'
,
text
:
'应用菜单'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'应用菜单'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
''
,
resourcetag
:
''
,
items
:
[
{
id
:
'00926656-BCDE-45AF-B381-3B465E80D8EB'
,
name
:
'menuitem2'
,
text
:
'打开文档'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'打开文档'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
'fa fa-twitter'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc93'
,
resourcetag
:
''
,
},
],
},
],
}];
});
This diff is collapsed.
Click to expand it.
app_Web/src/mock/portlet/portlet.ts
浏览文件 @
8ee76e82
...
...
@@ -324,7 +324,7 @@ mock.onGet('./assets/json/portlet-data.json').reply((config: any) => {
{
"type"
:
"app"
,
"appCodeName"
:
"Web"
,
"appName"
:
"演示应用"
,
"portletCodeName"
:
"
appMenu
"
,
"portletCodeName"
:
"
QUICKMENUBAR
"
,
"portletName"
:
"快捷菜单"
,
"groupCodeName"
:
"Ungroup"
,
"groupName"
:
"(未分类)"
,
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/app-portal-view2-db-dashboard/app-portal-view2-db-dashboard.vue
浏览文件 @
8ee76e82
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AppPortalView2_dbBase
from
'./app-portal-view2-db-dashboard-base.vue'
;
import
view_db_appmenu1
from
'@widgets/app/
app-menu-portlet/app-menu
-portlet.vue'
;
import
view_db_appmenu1
from
'@widgets/app/
quickmenubar-portlet/quickmenubar
-portlet.vue'
;
@
Component
({
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-appmenu/quickmenubar-appmenu-base.vue
0 → 100644
浏览文件 @
8ee76e82
此差异已折叠。
点击以展开。
app_Web/src/widgets/app/quickmenubar-appmenu/quickmenubar-appmenu-model.ts
0 → 100644
浏览文件 @
8ee76e82
/**
* QUICKMENUBAR 部件模型
*
* @export
* @class QUICKMENUBARModel
*/
export
default
class
QUICKMENUBARModel
{
/**
* 菜单项集合
*
* @public
* @type {any[]}
* @memberof QUICKMENUBARModel
*/
public
items
:
any
[]
=
[
{
id
:
'161CE06C-7FEB-4D3A-908A-EA2756104A50'
,
name
:
'menuitem1'
,
text
:
'应用菜单'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'应用菜单'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
''
,
resourcetag
:
''
,
authtag
:
'Web-QUICKMENUBAR-menuitem1'
,
items
:
[
{
id
:
'00926656-BCDE-45AF-B381-3B465E80D8EB'
,
name
:
'menuitem2'
,
text
:
'打开文档'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'打开文档'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
'fa fa-twitter'
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc93'
,
resourcetag
:
''
,
authtag
:
'Web-QUICKMENUBAR-menuitem2'
,
},
],
},
];
/**
* 应用功能集合
*
* @public
* @type {any[]}
* @memberof QUICKMENUBARModel
*/
public
funcs
:
any
[]
=
[
];
/**
* 获取所有菜单项集合
*
* @returns {any[]}
* @memberof QUICKMENUBARModel
*/
public
getAppMenuItems
():
any
[]
{
return
this
.
items
;
}
/**
* 获取所有应用功能集合
*
* @returns {any[]}
* @memberof QUICKMENUBARModel
*/
public
getAppFuncs
():
any
[]
{
return
this
.
funcs
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-appmenu/quickmenubar-appmenu-service.ts
0 → 100644
浏览文件 @
8ee76e82
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
QUICKMENUBARModel
from
'./quickmenubar-appmenu-model'
;
/**
* QUICKMENUBAR 部件服务对象
*
* @export
* @class QUICKMENUBARService
*/
export
default
class
QUICKMENUBARService
extends
ControlService
{
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof QUICKMENUBARService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of QUICKMENUBARService.
*
* @param {*} [opts={}]
* @memberof QUICKMENUBARService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
QUICKMENUBARModel
();
}
/**
* 获取数据
*
* @returns {Promise<any>}
* @memberof QUICKMENUBAR
*/
@
Errorlog
public
get
(
params
:
any
=
{}):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
'v7/quickmenubarappmenu'
,
params
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-appmenu/quickmenubar-appmenu.less
0 → 100644
浏览文件 @
8ee76e82
/*** BRGIN:菜单样式 ***/
.app-app-menu {
overflow-y: auto;
overflow-x: hidden;
height: calc(100% - 58px);
.ivu-divider{
background-color: #b3b3b3;
height: 2px;
}
> .el-menu {
border-right: 0;
.el-menu-item {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
.ivu-badge {
.ivu-badge-count {
box-shadow: 0 0 0 0px #fff;
}
}
}
.el-submenu__title i, .el-menu-item i {
font-size: 12px;
width: 18px;
}
.el-submenu__title .app-menu-icon,.el-menu-item .app-menu-icon{
width:20px;
font-size: 14px;
}
.el-submenu__title .text {
font-size: 16px;
}
.el-submenu__title .app-menu-circle,.el-menu-item .app-menu-circle {
display: inline-block;
border-radius: 50%;
width: 20px;
height: 20px;
line-height: 36px;
vertical-align:middle;
background: rgb(var(--app-footer-background-color-rgb));
border: 1px solid #fff;
border-color: rgb(var(--app-header-color-rgb));
color: rgb(var(--app-header-color-rgb));;
text-align: center;
font: 12px Arial, sans-serif;
}
.el-submenu__title, .el-menu-item {
height: 50px;
font-size: 14px;
line-height: 50px;
border-left: 4px !important;
}
.el-menu-item .el-tooltip {
padding-left: 12px !important;
}
.isCollpase .el-submenu__title{
padding-left: 12px !important;
}
.isFirst > .text {
font-size: 16px !important;
}
.el-menu-item, .el-submenu, .el-menu {
border-top: 1px solid #fff;
}
> .el-menu-item, > .el-submenu > .el-submenu__title {
height: 56px;
line-height: 56px;
padding-left: 16px !important;
}
.app-menu-icon {
margin: 4px;
text-align: center;
}
> .el-submenu {
> .el-menu {
> .el-menu-item, > .el-submenu > .el-submenu__title {
padding-left: 44px !important;
}
> .el-submenu {
> .el-menu {
> .el-menu-item, > .el-submenu > .el-submenu__title {
padding-left: 68px !important;
}
}
}
}
}
.active-icon {
font-size: 40px !important;
position: absolute;
right: 0;
line-height: 42px;
color: #fff !important;
display: none;
width: 24px !important;
overflow: hidden;
}
}
.el-menu--horizontal{
display: flex;
width: calc(100vw - 1100px);
height: 65px;
flex-wrap: nowrap;
overflow-x:scroll;
padding-top: 3px;
.el-menu-item{
overflow: visible;
}
.el-submenu{
.el-submenu__title{
padding-right: 0px !important;
padding-left: 0px !important;
}
}
}
.ivu-divider-horizontal {
width: 100%;
min-width: 100%;
margin: 4px auto;
margin-bottom: 1px;
}
}
.app-popper-menu {
.el-menu-item, .el-submenu__title {
height: 36px;
font-size: 16px;
line-height: 36px;
}
> .el-menu-item, > .el-submenu > .el-submenu__title {
height: 40px;
line-height: 40px;
}
.el-menu-item {
.ivu-badge {
.ivu-badge-count {
box-shadow: 0 0 0 0px #fff;
}
}
> span{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.ivu-divider-horizontal {
width: 100%;
min-width: 100%;
margin: 4px auto;
margin-bottom: 1px;
}
}
// this is less
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-appmenu/quickmenubar-appmenu.vue
0 → 100644
浏览文件 @
8ee76e82
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
QUICKMENUBARBase
from
'./quickmenubar-appmenu-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
QUICKMENUBAR
extends
QUICKMENUBARBase
{
}
</
script
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-portlet/quickmenubar-portlet-base.vue
0 → 100644
浏览文件 @
8ee76e82
<
template
>
<div
class=
'portlet quickmenubar '
:style=
"
{}">
<p
class=
'portlet-title'
>
<span>
快捷菜单
</span>
</p>
<el-divider
class=
"divider"
></el-divider>
<div
class=
"portlet-with-title"
>
<view
_db_appmenu1_appmenu
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
name=
"db_appmenu1_appmenu"
ref=
'db_appmenu1_appmenu'
@
closeview=
"closeView($event)"
>
</view
_db_appmenu1_appmenu
>
</div>
</div>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
,
ViewTool
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
QUICKMENUBARService
from
'./quickmenubar-portlet-service'
;
import
UIService
from
'@/uiservice/ui-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
QUICKMENUBARBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof QUICKMENUBARBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof QUICKMENUBARBase
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof QUICKMENUBARBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {QUICKMENUBARService}
* @memberof QUICKMENUBARBase
*/
public
service
:
QUICKMENUBARService
=
new
QUICKMENUBARService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof QUICKMENUBARBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof QUICKMENUBARBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof QUICKMENUBARBase
*/
@
Prop
()
public
width
?:
number
;
/**
* 门户部件类型
*
* @type {number}
* @memberof QUICKMENUBARBase
*/
public
portletType
:
string
=
'appmenu'
;
/**
* 视图默认使用
*
* @type {string}
* @memberof QUICKMENUBARBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 界面行为模型数据
*
* @memberof QUICKMENUBARBase
*/
public
uiactionModel
:
any
=
{
}
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof QUICKMENUBARBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof QUICKMENUBARBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof QUICKMENUBARBase
*/
public
getData
():
any
{
return
{};
}
/**
* 获取高度
*
* @returns {any[]}
* @memberof QUICKMENUBARBase
*/
get
getHeight
(){
if
(
!
this
.
$util
.
isEmpty
(
this
.
height
)
&&
!
this
.
$util
.
isNumberNaN
(
this
.
height
)){
if
(
this
.
height
==
0
){
return
'auto'
;
}
else
{
return
this
.
height
+
'px'
;
}
}
else
{
return
'auto'
;
}
}
/**
* 刷新
*
* @memberof QUICKMENUBARBase
*/
public
refresh
(
args
?:
any
)
{
}
/**
* vue 生命周期
*
* @memberof QUICKMENUBARBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof QUICKMENUBARBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
Object
.
is
(
tag
,
"all-portlet"
)
&&
Object
.
is
(
action
,
'loadmodel'
)){
this
.
calcUIActionAuthState
(
data
);
}
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof QUICKMENUBARBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof QUICKMENUBARBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
/**
* 计算界面行为权限
*
* @memberof QUICKMENUBARBase
*/
public
calcUIActionAuthState
(
data
:
any
=
{})
{
// 如果是操作栏,不计算权限
if
(
this
.
portletType
&&
Object
.
is
(
'actionbar'
,
this
.
portletType
))
{
return
;
}
let
_this
:
any
=
this
;
let
uiservice
:
any
=
_this
.
appUIService
?
_this
.
appUIService
:
new
UIService
(
_this
.
$store
);
if
(
_this
.
uiactionModel
){
ViewTool
.
calcActionItemAuthState
(
data
,
_this
.
uiactionModel
,
uiservice
);
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './quickmenubar-portlet.less';
</
style
>
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-portlet/quickmenubar-portlet-model.ts
0 → 100644
浏览文件 @
8ee76e82
/**
* QUICKMENUBAR 部件模型
*
* @export
* @class QUICKMENUBARModel
*/
export
default
class
QUICKMENUBARModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof QUICKMENUBARModel
*/
public
getDataItems
():
any
[]
{
return
[
]
}
}
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-portlet/quickmenubar-portlet-service.ts
0 → 100644
浏览文件 @
8ee76e82
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* QUICKMENUBAR 部件服务对象
*
* @export
* @class QUICKMENUBARService
*/
export
default
class
QUICKMENUBARService
extends
ControlService
{
}
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-portlet/quickmenubar-portlet.less
0 → 100644
浏览文件 @
8ee76e82
// this is less
.portlet{
height: 100%;
width: 100%;
> .portlet-title{
padding: 14px 16px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: 52px;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: space-between;
width:100%;
line-height: 22px;
font-size: 16px;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #304265;
font-weight: 600;
i{
margin-right: 5px;
}
>.portlet-action{
margin-left: 12px;
font-size: 14px;
>a{
padding: 6px;
}
}
}
> .divider {
margin: 0px 0px 11px 0px;
}
> .portlet-with-title{
width:100%;
height:calc(100% - 58px);
overflow:auto;
padding:0px 12px;
}
> .portlet-without-title{
width:100%;
height:100%;
overflow:auto;
padding:0px 12px;
}
.app-charts{
height: 100%!important;
}
.toolbar-container {
button{
margin: 6px 0px 4px 16px;
}
.ivu-badge{
.ivu-badge-count{
top: 0;
}
}
}
}
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/app/quickmenubar-portlet/quickmenubar-portlet.vue
0 → 100644
浏览文件 @
8ee76e82
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
QUICKMENUBARBase
from
'./quickmenubar-portlet-base.vue'
;
import
view_db_appmenu1_appmenu
from
'@widgets/app/quickmenubar-appmenu/quickmenubar-appmenu.vue'
;
@
Component
({
components
:
{
view_db_appmenu1_appmenu
,
}
})
export
default
class
QUICKMENUBAR
extends
QUICKMENUBARBase
{
}
</
script
>
This diff is collapsed.
Click to expand it.
demo-core/src/main/resources/permission/systemResource.json
浏览文件 @
8ee76e82
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录