vue3-admin-gpt 1.0.0

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 (118) hide show
  1. package/.env.development +14 -0
  2. package/.env.production +14 -0
  3. package/LICENSE +21 -0
  4. package/README.en.md +106 -0
  5. package/README.md +104 -0
  6. package/build-zip.cjs +53 -0
  7. package/cli.js +110 -0
  8. package/jsconfig.json +9 -0
  9. package/package.json +92 -0
  10. package/public/index.html +20 -0
  11. package/public/robots.txt +2 -0
  12. package/rspack.config.js +282 -0
  13. package/rspack.js +162 -0
  14. package/src/App.vue +9 -0
  15. package/src/api/icon.js +9 -0
  16. package/src/api/router.js +9 -0
  17. package/src/api/table.js +25 -0
  18. package/src/api/tree.js +9 -0
  19. package/src/api/user.js +34 -0
  20. package/src/assets/error_images/401.png +0 -0
  21. package/src/assets/error_images/404.png +0 -0
  22. package/src/assets/error_images/cloud.png +0 -0
  23. package/src/assets/login_images/background.jpg +0 -0
  24. package/src/assets/logo.png +0 -0
  25. package/src/assets/qr_logo/lqr_logo.png +0 -0
  26. package/src/assets/vuejs-fill.svg +4 -0
  27. package/src/components/VabPageHeader/index.vue +133 -0
  28. package/src/config/index.js +7 -0
  29. package/src/config/net.config.js +20 -0
  30. package/src/config/permission.js +136 -0
  31. package/src/config/setting.config.js +62 -0
  32. package/src/config/settings.js +6 -0
  33. package/src/config/theme.config.js +14 -0
  34. package/src/layouts/EmptyLayout.vue +3 -0
  35. package/src/layouts/components/VabAppMain/index.vue +109 -0
  36. package/src/layouts/components/VabAvatar/index.vue +255 -0
  37. package/src/layouts/components/VabBreadcrumb/index.vue +61 -0
  38. package/src/layouts/components/VabFullScreen/index.vue +61 -0
  39. package/src/layouts/components/VabLogo/index.vue +94 -0
  40. package/src/layouts/components/VabNav/index.vue +176 -0
  41. package/src/layouts/components/VabSide/components/VabMenuItem.vue +80 -0
  42. package/src/layouts/components/VabSide/components/VabSideItem.vue +100 -0
  43. package/src/layouts/components/VabSide/components/VabSubmenu.vue +56 -0
  44. package/src/layouts/components/VabSide/index.vue +123 -0
  45. package/src/layouts/components/VabTabs/index.vue +500 -0
  46. package/src/layouts/components/VabTheme/index.vue +603 -0
  47. package/src/layouts/components/VabTop/index.vue +286 -0
  48. package/src/layouts/export.js +29 -0
  49. package/src/layouts/index.vue +339 -0
  50. package/src/main.js +40 -0
  51. package/src/plugins/echarts.js +4 -0
  52. package/src/plugins/index.js +44 -0
  53. package/src/plugins/support.js +16 -0
  54. package/src/router/index.js +400 -0
  55. package/src/store/index.js +26 -0
  56. package/src/store/modules/errorLog.js +27 -0
  57. package/src/store/modules/routes.js +60 -0
  58. package/src/store/modules/settings.js +73 -0
  59. package/src/store/modules/table.js +22 -0
  60. package/src/store/modules/tabsBar.js +109 -0
  61. package/src/store/modules/user.js +131 -0
  62. package/src/styles/element-variables.scss +13 -0
  63. package/src/styles/loading.scss +345 -0
  64. package/src/styles/nav-icons.scss +52 -0
  65. package/src/styles/normalize.scss +353 -0
  66. package/src/styles/spinner/dots.css +68 -0
  67. package/src/styles/spinner/gauge.css +104 -0
  68. package/src/styles/spinner/inner-circles.css +51 -0
  69. package/src/styles/spinner/plus.css +341 -0
  70. package/src/styles/themes/default.scss +1 -0
  71. package/src/styles/transition.scss +18 -0
  72. package/src/styles/vab.scss +476 -0
  73. package/src/styles/variables.scss +69 -0
  74. package/src/utils/accessToken.js +56 -0
  75. package/src/utils/eventBus.js +8 -0
  76. package/src/utils/handleRoutes.js +100 -0
  77. package/src/utils/index.js +231 -0
  78. package/src/utils/message.js +67 -0
  79. package/src/utils/pageTitle.js +11 -0
  80. package/src/utils/password.js +43 -0
  81. package/src/utils/permission.js +19 -0
  82. package/src/utils/request.js +187 -0
  83. package/src/utils/static.js +81 -0
  84. package/src/utils/vab.js +218 -0
  85. package/src/utils/validate.js +48 -0
  86. package/src/views/401.vue +302 -0
  87. package/src/views/404.vue +302 -0
  88. package/src/views/demo/index.vue +591 -0
  89. package/src/views/index/index.vue +1489 -0
  90. package/src/views/login/index.vue +456 -0
  91. package/src/views/register/index.vue +524 -0
  92. package/src/views/vab/calendar.vue +488 -0
  93. package/src/views/vab/campaign.vue +1006 -0
  94. package/src/views/vab/chart.vue +189 -0
  95. package/src/views/vab/customer.vue +666 -0
  96. package/src/views/vab/editor.vue +84 -0
  97. package/src/views/vab/form.vue +151 -0
  98. package/src/views/vab/help.vue +390 -0
  99. package/src/views/vab/icon.vue +113 -0
  100. package/src/views/vab/knowledge.vue +820 -0
  101. package/src/views/vab/nested/menu1/menu2/menu3.vue +29 -0
  102. package/src/views/vab/nested/menu1/menu2.vue +33 -0
  103. package/src/views/vab/nested/menu1.vue +33 -0
  104. package/src/views/vab/nested.vue +97 -0
  105. package/src/views/vab/notification.vue +416 -0
  106. package/src/views/vab/order.vue +507 -0
  107. package/src/views/vab/permissions.vue +214 -0
  108. package/src/views/vab/product.vue +724 -0
  109. package/src/views/vab/project.vue +559 -0
  110. package/src/views/vab/settings.vue +319 -0
  111. package/src/views/vab/statistics.vue +431 -0
  112. package/src/views/vab/table.vue +110 -0
  113. package/src/views/vab/task.vue +613 -0
  114. package/src/views/vab/team.vue +662 -0
  115. package/src/views/vab/tree.vue +44 -0
  116. package/src/views/vab/upload.vue +180 -0
  117. package/src/views/vab/vue3Demo/index.vue +103 -0
  118. package/src/views/vab/workflow.vue +863 -0
