Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7-Res
提交
69ec7c25
提交
69ec7c25
编写于
9月 16, 2020
作者:
Neuromancer255
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多数据视图快速分组组件样式调整 --fix3
上级
86ba445d
变更
2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
57 行增加
和
51 行删除
+57
-51
app-quick-group-tab.less
src/components/app-quick-group-tab/app-quick-group-tab.less
+27
-16
app-quick-group-tab.vue
src/components/app-quick-group-tab/app-quick-group-tab.vue
+30
-35
未找到文件。
src/components/app-quick-group-tab/app-quick-group-tab.less
浏览文件 @
69ec7c25
...
@@ -15,28 +15,39 @@
...
@@ -15,28 +15,39 @@
align-items: center;
align-items: center;
border: 1px solid #a8a8a8;
border: 1px solid #a8a8a8;
margin: 0 0 -1px -1px;
margin: 0 0 -1px -1px;
.parentGroup {
display: flex;
justify-content: center;
align-items: center;
.app-quick-item-dropdown {
--padding-start: 0;
--padding-end: 0;
}
ion-select::part(text) {
min-width: 0;
}
ion-select::part(icon) {
position: unset;
margin-right: 2px;
}
}
}
}
.app-seleted-item {
.app-seleted-item {
background-color: #a8a8a8;
background-color: #a8a8a8;
color: white;
color: white;
}
}
}
}
.child-list {
position: absolute;
left: 0;
right: 0;
width: 90%;
max-height: 400px;
margin: auto;
background-color: white;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
z-index: 9999;
overflow: hidden;
overflow-y: auto;
border-bottom: 1px solid #a8a8a8;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
box-shadow: 0 0 10px #8e9eab;
.child {
width: 100%;
padding: 10px 20px;
border-bottom: 1px solid #a8a8a8;
display: flex;
align-items: center;
}
}
.app-quick-group > .quick-group-tab:first-child {
.app-quick-group > .quick-group-tab:first-child {
border-top-left-radius: 5px;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
border-bottom-left-radius: 5px;
...
...
src/components/app-quick-group-tab/app-quick-group-tab.vue
浏览文件 @
69ec7c25
<
template
>
<
template
>
<div>
<div
class=
"app-quick-group"
>
<div
class=
"app-quick-group"
>
<div
:class=
"
{'quick-group-tab':true,'app-seleted-item':isSelectedItem(item)}" v-for="(item,index) in showItems" :key="index">
<div
:class=
"
{'quick-group-tab':true,'app-seleted-item':isSelectedItem(item)}" v-for="(item,index) in showItems" :key="index">
<div
<div
v-if=
"!item.children"
:style=
"
{color:item.color}"
:style=
"
{color:item.color}"
@click="handleClick(item)"
@click="handleClick(item)"
>
>
<ion-icon
v-if=
" item.iconcls && !Object.is(item.iconcls, '')"
:name=
"item.iconcls"
></ion-icon>
<ion-icon
v-if=
" item.iconcls && !Object.is(item.iconcls, '')"
:name=
"item.iconcls"
></ion-icon>
<img
v-else-if=
"item.icon && !Object.is(item.icon, '')"
:src=
"item.icon"
/>
<img
v-else-if=
"item.icon && !Object.is(item.icon, '')"
:src=
"item.icon"
/>
<span
class=
"app-quick-item-label"
>
{{
item
.
label
}}
</span>
<span
class=
"app-quick-item-label"
>
{{
item
.
label
}}
</span>
<ion-icon
v-if=
"item.children"
name=
"caret-down-outline"
></ion-icon>
</div>
</div>
</div>
<div
class=
"parentGroup"
v-if=
"item.children"
>
<span>
{{
item
.
label
}}
</span>
<ion-select
class=
"app-quick-item-dropdown"
interface=
"popover"
selected-text=
" "
@
ionChange=
"handleCommand($event,item)"
>
<ion-select-option
v-for=
"(childitem,index) in item.children"
:key=
"index"
>
<ion-icon
v-if=
" childitem.iconcls && !Object.is(childitem.iconcls, '')"
:name=
"childitem.iconcls"
></ion-icon>
<img
v-else-if=
"childitem.icon && !Object.is(childitem.icon, '')"
:src=
"childitem.icon"
/>
<span
class=
"app-quick-item-label"
>
{{
childitem
.
label
}}
</span>
</ion-select-option>
</ion-select>
</div>
</div>
<div
v-if=
"subItems.length > 0"
class=
"child-list"
>
<div
class=
"child"
v-for=
"(item,index) in subItems"
:key=
"index"
@
click=
"handleClick(item)"
>
<span>
<ion-icon
v-if=
" item.iconcls && !Object.is(item.iconcls, '')"
:name=
"item.iconcls"
></ion-icon>
<img
v-else-if=
"item.icon && !Object.is(item.icon, '')"
:src=
"item.icon"
/>
<span>
{{
item
.
label
}}
</span>
</span>
<ion-icon
v-if=
"item.selected"
name=
"checkbox-outline"
></ion-icon>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
...
@@ -64,6 +57,14 @@ export default class AppQuickGroupTab extends Vue {
...
@@ -64,6 +57,14 @@ export default class AppQuickGroupTab extends Vue {
*/
*/
public
showItems
:
any
[]
=
[];
public
showItems
:
any
[]
=
[];
/**
* 子项列表
*
* @type {any[]}
* @memberof AppQuickGroup
*/
public
subItems
:
any
[]
=
[];
/**
/**
* 监控代码表变化
* 监控代码表变化
*
*
...
@@ -163,23 +164,17 @@ export default class AppQuickGroupTab extends Vue {
...
@@ -163,23 +164,17 @@ export default class AppQuickGroupTab extends Vue {
if
(
isswitch
)
{
if
(
isswitch
)
{
this
.
selectedUiItem
=
$event
;
this
.
selectedUiItem
=
$event
;
}
}
this
.
$emit
(
"valuechange"
,
$event
);
if
(
$event
.
children
)
{
this
.
$forceUpdate
();
if
(
this
.
subItems
.
length
>
0
)
{
this
.
subItems
.
length
=
0
;
}
else
{
this
.
subItems
.
push
(...
$event
.
children
);
}
}
}
else
{
/**
this
.
subItems
.
length
=
0
;
* 处理子项点击事件
this
.
$emit
(
"valuechange"
,
$event
);
*
* @param $event 值
* @param item 父值
* @memberof AppQuickGroup
*/
public
handleCommand
(
$event
:
any
,
item
:
any
):
void
{
item
.
children
.
forEach
((
child
:
any
)
=>
{
if
(
child
.
text
===
$event
.
detail
.
value
)
{
this
.
handleClick
(
child
,
true
);
}
}
}
);
this
.
$forceUpdate
(
);
}
}
}
}
</
script
>
</
script
>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录