cloud-web-corejs 1.0.232 → 1.0.234
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
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="{ 'has-logo': showLogo }">
|
|
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>
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
>
|
|
47
48
|
<i
|
|
48
49
|
class="iconfont icon-liuchengdaiban"
|
|
49
|
-
@click="
|
|
50
|
+
@click="$router.push('/basic/wf/wf_manage/list')"
|
|
50
51
|
/>
|
|
51
52
|
</el-tooltip>
|
|
52
53
|
</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"
|
|
@@ -122,37 +132,57 @@
|
|
|
122
132
|
:unique-opened="true"
|
|
123
133
|
@mouseleave="showNav()"
|
|
124
134
|
ref="seconMenus"
|
|
135
|
+
:collapse="!isMenu"
|
|
125
136
|
>
|
|
126
137
|
<el-scrollbar wrap-class="scrollbar-wrapper" id="menuUl">
|
|
127
|
-
<
|
|
138
|
+
<component
|
|
128
139
|
v-for="menuModule in menuModules"
|
|
140
|
+
:is="getMenuType(menuModule)"
|
|
129
141
|
:index="'' + menuModule.id"
|
|
130
142
|
:key="'menuModule' + menuModule.id"
|
|
131
143
|
@click.native="rourteTo(menuModule)"
|
|
132
144
|
>
|
|
145
|
+
<i :class="getMenuClass(menuModule, 1)" v-if="menuModule.children.length <= 0"></i>
|
|
133
146
|
<template slot="title">
|
|
134
|
-
<i :class="getMenuClass(menuModule, 1)"></i>
|
|
147
|
+
<i :class="getMenuClass(menuModule, 1)" v-if="menuModule.children.length > 0"></i>
|
|
135
148
|
<span>{{ getMenuName(menuModule) }}</span>
|
|
136
149
|
</template>
|
|
137
|
-
<
|
|
138
|
-
v-for="(
|
|
150
|
+
<component
|
|
151
|
+
v-for="(router2, index1) in menuModule.children"
|
|
152
|
+
:is="getMenuType(router2)"
|
|
139
153
|
:key="index1"
|
|
140
|
-
:index="'' +
|
|
141
|
-
|
|
142
|
-
@mouseenter.native="showNav(router1, $event)"
|
|
154
|
+
:index="'' + router2.id"
|
|
155
|
+
@mouseenter.native="showNav(router2, $event)"
|
|
143
156
|
@mouseleave.native="showNav()"
|
|
144
|
-
@click="rourteTo(
|
|
157
|
+
@click="rourteTo(router2)"
|
|
145
158
|
>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
+
>
|
|
151
181
|
<template slot="title">
|
|
152
182
|
<i :class="getMenuClass({}, 1)"></i>
|
|
153
183
|
<span>新建企业</span>
|
|
154
184
|
</template>
|
|
155
|
-
</el-
|
|
185
|
+
</el-menu-item>
|
|
156
186
|
</el-scrollbar>
|
|
157
187
|
</el-menu>
|
|
158
188
|
<div class="menu-btn">
|
|
@@ -264,11 +294,13 @@ import extractedCodeCreateDialog from "../extractedCode/createDialog.vue";
|
|
|
264
294
|
import extractedCodeQueryDialog from "../extractedCode/queryDialog.vue";
|
|
265
295
|
import { getBdFlag } from "@base/api/user";
|
|
266
296
|
import createCompanyDialog from "@base/layout/components/createCompany/createCompanyDialog.vue";
|
|
267
|
-
import { getLogicParamValue } from "@base/api/user";
|
|
268
297
|
|
|
269
298
|
export default {
|
|
270
299
|
props: {
|
|
271
300
|
option: Object,
|
|
301
|
+
isMenu: {
|
|
302
|
+
type: Boolean,
|
|
303
|
+
},
|
|
272
304
|
},
|
|
273
305
|
components: {
|
|
274
306
|
userInfo,
|
|
@@ -313,7 +345,6 @@ export default {
|
|
|
313
345
|
showExtractedCodeQueryDialog: false,
|
|
314
346
|
isDev: false,
|
|
315
347
|
showCreateCompanyDialog: false,
|
|
316
|
-
workflowManageRoute: "",
|
|
317
348
|
};
|
|
318
349
|
},
|
|
319
350
|
computed: {
|
|
@@ -369,22 +400,14 @@ export default {
|
|
|
369
400
|
initPddLog(); //初始化拼多多日志
|
|
370
401
|
this.initIsFormDev();
|
|
371
402
|
this.getBdEnv();
|
|
372
|
-
//初始化流程待办路由
|
|
373
|
-
this.initWorkflowManageRoute();
|
|
374
403
|
},
|
|
375
404
|
methods: {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
this.workflowManageRoute = value || "/basic/wf/wf_manage/list";
|
|
383
|
-
},
|
|
384
|
-
});
|
|
385
|
-
},
|
|
386
|
-
toWorkflowManage() {
|
|
387
|
-
this.$router.push(this.workflowManageRoute);
|
|
405
|
+
getMenuType(item) {
|
|
406
|
+
if (item.children && item.children.length > 0) {
|
|
407
|
+
return "el-submenu";
|
|
408
|
+
} else {
|
|
409
|
+
return "el-menu-item";
|
|
410
|
+
}
|
|
388
411
|
},
|
|
389
412
|
getBdEnv() {
|
|
390
413
|
getBdFlag({
|
|
@@ -449,7 +472,10 @@ export default {
|
|
|
449
472
|
if (match) {
|
|
450
473
|
const customReqUrl = decodeURIComponent(match[1]);
|
|
451
474
|
// 移除匹配到的参数部分
|
|
452
|
-
const newUrl = url.replace(
|
|
475
|
+
const newUrl = url.replace(
|
|
476
|
+
match[0],
|
|
477
|
+
match[0].startsWith("?") ? "?" : ""
|
|
478
|
+
);
|
|
453
479
|
|
|
454
480
|
return {
|
|
455
481
|
custom_req_url: customReqUrl,
|
|
@@ -615,7 +641,9 @@ export default {
|
|
|
615
641
|
// 异步树叶子节点懒加载逻辑
|
|
616
642
|
loadNode(node, resolve) {
|
|
617
643
|
let companyCode =
|
|
618
|
-
node && node.data && node.data.companyCode
|
|
644
|
+
node && node.data && node.data.companyCode
|
|
645
|
+
? node.data.companyCode || ""
|
|
646
|
+
: "";
|
|
619
647
|
let url = !companyCode
|
|
620
648
|
? USER_PREFIX + "/user_company_info/getAllList"
|
|
621
649
|
: USER_PREFIX + "/user_company_info/getChildren";
|
|
@@ -632,7 +660,6 @@ export default {
|
|
|
632
660
|
datas.forEach((item) => {
|
|
633
661
|
item.leaf = !item.hasChild;
|
|
634
662
|
let label = this.$t1(item.companyName);
|
|
635
|
-
|
|
636
663
|
/*if(companyCode){
|
|
637
664
|
label = label + '('+companyTypeMap[item.companyType]+')'
|
|
638
665
|
}*/
|
|
@@ -744,6 +771,7 @@ export default {
|
|
|
744
771
|
this.showUserInfoDialog = true;
|
|
745
772
|
},
|
|
746
773
|
showNav(route, event) {
|
|
774
|
+
if (!this.isMenu) return;
|
|
747
775
|
let id = route && route.id ? route.id : null;
|
|
748
776
|
if (id != null) {
|
|
749
777
|
if (!route.children || !route.children.length) {
|
|
@@ -756,7 +784,7 @@ export default {
|
|
|
756
784
|
let dom = event.target;
|
|
757
785
|
let domAttr = dom.getBoundingClientRect();
|
|
758
786
|
// var sh1 = dom.offsetTop;
|
|
759
|
-
var sh1 = domAttr.top;
|
|
787
|
+
var sh1 = domAttr.top + 5;
|
|
760
788
|
let $snav = this.$refs["seconMenus" + id][0];
|
|
761
789
|
let snavAttr = $snav.getBoundingClientRect();
|
|
762
790
|
|
|
@@ -769,10 +797,11 @@ export default {
|
|
|
769
797
|
if (sh >= 0) {
|
|
770
798
|
$snav.style["margin-top"] = sh1 + "px";
|
|
771
799
|
} else if (sh < 0) {
|
|
772
|
-
let bd = sh1 + sh;
|
|
800
|
+
let bd = sh1 + sh ;
|
|
773
801
|
|
|
774
802
|
$snav.style["margin-top"] = bd + "px";
|
|
775
|
-
$snav.querySelector(".ico-arrow").style["margin-top"] =
|
|
803
|
+
$snav.querySelector(".ico-arrow").style["margin-top"] =
|
|
804
|
+
sh1 - bd + "px";
|
|
776
805
|
}
|
|
777
806
|
});
|
|
778
807
|
} else {
|
|
@@ -905,6 +934,7 @@ export default {
|
|
|
905
934
|
line-height: 16px;
|
|
906
935
|
overflow: hidden;
|
|
907
936
|
vertical-align: middle;
|
|
937
|
+
white-space: nowrap;
|
|
908
938
|
}
|
|
909
939
|
|
|
910
940
|
&.name {
|
|
@@ -929,6 +959,11 @@ export default {
|
|
|
929
959
|
|
|
930
960
|
p {
|
|
931
961
|
margin: 0;
|
|
962
|
+
display: -webkit-box;
|
|
963
|
+
overflow: hidden;
|
|
964
|
+
text-overflow: ellipsis;
|
|
965
|
+
-webkit-line-clamp: 2;
|
|
966
|
+
-webkit-box-orient: vertical;
|
|
932
967
|
}
|
|
933
968
|
}
|
|
934
969
|
|
|
@@ -1022,66 +1057,135 @@ export default {
|
|
|
1022
1057
|
position: relative;
|
|
1023
1058
|
background-color: rgba(0, 0, 0, 0.2);
|
|
1024
1059
|
word-break: break-word;
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
font-size: 13px;
|
|
1036
|
-
margin-right: 0;
|
|
1037
|
-
width: 18px;
|
|
1038
|
-
|
|
1039
|
-
&.iconfont {
|
|
1040
|
-
margin-right: 5px;
|
|
1041
|
-
font-size: 19px;
|
|
1042
|
-
float: left;
|
|
1060
|
+
.el-scrollbar__view >{
|
|
1061
|
+
.el-menu-item{padding:0 11px !important;
|
|
1062
|
+
span{font-size:14px;}
|
|
1063
|
+
}
|
|
1064
|
+
.el-submenu > .el-submenu__title{padding:0 11px !important;
|
|
1065
|
+
span{font-size:14px;}
|
|
1066
|
+
~ .el-menu{
|
|
1067
|
+
padding:5px 0;display: grid;
|
|
1068
|
+
> .el-menu-item{
|
|
1069
|
+
span{line-height:1.4;height: 26px;}
|
|
1043
1070
|
}
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
text-align: center;
|
|
1048
|
-
font-size: 12px;
|
|
1049
|
-
margin-top: -5px;
|
|
1050
|
-
display: none;
|
|
1071
|
+
.el-submenu.is-opened .el-submenu__title{background-color:#FFF;opacity:1;
|
|
1072
|
+
span{color:$baseColor;}
|
|
1073
|
+
i.iconfont{color:$baseColor}
|
|
1051
1074
|
}
|
|
1052
1075
|
}
|
|
1053
1076
|
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
.el-submenu__title,.el-menu-item {
|
|
1080
|
+
padding: 0 11px;
|
|
1081
|
+
height: 48px;
|
|
1082
|
+
line-height: 48px;
|
|
1083
|
+
&:hover,&.is-active{background-color:rgba(0, 0, 0, 0.29)}
|
|
1084
|
+
i {
|
|
1085
|
+
color: #fff;
|
|
1086
|
+
font-size: 13px;
|
|
1087
|
+
margin-right: 0;
|
|
1088
|
+
width: 18px;
|
|
1089
|
+
|
|
1090
|
+
&.iconfont {
|
|
1091
|
+
margin-right: 5px;
|
|
1092
|
+
font-size: 19px;
|
|
1093
|
+
float: left;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
&.el-submenu__icon-arrow {
|
|
1097
|
+
right: 3px;
|
|
1098
|
+
text-align: center;
|
|
1099
|
+
font-size: 12px;
|
|
1100
|
+
margin-top: -5px;
|
|
1101
|
+
display: none;
|
|
1062
1102
|
}
|
|
1063
1103
|
}
|
|
1064
1104
|
|
|
1105
|
+
> span {
|
|
1106
|
+
height: 48px;
|
|
1107
|
+
display: table-cell;
|
|
1108
|
+
width: 114px;
|
|
1109
|
+
vertical-align: middle;
|
|
1110
|
+
font-size: 13px;
|
|
1111
|
+
white-space: normal;
|
|
1112
|
+
line-height: 16px;
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
.el-submenu {
|
|
1117
|
+
overflow: hidden; //有点电脑分辨率问题
|
|
1118
|
+
|
|
1065
1119
|
&.is-opened .el-submenu__title {
|
|
1066
1120
|
//background-color: rgba(27, 66, 97) !important;
|
|
1067
1121
|
}
|
|
1122
|
+
.el-submenu .el-menu{display:none}
|
|
1068
1123
|
}
|
|
1069
1124
|
|
|
1070
1125
|
.el-submenu {
|
|
1126
|
+
&.is-opened{
|
|
1127
|
+
> .el-submenu__title{background-color:rgba(0, 0, 0, 0.29)}
|
|
1128
|
+
}
|
|
1071
1129
|
.el-menu {
|
|
1072
|
-
background: rgba(0, 0, 0, 0.35)
|
|
1130
|
+
background: rgba(0, 0, 0, 0.35);
|
|
1073
1131
|
box-shadow: 0px -5px 8px #00000014 inset;
|
|
1074
1132
|
//padding:4px 0;
|
|
1133
|
+
.el-submenu__title{
|
|
1134
|
+
height: auto;
|
|
1135
|
+
line-height: 1.4;
|
|
1136
|
+
font-size: 12px;
|
|
1137
|
+
opacity: 0.8;
|
|
1138
|
+
margin: 5px 0 5px 14px;
|
|
1139
|
+
padding: 7px 2px 7px 33px !important;
|
|
1140
|
+
border-radius: 8px;
|
|
1141
|
+
text-align: left;
|
|
1142
|
+
min-width: 81px;
|
|
1143
|
+
white-space: normal;
|
|
1144
|
+
margin-right: 10px;
|
|
1145
|
+
word-break: break-word;
|
|
1146
|
+
i.iconfont {
|
|
1147
|
+
position: absolute;
|
|
1148
|
+
top: 50%;
|
|
1149
|
+
height: 20px;
|
|
1150
|
+
margin-top: -10px;
|
|
1151
|
+
line-height: 20px;
|
|
1152
|
+
left: 7px;
|
|
1153
|
+
font-size: 18px;
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
[class^="el-icon-"] {
|
|
1157
|
+
font-size: 12px;
|
|
1158
|
+
color: #fff;
|
|
1159
|
+
position: absolute;
|
|
1160
|
+
right: 2px;
|
|
1161
|
+
top: 50%;
|
|
1162
|
+
margin-top: -5px;
|
|
1163
|
+
width: 14px;
|
|
1164
|
+
zoom: 0.8;
|
|
1165
|
+
display: none;
|
|
1166
|
+
}
|
|
1167
|
+
span{height:auto;text-align: left !important;}
|
|
1168
|
+
&:hover,
|
|
1169
|
+
&.on {
|
|
1170
|
+
opacity: 1;
|
|
1171
|
+
background-color: #fbfdfe !important;
|
|
1172
|
+
color: $baseColor !important;
|
|
1173
|
+
i.iconfont{color:$baseColor}
|
|
1174
|
+
.el-icon-arrow-right {
|
|
1175
|
+
color: $baseColor;
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1075
1179
|
}
|
|
1076
1180
|
|
|
1077
|
-
.el-menu-item
|
|
1181
|
+
.el-menu-item{
|
|
1078
1182
|
height: auto;
|
|
1079
1183
|
line-height: 1.4;
|
|
1080
1184
|
padding-left: 33px !important;
|
|
1081
1185
|
font-size: 12px;
|
|
1082
1186
|
opacity: 0.8;
|
|
1083
|
-
margin:
|
|
1084
|
-
padding:
|
|
1187
|
+
margin: 5px 0 5px 14px;
|
|
1188
|
+
padding: 2px 2px 2px 0px;
|
|
1085
1189
|
border-radius: 8px;
|
|
1086
1190
|
text-align: left;
|
|
1087
1191
|
min-width: 81px !important;
|
|
@@ -1089,7 +1193,7 @@ export default {
|
|
|
1089
1193
|
margin-right: 10px;
|
|
1090
1194
|
word-break: break-word;
|
|
1091
1195
|
|
|
1092
|
-
|
|
1196
|
+
i.iconfont {
|
|
1093
1197
|
position: absolute;
|
|
1094
1198
|
top: 50%;
|
|
1095
1199
|
height: 20px;
|
|
@@ -1097,6 +1201,7 @@ export default {
|
|
|
1097
1201
|
line-height: 20px;
|
|
1098
1202
|
left: 7px;
|
|
1099
1203
|
font-size: 18px;
|
|
1204
|
+
color:#D0D6DB;
|
|
1100
1205
|
}
|
|
1101
1206
|
|
|
1102
1207
|
[class^="el-icon-"] {
|
|
@@ -1109,6 +1214,7 @@ export default {
|
|
|
1109
1214
|
width: 14px;
|
|
1110
1215
|
zoom: 0.8;
|
|
1111
1216
|
display: none;
|
|
1217
|
+
|
|
1112
1218
|
}
|
|
1113
1219
|
|
|
1114
1220
|
&:hover,
|
|
@@ -1117,7 +1223,7 @@ export default {
|
|
|
1117
1223
|
background-color: #fbfdfe !important;
|
|
1118
1224
|
color: $baseColor !important;
|
|
1119
1225
|
|
|
1120
|
-
.el-icon-arrow-right {
|
|
1226
|
+
.el-icon-arrow-right,i.iconfont {
|
|
1121
1227
|
color: $baseColor;
|
|
1122
1228
|
}
|
|
1123
1229
|
}
|
|
@@ -1130,7 +1236,6 @@ export default {
|
|
|
1130
1236
|
.el-submenu {
|
|
1131
1237
|
.el-submenu__title {
|
|
1132
1238
|
> span {
|
|
1133
|
-
font-size: 14px;
|
|
1134
1239
|
text-align: center;
|
|
1135
1240
|
}
|
|
1136
1241
|
|
|
@@ -1438,8 +1543,62 @@ export default {
|
|
|
1438
1543
|
}
|
|
1439
1544
|
}
|
|
1440
1545
|
}
|
|
1441
|
-
|
|
1442
1546
|
// .el-submenu .el-menu {
|
|
1443
1547
|
// height: auto !important;
|
|
1444
1548
|
// }
|
|
1549
|
+
.el-menu--vertical{
|
|
1550
|
+
> .el-menu--popup{overflow: hidden;
|
|
1551
|
+
.el-submenu__title, .el-menu-item{
|
|
1552
|
+
height: auto !important;
|
|
1553
|
+
line-height: 1.4 !important;
|
|
1554
|
+
padding: 8px 0;
|
|
1555
|
+
text-align: left;
|
|
1556
|
+
white-space: normal;
|
|
1557
|
+
word-break: break-word;
|
|
1558
|
+
background:none;
|
|
1559
|
+
i.iconfont{color:#FFF;margin-right:8px;}
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
.el-submenu{
|
|
1563
|
+
.el-submenu__title{
|
|
1564
|
+
.el-submenu__icon-arrow{display:none}
|
|
1565
|
+
}
|
|
1566
|
+
&:hover{
|
|
1567
|
+
.el-submenu__title{
|
|
1568
|
+
background-color: rgba(0, 0, 0, 0.29) !important;
|
|
1569
|
+
i.iconfont{color:$baseColor}
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
|
|
1573
|
+
&.is-opened{
|
|
1574
|
+
.el-submenu__title{
|
|
1575
|
+
background-color: rgba(0, 0, 0, 0.29) !important;
|
|
1576
|
+
i.iconfont{color:$baseColor}
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
.el-menu-item{
|
|
1581
|
+
&:hover{
|
|
1582
|
+
background-color: rgba(0, 0, 0, 0.29) !important;
|
|
1583
|
+
i.iconfont{color:$baseColor}
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
&.is-opened{
|
|
1587
|
+
background-color: rgba(0, 0, 0, 0.29) !important;
|
|
1588
|
+
i.iconfont{color:$baseColor}
|
|
1589
|
+
}
|
|
1590
|
+
}
|
|
1591
|
+
// .el-menu-item{
|
|
1592
|
+
// &:hover{
|
|
1593
|
+
// background:#FFF !important;opacity:1;
|
|
1594
|
+
// span{color:$baseColor}
|
|
1595
|
+
// i.iconfont{color:$baseColor}
|
|
1596
|
+
// }
|
|
1597
|
+
// &.is-opened{
|
|
1598
|
+
// background:#FFF;opacity:1;
|
|
1599
|
+
// span{color:$baseColor}
|
|
1600
|
+
// i.iconfont{color:$baseColor}
|
|
1601
|
+
// }
|
|
1602
|
+
// }
|
|
1603
|
+
}
|
|
1445
1604
|
</style>
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<defaultView></defaultView>
|
|
2
|
+
<defaultView :isMenu.sync="isMenu"></defaultView>
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script>
|
|
6
6
|
import defaultView from "./default.vue";
|
|
7
7
|
export default {
|
|
8
|
+
props: {
|
|
9
|
+
isMenu: {
|
|
10
|
+
type: Boolean
|
|
11
|
+
}
|
|
12
|
+
},
|
|
8
13
|
data() {
|
|
9
14
|
return {};
|
|
10
15
|
},
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="tags-view-container" class="navbar-tag">
|
|
3
|
+
<div @click="$baseEventBus.$emit('triggerMenu')" class="telescopMenuIcon"><i class="iconfont" :class="isMenu?'icon-shouqi':'icon-shouqi-copy'"></i></div>
|
|
3
4
|
<scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
|
|
4
5
|
<router-link
|
|
5
6
|
v-for="tag in visitedViews"
|
|
@@ -15,7 +16,8 @@
|
|
|
15
16
|
<i class="el-icon-s-home" v-if="tag.name =='home'"></i>
|
|
16
17
|
{{ getMenuName(tag) }}
|
|
17
18
|
|
|
18
|
-
<span v-if="
|
|
19
|
+
<span v-if="!!tag.meta.user_affix" class="el-icon-close is-disabled"/>
|
|
20
|
+
<span v-else-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)"/>
|
|
19
21
|
</router-link>
|
|
20
22
|
</scroll-pane>
|
|
21
23
|
<div class="tags-operBox">
|
|
@@ -27,12 +29,25 @@
|
|
|
27
29
|
<i class="el-icon-arrow-right" ayadmin-event="rightPage"
|
|
28
30
|
one-link-mark="yes" @click="$refs.scrollPane.handleScrollRight()"/>
|
|
29
31
|
</el-tooltip>
|
|
30
|
-
<el-
|
|
32
|
+
<el-dropdown >
|
|
33
|
+
<span class="el-dropdown-link" style="padding-right:10px;padding-left:4px;">
|
|
34
|
+
<i class="el-icon-more el-icon--right"></i>
|
|
35
|
+
</span>
|
|
36
|
+
<el-dropdown-menu slot="dropdown">
|
|
37
|
+
<el-dropdown-item @click.native="refreshSelectedTag($route)" :disabled="getIsLock()">
|
|
38
|
+
<i class="el-icon-refresh"/><span>{{ $t1('刷新') }}</span>
|
|
39
|
+
</el-dropdown-item>
|
|
40
|
+
<el-dropdown-item @click.native="closeAllTags(selectedTag)">
|
|
41
|
+
<i class="el-icon-close"/><span>{{ $t1('全部关闭') }}</span>
|
|
42
|
+
</el-dropdown-item>
|
|
43
|
+
</el-dropdown-menu>
|
|
44
|
+
</el-dropdown>
|
|
45
|
+
<!-- <el-tooltip :enterable="false" class="item" effect="dark" :content="$t1('刷新')" placement="bottom">
|
|
31
46
|
<i class="el-icon-refresh" @click="refreshSelectedTag($route)"/>
|
|
32
47
|
</el-tooltip>
|
|
33
48
|
<el-tooltip :enterable="false" class="item" effect="dark" :content="$t1('全部关闭')" placement="bottom">
|
|
34
49
|
<i class="el-icon-close" @click="closeAllTags(selectedTag)"/>
|
|
35
|
-
</el-tooltip>
|
|
50
|
+
</el-tooltip> -->
|
|
36
51
|
</div>
|
|
37
52
|
<!-- <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
|
|
38
53
|
<li @click="refreshSelectedTag(selectedTag)">Refresh</li>
|
|
@@ -49,6 +64,11 @@ import path from 'path'
|
|
|
49
64
|
|
|
50
65
|
export default {
|
|
51
66
|
components: {ScrollPane},
|
|
67
|
+
props: {
|
|
68
|
+
isMenu: {
|
|
69
|
+
type: Boolean
|
|
70
|
+
}
|
|
71
|
+
},
|
|
52
72
|
data() {
|
|
53
73
|
return {
|
|
54
74
|
visible: false,
|
|
@@ -86,8 +106,8 @@ export default {
|
|
|
86
106
|
methods: {
|
|
87
107
|
getMenuName(item) {
|
|
88
108
|
let locale = this.$i18n?.locale;
|
|
89
|
-
let zhTitle =
|
|
90
|
-
let enTitle =
|
|
109
|
+
let zhTitle = item.meta?.title || "";
|
|
110
|
+
let enTitle = item.meta?.enTitle || '';
|
|
91
111
|
let title;
|
|
92
112
|
if (locale == "en") {
|
|
93
113
|
title = enTitle || zhTitle;
|
|
@@ -178,6 +198,7 @@ export default {
|
|
|
178
198
|
} */
|
|
179
199
|
},
|
|
180
200
|
closeSelectedTag(view) {
|
|
201
|
+
if(view.meta.user_affix)return
|
|
181
202
|
this.$store.dispatch('tagsView/delView', view).then(({visitedViews}) => {
|
|
182
203
|
if (this.isActive(view)) {
|
|
183
204
|
this.toLastView(visitedViews, view)
|
|
@@ -191,11 +212,13 @@ export default {
|
|
|
191
212
|
})
|
|
192
213
|
},
|
|
193
214
|
closeAllTags(view) {
|
|
194
|
-
this.$
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
215
|
+
this.$baseConfirm(this.$t1('您确定要全部关闭吗?')).then(() => {
|
|
216
|
+
this.$store.dispatch('tagsView/delAllViews').then(({visitedViews}) => {
|
|
217
|
+
if (this.affixTags.some(tag => tag.path === view.path)) {
|
|
218
|
+
return
|
|
219
|
+
}
|
|
220
|
+
this.toLastView(visitedViews, view)
|
|
221
|
+
})
|
|
199
222
|
})
|
|
200
223
|
},
|
|
201
224
|
toLastView(visitedViews, view) {
|
|
@@ -235,7 +258,13 @@ export default {
|
|
|
235
258
|
},
|
|
236
259
|
handleScroll() {
|
|
237
260
|
this.closeMenu()
|
|
238
|
-
}
|
|
261
|
+
},
|
|
262
|
+
getIsLock() {
|
|
263
|
+
let path = this.$route.path;
|
|
264
|
+
let visitedViews = this.$store.state.tagsView.visitedViews
|
|
265
|
+
let currentItem = visitedViews.find(item => item.path == path)
|
|
266
|
+
return !!currentItem?.meta?.user_affix;
|
|
267
|
+
},
|
|
239
268
|
}
|
|
240
269
|
}
|
|
241
270
|
</script>
|
|
@@ -249,6 +278,9 @@ export default {
|
|
|
249
278
|
</style>
|
|
250
279
|
<style lang="scss">
|
|
251
280
|
//reset element css of el-icon-close
|
|
281
|
+
span.el-icon-close.is-disabled{
|
|
282
|
+
cursor: not-allowed;
|
|
283
|
+
}
|
|
252
284
|
.tags-view-wrapper {
|
|
253
285
|
.tags-view-item {
|
|
254
286
|
.el-icon-close {
|