Skip to content

Commit 3aa1d8c

Browse files
authored
Merge pull request #162 from TaleLin/feature/LinCmsUi-Link
feat(plugins/linCmsUi/): 增加 Link 文字链接 UI
2 parents 39c9e84 + f01b0c3 commit 3aa1d8c

File tree

3 files changed

+262
-19
lines changed

3 files changed

+262
-19
lines changed

src/assets/styles/realize/element-variables.scss

Lines changed: 124 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
/* color */
2+
$--color-white: #FFFFFF !default;
3+
/* font color */
4+
$--color-text-regular: #596C8E !default;
5+
$--color-text-placeholder: #BAC7DE !default;
6+
17
/* 改变主题色变量 */
28
$--color-primary: #3963bc;
39

@@ -8,6 +14,12 @@ $--color-danger: #f4516c !default;
814

915
$--background-color-base: #F6F7FA !default;
1016

17+
/* Link
18+
---------------------*/
19+
$--link-default-active-color: $--color-primary !default;
20+
$--link-default-font-color: $--color-text-regular !default;
21+
$--link-disabled-font-color: $--color-text-placeholder !default;
22+
1123
/* 改变 icon 字体路径变量,必需 */
1224
$--font-path: "~element-ui/lib/theme-chalk/fonts";
1325