@@ -0,0 +1,302 @@
1
+ <template>
2
+ <div class="error-container">
3
+ <div class="error-content">
4
+ <el-row :gutter="20">
5
+ <el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
6
+ <div class="pic-error">
7
+ <img
8
+ alt="404"
9
+ class="pic-error-parent"
10
+ src="@/assets/error_images/404.png"
11
+ />
12
+ <img
13
+ alt="404"
14
+ class="pic-error-child left"
15
+ src="@/assets/error_images/cloud.png"
16
+ />
17
+ <img
18
+ alt="404"
19
+ class="pic-error-child mid"
20
+ src="@/assets/error_images/cloud.png"
21
+ />
22
+ <img
23
+ alt="404"
24
+ class="pic-error-child right"
25
+ src="@/assets/error_images/cloud.png"
26
+ />
27
+ </div>
28
+ </el-col>
29
+
30
+ <el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
31
+ <div class="bullshit">
32
+ <div class="bullshit-oops">
33
+ {{ oops }}
34
+ </div>
35
+ <div class="bullshit-headline">
36
+ {{ headline }}
37
+ </div>
38
+ <div class="bullshit-info">
39
+ {{ info }}
40
+ </div>
41
+ <a class="bullshit-return-home" href="#/index"
42
+ >{{ jumpTime }}s&nbsp;{{ btn }}</a
43
+ >
44
+ </div>
45
+ </el-col>
46
+ </el-row>
47
+ </div>
48
+ </div>
49
+ </template>
50
+
51
+ <script>
52
+ export default {
53
+ name: "Page404",
54
+ data() {
55
+ return {
56
+ jumpTime: 5,
57
+ oops: "抱歉!",
58
+ headline: "当前页面不存在...",
59
+ info: "请检查您输入的网址是否正确,或点击下面的按钮返回首页。",
60
+ btn: "返回首页",
61
+ timer: 0,
62
+ };
63
+ },
64
+ mounted() {
65
+ this.timeChange();
66
+ },
67
+ beforeUnmount() {
68
+ clearInterval(this.timer);
69
+ },
70
+ methods: {
71
+ timeChange() {
72
+ this.timer = setInterval(() => {
73
+ if (this.jumpTime) {
74
+ this.jumpTime--;
75
+ } else {
76
+ this.$router.push({ path: "/" });
77
+ this.$store.dispatch("tabsBar/delOthersRoutes", {
78
+ path: "/",
79
+ });
80
+ clearInterval(this.timer);
81
+ }
82
+ }, 1000);
83
+ },
84
+ },
85
+ };
86
+ </script>
87
+
88
+ <style lang="scss" scoped>
89
+ .error-container {
90
+ position: absolute;
91
+ top: 40%;
92
+ left: 50%;
93
+ transform: translate(-50%, -50%);
94
+
95
+ .error-content {
96
+ .pic-error {
97
+ position: relative;
98
+ float: left;
99
+ width: 120%;
100
+ overflow: hidden;
101
+
102
+ &-parent {
103
+ width: 100%;
104
+ }
105
+
106
+ &-child {
107
+ position: absolute;
108
+
109
+ &.left {
110
+ top: 17px;
111
+ left: 220px;
112
+ width: 80px;
113
+ opacity: 0;
114
+ animation-name: cloudLeft;
115
+ animation-duration: 2s;
116
+ animation-timing-function: linear;
117
+ animation-delay: 1s;
118
+ animation-fill-mode: forwards;
119
+ }
120
+
121
+ &.mid {
122
+ top: 10px;
123
+ left: 420px;
124
+ width: 46px;
125
+ opacity: 0;
126
+ animation-name: cloudMid;
127
+ animation-duration: 2s;
128
+ animation-timing-function: linear;
129
+ animation-delay: 1.2s;
130
+ animation-fill-mode: forwards;
131
+ }
132
+
133
+ &.right {
134
+ top: 100px;
135
+ left: 500px;
136
+ width: 62px;
137
+ opacity: 0;
138
+ animation-name: cloudRight;
139
+ animation-duration: 2s;
140
+ animation-timing-function: linear;
141
+ animation-delay: 1s;
142
+ animation-fill-mode: forwards;
143
+ }
144
+
145
+ @keyframes cloudLeft {
146
+ 0% {
147
+ top: 17px;
148
+ left: 220px;
149
+ opacity: 0;
150
+ }
151
+
152
+ 20% {
153
+ top: 33px;
154
+ left: 188px;
155
+ opacity: 1;
156
+ }
157
+
158
+ 80% {
159
+ top: 81px;
160
+ left: 92px;
161
+ opacity: 1;
162
+ }
163
+
164
+ 100% {
165
+ top: 97px;
166
+ left: 60px;
167
+ opacity: 0;
168
+ }
169
+ }
170
+
171
+ @keyframes cloudMid {
172
+ 0% {
173
+ top: 10px;
174
+ left: 420px;
175
+ opacity: 0;
176
+ }
177
+
178
+ 20% {
179
+ top: 40px;
180
+ left: 360px;
181
+ opacity: 1;
182
+ }
183
+
184
+ 70% {
185
+ top: 130px;
186
+ left: 180px;
187
+ opacity: 1;
188
+ }
189
+
190
+ 100% {
191
+ top: 160px;
192
+ left: 120px;
193
+ opacity: 0;
194
+ }
195
+ }
196
+
197
+ @keyframes cloudRight {
198
+ 0% {
199
+ top: 100px;
200
+ left: 500px;
201
+ opacity: 0;
202
+ }
203
+
204
+ 20% {
205
+ top: 120px;
206
+ left: 460px;
207
+ opacity: 1;
208
+ }
209
+
210
+ 80% {
211
+ top: 180px;
212
+ left: 340px;
213
+ opacity: 1;
214
+ }
215
+
216
+ 100% {
217
+ top: 200px;
218
+ left: 300px;
219
+ opacity: 0;
220
+ }
221
+ }
222
+ }
223
+ }
224
+
225
+ .bullshit {
226
+ position: relative;
227
+ float: left;
228
+ width: 300px;
229
+ padding: 30px 0;
230
+ overflow: hidden;
231
+
232
+ &-oops {
233
+ margin-bottom: 20px;
234
+ font-size: 32px;
235
+ font-weight: bold;
236
+ line-height: 40px;
237
+ color: $base-color-blue;
238
+ opacity: 0;
239
+ animation-name: slideUp;
240
+ animation-duration: 0.5s;
241
+ animation-fill-mode: forwards;
242
+ }
243
+
244
+ &-headline {
245
+ margin-bottom: 10px;
246
+ font-size: 20px;
247
+ font-weight: bold;
248
+ line-height: 24px;
249
+ color: #222;
250
+ opacity: 0;
251
+ animation-name: slideUp;
252
+ animation-duration: 0.5s;
253
+ animation-delay: 0.1s;
254
+ animation-fill-mode: forwards;
255
+ }
256
+
257
+ &-info {
258
+ margin-bottom: 30px;
259
+ font-size: 13px;
260
+ line-height: 21px;
261
+ color: $base-color-gray;
262
+ opacity: 0;
263
+ animation-name: slideUp;
264
+ animation-duration: 0.5s;
265
+ animation-delay: 0.2s;
266
+ animation-fill-mode: forwards;
267
+ }
268
+
269
+ &-return-home {
270
+ display: block;
271
+ float: left;
272
+ width: 110px;
273
+ height: 36px;
274
+ font-size: 14px;
275
+ line-height: 36px;
276
+ color: #fff;
277
+ text-align: center;
278
+ cursor: pointer;
279
+ background: $base-color-blue;
280
+ border-radius: 100px;
281
+ opacity: 0;
282
+ animation-name: slideUp;
283
+ animation-duration: 0.5s;
284
+ animation-delay: 0.3s;
285
+ animation-fill-mode: forwards;
286
+ }
287
+
288
+ @keyframes slideUp {
289
+ 0% {
290
+ opacity: 0;
291
+ transform: translateY(60px);
292
+ }
293
+
294
+ 100% {
295
+ opacity: 1;
296
+ transform: translateY(0);
297
+ }
298
+ }
299
+ }
300
+ }
301
+ }
302
+ </style>