afn-basic-components 1.1.2 → 1.1.3
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 +1 -1
- package/src/assets/icons/index.js +9 -0
- package/src/assets/icons/svg/close-hover.svg +13 -0
- package/src/assets/icons/svg/close.svg +13 -0
- package/src/assets/icons/svg/danger.svg +11 -0
- package/src/assets/icons/svg/error.svg +11 -0
- package/src/assets/icons/svg/info.svg +11 -0
- package/src/assets/icons/svg/simulation-close.svg +13 -0
- package/src/assets/icons/svg/success.svg +11 -0
- package/src/assets/icons/svgo.yml +22 -0
- package/src/assets/images/background.png +0 -0
- package/src/components/SvgIcon/index.vue +64 -0
- package/src/index.js +6 -2
- package/src/styles/element-variables.scss +31 -0
- package/src/styles/index.scss +120 -103
- package/src/styles/ruoyi.scss +200 -250
- package/src/styles/sidebar.scss +278 -138
- package/src/styles/variables.scss +0 -5
- package/src/utils/validate.js +8 -0
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import SvgIcon from '@/components/SvgIcon'// svg component
|
|
3
|
+
|
|
4
|
+
// register globally
|
|
5
|
+
Vue.component('svg-icon', SvgIcon)
|
|
6
|
+
|
|
7
|
+
const req = require.context('./svg', false, /\.svg$/)
|
|
8
|
+
const requireAll = requireContext => requireContext.keys().map(requireContext)
|
|
9
|
+
requireAll(req)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>错误备份</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1763.000000, -2479.000000)" fill="#4A7FF8">
|
|
6
|
+
<g id="编组-5" transform="translate(0.000000, 2233.000000)">
|
|
7
|
+
<g id="错误备份" transform="translate(1763.000000, 246.000000)">
|
|
8
|
+
<path d="M12.6919628,12.7042459 C12.2975049,13.0985847 11.6580886,13.0985847 11.2636307,12.7042459 L7.98776,9.42837524 L4.71188934,12.7042459 C4.31553333,13.0870592 3.6855057,13.0815844 3.29586218,12.6919409 C2.90621866,12.3022974 2.90074385,11.6722698 3.28355719,11.2759138 L6.55942786,8.00004309 L3.28355719,4.72417243 C2.90074385,4.32781642 2.90621866,3.69778879 3.29586218,3.30814527 C3.6855057,2.91850176 4.31553333,2.91302695 4.71188934,3.29584029 L7.98776,6.57171095 L11.2636307,3.29584029 C11.5187776,3.04069332 11.8906624,2.94104708 12.2391997,3.03443735 C12.5877369,3.12782762 12.8599755,3.40006619 12.9533657,3.74860343 C13.046756,4.09714067 12.9471098,4.46902547 12.6919628,4.72417243 L9.41609214,8.00004309 L12.6919628,11.2759138 C13.0863016,11.6703717 13.0863016,12.309788 12.6919628,12.7042459 L12.6919628,12.7042459 Z" id="路径"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>错误</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1727.000000, -2479.000000)" fill="#333333">
|
|
6
|
+
<g id="编组-5" transform="translate(0.000000, 2233.000000)">
|
|
7
|
+
<g id="错误" transform="translate(1727.000000, 246.000000)">
|
|
8
|
+
<path d="M12.6919628,12.7042459 C12.2975049,13.0985847 11.6580886,13.0985847 11.2636307,12.7042459 L7.98776,9.42837524 L4.71188934,12.7042459 C4.31553333,13.0870592 3.6855057,13.0815844 3.29586218,12.6919409 C2.90621866,12.3022974 2.90074385,11.6722698 3.28355719,11.2759138 L6.55942786,8.00004309 L3.28355719,4.72417243 C2.90074385,4.32781642 2.90621866,3.69778879 3.29586218,3.30814527 C3.6855057,2.91850176 4.31553333,2.91302695 4.71188934,3.29584029 L7.98776,6.57171095 L11.2636307,3.29584029 C11.5187776,3.04069332 11.8906624,2.94104708 12.2391997,3.03443735 C12.5877369,3.12782762 12.8599755,3.40006619 12.9533657,3.74860343 C13.046756,4.09714067 12.9471098,4.46902547 12.6919628,4.72417243 L9.41609214,8.00004309 L12.6919628,11.2759138 C13.0863016,11.6703717 13.0863016,12.309788 12.6919628,12.7042459 L12.6919628,12.7042459 Z" id="路径"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>提示</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1414.000000, -2475.000000)" fill="#FF7800" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-5" transform="translate(-123.000000, 2233.000000)">
|
|
7
|
+
<path d="M1549,242 C1542.32533,242 1537,247.324667 1537,254 C1537,260.674667 1542.32467,266 1549,266 C1555.67467,266 1561,260.674667 1561,254 C1561,247.325333 1555.67467,242 1549,242 Z M1547.84467,246.695333 C1548.16,246.38 1548.43,246.17 1548.94,246.17 C1549.51,246.125333 1550.03467,246.395333 1550.24467,246.8 C1550.48467,247.085333 1550.62,247.714667 1550.56,248.09 C1550.56,248.195333 1550.48467,248.9 1550.45533,249.095333 L1550.03533,254.42 C1550.03533,254.945333 1549.93,255.47 1549.72,255.875333 C1549.61533,256.19 1549.3,256.4 1548.88,256.4 C1548.56467,256.4 1548.25,256.19 1548.14533,255.874667 C1547.93467,255.35 1547.83,254.93 1547.83,254.42 L1547.54467,249.2 C1547.44,248.254667 1547.44,248.57 1547.44,248.045333 C1547.44,247.535333 1547.54533,247.115333 1547.84467,246.695333 Z M1550.15533,261.41 C1549.84,261.725333 1549.42,261.83 1549.10467,261.83 C1548.68467,261.83 1548.26467,261.724667 1547.95,261.41 C1547.61343,261.083458 1547.42385,260.634274 1547.42466,260.165333 C1547.42466,259.745333 1547.53,259.325333 1547.84467,259.01 C1548.16,258.694667 1548.58,258.484667 1549,258.484667 C1549.42,258.484667 1549.84,258.695333 1550.15533,259.01 C1550.47,259.325333 1550.57533,259.744667 1550.57533,260.164667 C1550.56,260.674667 1550.45533,261.094667 1550.15533,261.41 L1550.15533,261.41 Z" id="提示"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>失败提示</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1546.000000, -2475.000000)" fill="#F46868" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-5" transform="translate(-123.000000, 2233.000000)">
|
|
7
|
+
<path d="M1680.9994,242 C1674.37254,242 1669,247.372647 1669,254.00041 C1669,260.627271 1674.37254,266 1680.9994,266 C1687.62607,266 1693,260.627244 1693,254.00041 C1693,247.372647 1687.62607,242 1680.9994,242 Z M1685.40777,257.582411 C1685.74936,257.929463 1685.73385,258.497931 1685.3738,258.852193 C1685.01375,259.206509 1684.44498,259.212573 1684.10361,258.86563 L1681,255.711114 L1677.89656,258.865521 C1677.55497,259.212573 1676.98661,259.206482 1676.62637,258.852193 C1676.26612,258.497822 1676.25102,257.929353 1676.59223,257.582411 L1679.71667,254.406728 L1676.59223,251.231017 C1676.25105,250.884075 1676.26612,250.315606 1676.62637,249.961208 C1676.98661,249.606919 1677.55497,249.600856 1677.89656,249.947907 L1681.00003,253.102315 L1684.10361,249.947825 C1684.44498,249.600883 1685.01375,249.606946 1685.3738,249.961235 C1685.73388,250.315524 1685.74936,250.883993 1685.40777,251.231044 L1682.28338,254.406701 L1685.40777,257.582411 Z" id="失败提示"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>通知</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1458.000000, -2475.000000)" fill="#4A7FF8" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-5" transform="translate(-123.000000, 2233.000000)">
|
|
7
|
+
<path d="M1593,266 C1586.37258,266 1581,260.627422 1581,254 C1581,247.372578 1586.37258,242 1593,242 C1599.62742,242 1605,247.372578 1605,254 C1605,260.627422 1599.62742,266 1593,266 Z M1594.03125,260 L1594.03125,252.043156 C1594.03125,251.473602 1593.56953,251.011906 1593,251.011906 C1592.43047,251.011906 1591.96875,251.473602 1591.96875,252.043156 L1591.96875,260 C1591.96875,260.569531 1592.43047,261.03125 1593,261.03125 C1593.56953,261.03125 1594.03125,260.569531 1594.03125,260 Z M1593,249.96875 C1593.82842,249.96875 1594.5,249.297172 1594.5,248.46875 C1594.5,247.640328 1593.82842,246.96875 1593,246.96875 C1592.17158,246.96875 1591.5,247.640328 1591.5,248.46875 C1591.5,249.297172 1592.17158,249.96875 1593,249.96875 Z" id="通知"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>关闭-蓝色</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="问答管理-问答配置-模拟问答测试" transform="translate(-1864.000000, -19.000000)" fill="#333333">
|
|
6
|
+
<g id="编组-17" transform="translate(1120.000000, 0.000000)">
|
|
7
|
+
<g id="关闭-蓝色" transform="translate(744.000000, 19.000000)">
|
|
8
|
+
<path d="M16,7 C16.5522847,7 17,7.44771525 17,8 L17,14.999 L24,15 C24.5522847,15 25,15.4477153 25,16 C25,16.5522847 24.5522847,17 24,17 L17,16.999 L17,24 C17,24.5522847 16.5522847,25 16,25 C15.4477153,25 15,24.5522847 15,24 L15,16.999 L8,17 C7.44771525,17 7,16.5522847 7,16 C7,15.4477153 7.44771525,15 8,15 L15,14.999 L15,8 C15,7.44771525 15.4477153,7 16,7 Z" id="形状结合" transform="translate(16.000000, 16.000000) rotate(-45.000000) translate(-16.000000, -16.000000) "></path>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>成功提示</title>
|
|
4
|
+
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="后台组件规范" transform="translate(-1502.000000, -2475.000000)" fill="#40C495" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-5" transform="translate(-123.000000, 2233.000000)">
|
|
7
|
+
<path d="M1637,242 C1643.6273,242 1649,247.3727 1649,254 C1649,260.6273 1643.6273,266 1637,266 C1630.3727,266 1625,260.6273 1625,254 C1625,247.3727 1630.3727,242 1637,242 Z M1642.136,250.3631 C1641.96709,250.194404 1641.73808,250.099723 1641.49936,250.099892 C1641.26064,250.100061 1641.03177,250.195065 1640.8631,250.364 L1635.5072,255.728 L1633.1351,253.3658 C1632.78215,253.019765 1632.21617,253.023133 1631.86736,253.373344 C1631.51855,253.723555 1631.51745,254.289536 1631.8649,254.6411 L1634.8739,257.6378 C1635.22578,257.988247 1635.79502,257.987442 1636.1459,257.636 L1642.1369,251.636 C1642.3056,251.467094 1642.40028,251.238085 1642.40011,250.999364 C1642.39994,250.760642 1642.30494,250.531768 1642.136,250.3631 L1642.136,250.3631 Z" id="成功提示"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# replace default config
|
|
2
|
+
|
|
3
|
+
# multipass: true
|
|
4
|
+
# full: true
|
|
5
|
+
|
|
6
|
+
plugins:
|
|
7
|
+
|
|
8
|
+
# - name
|
|
9
|
+
#
|
|
10
|
+
# or:
|
|
11
|
+
# - name: false
|
|
12
|
+
# - name: true
|
|
13
|
+
#
|
|
14
|
+
# or:
|
|
15
|
+
# - name:
|
|
16
|
+
# param1: 1
|
|
17
|
+
# param2: 2
|
|
18
|
+
|
|
19
|
+
- removeAttrs:
|
|
20
|
+
attrs:
|
|
21
|
+
- 'fill'
|
|
22
|
+
- 'fill-rule'
|
|
Binary file
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
v-if="isExternal"
|
|
4
|
+
:style="styleExternalIcon"
|
|
5
|
+
class="svg-external-icon svg-icon"
|
|
6
|
+
v-on="$listeners"
|
|
7
|
+
/>
|
|
8
|
+
<svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners">
|
|
9
|
+
<use :xlink:href="iconName" />
|
|
10
|
+
</svg>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
name: 'SvgIcon',
|
|
16
|
+
props: {
|
|
17
|
+
iconClass: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
className: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: ''
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
computed: {
|
|
27
|
+
isExternal() {
|
|
28
|
+
return /^(https?:|mailto:|tel:)/.test(this.iconClass)
|
|
29
|
+
},
|
|
30
|
+
iconName() {
|
|
31
|
+
return `#icon-${this.iconClass}`
|
|
32
|
+
},
|
|
33
|
+
svgClass() {
|
|
34
|
+
if (this.className) {
|
|
35
|
+
return 'svg-icon ' + this.className
|
|
36
|
+
} else {
|
|
37
|
+
return 'svg-icon'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
styleExternalIcon() {
|
|
41
|
+
return {
|
|
42
|
+
mask: `url(${this.iconClass}) no-repeat 50% 50%`,
|
|
43
|
+
'-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<style scoped>
|
|
51
|
+
.svg-icon {
|
|
52
|
+
width: 1em;
|
|
53
|
+
height: 1em;
|
|
54
|
+
vertical-align: -0.15em;
|
|
55
|
+
fill: currentColor;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.svg-external-icon {
|
|
60
|
+
background-color: currentColor;
|
|
61
|
+
mask-size: cover !important;
|
|
62
|
+
display: inline-block;
|
|
63
|
+
}
|
|
64
|
+
</style>
|
package/src/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import GlobalDrawer from "./components/GlobalDrawer/index.vue";
|
|
3
3
|
import MessagePopUp from "./components/MessagePopUp/index.vue";
|
|
4
4
|
import ProTable from "./components/ProTable/index.vue";
|
|
5
|
+
import SvgIcon from "./components/SvgIcon/index.vue";
|
|
5
6
|
|
|
6
7
|
// 导入样式
|
|
7
8
|
import "./styles/variables.scss";
|
|
@@ -11,8 +12,11 @@ import "./styles/index.scss";
|
|
|
11
12
|
import "./styles/sidebar.scss";
|
|
12
13
|
import "./styles/transition.scss";
|
|
13
14
|
|
|
15
|
+
// 导入图标
|
|
16
|
+
import "./assets/icons";
|
|
17
|
+
|
|
14
18
|
// 组件列表
|
|
15
|
-
const components = [GlobalDrawer, MessagePopUp, ProTable];
|
|
19
|
+
const components = [GlobalDrawer, MessagePopUp, ProTable, SvgIcon];
|
|
16
20
|
|
|
17
21
|
// 定义 install 方法,接收 Vue 作为参数
|
|
18
22
|
const install = function (Vue) {
|
|
@@ -32,7 +36,7 @@ if (typeof window !== "undefined" && window.Vue) {
|
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
// 导出组件
|
|
35
|
-
export { GlobalDrawer, MessagePopUp, ProTable };
|
|
39
|
+
export { GlobalDrawer, MessagePopUp, ProTable, SvgIcon };
|
|
36
40
|
|
|
37
41
|
// 导出 install 方法
|
|
38
42
|
export default {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* I think element-ui's default theme color is too light for long-term use.
|
|
3
|
+
* So I modified the default color and you can modify it to your liking.
|
|
4
|
+
**/
|
|
5
|
+
|
|
6
|
+
/* theme color */
|
|
7
|
+
$--color-primary: #4a7ff8;
|
|
8
|
+
$--color-success: #40c495;
|
|
9
|
+
$--color-warning: #ff7800;
|
|
10
|
+
$--color-danger: #f46868;
|
|
11
|
+
// $--color-info: #1E1E1E;
|
|
12
|
+
|
|
13
|
+
$--button-font-weight: 400;
|
|
14
|
+
|
|
15
|
+
// $--color-text-regular: #1f2d3d;
|
|
16
|
+
|
|
17
|
+
$--border-color-light: #dfe4ed;
|
|
18
|
+
$--border-color-lighter: #e6ebf5;
|
|
19
|
+
|
|
20
|
+
$--table-border: 1px solid#dfe6ec;
|
|
21
|
+
|
|
22
|
+
/* icon font path, required */
|
|
23
|
+
$--font-path: "~element-ui/lib/theme-chalk/fonts";
|
|
24
|
+
|
|
25
|
+
@import "~element-ui/packages/theme-chalk/src/index";
|
|
26
|
+
|
|
27
|
+
// the :export directive is the magic sauce for webpack
|
|
28
|
+
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
|
|
29
|
+
:export {
|
|
30
|
+
theme: $--color-primary;
|
|
31
|
+
}
|
package/src/styles/index.scss
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
@import
|
|
2
|
-
@import
|
|
3
|
-
@import
|
|
4
|
-
@import
|
|
5
|
-
@import
|
|
6
|
-
@import
|
|
7
|
-
@import './ruoyi.scss';
|
|
8
|
-
|
|
9
|
-
html {
|
|
10
|
-
height: 100%;
|
|
11
|
-
box-sizing: border-box;
|
|
12
|
-
}
|
|
1
|
+
@import "./variables.scss";
|
|
2
|
+
@import "./mixin.scss";
|
|
3
|
+
@import "./transition.scss";
|
|
4
|
+
@import "./element-ui.scss";
|
|
5
|
+
@import "./sidebar.scss";
|
|
6
|
+
@import "./btn.scss";
|
|
13
7
|
|
|
14
8
|
body {
|
|
15
9
|
height: 100%;
|
|
@@ -18,17 +12,24 @@ body {
|
|
|
18
12
|
text-rendering: optimizeLegibility;
|
|
19
13
|
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
|
|
20
14
|
Microsoft YaHei, Arial, sans-serif;
|
|
15
|
+
background-image: url("~@/assets/images/background.png"); // 使用你的图片路径
|
|
16
|
+
background-size: cover;
|
|
17
|
+
background-position: center;
|
|
18
|
+
background-repeat: no-repeat;
|
|
19
|
+
background-attachment: fixed; // 让背景固定,不随内容滚动
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
label {
|
|
24
23
|
font-weight: 700;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
html
|
|
28
|
-
|
|
26
|
+
html {
|
|
27
|
+
height: 100%;
|
|
28
|
+
box-sizing: border-box;
|
|
29
|
+
}
|
|
30
|
+
|
|
29
31
|
#app {
|
|
30
32
|
height: 100%;
|
|
31
|
-
overflow: hidden;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
*,
|
|
@@ -37,6 +38,14 @@ body,
|
|
|
37
38
|
box-sizing: inherit;
|
|
38
39
|
}
|
|
39
40
|
|
|
41
|
+
.no-padding {
|
|
42
|
+
padding: 0px !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.padding-content {
|
|
46
|
+
padding: 4px 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
40
49
|
a:focus,
|
|
41
50
|
a:active {
|
|
42
51
|
outline: none;
|
|
@@ -54,6 +63,34 @@ div:focus {
|
|
|
54
63
|
outline: none;
|
|
55
64
|
}
|
|
56
65
|
|
|
66
|
+
.fr {
|
|
67
|
+
float: right;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.fl {
|
|
71
|
+
float: left;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.pr-5 {
|
|
75
|
+
padding-right: 5px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.pl-5 {
|
|
79
|
+
padding-left: 5px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.block {
|
|
83
|
+
display: block;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.pointer {
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.inlineBlock {
|
|
91
|
+
display: block;
|
|
92
|
+
}
|
|
93
|
+
|
|
57
94
|
.clearfix {
|
|
58
95
|
&:after {
|
|
59
96
|
visibility: hidden;
|
|
@@ -65,9 +102,33 @@ div:focus {
|
|
|
65
102
|
}
|
|
66
103
|
}
|
|
67
104
|
|
|
68
|
-
|
|
105
|
+
aside {
|
|
106
|
+
background: #eef1f6;
|
|
107
|
+
padding: 8px 24px;
|
|
108
|
+
margin-bottom: 20px;
|
|
109
|
+
border-radius: 2px;
|
|
110
|
+
display: block;
|
|
111
|
+
line-height: 32px;
|
|
112
|
+
font-size: 16px;
|
|
113
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
|
|
114
|
+
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
115
|
+
color: #2c3e50;
|
|
116
|
+
-webkit-font-smoothing: antialiased;
|
|
117
|
+
-moz-osx-font-smoothing: grayscale;
|
|
118
|
+
|
|
119
|
+
a {
|
|
120
|
+
color: #337ab7;
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
|
|
123
|
+
&:hover {
|
|
124
|
+
color: rgb(32, 160, 255);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
//main-container全局样式
|
|
69
130
|
.app-container {
|
|
70
|
-
padding: 20px;
|
|
131
|
+
padding: 16px 20px;
|
|
71
132
|
}
|
|
72
133
|
|
|
73
134
|
.components-container {
|
|
@@ -75,10 +136,6 @@ div:focus {
|
|
|
75
136
|
position: relative;
|
|
76
137
|
}
|
|
77
138
|
|
|
78
|
-
.pagination-container {
|
|
79
|
-
margin-top: 30px;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
139
|
.text-center {
|
|
83
140
|
text-align: center;
|
|
84
141
|
}
|
|
@@ -99,6 +156,11 @@ div:focus {
|
|
|
99
156
|
rgba(33, 120, 241, 1) 100%
|
|
100
157
|
);
|
|
101
158
|
|
|
159
|
+
.subtitle {
|
|
160
|
+
font-size: 20px;
|
|
161
|
+
color: #fff;
|
|
162
|
+
}
|
|
163
|
+
|
|
102
164
|
&.draft {
|
|
103
165
|
background: #d0d0d0;
|
|
104
166
|
}
|
|
@@ -114,7 +176,7 @@ div:focus {
|
|
|
114
176
|
cursor: pointer;
|
|
115
177
|
|
|
116
178
|
&:hover {
|
|
117
|
-
color:
|
|
179
|
+
color: rgb(32, 160, 255);
|
|
118
180
|
}
|
|
119
181
|
}
|
|
120
182
|
|
|
@@ -127,102 +189,57 @@ div:focus {
|
|
|
127
189
|
margin-bottom: 10px;
|
|
128
190
|
}
|
|
129
191
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
line-height: 16px;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
.multiselect--active {
|
|
137
|
-
z-index: 1000 !important;
|
|
192
|
+
.navbar {
|
|
193
|
+
background: transparent !important;
|
|
194
|
+
box-shadow: none !important;
|
|
138
195
|
}
|
|
139
196
|
|
|
140
|
-
// 面包屑样式
|
|
141
197
|
.app-breadcrumb.el-breadcrumb {
|
|
142
|
-
|
|
143
|
-
font-size: 14px;
|
|
144
|
-
line-height: 50px;
|
|
145
|
-
margin-left: 8px;
|
|
198
|
+
background: transparent !important;
|
|
146
199
|
|
|
147
|
-
.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// 导航栏样式
|
|
154
|
-
.navbar {
|
|
155
|
-
height: 50px;
|
|
156
|
-
overflow: hidden;
|
|
157
|
-
position: relative;
|
|
158
|
-
background: #fff;
|
|
159
|
-
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
|
|
200
|
+
.el-breadcrumb__item {
|
|
201
|
+
// 默认所有面包屑项都是浅色
|
|
202
|
+
.el-breadcrumb__inner,
|
|
203
|
+
.el-breadcrumb__inner a {
|
|
204
|
+
color: #999999 !important; // 🎨 浅灰色 - 非当前页面
|
|
205
|
+
font-weight: normal; // 📏 正常字体粗细
|
|
160
206
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
cursor: pointer;
|
|
166
|
-
transition: background 0.3s;
|
|
167
|
-
-webkit-tap-highlight-color: transparent;
|
|
207
|
+
&:hover {
|
|
208
|
+
color: #666666 !important; // 🖱️ 悬停时稍深一些
|
|
209
|
+
}
|
|
210
|
+
}
|
|
168
211
|
|
|
169
|
-
|
|
170
|
-
|
|
212
|
+
// 最后一个面包屑(当前页面)显示深色并加粗
|
|
213
|
+
&:last-child .el-breadcrumb__inner,
|
|
214
|
+
&:last-child .el-breadcrumb__inner a {
|
|
215
|
+
color: #333333 !important; // 🎯 深灰色 - 当前页面
|
|
171
216
|
}
|
|
172
217
|
}
|
|
173
218
|
|
|
174
|
-
.
|
|
175
|
-
|
|
219
|
+
.el-breadcrumb__item:not(:last-child) .no-redirect {
|
|
220
|
+
color: #999999 !important; // 🎨 非最后一个的不可点击文本显示浅灰色
|
|
176
221
|
}
|
|
177
222
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
223
|
+
// 最后一个面包屑的不可点击文本保持深色
|
|
224
|
+
.el-breadcrumb__item:last-child .no-redirect {
|
|
225
|
+
color: #333 !important; // ⚫ 最后一个的不可点击文本显示黑色
|
|
226
|
+
}
|
|
227
|
+
}
|
|
182
228
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
229
|
+
/* 确保导航栏右侧菜单也透明 */
|
|
230
|
+
.right-menu {
|
|
231
|
+
.right-menu-item {
|
|
232
|
+
color: rgba(255, 255, 255, 0.8) !important;
|
|
186
233
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
padding: 0 8px;
|
|
190
|
-
height: 100%;
|
|
191
|
-
font-size: 18px;
|
|
192
|
-
color: #5a5e66;
|
|
193
|
-
vertical-align: text-bottom;
|
|
194
|
-
|
|
195
|
-
&.hover-effect {
|
|
196
|
-
cursor: pointer;
|
|
197
|
-
transition: background 0.3s;
|
|
198
|
-
|
|
199
|
-
&:hover {
|
|
200
|
-
background: rgba(0, 0, 0, 0.025);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
234
|
+
&.hover-effect:hover {
|
|
235
|
+
background: rgba(255, 255, 255, 0.1) !important;
|
|
203
236
|
}
|
|
237
|
+
}
|
|
204
238
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
margin-top: 5px;
|
|
210
|
-
position: relative;
|
|
211
|
-
|
|
212
|
-
.user-avatar {
|
|
213
|
-
cursor: pointer;
|
|
214
|
-
width: 40px;
|
|
215
|
-
height: 40px;
|
|
216
|
-
border-radius: 10px;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.el-icon-caret-bottom {
|
|
220
|
-
cursor: pointer;
|
|
221
|
-
position: absolute;
|
|
222
|
-
right: -20px;
|
|
223
|
-
top: 25px;
|
|
224
|
-
font-size: 12px;
|
|
225
|
-
}
|
|
239
|
+
.avatar-container {
|
|
240
|
+
.avatar-wrapper {
|
|
241
|
+
.user-nickname {
|
|
242
|
+
/* color: rgba(255, 255, 255, 0.9) !important; */
|
|
226
243
|
}
|
|
227
244
|
}
|
|
228
245
|
}
|