@@ -19,79 +31,95 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
1931
.el-button {
2032
padding: 8px 16px;
2133
border-radius: 2px;
34+
2235
&.is-round {
23-
padding:8px 16px;
36+
padding: 8px 16px;
2437
}
38+
2539
&.el-button--mini {
2640
padding: 5px 12px;
2741
}
42+
2843
&.el-button--medium {
2944
padding: 7px 12px;
3045
}
46+
3147
&.el-button--small {
3248
padding: 6px 12px;
3349
}
3450
}
51+
3552
.el-button--primary.is-plain,
3653
.el-button--success.is-plain,
3754
.el-button--info.is-plain,
3855
.el-button--danger.is-plain,
3956
.el-button--warning.is-plain {
4057
background: #fff;
4158
}
59+
4260
.el-button--primary {
4361
&.is-plain {
4462
color: #3963bc;
4563
background: #fff;
4664
border: 1px solid #3963bc;
4765
}
66+
4867
&:hover,
4968
&:focus {
5069
background: #0037ad;
5170
border: 1px solid #0037ad;
5271
}
5372
}
73+
5474
.el-button--success {
5575
&.is-plain {
5676
color: #34bfa3;
5777
background: #fff;
5878
border: 1px solid #34bfa3;
5979
}
80+
6081
&:hover,
6182
&:focus {
6283
background: #009d72;
6384
border: 1px solid #009d72;
6485
}
6586
}
87+
6688
.el-button--danger {
6789
&.is-plain {
6890
color: #f4516c;
6991
background: #fff;
7092
border: 1px solid #f4516c;
7193
}
94+
7295
&:hover,
7396
&:focus {
7497
background: #d62f40;
7598
border: 1px solid #d62f40;
7699
}
77100
}
101+
78102
.el-button--warning {
79103
color: #8c98ae;
104+
80105
&.is-plain {
81106
color: #8c98ae;
82107
background: #fff;
83108
border: 1px solid #8c98ae;
109+
84110
&:hover,
85111
&:focus {
86112
background: #8c98ae;
87113
color: #fff;
88114
border: 1px solid #8c98ae;
89115
}
116+
90117
&.is-disabled {
91118
color: #8c98ae;
92119
background: #fff;
93120
border: 1px solid #8c98ae;
94121
opacity: 0.5;
122+
95123
&:hover,
96124
&:focus {
97125
color: #8c98ae;
@@ -108,11 +136,13 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
108136
background: #bfcbd7;
109137
border: 1px solid #bfcbd7;
110138
}
139+
111140
&.is-disabled {
112141
background: #dee2e6;
113142
color: #8c98ae;
114143
border: 1px solid #dee2e6;
115144
opacity: 0.5;
145+
116146
&:hover,
117147
&:focus {
118148
background: #dee2e6;
@@ -163,9 +193,10 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
163193

164194
.el-radio__inner {
165195
border: 1px solid #c4c0d2 !important;
196+
166197
&::after {
167-
width:7px;
168-
height:7px;
198+
width: 7px;
199+
height: 7px;
169200
}
170201
}
171202

@@ -174,7 +205,7 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
174205
border: none !important;
175206
}
176207

177-
.el-radio__input.is-checked + .el-radio__label {
208+
.el-radio__input.is-checked+.el-radio__label {
178209
color: $theme;
179210
}
180211

@@ -201,7 +232,7 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
201232

202233
// pagination
203234
.el-pagination__editor.el-input {
204-
.el-input__inner {
235+
.el-input__inner {
205236
border-radius: 4px;
206237
}
207238
}
@@ -212,10 +243,11 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
212243
}
213244

214245
// input
215-
.el-input-group__append, .el-input-group__prepend {
246+
.el-input-group__append,
247+
.el-input-group__prepend {
216248
background: $theme;
217-
border:1px solid $theme;
218-
color:#fff;
249+
border: 1px solid $theme;
250+
color: #fff;
219251
}
220252

221253
// table
@@ -230,8 +262,10 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
230262
border: none;
231263
}
232264
}
265+
233266
.el-table--border {
234267
border-right: none !important;
268+
235269
table {
236270
border-top: none !important;
237271
}
@@ -260,31 +294,36 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
260294
thead tr {
261295
height: 62px;
262296
}
297+
263298
.el-table__body tr {
264299
height: 52px;
265300
}
301+
266302
.el-table th,
267303
.el-table td {
268304
padding: 9px 0px;
269305
}
306+
270307
.el-table--striped .el-table__body tr {
271308
background: #f8f9fa;
272309
}
310+
273311
.el-table--striped .el-table__body tr.el-table__row--striped td {
274312
background: #fff;
275313
}
276-
.el-table__body tr.current-row > td,
277-
.el-table__body tr.hover-row.current-row > td,
278-
.el-table__body tr.hover-row.el-table__row--striped.current-row > td,
279-
.el-table__body tr.hover-row.el-table__row--striped > td,
280-
.el-table__body tr.hover-row > td {
314+
315+
.el-table__body tr.current-row>td,
316+
.el-table__body tr.hover-row.current-row>td,
317+
.el-table__body tr.hover-row.el-table__row--striped.current-row>td,
318+
.el-table__body tr.hover-row.el-table__row--striped>td,
319+
.el-table__body tr.hover-row>td {
281320
background-color: #ecf5ff;
282321
}
283322

284323
.el-table__expand-icon {
285-
color:#3963bc;
324+
color: #3963bc;
286325
font-size: 18px;
287-
top:-5px;
326+
top: -5px;
288327
}
289328

290329
// dialog
@@ -356,7 +395,9 @@ thead tr {
356395
top: 23px;
357396
}
358397
}
398+
359399
&.third {
400+
360401
// 3级
361402
.el-menu-item {
362403
position: relative;
@@ -408,16 +449,17 @@ thead tr {
408449
.el-menu--vertical /deep/ .icon-erjizhibiao {
409450
display: none;
410451
}
452+
411453
.el-menu--vertical /deep/ .two-folder {
412454
margin-left: 40px;
413455
}
414456

415457
.is-active {
416458
color: $theme !important;
417-
&.el-menu-item
418-
.iconfont{
419-
color: $theme !important;
420-
}
459+
460+
&.el-menu-item .iconfont {
461+
color: $theme !important;
462+
}
421463
}
422464

423465
.el-submenu__icon-arrow {
@@ -463,13 +505,15 @@ thead tr {
463505

464506
.el-menu--inline {
465507
background: $menuItem-bg !important;
508+
466509
&:hover {
467510
background-color: $menuItem-hover !important;
468511
}
469512
}
470513

471514
.el-submenu__title {
472515
background: $menuItem-bg !important;
516+
473517
&:hover {
474518
background-color: $menuItem-hover !important;
475519
}
@@ -524,6 +568,7 @@ thead tr {
524568
}
525569

526570
.el-menu--collapse {
571+
527572
// margin-left: -2px;
528573
.el-submenu.is-active {
529574
.el-submenu__title {
@@ -579,3 +624,63 @@ thead tr {
579624
.el-container {
580625
height: 100%;
581626
}
627+
628+
// Link
629+
.el-link+.el-link {
630+
margin-left: 30px;
631+
}
632+
633+
.el-link {
634+
font-weight: 400;
635+
font-size: 14px;
636+
}
637+
638+
.el-link.is-underline:hover:after {
639+
border-bottom: 1px solid $--link-default-active-color;
640+
}
641+
.el-link [class*="el-icon-"]+span {
642+
margin-left: 4px;
643+
}
644+
645+
.el-link.el-link--default {
646+
color: $--link-default-font-color;
647+
}
648+
649+
.el-link.el-link--default:hover {
650+
color: $--link-default-active-color;
651+
}
652+
653+
.el-link.el-link--default:after {
654+
border-color: $--link-default-active-color;
655+
}
656+
657+
.el-link.el-link--default.is-disabled {
658+
color: $--link-disabled-font-color;
659+
}
660+
661+
$typeMap: (primary:#3963BC,
662+
success:#00C292,
663+
danger: #E46A76,
664+
warning:#FFBE4D,
665+
info: #8C98AE);
666+
.el-link {
667+
@each $type, $primaryColor in $typeMap {
668+
&.el-link--#{$type} {
669+
color: $primaryColor;
670+
&:hover {
671+
color: mix($primaryColor, $--color-white, 80%)
672+
}
673+
&:after {
674+
border-color: $primaryColor
675+
}
676+
@include when(disabled) {
677+
color: mix($primaryColor, $--color-white, 50%)
678+
}
679+
@include when(underline) {
680+
&:hover:after {
681+
border-color: $primaryColor
682+
}
683+
}
684+
}
685+
}
686+
}

src/plugins/LinCmsUi/stage-config.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,16 @@ const LinCmsUiRouter = {
142142
},
143143
],
144144
},
145+
{
146+
title: 'Link 文字链接',
147+
type: 'view',
148+
name: 'LinCmsUiButton',
149+
route: '/lin-cms-ui/link',
150+
filePath: 'plugins/LinCmsUi/views/link/Link.vue',
151+
inNav: true,
152+
icon: 'iconfont icon-jiemiansheji',
153+
right: null,
154+
}
145155
],
146156
}
147157

0 commit comments

Comments
 (0)