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,113 @@
1
+ <template>
2
+ <div class="icon-container">
3
+ <el-card shadow="never">
4
+ <div class="search-box">
5
+ <el-input
6
+ v-model="searchText"
7
+ placeholder="搜索图标..."
8
+ clearable
9
+ style="width: 300px; margin-bottom: 20px"
10
+ />
11
+ </div>
12
+ <el-row :gutter="20">
13
+ <el-col
14
+ v-for="(icon, index) in filteredIcons"
15
+ :key="index"
16
+ :span="4"
17
+ style="margin-bottom: 20px"
18
+ >
19
+ <el-card class="icon-card" shadow="hover">
20
+ <div class="icon-item">
21
+ <el-icon class="icon-display">
22
+ <component :is="icon" />
23
+ </el-icon>
24
+ <div class="icon-name">{{ icon }}</div>
25
+ </div>
26
+ </el-card>
27
+ </el-col>
28
+ </el-row>
29
+ </el-card>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ import * as ElIcons from "@element-plus/icons-vue";
35
+ import { getIconList } from "@/api/icon";
36
+
37
+ export default {
38
+ name: "Icon",
39
+ components: {
40
+ ...ElIcons,
41
+ },
42
+ data() {
43
+ return {
44
+ iconList: [],
45
+ searchText: "",
46
+ };
47
+ },
48
+ computed: {
49
+ filteredIcons() {
50
+ if (!this.searchText) {
51
+ return this.iconList;
52
+ }
53
+ return this.iconList.filter((icon) =>
54
+ icon.toLowerCase().includes(this.searchText.toLowerCase())
55
+ );
56
+ },
57
+ },
58
+ async created() {
59
+ await this.getIcons();
60
+ },
61
+ methods: {
62
+ async getIcons() {
63
+ try {
64
+ // 使用 Element Plus 提供的图标
65
+ this.iconList = Object.keys(ElIcons);
66
+ } catch (error) {
67
+ console.error("获取图标列表失败:", error);
68
+ // 使用 Element Plus 提供的图标作为备选
69
+ this.iconList = Object.keys(ElIcons);
70
+ }
71
+ },
72
+ },
73
+ };
74
+ </script>
75
+
76
+ <style lang="scss" scoped>
77
+ .icon-container {
78
+ padding: 20px;
79
+
80
+ .search-box {
81
+ display: flex;
82
+ justify-content: center;
83
+ }
84
+
85
+ .icon-card {
86
+ cursor: pointer;
87
+ transition: all 0.3s ease;
88
+
89
+ &:hover {
90
+ transform: translateY(-5px);
91
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
92
+ }
93
+
94
+ .icon-item {
95
+ display: flex;
96
+ flex-direction: column;
97
+ align-items: center;
98
+ padding: 20px 0;
99
+
100
+ .icon-display {
101
+ font-size: 24px;
102
+ margin-bottom: 10px;
103
+ }
104
+
105
+ .icon-name {
106
+ font-size: 12px;
107
+ text-align: center;
108
+ word-break: break-all;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ </style>