cloud-web-corejs 1.0.54-dev.630 → 1.0.54-dev.633
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/api/user.js +54 -46
- package/src/components/onlineTalk/index.vue +1 -1
- package/src/components/onlineTalk/talkUserDialog.vue +280 -0
- package/src/components/table/index.js +106 -88
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1630 -1
- package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +65 -46
- package/src/layout/components/Sidebar/default.vue +226 -67
- package/src/layout/components/langTool.vue +1 -1
- package/src/views/user/position/list.vue +108 -68
|
@@ -1,27 +1,43 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form-item-wrapper
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
<form-item-wrapper
|
|
3
|
+
:designer="designer"
|
|
4
|
+
:field="field"
|
|
5
|
+
:rules="rules"
|
|
6
|
+
:design-state="designState"
|
|
7
|
+
:parent-widget="parentWidget"
|
|
8
|
+
:parent-list="parentList"
|
|
9
|
+
:index-of-parent-list="indexOfParentList"
|
|
10
|
+
:sub-form-row-index="subFormRowIndex"
|
|
11
|
+
:sub-form-col-index="subFormColIndex"
|
|
12
|
+
:sub-form-row-id="subFormRowId"
|
|
13
|
+
>
|
|
14
|
+
<template v-for="(item, index) in field.options.statusParam">
|
|
15
|
+
<template v-if="fieldModel === item[valueField]">
|
|
16
|
+
<span
|
|
17
|
+
v-if="
|
|
18
|
+
field.options.formScriptEnabled ||
|
|
19
|
+
field.options.commonAttributeEnabled
|
|
20
|
+
"
|
|
21
|
+
:key="index"
|
|
22
|
+
>{{ getI18nLabel(item[labelField]) }}</span
|
|
23
|
+
>
|
|
24
|
+
<span v-else :key="index" class="list-tag" :class="item.type">{{
|
|
25
|
+
getI18nLabel(item[labelField])
|
|
26
|
+
}}</span>
|
|
10
27
|
</template>
|
|
11
28
|
</template>
|
|
12
29
|
</form-item-wrapper>
|
|
13
30
|
</template>
|
|
14
31
|
|
|
15
32
|
<script>
|
|
16
|
-
import emitter from
|
|
33
|
+
import emitter from "../../../../../components/xform/utils/emitter";
|
|
17
34
|
import i18n from "../../../../../components/xform/utils/i18n";
|
|
18
35
|
import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
|
|
19
|
-
import FormItemWrapper
|
|
20
|
-
from "../../../../../components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue";
|
|
36
|
+
import FormItemWrapper from "../../../../../components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue";
|
|
21
37
|
|
|
22
38
|
export default {
|
|
23
39
|
name: "status-widget",
|
|
24
|
-
componentName:
|
|
40
|
+
componentName: "FieldWidget", //必须固定为FieldWidget,用于接收父级组件的broadcast事件
|
|
25
41
|
mixins: [emitter, fieldMixin, i18n],
|
|
26
42
|
props: {
|
|
27
43
|
field: Object,
|
|
@@ -32,28 +48,26 @@ export default {
|
|
|
32
48
|
|
|
33
49
|
designState: {
|
|
34
50
|
type: Boolean,
|
|
35
|
-
default: false
|
|
51
|
+
default: false,
|
|
36
52
|
},
|
|
37
53
|
|
|
38
|
-
subFormRowIndex: {
|
|
39
|
-
type: Number,
|
|
40
|
-
default: -1
|
|
54
|
+
subFormRowIndex: {
|
|
55
|
+
/* 子表单组件行索引,从0开始计数 */ type: Number,
|
|
56
|
+
default: -1,
|
|
41
57
|
},
|
|
42
|
-
subFormColIndex: {
|
|
43
|
-
type: Number,
|
|
44
|
-
default: -1
|
|
58
|
+
subFormColIndex: {
|
|
59
|
+
/* 子表单组件列索引,从0开始计数 */ type: Number,
|
|
60
|
+
default: -1,
|
|
45
61
|
},
|
|
46
|
-
subFormRowId: {
|
|
47
|
-
type: String,
|
|
48
|
-
default:
|
|
62
|
+
subFormRowId: {
|
|
63
|
+
/* 子表单组件行Id,唯一id且不可变 */ type: String,
|
|
64
|
+
default: "",
|
|
49
65
|
},
|
|
50
|
-
|
|
51
66
|
},
|
|
52
67
|
components: {
|
|
53
|
-
FormItemWrapper
|
|
54
|
-
|
|
68
|
+
FormItemWrapper,
|
|
55
69
|
},
|
|
56
|
-
inject: [
|
|
70
|
+
inject: ["refList", "globalOptionData", "globalModel", "getFormConfig"],
|
|
57
71
|
data() {
|
|
58
72
|
return {
|
|
59
73
|
oldFieldValue: [], //field组件change之前的值
|
|
@@ -62,55 +76,56 @@ export default {
|
|
|
62
76
|
isH5: false,
|
|
63
77
|
option: {},
|
|
64
78
|
statusParam: [],
|
|
65
|
-
}
|
|
79
|
+
};
|
|
66
80
|
},
|
|
67
81
|
computed: {
|
|
68
|
-
labelField(){
|
|
82
|
+
labelField() {
|
|
69
83
|
return this.getOptionItemLabelKey();
|
|
70
84
|
},
|
|
71
|
-
valueField(){
|
|
85
|
+
valueField() {
|
|
72
86
|
return this.getOptionItemValueKey();
|
|
73
|
-
}
|
|
87
|
+
},
|
|
74
88
|
},
|
|
75
89
|
watch: {
|
|
76
90
|
fieldModel(val) {
|
|
77
91
|
this.handleChangeEvent(val);
|
|
78
|
-
}
|
|
92
|
+
},
|
|
79
93
|
},
|
|
80
94
|
beforeCreate() {
|
|
81
95
|
/* 这里不能访问方法和属性!! */
|
|
82
96
|
},
|
|
83
97
|
|
|
84
98
|
created() {
|
|
85
|
-
|
|
86
99
|
/* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
|
|
87
100
|
需要在父组件created中初始化!! */
|
|
88
101
|
this.initStatusForDesign();
|
|
89
102
|
|
|
90
|
-
this.initFieldModel()
|
|
91
|
-
this.registerToRefList()
|
|
92
|
-
this.initEventHandler()
|
|
93
|
-
this.buildFieldRules()
|
|
103
|
+
this.initFieldModel();
|
|
104
|
+
this.registerToRefList();
|
|
105
|
+
this.initEventHandler();
|
|
106
|
+
this.buildFieldRules();
|
|
94
107
|
|
|
95
|
-
this.handleOnCreated()
|
|
96
|
-
this.initOptionItemsHandle()
|
|
108
|
+
this.handleOnCreated();
|
|
109
|
+
this.initOptionItemsHandle();
|
|
97
110
|
// this.initStatusParam();
|
|
98
111
|
},
|
|
99
112
|
|
|
100
113
|
mounted() {
|
|
101
|
-
this.handleOnMounted()
|
|
114
|
+
this.handleOnMounted();
|
|
102
115
|
},
|
|
103
116
|
|
|
104
117
|
beforeDestroy() {
|
|
105
|
-
this.unregisterFromRefList()
|
|
118
|
+
this.unregisterFromRefList();
|
|
106
119
|
},
|
|
107
120
|
methods: {
|
|
108
121
|
initStatusForDesign() {
|
|
109
122
|
if (this.designState) {
|
|
110
123
|
let value = null;
|
|
111
124
|
let statusParam = this.field.options.statusParam;
|
|
125
|
+
let valueField = this.valueField;
|
|
112
126
|
if (statusParam.length) {
|
|
113
|
-
value =
|
|
127
|
+
value =
|
|
128
|
+
this.field.options.defaultValue ?? statusParam[0][valueField] ?? 0;
|
|
114
129
|
} else {
|
|
115
130
|
value = 0;
|
|
116
131
|
}
|
|
@@ -124,14 +139,18 @@ export default {
|
|
|
124
139
|
getFieldModelLabel() {
|
|
125
140
|
let label = null;
|
|
126
141
|
let fieldModel = this.fieldModel;
|
|
127
|
-
let
|
|
142
|
+
let valueField = this.valueField;
|
|
143
|
+
let labelField = this.labelField;
|
|
144
|
+
let item = this.field.options.statusParam.find(
|
|
145
|
+
(item) => item[valueField] === fieldModel
|
|
146
|
+
);
|
|
128
147
|
if (item) {
|
|
129
|
-
label = this.getI18nLabel(item
|
|
148
|
+
label = this.getI18nLabel(item[labelField]);
|
|
130
149
|
}
|
|
131
150
|
return label;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
};
|
|
135
154
|
</script>
|
|
136
155
|
|
|
137
156
|
<style lang="scss" scoped>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="{ 'has-logo': showLogo,telescopMenu
|
|
2
|
+
<div :class="{ 'has-logo': showLogo, telescopMenu: !isMenu }">
|
|
3
3
|
<!-- <logo v-if="showLogo" :collapse="isCollapse" /> -->
|
|
4
4
|
|
|
5
5
|
<div class="hamburger-box" ref="hamhurger" @click="openUserInfo">
|
|
6
6
|
<!-- <hamburger :is-active="sidebar.opened" @toggleClick="toggleSideBar" /> -->
|
|
7
7
|
<div>
|
|
8
8
|
<p class="name">
|
|
9
|
-
<i class="iconfont icon-ziyuan"></i
|
|
9
|
+
<i class="iconfont icon-ziyuan"></i
|
|
10
|
+
><span>{{ userInfo.nickName }}</span>
|
|
10
11
|
</p>
|
|
11
12
|
</div>
|
|
12
13
|
</div>
|
|
@@ -57,7 +58,10 @@
|
|
|
57
58
|
:content="$t1('获取提取码')"
|
|
58
59
|
:placement="direction"
|
|
59
60
|
>
|
|
60
|
-
<i
|
|
61
|
+
<i
|
|
62
|
+
class="el-icon-setting"
|
|
63
|
+
@click="showExtractedCodeCreateDialog = true"
|
|
64
|
+
/>
|
|
61
65
|
</el-tooltip>
|
|
62
66
|
</div>
|
|
63
67
|
<div class="item" v-if="isBdAdmin">
|
|
@@ -67,7 +71,10 @@
|
|
|
67
71
|
:content="$t1('查看提取码')"
|
|
68
72
|
:placement="direction"
|
|
69
73
|
>
|
|
70
|
-
<i
|
|
74
|
+
<i
|
|
75
|
+
class="el-icon-tickets"
|
|
76
|
+
@click="showExtractedCodeQueryDialog = true"
|
|
77
|
+
/>
|
|
71
78
|
</el-tooltip>
|
|
72
79
|
</div>
|
|
73
80
|
|
|
@@ -99,7 +106,10 @@
|
|
|
99
106
|
<i :class="getMenuClass(router2, 2)"></i
|
|
100
107
|
><span>{{ getMenuName(router2) }}</span>
|
|
101
108
|
</div>
|
|
102
|
-
<dl
|
|
109
|
+
<dl
|
|
110
|
+
v-for="(router3, index3) in router2.children"
|
|
111
|
+
:key="'router3' + index3"
|
|
112
|
+
>
|
|
103
113
|
<div
|
|
104
114
|
class="item"
|
|
105
115
|
v-if="!router3.hidden"
|
|
@@ -125,35 +135,54 @@
|
|
|
125
135
|
:collapse="!isMenu"
|
|
126
136
|
>
|
|
127
137
|
<el-scrollbar wrap-class="scrollbar-wrapper" id="menuUl">
|
|
128
|
-
<
|
|
138
|
+
<component
|
|
129
139
|
v-for="menuModule in menuModules"
|
|
140
|
+
:is="getMenuType(menuModule)"
|
|
130
141
|
:index="'' + menuModule.id"
|
|
131
142
|
:key="'menuModule' + menuModule.id"
|
|
132
143
|
@click.native="rourteTo(menuModule)"
|
|
133
144
|
>
|
|
145
|
+
<i :class="getMenuClass(menuModule, 1)" v-if="menuModule.children.length <= 0"></i>
|
|
134
146
|
<template slot="title">
|
|
135
|
-
<i :class="getMenuClass(menuModule, 1)"></i>
|
|
147
|
+
<i :class="getMenuClass(menuModule, 1)" v-if="menuModule.children.length > 0"></i>
|
|
136
148
|
<span>{{ getMenuName(menuModule) }}</span>
|
|
137
149
|
</template>
|
|
138
|
-
<
|
|
139
|
-
v-for="(
|
|
150
|
+
<component
|
|
151
|
+
v-for="(router2, index1) in menuModule.children"
|
|
152
|
+
:is="getMenuType(router2)"
|
|
140
153
|
:key="index1"
|
|
141
|
-
:index="'' +
|
|
142
|
-
|
|
143
|
-
@mouseenter.native="showNav(router1, $event)"
|
|
154
|
+
:index="'' + router2.id"
|
|
155
|
+
@mouseenter.native="showNav(router2, $event)"
|
|
144
156
|
@mouseleave.native="showNav()"
|
|
145
|
-
@click="rourteTo(
|
|
157
|
+
@click="rourteTo(router2)"
|
|
146
158
|
>
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
159
|
+
<template slot="title">
|
|
160
|
+
<i :class="getMenuClass(router2, 2)"></i>
|
|
161
|
+
<span>{{ getMenuName(router2) }}</span>
|
|
162
|
+
</template>
|
|
163
|
+
<el-menu-item
|
|
164
|
+
v-for="(router3, index3) in router2.children"
|
|
165
|
+
:key="index3"
|
|
166
|
+
:index="'' + router3.id"
|
|
167
|
+
@click="rourteTo(router3)"
|
|
168
|
+
>
|
|
169
|
+
<template slot="title">
|
|
170
|
+
<i :class="getMenuClass(router3, 3)"></i>
|
|
171
|
+
<span>{{ getMenuName(router3) }}</span>
|
|
172
|
+
</template>
|
|
173
|
+
</el-menu-item>
|
|
174
|
+
</component>
|
|
175
|
+
</component>
|
|
176
|
+
<el-menu-item
|
|
177
|
+
@click.native="openCreateCompanyDialog"
|
|
178
|
+
index="xx"
|
|
179
|
+
v-if="isFormDev"
|
|
180
|
+
>
|
|
152
181
|
<template slot="title">
|
|
153
182
|
<i :class="getMenuClass({}, 1)"></i>
|
|
154
183
|
<span>新建企业</span>
|
|
155
184
|
</template>
|
|
156
|
-
</el-
|
|
185
|
+
</el-menu-item>
|
|
157
186
|
</el-scrollbar>
|
|
158
187
|
</el-menu>
|
|
159
188
|
<div class="menu-btn">
|
|
@@ -270,8 +299,8 @@ export default {
|
|
|
270
299
|
props: {
|
|
271
300
|
option: Object,
|
|
272
301
|
isMenu: {
|
|
273
|
-
type: Boolean
|
|
274
|
-
}
|
|
302
|
+
type: Boolean,
|
|
303
|
+
},
|
|
275
304
|
},
|
|
276
305
|
components: {
|
|
277
306
|
userInfo,
|
|
@@ -373,6 +402,13 @@ export default {
|
|
|
373
402
|
this.getBdEnv();
|
|
374
403
|
},
|
|
375
404
|
methods: {
|
|
405
|
+
getMenuType(item) {
|
|
406
|
+
if (item.children && item.children.length > 0) {
|
|
407
|
+
return "el-submenu";
|
|
408
|
+
} else {
|
|
409
|
+
return "el-menu-item";
|
|
410
|
+
}
|
|
411
|
+
},
|
|
376
412
|
getBdEnv() {
|
|
377
413
|
getBdFlag({
|
|
378
414
|
success: (res) => {
|
|
@@ -436,7 +472,10 @@ export default {
|
|
|
436
472
|
if (match) {
|
|
437
473
|
const customReqUrl = decodeURIComponent(match[1]);
|
|
438
474
|
// 移除匹配到的参数部分
|
|
439
|
-
const newUrl = url.replace(
|
|
475
|
+
const newUrl = url.replace(
|
|
476
|
+
match[0],
|
|
477
|
+
match[0].startsWith("?") ? "?" : ""
|
|
478
|
+
);
|
|
440
479
|
|
|
441
480
|
return {
|
|
442
481
|
custom_req_url: customReqUrl,
|
|
@@ -602,7 +641,9 @@ export default {
|
|
|
602
641
|
// 异步树叶子节点懒加载逻辑
|
|
603
642
|
loadNode(node, resolve) {
|
|
604
643
|
let companyCode =
|
|
605
|
-
node && node.data && node.data.companyCode
|
|
644
|
+
node && node.data && node.data.companyCode
|
|
645
|
+
? node.data.companyCode || ""
|
|
646
|
+
: "";
|
|
606
647
|
let url = !companyCode
|
|
607
648
|
? USER_PREFIX + "/user_company_info/getAllList"
|
|
608
649
|
: USER_PREFIX + "/user_company_info/getChildren";
|
|
@@ -730,6 +771,7 @@ export default {
|
|
|
730
771
|
this.showUserInfoDialog = true;
|
|
731
772
|
},
|
|
732
773
|
showNav(route, event) {
|
|
774
|
+
if (!this.isMenu) return;
|
|
733
775
|
let id = route && route.id ? route.id : null;
|
|
734
776
|
if (id != null) {
|
|
735
777
|
if (!route.children || !route.children.length) {
|
|
@@ -742,7 +784,7 @@ export default {
|
|
|
742
784
|
let dom = event.target;
|
|
743
785
|
let domAttr = dom.getBoundingClientRect();
|
|
744
786
|
// var sh1 = dom.offsetTop;
|
|
745
|
-
var sh1 = domAttr.top;
|
|
787
|
+
var sh1 = domAttr.top + 5;
|
|
746
788
|
let $snav = this.$refs["seconMenus" + id][0];
|
|
747
789
|
let snavAttr = $snav.getBoundingClientRect();
|
|
748
790
|
|
|
@@ -755,10 +797,11 @@ export default {
|
|
|
755
797
|
if (sh >= 0) {
|
|
756
798
|
$snav.style["margin-top"] = sh1 + "px";
|
|
757
799
|
} else if (sh < 0) {
|
|
758
|
-
let bd = sh1 + sh;
|
|
800
|
+
let bd = sh1 + sh ;
|
|
759
801
|
|
|
760
802
|
$snav.style["margin-top"] = bd + "px";
|
|
761
|
-
$snav.querySelector(".ico-arrow").style["margin-top"] =
|
|
803
|
+
$snav.querySelector(".ico-arrow").style["margin-top"] =
|
|
804
|
+
sh1 - bd + "px";
|
|
762
805
|
}
|
|
763
806
|
});
|
|
764
807
|
} else {
|
|
@@ -848,7 +891,6 @@ export default {
|
|
|
848
891
|
font-size: 12px;
|
|
849
892
|
color: rgba(255, 255, 255, 0.65);
|
|
850
893
|
|
|
851
|
-
|
|
852
894
|
> div {
|
|
853
895
|
color: #fff;
|
|
854
896
|
font-size: 13px;
|
|
@@ -916,7 +958,12 @@ export default {
|
|
|
916
958
|
text-align: center;
|
|
917
959
|
|
|
918
960
|
p {
|
|
919
|
-
margin: 0;
|
|
961
|
+
margin: 0;
|
|
962
|
+
display: -webkit-box;
|
|
963
|
+
overflow: hidden;
|
|
964
|
+
text-overflow: ellipsis;
|
|
965
|
+
-webkit-line-clamp: 2;
|
|
966
|
+
-webkit-box-orient: vertical;
|
|
920
967
|
}
|
|
921
968
|
}
|
|
922
969
|
|
|
@@ -1010,65 +1057,126 @@ export default {
|
|
|
1010
1057
|
position: relative;
|
|
1011
1058
|
background-color: rgba(0, 0, 0, 0.2);
|
|
1012
1059
|
word-break: break-word;
|
|
1060
|
+
.el-scrollbar__view > .el-submenu > .el-submenu__title{padding:0 11px !important;
|
|
1061
|
+
span{font-size:14px;}
|
|
1062
|
+
~ .el-menu{
|
|
1063
|
+
padding:5px 0;
|
|
1064
|
+
.el-submenu.is-opened .el-submenu__title{background-color:#FFF;opacity:1;
|
|
1065
|
+
span{color:$baseColor;}
|
|
1066
|
+
i.iconfont{color:$baseColor}
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1013
1069
|
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
width: 18px;
|
|
1026
|
-
|
|
1027
|
-
&.iconfont {
|
|
1028
|
-
margin-right: 5px;
|
|
1029
|
-
font-size: 19px;
|
|
1030
|
-
float: left;
|
|
1031
|
-
}
|
|
1070
|
+
}
|
|
1071
|
+
.el-submenu__title,.el-menu-item {
|
|
1072
|
+
padding: 0 11px;
|
|
1073
|
+
height: 48px;
|
|
1074
|
+
line-height: 48px;
|
|
1075
|
+
&:hover,&.is-active{background-color:rgba(0, 0, 0, 0.29)}
|
|
1076
|
+
i {
|
|
1077
|
+
color: #fff;
|
|
1078
|
+
font-size: 13px;
|
|
1079
|
+
margin-right: 0;
|
|
1080
|
+
width: 18px;
|
|
1032
1081
|
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
margin-top: -5px;
|
|
1038
|
-
display: none;
|
|
1039
|
-
}
|
|
1082
|
+
&.iconfont {
|
|
1083
|
+
margin-right: 5px;
|
|
1084
|
+
font-size: 19px;
|
|
1085
|
+
float: left;
|
|
1040
1086
|
}
|
|
1041
1087
|
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
white-space: normal;
|
|
1049
|
-
line-height: 16px;
|
|
1088
|
+
&.el-submenu__icon-arrow {
|
|
1089
|
+
right: 3px;
|
|
1090
|
+
text-align: center;
|
|
1091
|
+
font-size: 12px;
|
|
1092
|
+
margin-top: -5px;
|
|
1093
|
+
display: none;
|
|
1050
1094
|
}
|
|
1051
1095
|
}
|
|
1052
1096
|
|
|
1097
|
+
> span {
|
|
1098
|
+
height: 48px;
|
|
1099
|
+
display: table-cell;
|
|
1100
|
+
width: 114px;
|
|
1101
|
+
vertical-align: middle;
|
|
1102
|
+
font-size: 13px;
|
|
1103
|
+
white-space: normal;
|
|
1104
|
+
line-height: 16px;
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
.el-submenu {
|
|
1109
|
+
overflow: hidden; //有点电脑分辨率问题
|
|
1110
|
+
|
|
1053
1111
|
&.is-opened .el-submenu__title {
|
|
1054
1112
|
//background-color: rgba(27, 66, 97) !important;
|
|
1055
1113
|
}
|
|
1114
|
+
.el-submenu .el-menu{display:none}
|
|
1056
1115
|
}
|
|
1057
1116
|
|
|
1058
1117
|
.el-submenu {
|
|
1118
|
+
&.is-opened{
|
|
1119
|
+
> .el-submenu__title{background-color:rgba(0, 0, 0, 0.29)}
|
|
1120
|
+
}
|
|
1059
1121
|
.el-menu {
|
|
1060
|
-
background: rgba(0, 0, 0, 0.35)
|
|
1122
|
+
background: rgba(0, 0, 0, 0.35);
|
|
1061
1123
|
box-shadow: 0px -5px 8px #00000014 inset;
|
|
1062
1124
|
//padding:4px 0;
|
|
1125
|
+
.el-submenu__title{
|
|
1126
|
+
height: auto;
|
|
1127
|
+
line-height: 1.4;
|
|
1128
|
+
font-size: 12px;
|
|
1129
|
+
opacity: 0.8;
|
|
1130
|
+
margin: 5px 0 5px 14px;
|
|
1131
|
+
padding: 7px 2px 7px 33px !important;
|
|
1132
|
+
border-radius: 8px;
|
|
1133
|
+
text-align: left;
|
|
1134
|
+
min-width: 81px;
|
|
1135
|
+
white-space: normal;
|
|
1136
|
+
margin-right: 10px;
|
|
1137
|
+
word-break: break-word;
|
|
1138
|
+
i.iconfont {
|
|
1139
|
+
position: absolute;
|
|
1140
|
+
top: 50%;
|
|
1141
|
+
height: 20px;
|
|
1142
|
+
margin-top: -10px;
|
|
1143
|
+
line-height: 20px;
|
|
1144
|
+
left: 7px;
|
|
1145
|
+
font-size: 18px;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
[class^="el-icon-"] {
|
|
1149
|
+
font-size: 12px;
|
|
1150
|
+
color: #fff;
|
|
1151
|
+
position: absolute;
|
|
1152
|
+
right: 2px;
|
|
1153
|
+
top: 50%;
|
|
1154
|
+
margin-top: -5px;
|
|
1155
|
+
width: 14px;
|
|
1156
|
+
zoom: 0.8;
|
|
1157
|
+
display: none;
|
|
1158
|
+
}
|
|
1159
|
+
span{height:auto;text-align: left !important;}
|
|
1160
|
+
&:hover,
|
|
1161
|
+
&.on {
|
|
1162
|
+
opacity: 1;
|
|
1163
|
+
background-color: #fbfdfe !important;
|
|
1164
|
+
color: $baseColor !important;
|
|
1165
|
+
i.iconfont{color:$baseColor}
|
|
1166
|
+
.el-icon-arrow-right {
|
|
1167
|
+
color: $baseColor;
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1063
1171
|
}
|
|
1064
1172
|
|
|
1065
|
-
.el-menu-item
|
|
1173
|
+
.el-menu-item{
|
|
1066
1174
|
height: auto;
|
|
1067
1175
|
line-height: 1.4;
|
|
1068
1176
|
padding-left: 33px !important;
|
|
1069
1177
|
font-size: 12px;
|
|
1070
1178
|
opacity: 0.8;
|
|
1071
|
-
margin:
|
|
1179
|
+
margin: 5px 0 5px 14px;
|
|
1072
1180
|
padding: 7px 2px 7px 0px;
|
|
1073
1181
|
border-radius: 8px;
|
|
1074
1182
|
text-align: left;
|
|
@@ -1077,7 +1185,7 @@ export default {
|
|
|
1077
1185
|
margin-right: 10px;
|
|
1078
1186
|
word-break: break-word;
|
|
1079
1187
|
|
|
1080
|
-
|
|
1188
|
+
i.iconfont {
|
|
1081
1189
|
position: absolute;
|
|
1082
1190
|
top: 50%;
|
|
1083
1191
|
height: 20px;
|
|
@@ -1085,6 +1193,7 @@ export default {
|
|
|
1085
1193
|
line-height: 20px;
|
|
1086
1194
|
left: 7px;
|
|
1087
1195
|
font-size: 18px;
|
|
1196
|
+
color:#D0D6DB;
|
|
1088
1197
|
}
|
|
1089
1198
|
|
|
1090
1199
|
[class^="el-icon-"] {
|
|
@@ -1097,6 +1206,7 @@ export default {
|
|
|
1097
1206
|
width: 14px;
|
|
1098
1207
|
zoom: 0.8;
|
|
1099
1208
|
display: none;
|
|
1209
|
+
|
|
1100
1210
|
}
|
|
1101
1211
|
|
|
1102
1212
|
&:hover,
|
|
@@ -1105,7 +1215,7 @@ export default {
|
|
|
1105
1215
|
background-color: #fbfdfe !important;
|
|
1106
1216
|
color: $baseColor !important;
|
|
1107
1217
|
|
|
1108
|
-
.el-icon-arrow-right {
|
|
1218
|
+
.el-icon-arrow-right,i.iconfont {
|
|
1109
1219
|
color: $baseColor;
|
|
1110
1220
|
}
|
|
1111
1221
|
}
|
|
@@ -1118,7 +1228,6 @@ export default {
|
|
|
1118
1228
|
.el-submenu {
|
|
1119
1229
|
.el-submenu__title {
|
|
1120
1230
|
> span {
|
|
1121
|
-
font-size: 14px;
|
|
1122
1231
|
text-align: center;
|
|
1123
1232
|
}
|
|
1124
1233
|
|
|
@@ -1429,4 +1538,54 @@ export default {
|
|
|
1429
1538
|
// .el-submenu .el-menu {
|
|
1430
1539
|
// height: auto !important;
|
|
1431
1540
|
// }
|
|
1541
|
+
.el-menu--vertical{
|
|
1542
|
+
> .el-menu--popup{overflow: hidden;
|
|
1543
|
+
.el-submenu__title,.el-menu-item{
|
|
1544
|
+
height: auto !important;
|
|
1545
|
+
line-height: 1.4 !important;
|
|
1546
|
+
opacity: 0.8;
|
|
1547
|
+
margin: 5px 0 5px 14px;
|
|
1548
|
+
padding: 7px 2px 7px 12px !important;
|
|
1549
|
+
border-radius: 8px;
|
|
1550
|
+
text-align: left;
|
|
1551
|
+
min-width: 81px !important;
|
|
1552
|
+
white-space: normal;
|
|
1553
|
+
margin-right: 10px;
|
|
1554
|
+
word-break: break-word;
|
|
1555
|
+
i.iconfont{color:#FFF;margin-right:8px;}
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
.el-submenu{
|
|
1559
|
+
.el-submenu__title{
|
|
1560
|
+
height:36px;line-height:36px;
|
|
1561
|
+
.el-submenu__icon-arrow{display:none}
|
|
1562
|
+
}
|
|
1563
|
+
&:hover{
|
|
1564
|
+
.el-submenu__title{
|
|
1565
|
+
background:#FFF;
|
|
1566
|
+
span{color:#FFF}
|
|
1567
|
+
i.iconfont{color:$baseColor}
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
&.is-opened{
|
|
1572
|
+
.el-submenu__title{background-color:#FFF;opacity: 1;
|
|
1573
|
+
span{color:$baseColor}
|
|
1574
|
+
i.iconfont{color:$baseColor}
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1578
|
+
.el-menu-item{
|
|
1579
|
+
&:hover{
|
|
1580
|
+
background:#FFF !important;opacity:1;
|
|
1581
|
+
span{color:$baseColor}
|
|
1582
|
+
i.iconfont{color:$baseColor}
|
|
1583
|
+
}
|
|
1584
|
+
&.is-opened{
|
|
1585
|
+
background:#FFF;opacity:1;
|
|
1586
|
+
span{color:$baseColor}
|
|
1587
|
+
i.iconfont{color:$baseColor}
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1590
|
+
}
|
|
1432
1591
|
</style>
|