vue2-client 1.7.0 → 1.7.1

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.
Files changed (126) hide show
  1. package/.env +15 -15
  2. package/CHANGELOG.md +31 -1
  3. package/Components.md +60 -0
  4. package/index.js +39 -30
  5. package/package.json +4 -2
  6. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +316 -316
  7. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  8. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -667
  9. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +735 -733
  10. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +466 -468
  11. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +510 -508
  12. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +144 -146
  13. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  14. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  15. package/src/base-client/components/common/Upload/Upload.vue +168 -168
  16. package/src/base-client/components/common/XAddForm/XAddForm.vue +72 -325
  17. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +365 -279
  18. package/src/base-client/components/common/XAddNativeForm/index.md +96 -56
  19. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  20. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -0
  21. package/src/base-client/components/common/XDataDrawer/index.js +3 -0
  22. package/src/base-client/components/common/XDataDrawer/index.md +41 -0
  23. package/src/base-client/components/common/XForm/XForm.vue +178 -180
  24. package/src/base-client/components/common/XForm/XFormItem.vue +521 -513
  25. package/src/base-client/components/common/XForm/XTreeSelect.vue +184 -184
  26. package/src/base-client/components/common/XFormCol/XFormCol.vue +38 -38
  27. package/src/base-client/components/common/XFormTable/XFormTable.vue +356 -344
  28. package/src/base-client/components/common/XFormTable/index.md +97 -97
  29. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +132 -132
  30. package/src/base-client/components/common/XTable/XTable.vue +519 -506
  31. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +111 -111
  32. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  33. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  34. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  35. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  36. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  37. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  38. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  39. package/src/base-client/plugins/AppData.js +76 -76
  40. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  41. package/src/base-client/plugins/PagedList.js +177 -177
  42. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  43. package/src/base-client/plugins/i18n-extend.js +32 -32
  44. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  45. package/src/components/Ellipsis/index.md +38 -38
  46. package/src/components/NumberInfo/index.md +43 -43
  47. package/src/components/STable/README.md +341 -341
  48. package/src/components/STable/index.js +318 -318
  49. package/src/components/Trend/index.md +45 -45
  50. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  51. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  52. package/src/components/exception/ExceptionPage.vue +70 -70
  53. package/src/components/form/FormRow.vue +52 -52
  54. package/src/components/index.js +36 -36
  55. package/src/components/menu/SideMenu.vue +62 -62
  56. package/src/components/menu/menu.js +273 -273
  57. package/src/components/page/header/index.less +40 -40
  58. package/src/components/setting/Setting.vue +235 -235
  59. package/src/components/table/StandardTable.vue +141 -141
  60. package/src/components/table/advance/ActionColumns.vue +158 -158
  61. package/src/components/table/advance/SearchArea.vue +355 -355
  62. package/src/components/tool/AStepItem.vue +60 -60
  63. package/src/components/tool/AvatarList.vue +68 -68
  64. package/src/components/tool/Drawer.vue +142 -142
  65. package/src/components/tool/TagSelect.vue +83 -83
  66. package/src/components/transition/PageToggleTransition.vue +97 -97
  67. package/src/config/CreateQueryConfig.js +307 -307
  68. package/src/config/default/admin.config.js +18 -18
  69. package/src/config/default/setting.config.js +3 -1
  70. package/src/config/replacer/resolve.config.js +67 -67
  71. package/src/layouts/CommonLayout.vue +42 -42
  72. package/src/layouts/ComponentLayoutOne.vue +47 -47
  73. package/src/layouts/PageLayout.vue +151 -151
  74. package/src/layouts/SinglePageView.vue +116 -116
  75. package/src/layouts/footer/PageFooter.vue +49 -49
  76. package/src/layouts/header/AdminHeader.vue +134 -134
  77. package/src/layouts/header/HeaderAvatar.vue +64 -64
  78. package/src/layouts/header/HeaderNotice.vue +176 -176
  79. package/src/layouts/header/HeaderSearch.vue +67 -67
  80. package/src/layouts/header/InstitutionDetail.vue +181 -181
  81. package/src/layouts/header/index.less +92 -92
  82. package/src/layouts/tabs/TabsHead.vue +190 -190
  83. package/src/layouts/tabs/TabsView.vue +379 -379
  84. package/src/mock/goods/index.js +108 -108
  85. package/src/pages/CreateQueryPage.vue +84 -84
  86. package/src/pages/login/Login.vue +369 -369
  87. package/src/pages/report/ReportTable.js +124 -124
  88. package/src/pages/report/ReportTableHome.vue +28 -28
  89. package/src/pages/resourceManage/orgListManage.vue +98 -98
  90. package/src/pages/system/dictionary/index.vue +43 -43
  91. package/src/pages/system/file/index.vue +317 -317
  92. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  93. package/src/pages/system/monitor/operLog/index.vue +36 -36
  94. package/src/pages/system/settings/index.vue +126 -126
  95. package/src/pages/system/settings/modifyPassword.vue +109 -109
  96. package/src/router/async/config.async.js +28 -28
  97. package/src/router/async/router.map.js +66 -66
  98. package/src/router/guards.js +52 -12
  99. package/src/router/index.js +27 -27
  100. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  101. package/src/services/api/LogDetailsViewApi.js +10 -10
  102. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  103. package/src/services/api/TicketDetailsViewApi.js +34 -34
  104. package/src/services/api/cas.js +79 -79
  105. package/src/services/api/common.js +137 -137
  106. package/src/services/api/commonTempTable.js +10 -10
  107. package/src/services/api/index.js +17 -17
  108. package/src/services/api/logininfor/index.js +6 -6
  109. package/src/services/api/manage.js +8 -8
  110. package/src/services/apiService.js +14 -14
  111. package/src/services/user.js +67 -67
  112. package/src/store/modules/index.js +4 -4
  113. package/src/theme/default/nprogress.less +76 -76
  114. package/src/theme/default/style.less +58 -58
  115. package/src/utils/EncryptUtil.js +53 -53
  116. package/src/utils/colors.js +107 -107
  117. package/src/utils/excel/Blob.js +180 -180
  118. package/src/utils/excel/Export2Excel.js +141 -141
  119. package/src/utils/formatter.js +68 -68
  120. package/src/utils/i18n.js +80 -80
  121. package/src/utils/login.js +138 -0
  122. package/src/utils/map-utils.js +37 -37
  123. package/src/utils/theme-color-replacer-extend.js +91 -91
  124. package/src/utils/themeUtil.js +100 -100
  125. package/src/utils/util.js +230 -230
  126. package/vue.config.js +106 -106
