Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
cc9886f7
提交
cc9886f7
编写于
5月 12, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zpc --- 快速分组
上级
45be42a3
变更
4
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
190 行增加
和
1 行删除
+190
-1
app-register.ts
src/app-register.ts
+2
-0
app-quick-group.less
src/components/app-quick-group/app-quick-group.less
+6
-0
app-quick-group.vue
src/components/app-quick-group/app-quick-group.vue
+176
-0
default.less
src/styles/default.less
+6
-1
未找到文件。
src/app-register.ts
浏览文件 @
cc9886f7
...
@@ -70,6 +70,7 @@ import AppFormatData from './components/app-format-data/app-format-data.vue'
...
@@ -70,6 +70,7 @@ import AppFormatData from './components/app-format-data/app-format-data.vue'
import
AppUploadFileInfo
from
'./components/app-upload-file-info/app-upload-file-info.vue'
import
AppUploadFileInfo
from
'./components/app-upload-file-info/app-upload-file-info.vue'
import
ContextMenu
from
'./components/context-menu/context-menu'
import
ContextMenu
from
'./components/context-menu/context-menu'
import
AppColumnFormat
from
'./components/app-column-format/app-column-format.vue'
import
AppColumnFormat
from
'./components/app-column-format/app-column-format.vue'
import
AppQuickGroup
from
'./components/app-quick-group/app-quick-group.vue'
// 全局挂载UI实体服务注册中心
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
@@ -149,5 +150,6 @@ export const AppComponents = {
...
@@ -149,5 +150,6 @@ export const AppComponents = {
v
.
component
(
'app-upload-file-info'
,
AppUploadFileInfo
);
v
.
component
(
'app-upload-file-info'
,
AppUploadFileInfo
);
v
.
component
(
'context-menu'
,
ContextMenu
);
v
.
component
(
'context-menu'
,
ContextMenu
);
v
.
component
(
'app-column-format'
,
AppColumnFormat
);
v
.
component
(
'app-column-format'
,
AppColumnFormat
);
v
.
component
(
'app-quick-group'
,
AppQuickGroup
);
},
},
};
};
\ No newline at end of file
src/components/app-quick-group/app-quick-group.less
0 → 100644
浏览文件 @
cc9886f7
.app-quick-group{
.app-quick-item{
margin-right: 4px;
cursor: pointer;
}
}
\ No newline at end of file
src/components/app-quick-group/app-quick-group.vue
0 → 100644
浏览文件 @
cc9886f7
<
template
>
<div
class=
"app-quick-group"
>
<span
class=
"app-quick-item"
v-for=
"item in renderArray"
:key=
"item.id"
@
click=
"handleClick(item)"
>
<el-tag
:type=
"selectedUiItem.id === item.id?'':'info'"
v-if=
"!item.children"
>
<span
:style=
"
{color:item.color}">
<i
v-if=
" item.iconcls && !Object.is(item.iconcls, '')"
:class=
"item.iconcls"
></i>
<img
v-else-if=
"item.icon && !Object.is(item.icon, '')"
:src=
"item.icon"
/>
<el-badge
v-if=
"counterName"
:value=
"curCounterService?curCounterService.counterData[item.codename]:''"
class=
"item"
type=
"primary"
>
{{
item
.
label
}}
</el-badge>
<span
v-else
>
{{
item
.
label
}}
</span>
</span>
</el-tag>
<el-dropdown
v-if=
"item.children"
@
command=
"handleCommand($event,item)"
>
<el-tag
:type=
"selectedUiItem.id === item.id?'':'info'"
>
<span
:style=
"
{color:item.color}">
<i
v-if=
" item.iconcls && !Object.is(item.iconcls, '')"
:class=
"item.iconcls"
></i>
<img
v-else-if=
"item.icon && !Object.is(item.icon, '')"
:src=
"item.icon"
/>
<el-badge
v-if=
"counterName"
:value=
"curCounterService?curCounterService.counterData[item.codename]:''"
class=
"item"
type=
"primary"
>
{{
item
.
label
}}
</el-badge>
<span
v-else
>
{{
item
.
label
}}
</span>
</span>
</el-tag>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"childitem in item.children"
:command=
"childitem"
:key=
"childitem.id"
>
<span
:style=
"
{color:childitem.color}">
<i
v-if=
" childitem.iconcls && !Object.is(childitem.iconcls, '')"
:class=
"childitem.iconcls"
></i>
<img
v-else-if=
"childitem.icon && !Object.is(childitem.icon, '')"
:src=
"childitem.icon"
/>
{{
childitem
.
label
}}
</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Model
,
Emit
}
from
"vue-property-decorator"
;
import
CounterService
from
"@/counter/counter-service"
;
@
Component
({})
export
default
class
AppQuickGroup
extends
Vue
{
/**
* 传入渲染项
*
* @type {Array<any>}
* @memberof AppQuickGroup
*/
@
Prop
()
public
items
!
:
Array
<
any
>
;
/**
* 计数器服务名
*
* @type {string}
* @memberof AppQuickGroup
*/
@
Prop
()
public
counterName
?:
string
;
/**
* 计数器服务基类
*
* @type {any}
* @memberof AppQuickGroup
*/
public
counterService
:
any
=
new
CounterService
();
/**
* 当前计数器服务
*
* @type {any}
* @memberof AppQuickGroup
*/
public
curCounterService
:
any
/**
* UI选中项
*
* @type {*}
* @memberof AppQuickGroup
*/
public
selectedUiItem
:
any
;
/**
* 传入渲染项
*
* @type {Array<any>}
* @memberof AppQuickGroup
*/
get
renderArray
(){
if
(
this
.
items
&&
this
.
items
.
length
>
0
){
this
.
selectedUiItem
=
this
.
items
[
0
];
this
.
handleClick
(
this
.
items
[
0
]);
return
this
.
handleDataSet
(
this
.
items
)
}
else
{
return
[];
}
}
/**
* 处理代码表返回数据(树状结构)
*
* @param result 返回数组
* @memberof AppQuickGroup
*/
public
handleDataSet
(
result
:
Array
<
any
>
){
let
list
:
Array
<
any
>
=
[];
if
(
result
.
length
===
0
){
return
list
;
}
result
.
forEach
((
codeItem
:
any
)
=>
{
if
(
!
codeItem
.
pvalue
){
let
valueField
:
string
=
codeItem
.
value
;
this
.
setChildCodeItems
(
valueField
,
result
,
codeItem
);
list
.
push
(
codeItem
);
}
})
return
list
;
}
/**
* 处理非根节点数据
*
* @param pValue 父值
* @param result 返回数组
* @param codeItem 代码项
* @memberof AppQuickGroup
*/
public
setChildCodeItems
(
pValue
:
string
,
result
:
Array
<
any
>
,
codeItem
:
any
){
result
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
pvalue
==
pValue
){
let
valueField
:
string
=
item
.
value
;
this
.
setChildCodeItems
(
valueField
,
result
,
item
);
if
(
!
codeItem
.
children
){
codeItem
.
children
=
[];
}
codeItem
.
children
.
push
(
item
);
}
})
}
/**
* 处理点击事件
*
* @param $event 值
* @param isswitch 是否切换UI选中项
* @memberof AppQuickGroup
*/
public
handleClick
(
$event
:
any
,
isswitch
:
boolean
=
true
){
console
.
log
(
$event
);
if
(
$event
&&
$event
.
data
){
this
.
$emit
(
'valuechange'
,
$event
.
data
);
}
if
(
isswitch
){
this
.
selectedUiItem
=
$event
;
}
this
.
$forceUpdate
();
}
/**
* 处理子项点击事件
*
* @param $event 值
* @param item 父值
* @memberof AppQuickGroup
*/
public
handleCommand
(
$event
:
any
,
item
:
any
){
item
.
label
=
$event
.
label
;
this
.
handleClick
(
$event
,
false
);
}
}
</
script
>
<
style
lang=
'less'
>
@import "./app-quick-group.less";
</
style
>
\ No newline at end of file
src/styles/default.less
浏览文件 @
cc9886f7
...
@@ -216,11 +216,16 @@
...
@@ -216,11 +216,16 @@
>.view-card{
>.view-card{
>.ivu-card-body{
>.ivu-card-body{
>.content-container{
>.content-container{
.quick-group-container,.quick-search-
container,.quick-search-
input{
.quick-group-container,.quick-search-input{
float: left;
float: left;
margin-top: 6px;
margin-top: 6px;
margin-bottom: 6px;
margin-bottom: 6px;
}
}
.quick-search-container{
float: left;
margin-top: -2px;
margin-bottom: 6px;
}
}
}
}
}
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录