@utogether/udp-core 1.0.1-beta.16 → 1.0.1-beta.17

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 (122) hide show
  1. package/build/plugins.ts +39 -39
  2. package/dist/{403-RBzulrcG.js → 403-C3cfjZIT.js} +1 -1
  3. package/dist/{404-DX-dU_6C.js → 404-Bg3j7QIo.js} +1 -1
  4. package/dist/{500-BCTk0__d.js → 500-CMT7Zyy7.js} +1 -1
  5. package/dist/{AuthorityInfo-BADTOenq.js → AuthorityInfo-B1mvqs4x.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-Cv46yAx_.js → AuthorityInfo.vue_vue_type_style_index_0_lang-DwoW7QWO.js} +1 -1
  7. package/dist/{Company-B-61KrWd.js → Company-qTguidK8.js} +3 -3
  8. package/dist/{CompanyPanel-CawSrEff.js → CompanyPanel-BBC-o-k3.js} +8 -8
  9. package/dist/{Department-CrzJPtvP.js → Department-C3mKZOnK.js} +3 -3
  10. package/dist/{DepartmentPanel-DYuL8H-j.js → DepartmentPanel-CNdpOHBT.js} +3 -3
  11. package/dist/{DesignPanel-DEAv6V68.js → DesignPanel-D9jrRCoG.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-BsnXZ2td.js → DesignPanel.vue_vue_type_style_index_0_lang-A-Aj1Hl0.js} +2 -2
  13. package/dist/{DictView-BuO-2b-c.js → DictView-CgdVkSiP.js} +1 -1
  14. package/dist/{InvOrganization-CBgKBJAn.js → InvOrganization-RE7s3vBq.js} +1 -1
  15. package/dist/{Org-BaQw2r-o.js → Org-wXDGvTrS.js} +1 -1
  16. package/dist/{Preview-DvCrmKNk.js → Preview-Pvt1__BV.js} +1 -1
  17. package/dist/{ReportDefine-DyhWz0as.js → ReportDefine-xEQsgFyv.js} +1 -1
  18. package/dist/{ReportDesign-DgZ2f2zv.js → ReportDesign-jOSuEFH9.js} +2 -2
  19. package/dist/{ReportQuery-DTZYbCDi.js → ReportQuery-DxEmmGiN.js} +1 -1
  20. package/dist/{ReportQueryFrom-B-vtJegP.js → ReportQueryFrom-CFlxfS5M.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-D6izgxph.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-iHpiYz8f.js} +1 -1
  22. package/dist/{ReportTemplate-DA1ZqKGf.js → ReportTemplate-Dtz3aet7.js} +1 -1
  23. package/dist/{Role-mbqoav5t.js → Role-B_NsHIyE.js} +3 -3
  24. package/dist/{RoleAssign-ltEJIEcr.js → RoleAssign-C9wm4zq4.js} +8 -8
  25. package/dist/{RolePanel-u90v9eS0.js → RolePanel-BlHidBR0.js} +1 -1
  26. package/dist/{RolePanel-1g1a-G8D.js → RolePanel-DWM9mfNs.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-D9YxpGnt.js → RolePanel.vue_vue_type_script_setup_true_lang-Cn4RRzXm.js} +1 -1
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-LC4Egk-Q.js → RolePanel.vue_vue_type_script_setup_true_lang-DVQ9aqb1.js} +3 -3
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-DZ3W1epK.js → ScrollPanel.vue_vue_type_style_index_0_lang-CCm-_i8O.js} +1 -1
  30. package/dist/{Staff-CJ2GgCL3.js → Staff-BfDc61QS.js} +3 -3
  31. package/dist/{StaffInfo-3KkodDCK.js → StaffInfo-BaJFo4mg.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-CW-isIxJ.js → StaffInfo.vue_vue_type_script_setup_true_lang-Bwj4x1wu.js} +1 -1
  33. package/dist/{StaffPanel-DoXPSoY5.js → StaffPanel-B6I2ZS6A.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-DvhGnOMZ.js → StaffPanel.vue_vue_type_script_setup_true_lang-vbyS4w3V.js} +2 -2
  35. package/dist/{SysUser-BuIZhMPh.js → SysUser-B_r9LYc5.js} +2 -2
  36. package/dist/{SysUserPanel-t1GJcJGM.js → SysUserPanel-C4ajcHPV.js} +1 -1
  37. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-CDDkFLlN.js → SysUserPanel.vue_vue_type_script_setup_true_lang-8Q0VvC9B.js} +43 -39
  38. package/dist/{SystemMenu-DuLEL6_l.js → SystemMenu-CyPG23uP.js} +2 -2
  39. package/dist/{UserInfo-WWby4lts.js → UserInfo-BkoGt4ib.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-B06ZSrJV.js → UserInfo.vue_vue_type_style_index_0_lang-DrzF1YYG.js} +1 -1
  41. package/dist/{childView-B0-EAoAi.js → childView-9vEO8ymO.js} +1 -1
  42. package/dist/{childView-IYY4L8VK.js → childView-Dh0NyiQe.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-CjF8nZuj.js → childView.vue_vue_type_style_index_0_lang-BOeoZuAK.js} +2 -2
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-B56v6yK7.js → childView.vue_vue_type_style_index_0_lang-CMOjfXBX.js} +1 -1
  45. package/dist/{code-rule-DDLdi3pP.js → code-rule-C7jI_1gJ.js} +1 -1
  46. package/dist/core.es.js +1 -1
  47. package/dist/{cron-task-p3-AFN1w.js → cron-task-Dg9DJXvv.js} +1 -1
  48. package/dist/{frameView-B_WAZErD.js → frameView-CeR-_hjB.js} +1 -1
  49. package/dist/{index-24fnvUBy.js → index-Bb7gIEvu.js} +611 -569
  50. package/dist/{layoutView-CoEp2afn.js → layoutView-wsLHrEeX.js} +1340 -1337
  51. package/dist/{login-DP0oP70W.js → login-CluzzdqH.js} +2 -2
  52. package/dist/{lov-view-BDoZRK-v.js → lov-view-BvQCvwbW.js} +2 -2
  53. package/dist/{menuInfo-5Xls76qB.js → menuInfo-B8RLelIC.js} +1 -1
  54. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BfZczW9a.js → menuInfo.vue_vue_type_style_index_0_lang-DvkapEZr.js} +1 -1
  55. package/dist/{pda-app-DxGYn4G7.js → pda-app-D3LNmD9a.js} +2 -2
  56. package/dist/{resource-BnYWe_-Q.js → resource-D8JA_03-.js} +1 -1
  57. package/dist/{su-welcome-B2rNhhDH.js → su-welcome-BjxeEKSo.js} +1 -1
  58. package/dist/{sys-config-Bb4WkxZK.js → sys-config-sbeLk9bP.js} +1 -1
  59. package/dist/udp-core.css +1 -9
  60. package/index.ts +48 -48
  61. package/package.json +1 -1
  62. package/src/App.vue +65 -65
  63. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  64. package/src/components/SuScrollTree/ScrollPanel.vue +170 -175
  65. package/src/components/udp/{grid.vue → grid/index.vue} +27 -24
  66. package/src/components/udp/index.ts +2 -9
  67. package/src/components/udp/utils.ts +60 -107
  68. package/src/layout/components/lay-navbar/index.vue +239 -239
  69. package/src/layout/components/lay-panel/index.vue +150 -150
  70. package/src/layout/components/lay-search/index.vue +25 -25
  71. package/src/layout/components/lay-select-org/index.vue +64 -64
  72. package/src/layout/components/lay-sidebar/horizontal.vue +190 -190
  73. package/src/layout/components/lay-sidebar/mixNav.vue +260 -260
  74. package/src/layout/components/lay-sidebar/sidebar-logo.vue +92 -92
  75. package/src/layout/components/lay-tag/index.vue +20 -48
  76. package/src/layout/hooks/useNav.ts +173 -173
  77. package/src/layout/hooks/useTag.ts +5 -3
  78. package/src/layout/types.ts +3 -2
  79. package/src/main.ts +9 -6
  80. package/src/plugins/i18n/en.ts +302 -302
  81. package/src/plugins/i18n/zh.ts +356 -354
  82. package/src/plugins/vxe-table/index.ts +116 -53
  83. package/src/plugins/vxe-table/render.tsx +956 -956
  84. package/src/router/index.ts +186 -177
  85. package/src/router/modules/remaining.ts +58 -58
  86. package/src/router/utils.ts +393 -377
  87. package/src/store/modules/app.ts +1 -3
  88. package/src/store/modules/multiTags.ts +110 -109
  89. package/src/store/modules/permission.ts +113 -100
  90. package/src/style/button.scss +85 -85
  91. package/src/style/login.css +336 -336
  92. package/src/style/vxetable.scss +13 -3
  93. package/src/views/organization/company/CompanyPanel.vue +259 -259
  94. package/src/views/organization/department/DepartmentPanel.vue +269 -283
  95. package/src/views/system/menu/SystemMenu.vue +183 -183
  96. package/src/views/system/menu/menuInfo.vue +363 -363
  97. package/src/views/system/role/UserInfo.vue +195 -195
  98. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  99. package/src/views/system/role-assign/RolePanel.vue +139 -139
  100. package/src/views/system/sys/sys-config.vue +336 -336
  101. package/src/views/system/sysUser/SysUserPanel.vue +279 -278
  102. package/src/views/uapp/pda/pda-app.vue +208 -208
  103. package/src/views/udev/dict/DictView.vue +118 -118
  104. package/src/views/udev/dict/childView.vue +1 -1
  105. package/src/views/udev/lov/lov-view.vue +91 -91
  106. package/src/views/ulogin/login.vue +323 -323
  107. package/src/views/upms/interface/log-out.vue +101 -101
  108. package/src/views/urpt/design/DesignPanel.vue +507 -507
  109. package/types/global.d.ts +230 -230
  110. package/src/components/udp/count-down.vue +0 -536
  111. package/src/components/udp/flip-down/FlipCard/flip-card.vue +0 -251
  112. package/src/components/udp/flip-down/FlipCard/interfaces.ts +0 -4
  113. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +0 -113
  114. package/src/components/udp/form-upload.vue +0 -482
  115. package/src/components/udp/form.vue +0 -112
  116. package/src/components/udp/lov.vue +0 -388
  117. package/src/components/udp/modal-form.vue +0 -190
  118. package/src/components/udp/modal-grid.vue +0 -298
  119. package/src/components/udp/upload.vue +0 -423
  120. package/src/utils/udp/http/index.ts +0 -294
  121. package/src/utils/udp/http/types.d.ts +0 -49
  122. package/src/utils/udp/useRender.ts +0 -431
