Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
e6d42a86
提交
e6d42a86
编写于
11月 03, 2022
作者:
Shine-zwj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
上级
b93fbc62
变更
3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
221 行增加
和
0 行删除
+221
-0
app-register.ts
src/app-register.ts
+2
-0
app-preset-button.less
...ment/interactive/app-preset-button/app-preset-button.less
+52
-0
app-preset-button.vue
...ement/interactive/app-preset-button/app-preset-button.vue
+167
-0
未找到文件。
src/app-register.ts
浏览文件 @
e6d42a86
...
...
@@ -135,6 +135,7 @@ import AppIndexNavTabs from './components/layout-element/index/app-index-nav-tab
import
AppIndexOrgSelect
from
'./components/layout-element/index/app-index-org-select/app-index-org-select.vue'
;
import
AppIndexUserInfo
from
'./components/layout-element/index/app-index-user-info/app-index-user-info.vue'
;
import
AppCtrlPos
from
'./components/layout-element/control/app-ctrl-pos/app-ctrl-pos.vue'
;
import
AppPresetButton
from
'./components/layout-element/interactive/app-preset-button/app-preset-button.vue'
;
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
// 全局挂载实体权限服务注册中心
...
...
@@ -284,5 +285,6 @@ export const AppComponents = {
v
.
component
(
'app-index-org-select'
,
AppIndexOrgSelect
);
v
.
component
(
'app-index-user-info'
,
AppIndexUserInfo
);
v
.
component
(
'app-ctrl-pos'
,
AppCtrlPos
);
v
.
component
(
'app-preset-button'
,
AppPresetButton
);
},
};
\ No newline at end of file
src/components/layout-element/interactive/app-preset-button/app-preset-button.less
0 → 100644
浏览文件 @
e6d42a86
.app-preset-button.ivu-button {
font-size: 12px;
>span {
display: flex;
align-items: center;
justify-content: center;
}
.button-content {
display: flex;
&.left {
justify-content: flex-start;
align-items: center;
.icon+.caption {
padding-left: 6px;
}
}
&.right {
flex-direction: row-reverse;
justify-content: flex-start;
align-items: center;
.icon+.caption {
padding-right: 6px;
}
}
&.top {
flex-direction: column;
justify-content: flex-start;
}
&.bottom {
flex-direction: column-reverse;
justify-content: flex-start;
}
}
}
// 加载效果
.app-preset-button.ivu-btn-loading {
display: flex;
line-height: 2;
.ivu-icon-ios-loading {
line-height: 2;
}
}
\ No newline at end of file
src/components/layout-element/interactive/app-preset-button/app-preset-button.vue
0 → 100644
浏览文件 @
e6d42a86
<
template
>
<i-button
:class=
"className"
:type=
"buttonType"
:disabled=
"disabled"
:title=
"tooltip"
:loading=
"loading"
:ghost=
"buttonGhost"
@
click=
"handleClick"
>
<div
:class=
"['button-content', iconAlign.toLowerCase()]"
>
<span
v-if=
"cssClass || imagePath"
class=
"icon"
>
<i
v-if=
"cssClass"
:class=
"cssClass"
/>
<img
v-else
:src=
"imagePath"
/>
</span>
<span
v-if=
"showCaption"
class=
"caption"
>
{{
caption
}}
</span>
</div>
</i-button>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
}
from
'vue-property-decorator'
;
@
Component
({})
export
default
class
AppPresetButton
extends
Vue
{
/**
* 按钮name
*
* @type {any}
* @memberof AppPresetButton
*/
@
Prop
()
public
name
!
:
string
;
/**
* 显示提示
*
* @memberof AppPresetButton
*/
@
Prop
()
public
tooltip
?:
string
;
/**
* 标题
*
* @memberof AppPresetButton
*/
@
Prop
()
public
caption
?:
string
;
/**
* 显示标题
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
true
})
public
showCaption
!
:
boolean
;
/**
* 禁用状态
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
false
})
public
disabled
?:
boolean
;
/**
* 加载状态
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
false
})
public
loading
?:
boolean
;
/**
* 传入数据
*
* @memberof AppPresetButton
*/
@
Prop
()
public
data
:
any
;
/**
* 图标
*
* @memberof AppPresetButton
*/
@
Prop
()
public
cssClass
?:
string
;
/**
* 图片路径
*
* @memberof AppPresetButton
*/
@
Prop
()
public
imagePath
?:
string
;
/**
* 按钮绘制模式
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
'BUTTON'
})
public
renderMode
!
:
'BUTTON'
|
'LINK'
;
/**
* 按钮样式
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
'DEFAULT'
})
public
buttonStyle
!
:
'DEFAULT'
|
'INVERSE'
|
'PRIMARY'
|
'INFO'
|
'SUCCESS'
|
'WARNING'
|
'DANGER'
|
'STYLE2'
|
'STYLE3'
|
'STYLE4'
;
/**
* 按钮图标方向
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
'LEFT'
})
public
iconAlign
!
:
'LEFT'
|
'TOP'
|
'RIGHT'
|
'BOTTOM'
;
/**
* 按钮类型
*
* @memberof AppPresetButton
*/
get
buttonType
()
{
if
(
Object
.
is
(
this
.
renderMode
,
'LINK'
))
{
return
'text'
;
}
else
{
if
(
Object
.
is
(
this
.
buttonStyle
,
'DEFAULT'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE2'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE3'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE4'
)
)
{
return
'default'
;
}
else
if
(
Object
.
is
(
this
.
buttonStyle
,
'DANGER'
))
{
return
'error'
;
}
else
if
(
Object
.
is
(
this
.
buttonStyle
,
'INVERSE'
))
{
return
'primary'
;
}
else
{
return
this
.
buttonStyle
.
toLowerCase
();
}
}
}
/**
* 按钮幽灵属性,使按钮背景透明
*
* @memberof AppPresetButton
*/
get
buttonGhost
()
{
return
Object
.
is
(
this
.
buttonStyle
,
'INVERSE'
);
}
/**
* 类名
*
* @memberof AppPresetButton
*/
get
className
():
string
{
return
`app-preset-button
${
this
.
name
}
`
;
}
/**
* 点击按钮
*
* @param {*} event
* @memberof AppPresetButton
*/
public
handleClick
(
event
:
any
)
{
this
.
$emit
(
'itemClick'
,
this
.
name
);
}
}
</
script
>
<
style
lang=
'less'
>
@import './app-preset-button.less';
</
style
>
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录