@@ -1,181 +1,181 @@
1
- <template>
2
- <div style="position: relative;">
3
- <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
- <p>简述: {{ institutionData.f_sketch }}</p>
5
- <p>时间: {{ format(institutionData.f_effective_date) }}</p>
6
- <div v-if="showDocument" class="content">
7
- <iframe :src="institutionDocUrl" frameborder="0" height="100%" width="100%"></iframe>
8
- </div>
9
- <!-- 其他附件 -->
10
- <div class="other-file">
11
- <div class="title">其他信息:</div>
12
- <div v-for="file in otherFiles" :key="file.id">
13
- <a class="file-item">
14
- <span class="file-action" @click="handlePreviewDoc(file.url)">
15
- <a-icon type="link" />{{ file.name }}
16
- </span>
17
- <span class="file-action" @click="handlePreviewDoc(file.url)">
18
- <a-icon type="eye" />预览
19
- </span>
20
- <a class="file-action" target="_blank" @click="handlePreDowDoc(file)"><a-icon type="download" />下载</a>
21
- </a>
22
- </div>
23
- </div>
24
- <!-- 其他附件预览 -->
25
- <a-modal v-model="previewDocVisible" :dialog-style="{ top: '20px' }" :footer="null" :z-index="1001" width="97%">
26
- <div class="preview-doc-container">
27
- <a-spin :spinning="previewDocLoading" size="large" />
28
- <iframe
29
- v-show="!previewDocLoading"
30
- :src="previewDocUrl"
31
- frameborder="0"
32
- height="100%"
33
- width="100%"
34
- @load="previewDocLoading = false" />
35
- </div>
36
- </a-modal>
37
- <a-button class="submit_btn" type="primary" @click="confirm_institution">确认</a-button>
38
- </div>
39
- </template>
40
-
41
- <script>
42
- import { Base64 } from 'js-base64'
43
- import { post } from '@vue2-client/services/api/restTools'
44
- import { formatDate } from '@vue2-client/utils/util'
45
-
46
- export default {
47
- name: 'InstitutionDetail',
48
- props: {
49
- institutionId: {
50
- type: Number,
51
- default: undefined
52
- },
53
- affirmInstitution: {
54
- type: Number,
55
- default: undefined
56
- }
57
- },
58
- data () {
59
- return {
60
- institutionDocUrl: undefined,
61
- showDocument: false,
62
- otherFiles: [],
63
- institutionData: {},
64
- previewDocVisible: false,
65
- previewDocUrl: undefined,
66
- previewDocLoading: false
67
- }
68
- },
69
- watch: {
70
- institutionId () {
71
- this.getDetailData()
72
- }
73
- },
74
- mounted () {
75
- this.getDetailData()
76
- },
77
- methods: {
78
- // 获取详情数据
79
- getDetailData () {
80
- if (!this.institutionId) {
81
- return
82
- }
83
- const otherFiles = []
84
- post('/api/system/logic/getInstitutionDetail', {
85
- id: this.institutionId
86
- }).then(res => {
87
- res.files.forEach(item => {
88
- if (item.use_type === '制度文件') {
89
- this.institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
90
- this.showDocument = true
91
- } else {
92
- otherFiles.push(item)
93
- }
94
- })
95
- this.institutionData = res.institution
96
- this.otherFiles = otherFiles
97
- })
98
- },
99
- format (dateStr) {
100
- return formatDate(dateStr, 'yyyy-MM-dd')
101
- },
102
- // 其他附件预览
103
- handlePreviewDoc (url) {
104
- const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
105
- if (this.previewDocUrl !== previewDocUrl) {
106
- this.previewDocLoading = true
107
- this.previewDocUrl = previewDocUrl
108
- }
109
- this.previewDocVisible = true
110
- },
111
- // 下载文档
112
- handlePreDowDoc (file) {
113
- const a = document.createElement('a')
114
- a.href = file.url
115
- a.download = file.name
116
- a.click()
117
- },
118
- confirm_institution () {
119
- post('/api/system/logic/affirmInstitution', {
120
- data: {
121
- tobe: [
122
- {
123
- id: this.affirmInstitution,
124
- f_affirm_type: '系统确认'
125
- }
126
- ]
127
- }
128
- }).then(res => {
129
- this.$message.success('确认成功')
130
- this.$emit('get_to_be_confirmed')
131
- })
132
- },
133
- }
134
- }
135
- // 文档预览服务 API
136
- const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
137
- // 文件服务器地址
138
- const fileServer = 'http://123.60.214.109:8406'
139
- </script>
140
-
141
- <style lang="less" scoped>
142
- .submit_btn{
143
- position: absolute;
144
- right:0;
145
- top: 0;
146
- }
147
- .content {
148
- height: 80vh;
149
- img {
150
- max-width: 100%;
151
- }
152
- }
153
- .other-file {
154
- margin: 16px 0;
155
- .title {
156
- margin-bottom: 6px;
157
- }
158
- }
159
- .file-item {
160
- .file-action {
161
- padding: 3px 4px;
162
- color: #1890ff;
163
- &:hover {
164
- background: #e6f7ff;
165
- }
166
- }
167
- .anticon {
168
- margin-right: 3px;
169
- }
170
- }
171
- .file-list-title {
172
- color: rgba(0, 0, 0, 0.85);
173
- font-weight: bold;
174
- font-size: 16px;
175
- margin-bottom: 8px;
176
- }
177
- .preview-doc-container {
178
- height: calc(100vh - 92px);
179
- padding-top: 20px;
180
- }
181
- </style>
1
+ <template>
2
+ <div style="position: relative;">
3
+ <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
+ <p>简述: {{ institutionData.f_sketch }}</p>
5
+ <p>时间: {{ format(institutionData.f_effective_date) }}</p>
6
+ <div v-if="showDocument" class="content">
7
+ <iframe :src="institutionDocUrl" frameborder="0" height="100%" width="100%"></iframe>
8
+ </div>
9
+ <!-- 其他附件 -->
10
+ <div class="other-file">
11
+ <div class="title">其他信息:</div>
12
+ <div v-for="file in otherFiles" :key="file.id">
13
+ <a class="file-item">
14
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
15
+ <a-icon type="link" />{{ file.name }}
16
+ </span>
17
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
18
+ <a-icon type="eye" />预览
19
+ </span>
20
+ <a class="file-action" target="_blank" @click="handlePreDowDoc(file)"><a-icon type="download" />下载</a>
21
+ </a>
22
+ </div>
23
+ </div>
24
+ <!-- 其他附件预览 -->
25
+ <a-modal v-model="previewDocVisible" :dialog-style="{ top: '20px' }" :footer="null" :z-index="1001" width="97%">
26
+ <div class="preview-doc-container">
27
+ <a-spin :spinning="previewDocLoading" size="large" />
28
+ <iframe
29
+ v-show="!previewDocLoading"
30
+ :src="previewDocUrl"
31
+ frameborder="0"
32
+ height="100%"
33
+ width="100%"
34
+ @load="previewDocLoading = false" />
35
+ </div>
36
+ </a-modal>
37
+ <a-button class="submit_btn" type="primary" @click="confirm_institution">确认</a-button>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import { Base64 } from 'js-base64'
43
+ import { post } from '@vue2-client/services/api/restTools'
44
+ import { formatDate } from '@vue2-client/utils/util'
45
+
46
+ export default {
47
+ name: 'InstitutionDetail',
48
+ props: {
49
+ institutionId: {
50
+ type: Number,
51
+ default: undefined
52
+ },
53
+ affirmInstitution: {
54
+ type: Number,
55
+ default: undefined
56
+ }
57
+ },
58
+ data () {
59
+ return {
60
+ institutionDocUrl: undefined,
61
+ showDocument: false,
62
+ otherFiles: [],
63
+ institutionData: {},
64
+ previewDocVisible: false,
65
+ previewDocUrl: undefined,
66
+ previewDocLoading: false
67
+ }
68
+ },
69
+ watch: {
70
+ institutionId () {
71
+ this.getDetailData()
72
+ }
73
+ },
74
+ mounted () {
75
+ this.getDetailData()
76
+ },
77
+ methods: {
78
+ // 获取详情数据
79
+ getDetailData () {
80
+ if (!this.institutionId) {
81
+ return
82
+ }
83
+ const otherFiles = []
84
+ post('/api/system/logic/getInstitutionDetail', {
85
+ id: this.institutionId
86
+ }).then(res => {
87
+ res.files.forEach(item => {
88
+ if (item.use_type === '制度文件') {
89
+ this.institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
90
+ this.showDocument = true
91
+ } else {
92
+ otherFiles.push(item)
93
+ }
94
+ })
95
+ this.institutionData = res.institution
96
+ this.otherFiles = otherFiles
97
+ })
98
+ },
99
+ format (dateStr) {
100
+ return formatDate(dateStr, 'yyyy-MM-dd')
101
+ },
102
+ // 其他附件预览
103
+ handlePreviewDoc (url) {
104
+ const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
105
+ if (this.previewDocUrl !== previewDocUrl) {
106
+ this.previewDocLoading = true
107
+ this.previewDocUrl = previewDocUrl
108
+ }
109
+ this.previewDocVisible = true
110
+ },
111
+ // 下载文档
112
+ handlePreDowDoc (file) {
113
+ const a = document.createElement('a')
114
+ a.href = file.url
115
+ a.download = file.name
116
+ a.click()
117
+ },
118
+ confirm_institution () {
119
+ post('/api/system/logic/affirmInstitution', {
120
+ data: {
121
+ tobe: [
122
+ {
123
+ id: this.affirmInstitution,
124
+ f_affirm_type: '系统确认'
125
+ }
126
+ ]
127
+ }
128
+ }).then(res => {
129
+ this.$message.success('确认成功')
130
+ this.$emit('get_to_be_confirmed')
131
+ })
132
+ },
133
+ }
134
+ }
135
+ // 文档预览服务 API
136
+ const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
137
+ // 文件服务器地址
138
+ const fileServer = 'http://123.60.214.109:8406'
139
+ </script>
140
+
141
+ <style lang="less" scoped>
142
+ .submit_btn{
143
+ position: absolute;
144
+ right:0;
145
+ top: 0;
146
+ }
147
+ .content {
148
+ height: 80vh;
149
+ img {
150
+ max-width: 100%;
151
+ }
152
+ }
153
+ .other-file {
154
+ margin: 16px 0;
155
+ .title {
156
+ margin-bottom: 6px;
157
+ }
158
+ }
159
+ .file-item {
160
+ .file-action {
161
+ padding: 3px 4px;
162
+ color: #1890ff;
163
+ &:hover {
164
+ background: #e6f7ff;
165
+ }
166
+ }
167
+ .anticon {
168
+ margin-right: 3px;
169
+ }
170
+ }
171
+ .file-list-title {
172
+ color: rgba(0, 0, 0, 0.85);
173
+ font-weight: bold;
174
+ font-size: 16px;
175
+ margin-bottom: 8px;
176
+ }
177
+ .preview-doc-container {
178
+ height: calc(100vh - 92px);
179
+ padding-top: 20px;
180
+ }
181
+ </style>
@@ -1,92 +1,92 @@
1
- .admin-header{
2
- padding: 0;
3
- z-index: 2;
4
- box-shadow: @shadow-down;
5
- position: relative;
6
- background: @base-bg-color;
7
- .head-menu{
8
- height: 64px;
9
- line-height: 64px;
10
- vertical-align: middle;
11
- box-shadow: none;
12
- }
13
- &.dark{
14
- background: @header-bg-color-dark;
15
- color: white;
16
- }
17
- &.night{
18
- .head-menu{
19
- background: @base-bg-color;
20
- }
21
- }
22
- .admin-header-wide{
23
- padding-left: 24px;
24
- &.head.fixed{
25
- padding: 0 24px;
26
- max-width: 100%;
27
- margin: auto;
28
- }
29
- &.side{
30
- padding-right: 12px;
31
- }
32
- .logo {
33
- height: 64px;
34
- line-height: 58px;
35
- vertical-align: top;
36
- display: inline-block;
37
- padding: 0 12px 0 24px;
38
- cursor: pointer;
39
- font-size: 20px;
40
- color: inherit;
41
- &.pc{
42
- padding: 0 12px 0 0;
43
- }
44
- img {
45
- vertical-align: middle;
46
- }
47
- h1{
48
- color: inherit;
49
- display: inline-block;
50
- font-size: 16px;
51
- }
52
- }
53
- .trigger {
54
- font-size: 20px;
55
- line-height: 64px;
56
- padding: 0 24px;
57
- cursor: pointer;
58
- transition: color .3s;
59
- &:hover{
60
- color: @primary-color;
61
- }
62
- }
63
- .admin-header-menu{
64
- display: inline-block;
65
- }
66
- .admin-header-right{
67
- float: right;
68
- display: flex;
69
- color: inherit;
70
- .header-item{
71
- color: inherit;
72
- padding: 0 12px;
73
- cursor: pointer;
74
- align-self: center;
75
- a{
76
- color: inherit;
77
- i{
78
- font-size: 16px;
79
- }
80
- }
81
- }
82
- each(@theme-list, {
83
- &.@{value} .header-item{
84
- &:hover{
85
- @class: ~'hover-bg-color-@{value}';
86
- background-color: @@class;
87
- }
88
- }
89
- })
90
- }
91
- }
92
- }
1
+ .admin-header{
2
+ padding: 0;
3
+ z-index: 2;
4
+ box-shadow: @shadow-down;
5
+ position: relative;
6
+ background: @base-bg-color;
7
+ .head-menu{
8
+ height: 64px;
9
+ line-height: 64px;
10
+ vertical-align: middle;
11
+ box-shadow: none;
12
+ }
13
+ &.dark{
14
+ background: @header-bg-color-dark;
15
+ color: white;
16
+ }
17
+ &.night{
18
+ .head-menu{
19
+ background: @base-bg-color;
20
+ }
21
+ }
22
+ .admin-header-wide{
23
+ padding-left: 24px;
24
+ &.head.fixed{
25
+ padding: 0 24px;
26
+ max-width: 100%;
27
+ margin: auto;
28
+ }
29
+ &.side{
30
+ padding-right: 12px;
31
+ }
32
+ .logo {
33
+ height: 64px;
34
+ line-height: 58px;
35
+ vertical-align: top;
36
+ display: inline-block;
37
+ padding: 0 12px 0 24px;
38
+ cursor: pointer;
39
+ font-size: 20px;
40
+ color: inherit;
41
+ &.pc{
42
+ padding: 0 12px 0 0;
43
+ }
44
+ img {
45
+ vertical-align: middle;
46
+ }
47
+ h1{
48
+ color: inherit;
49
+ display: inline-block;
50
+ font-size: 16px;
51
+ }
52
+ }
53
+ .trigger {
54
+ font-size: 20px;
55
+ line-height: 64px;
56
+ padding: 0 24px;
57
+ cursor: pointer;
58
+ transition: color .3s;
59
+ &:hover{
60
+ color: @primary-color;
61
+ }
62
+ }
63
+ .admin-header-menu{
64
+ display: inline-block;
65
+ }
66
+ .admin-header-right{
67
+ float: right;
68
+ display: flex;
69
+ color: inherit;
70
+ .header-item{
71
+ color: inherit;
72
+ padding: 0 12px;
73
+ cursor: pointer;
74
+ align-self: center;
75
+ a{
76
+ color: inherit;
77
+ i{
78
+ font-size: 16px;
79
+ }
80
+ }
81
+ }
82
+ each(@theme-list, {
83
+ &.@{value} .header-item{
84
+ &:hover{
85
+ @class: ~'hover-bg-color-@{value}';
86
+ background-color: @@class;
87
+ }
88
+ }
89
+ })
90
+ }
91
+ }
92
+ }