@@ -1,336 +1,336 @@
1
- .wave {
2
- position: fixed;
3
- height: 100%;
4
- left: 0;
5
- bottom: 0;
6
- z-index: -1;
7
- }
8
-
9
- .login-container {
10
- width: 100vw;
11
- height: 100vh;
12
- display: flex;
13
- justify-content: flex-end;
14
- background-color: #2a5f97;
15
- /* background: url('../assets/login/default-bg.png') no-repeat center; */
16
- background-repeat: no-repeat;
17
- background-position: center;
18
- /* display: grid; */
19
- /* grid-template-columns: repeat(2, 1fr); */
20
- /* grid-gap: 18rem; */
21
- background-size: cover;
22
- /* padding: 0 2rem; */
23
- }
24
-
25
- .img {
26
- display: flex;
27
- justify-content: flex-end;
28
- align-items: center;
29
- }
30
-
31
- .img img {
32
- width: 800px;
33
- }
34
-
35
- .login-box {
36
- display: flex;
37
- align-items: center;
38
- text-align: center;
39
- padding-right: 60px;
40
- }
41
-
42
- .login-form {
43
- width: 360px;
44
- padding: 20px;
45
- background: url('../assets/images/login.png') no-repeat center;
46
- }
47
-
48
- .avatar {
49
- width: 350px;
50
- height: 80px;
51
- }
52
-
53
- .login-form h2 {
54
- text-transform: uppercase;
55
- margin: 15px 0;
56
- color: #fff;
57
- font:
58
- bold 200% Consolas,
59
- Monaco,
60
- monospace;
61
- }
62
-
63
- .input-group {
64
- position: relative;
65
- display: grid;
66
- grid-template-columns: 7% 93%;
67
- margin: 25px 0;
68
- padding: 5px 0;
69
- border-bottom: 2px solid #d9d9d9;
70
- }
71
-
72
- .input-group:nth-child(1) {
73
- margin-bottom: 4px;
74
- }
75
-
76
- .input-group::before,
77
- .input-group::after {
78
- content: '';
79
- position: absolute;
80
- bottom: -2px;
81
- width: 0;
82
- height: 2px;
83
- background-color: #c5d3f7;
84
- transition: 0.5s;
85
- }
86
-
87
- .input-group::after {
88
- right: 50%;
89
- }
90
-
91
- .input-group::before {
92
- left: 50%;
93
- }
94
-
95
- .icon {
96
- display: flex;
97
- justify-content: center;
98
- align-items: center;
99
- color: #fff;
100
- }
101
-
102
- .icon svg {
103
- color: #fff;
104
- transition: 0.5s;
105
- height: 20px;
106
- width: 20px;
107
- }
108
-
109
- .input-group > div {
110
- position: relative;
111
- height: 45px;
112
- }
113
-
114
- .input-group > div > h5 {
115
- position: absolute;
116
- left: 10px;
117
- top: 50%;
118
- transform: translateY(-50%);
119
- color: #fff;
120
- font-size: 18px;
121
- transition: 0.3s;
122
- margin: 0;
123
- padding: 0;
124
- }
125
-
126
- .input-group.focus .icon svg {
127
- color: #fff;
128
- height: 20px;
129
- width: 20px;
130
- }
131
-
132
- .input-group.focus div h5 {
133
- top: -5px;
134
- font-size: 15px;
135
- }
136
-
137
- .input-group.focus::after,
138
- .input-group.focus::before {
139
- width: 50%;
140
- }
141
-
142
- .input {
143
- position: absolute;
144
- width: 100%;
145
- /* height: 100%; */
146
- top: 0;
147
- left: 0;
148
- border: none;
149
- outline: none;
150
- /* background: none; */
151
- padding: 0.5rem 0.7rem;
152
- font-size: 16px;
153
- /* color: #fff; */
154
- font-family: 'Roboto', sans-serif;
155
-
156
- height: 36px;
157
- border-radius: 5px;
158
- top: 5px;
159
- margin-left: 5px;
160
- background-color: #fff;
161
- color: #000;
162
- }
163
-
164
- .input-group.focus.input {
165
- height: 36px;
166
- border-radius: 5px;
167
- top: 5px;
168
- margin-left: 5px;
169
- /* width: calc(100%-10px); */
170
- background-color: #fff;
171
- color: #000;
172
- }
173
-
174
- a {
175
- display: block;
176
- text-align: right;
177
- text-decoration: none;
178
- color: #999;
179
- font-size: 0.9rem;
180
- transition: 0.3s;
181
- }
182
-
183
- a:hover {
184
- color: #5392f0;
185
- }
186
-
187
- /* .btn, */
188
- /* .btn::before {
189
- display: block;
190
- width: 100%;
191
- height: 40px;
192
- border-radius: 10px;
193
- margin: 1rem 0;
194
- font-size: 1.2rem;
195
- outline: none;
196
- border: none;
197
- background-image: linear-gradient(to right, #567dbe, #5392f0, #567dbe);
198
- cursor: pointer;
199
- color: #fff;
200
- text-transform: uppercase;
201
- font-family: 'Roboto', sans-serif;
202
- background-size: 200%;
203
- transition: 0.5s;
204
- } */
205
-
206
- .btn:hover {
207
- background-position: right;
208
- }
209
-
210
- .btn,
211
- .btn::before {
212
- display: block;
213
- width: 100%;
214
- height: 40px;
215
- line-height: 40px;
216
- text-align: center;
217
- border-radius: 10px;
218
- font-size: 1.2rem;
219
- outline: none;
220
- border: none;
221
- background-image: linear-gradient(to right, #567dbe, #5392f0, #567dbe);
222
- cursor: pointer;
223
- color: #fff;
224
- text-transform: uppercase;
225
- font-family: 'Roboto', sans-serif;
226
- background-size: 200%;
227
- transition: 0.5s;
228
- }
229
- .btn {
230
- position: relative;
231
- /* background: #5ad; */
232
- /* color: #fff; */
233
- cursor: pointer;
234
- }
235
- .btn::before {
236
- content: '正在登录,请稍后...';
237
- position: absolute;
238
- display: none;
239
- z-index: 2;
240
- top: 0;
241
- left: 0;
242
- color: #fff;
243
- text-shadow: rgba(100, 0, 0, 1) 0 0 3px;
244
- background: linear-gradient(
245
- 45deg,
246
- /* #fc0 0%,
247
- #fc0 20%,
248
- #fa0 20%,
249
- #fa0 45%,
250
- #fc0 45%,
251
- #fc0 70%,
252
- #fa0 70%,
253
- #fa0 95%,
254
- #fc0 95%,
255
- #fc0 100% */
256
- #4169e1 0%,
257
- #4169e1 20%,
258
- #5a7de7 20%,
259
- #5a7de7 45%,
260
- #4169e1 45%,
261
- #4169e1 70%,
262
- #5a7de7 70%,
263
- #5a7de7 95%,
264
- #4169e1 95%,
265
- #4169e1 100%
266
- );
267
- background-size: 40px 40px;
268
- background-position: 0 0;
269
- animation: loading 1s infinite linear;
270
- }
271
- .btn.loading::before {
272
- display: block;
273
- }
274
- @keyframes loading {
275
- 0% {
276
- background-position: 0 0;
277
- }
278
- 100% {
279
- background-position: 40px 0;
280
- }
281
- }
282
-
283
- .copyright {
284
- position: absolute;
285
- width: 100%;
286
- height: 50px;
287
- bottom: 2px;
288
- color: #5392f0;
289
- text-align: center;
290
- font-size: 18px;
291
- font-family: 'Roboto', sans-serif;
292
- }
293
-
294
- @media screen and (max-width: 1080px) {
295
- .login-container {
296
- grid-gap: 9rem;
297
- }
298
- }
299
-
300
- @media screen and (max-width: 1024px) {
301
- .login-form {
302
- width: 290px;
303
- }
304
-
305
- .login-form h2 {
306
- font-size: 2.4rem;
307
- margin: 8px 0;
308
- }
309
-
310
- .img img {
311
- width: 360px;
312
- }
313
-
314
- .avatar {
315
- width: 280px;
316
- height: 80px;
317
- }
318
- }
319
-
320
- @media screen and (max-width: 768px) {
321
- .wave {
322
- display: none;
323
- }
324
-
325
- .img {
326
- display: none;
327
- }
328
-
329
- .login-container {
330
- grid-template-columns: 1fr;
331
- }
332
-
333
- .login-box {
334
- justify-content: center;
335
- }
336
- }
1
+ .wave {
2
+ position: fixed;
3
+ height: 100%;
4
+ left: 0;
5
+ bottom: 0;
6
+ z-index: -1;
7
+ }
8
+
9
+ .login-container {
10
+ width: 100vw;
11
+ height: 100vh;
12
+ display: flex;
13
+ justify-content: flex-end;
14
+ background-color: #2a5f97;
15
+ /* background: url('../assets/login/default-bg.png') no-repeat center; */
16
+ background-repeat: no-repeat;
17
+ background-position: center;
18
+ /* display: grid; */
19
+ /* grid-template-columns: repeat(2, 1fr); */
20
+ /* grid-gap: 18rem; */
21
+ background-size: cover;
22
+ /* padding: 0 2rem; */
23
+ }
24
+
25
+ .img {
26
+ display: flex;
27
+ justify-content: flex-end;
28
+ align-items: center;
29
+ }
30
+
31
+ .img img {
32
+ width: 800px;
33
+ }
34
+
35
+ .login-box {
36
+ display: flex;
37
+ align-items: center;
38
+ text-align: center;
39
+ padding-right: 60px;
40
+ }
41
+
42
+ .login-form {
43
+ width: 360px;
44
+ padding: 20px;
45
+ background: url('../assets/images/login.png') no-repeat center;
46
+ }
47
+
48
+ .avatar {
49
+ width: 350px;
50
+ height: 80px;
51
+ }
52
+
53
+ .login-form h2 {
54
+ text-transform: uppercase;
55
+ margin: 15px 0;
56
+ color: #fff;
57
+ font:
58
+ bold 200% Consolas,
59
+ Monaco,
60
+ monospace;
61
+ }
62
+
63
+ .input-group {
64
+ position: relative;
65
+ display: grid;
66
+ grid-template-columns: 7% 93%;
67
+ margin: 25px 0;
68
+ padding: 5px 0;
69
+ border-bottom: 2px solid #d9d9d9;
70
+ }
71
+
72
+ .input-group:nth-child(1) {
73
+ margin-bottom: 4px;
74
+ }
75
+
76
+ .input-group::before,
77
+ .input-group::after {
78
+ content: '';
79
+ position: absolute;
80
+ bottom: -2px;
81
+ width: 0;
82
+ height: 2px;
83
+ background-color: #c5d3f7;
84
+ transition: 0.5s;
85
+ }
86
+
87
+ .input-group::after {
88
+ right: 50%;
89
+ }
90
+
91
+ .input-group::before {
92
+ left: 50%;
93
+ }
94
+
95
+ .icon {
96
+ display: flex;
97
+ justify-content: center;
98
+ align-items: center;
99
+ color: #fff;
100
+ }
101
+
102
+ .icon svg {
103
+ color: #fff;
104
+ transition: 0.5s;
105
+ height: 20px;
106
+ width: 20px;
107
+ }
108
+
109
+ .input-group > div {
110
+ position: relative;
111
+ height: 45px;
112
+ }
113
+
114
+ .input-group > div > h5 {
115
+ position: absolute;
116
+ left: 10px;
117
+ top: 50%;
118
+ transform: translateY(-50%);
119
+ color: #fff;
120
+ font-size: 18px;
121
+ transition: 0.3s;
122
+ margin: 0;
123
+ padding: 0;
124
+ }
125
+
126
+ .input-group.focus .icon svg {
127
+ color: #fff;
128
+ height: 20px;
129
+ width: 20px;
130
+ }
131
+
132
+ .input-group.focus div h5 {
133
+ top: -5px;
134
+ font-size: 15px;
135
+ }
136
+
137
+ .input-group.focus::after,
138
+ .input-group.focus::before {
139
+ width: 50%;
140
+ }
141
+
142
+ .input {
143
+ position: absolute;
144
+ width: 100%;
145
+ /* height: 100%; */
146
+ top: 0;
147
+ left: 0;
148
+ border: none;
149
+ outline: none;
150
+ /* background: none; */
151
+ padding: 0.5rem 0.7rem;
152
+ font-size: 16px;
153
+ /* color: #fff; */
154
+ font-family: 'Roboto', sans-serif;
155
+
156
+ height: 36px;
157
+ border-radius: 5px;
158
+ top: 5px;
159
+ margin-left: 5px;
160
+ background-color: #fff;
161
+ color: #000;
162
+ }
163
+
164
+ .input-group.focus.input {
165
+ height: 36px;
166
+ border-radius: 5px;
167
+ top: 5px;
168
+ margin-left: 5px;
169
+ /* width: calc(100%-10px); */
170
+ background-color: #fff;
171
+ color: #000;
172
+ }
173
+
174
+ a {
175
+ display: block;
176
+ text-align: right;
177
+ text-decoration: none;
178
+ color: #999;
179
+ font-size: 0.9rem;
180
+ transition: 0.3s;
181
+ }
182
+
183
+ a:hover {
184
+ color: #5392f0;
185
+ }
186
+
187
+ /* .btn, */
188
+ /* .btn::before {
189
+ display: block;
190
+ width: 100%;
191
+ height: 40px;
192
+ border-radius: 10px;
193
+ margin: 1rem 0;
194
+ font-size: 1.2rem;
195
+ outline: none;
196
+ border: none;
197
+ background-image: linear-gradient(to right, #567dbe, #5392f0, #567dbe);
198
+ cursor: pointer;
199
+ color: #fff;
200
+ text-transform: uppercase;
201
+ font-family: 'Roboto', sans-serif;
202
+ background-size: 200%;
203
+ transition: 0.5s;
204
+ } */
205
+
206
+ .btn:hover {
207
+ background-position: right;
208
+ }
209
+
210
+ .btn,
211
+ .btn::before {
212
+ display: block;
213
+ width: 100%;
214
+ height: 40px;
215
+ line-height: 40px;
216
+ text-align: center;
217
+ border-radius: 10px;
218
+ font-size: 1.2rem;
219
+ outline: none;
220
+ border: none;
221
+ background-image: linear-gradient(to right, #567dbe, #5392f0, #567dbe);
222
+ cursor: pointer;
223
+ color: #fff;
224
+ text-transform: uppercase;
225
+ font-family: 'Roboto', sans-serif;
226
+ background-size: 200%;
227
+ transition: 0.5s;
228
+ }
229
+ .btn {
230
+ position: relative;
231
+ /* background: #5ad; */
232
+ /* color: #fff; */
233
+ cursor: pointer;
234
+ }
235
+ .btn::before {
236
+ content: '正在登录,请稍后...';
237
+ position: absolute;
238
+ display: none;
239
+ z-index: 2;
240
+ top: 0;
241
+ left: 0;
242
+ color: #fff;
243
+ text-shadow: rgba(100, 0, 0, 1) 0 0 3px;
244
+ background: linear-gradient(
245
+ 45deg,
246
+ /* #fc0 0%,
247
+ #fc0 20%,
248
+ #fa0 20%,
249
+ #fa0 45%,
250
+ #fc0 45%,
251
+ #fc0 70%,
252
+ #fa0 70%,
253
+ #fa0 95%,
254
+ #fc0 95%,
255
+ #fc0 100% */
256
+ #4169e1 0%,
257
+ #4169e1 20%,
258
+ #5a7de7 20%,
259
+ #5a7de7 45%,
260
+ #4169e1 45%,
261
+ #4169e1 70%,
262
+ #5a7de7 70%,
263
+ #5a7de7 95%,
264
+ #4169e1 95%,
265
+ #4169e1 100%
266
+ );
267
+ background-size: 40px 40px;
268
+ background-position: 0 0;
269
+ animation: loading 1s infinite linear;
270
+ }
271
+ .btn.loading::before {
272
+ display: block;
273
+ }
274
+ @keyframes loading {
275
+ 0% {
276
+ background-position: 0 0;
277
+ }
278
+ 100% {
279
+ background-position: 40px 0;
280
+ }
281
+ }
282
+
283
+ .copyright {
284
+ position: absolute;
285
+ width: 100%;
286
+ height: 50px;
287
+ bottom: 2px;
288
+ color: #5392f0;
289
+ text-align: center;
290
+ font-size: 18px;
291
+ font-family: 'Roboto', sans-serif;
292
+ }
293
+
294
+ @media screen and (max-width: 1080px) {
295
+ .login-container {
296
+ grid-gap: 9rem;
297
+ }
298
+ }
299
+
300
+ @media screen and (max-width: 1024px) {
301
+ .login-form {
302
+ width: 290px;
303
+ }
304
+
305
+ .login-form h2 {
306
+ font-size: 2.4rem;
307
+ margin: 8px 0;
308
+ }
309
+
310
+ .img img {
311
+ width: 360px;
312
+ }
313
+
314
+ .avatar {
315
+ width: 280px;
316
+ height: 80px;
317
+ }
318
+ }
319
+
320
+ @media screen and (max-width: 768px) {
321
+ .wave {
322
+ display: none;
323
+ }
324
+
325
+ .img {
326
+ display: none;
327
+ }
328
+
329
+ .login-container {
330
+ grid-template-columns: 1fr;
331
+ }
332
+
333
+ .login-box {
334
+ justify-content: center;
335
+ }
336
+ }