zant-admin 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 (82) hide show
  1. package/README.en.md +36 -0
  2. package/README.md +248 -0
  3. package/SCAFFOLD_README.md +215 -0
  4. package/bin/cli.js +99 -0
  5. package/bin/generator.js +503 -0
  6. package/bin/prompts.js +159 -0
  7. package/bin/utils.js +134 -0
  8. package/package.json +74 -0
  9. package/public/logo.png +0 -0
  10. package/src/App.vue +16 -0
  11. package/src/api/methods/logError.js +8 -0
  12. package/src/api/methods/logOperation.js +8 -0
  13. package/src/api/methods/login.js +6 -0
  14. package/src/api/methods/quartz.js +36 -0
  15. package/src/api/methods/region.js +16 -0
  16. package/src/api/methods/sysAccount.js +30 -0
  17. package/src/api/methods/sysDict.js +29 -0
  18. package/src/api/methods/sysDictItem.js +26 -0
  19. package/src/api/methods/sysMenu.js +42 -0
  20. package/src/api/methods/sysRole.js +35 -0
  21. package/src/api/methods/sysUser.js +25 -0
  22. package/src/api/methods/system.js +16 -0
  23. package/src/api/request.js +225 -0
  24. package/src/assets/css/style.css +70 -0
  25. package/src/assets/css/zcui.css +340 -0
  26. package/src/assets/imgs/loginbackground.svg +69 -0
  27. package/src/assets/imgs/logo.png +0 -0
  28. package/src/assets/imgs/md/1.png +0 -0
  29. package/src/assets/imgs/md/10.png +0 -0
  30. package/src/assets/imgs/md/11.png +0 -0
  31. package/src/assets/imgs/md/2.png +0 -0
  32. package/src/assets/imgs/md/3.png +0 -0
  33. package/src/assets/imgs/md/4.png +0 -0
  34. package/src/assets/imgs/md/5.png +0 -0
  35. package/src/assets/imgs/md/6.png +0 -0
  36. package/src/assets/imgs/md/7.png +0 -0
  37. package/src/assets/imgs/md/8.png +0 -0
  38. package/src/assets/imgs/md/9.png +0 -0
  39. package/src/components/FormTable.vue +875 -0
  40. package/src/components/IconPicker.vue +344 -0
  41. package/src/components/MainPage.vue +957 -0
  42. package/src/components/details/logErrorDetails.vue +58 -0
  43. package/src/components/details/logOperationDetails.vue +76 -0
  44. package/src/components/edit/QuartzEdit.vue +221 -0
  45. package/src/components/edit/SysAccountEdit.vue +178 -0
  46. package/src/components/edit/SysDictEdit.vue +114 -0
  47. package/src/components/edit/SysDictItemEdit.vue +134 -0
  48. package/src/components/edit/SysRoleEdit.vue +109 -0
  49. package/src/components/edit/sysMenuEdit.vue +305 -0
  50. package/src/config/index.js +74 -0
  51. package/src/directives/permission.js +45 -0
  52. package/src/main.js +38 -0
  53. package/src/router/index.js +270 -0
  54. package/src/stores/config.js +37 -0
  55. package/src/stores/dict.js +33 -0
  56. package/src/stores/menu.js +57 -0
  57. package/src/stores/user.js +21 -0
  58. package/src/utils/baseEcharts.js +661 -0
  59. package/src/utils/dictTemplate.js +26 -0
  60. package/src/utils/regionUtils.js +169 -0
  61. package/src/utils/useFormCRUD.js +60 -0
  62. package/src/views/baiscstatis/center.vue +463 -0
  63. package/src/views/baiscstatis/iframePage.vue +31 -0
  64. package/src/views/baiscstatis/notFound.vue +192 -0
  65. package/src/views/console.vue +771 -0
  66. package/src/views/demo/importexport.vue +123 -0
  67. package/src/views/demo/region.vue +240 -0
  68. package/src/views/demo/statistics.vue +195 -0
  69. package/src/views/home.vue +7 -0
  70. package/src/views/login.vue +272 -0
  71. package/src/views/operations/log/logError.vue +78 -0
  72. package/src/views/operations/log/logLogin.vue +66 -0
  73. package/src/views/operations/log/logOperation.vue +103 -0
  74. package/src/views/operations/log/logQuartz.vue +57 -0
  75. package/src/views/operations/quartz.vue +181 -0
  76. package/src/views/operations/serviceMonitoring.vue +134 -0
  77. package/src/views/system/sysAccount.vue +123 -0
  78. package/src/views/system/sysDict.vue +156 -0
  79. package/src/views/system/sysDictItem.vue +118 -0
  80. package/src/views/system/sysMenu.vue +223 -0
  81. package/src/views/system/sysRole.vue +184 -0
  82. package/templates/env.production +2 -0
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <iframe
3
+ ref="iframeRef"
4
+ :src="iframeUrl"
5
+ frameborder="0"
6
+ style="width: 100%; height: 100%;"
7
+ ></iframe>
8
+
9
+
10
+ </template>
11
+
12
+ <script setup>
13
+ import { ref, onMounted, watch } from "vue"
14
+ import { useRoute } from "vue-router"
15
+
16
+ const route = useRoute()
17
+ const iframeUrl = ref("")
18
+
19
+ onMounted(() => {
20
+ console.log("iframeUrl", route.query.url)
21
+ iframeUrl.value = decodeURIComponent(route.query.url || "")
22
+ })
23
+
24
+ // 监听路由变化,点击不同内链菜单时更新 iframe
25
+ watch(
26
+ () => route.query.url,
27
+ (newUrl) => {
28
+ iframeUrl.value = decodeURIComponent(newUrl || "")
29
+ }
30
+ )
31
+ </script>
@@ -0,0 +1,192 @@
1
+ <template>
2
+ <div class="not-found-container">
3
+ <div class="content-wrapper">
4
+ <div class="error-code">404</div>
5
+ <div class="error-message">页面未找到</div>
6
+ <div class="error-description">抱歉,您访问的页面不存在或已被移除</div>
7
+
8
+ <div class="action-buttons">
9
+ <a-button type="primary" size="large" @click="goHome">
10
+ <template #icon>
11
+ <HomeOutlined />
12
+ </template>
13
+ 返回首页
14
+ </a-button>
15
+ <a-button size="large" @click="goBack">
16
+ <template #icon>
17
+ <ArrowLeftOutlined />
18
+ </template>
19
+ 返回上页
20
+ </a-button>
21
+ </div>
22
+ </div>
23
+
24
+ <div class="background-decoration">
25
+ <div class="circle circle-1"></div>
26
+ <div class="circle circle-2"></div>
27
+ <div class="circle circle-3"></div>
28
+ </div>
29
+ </div>
30
+ </template>
31
+
32
+ <script setup>
33
+ import { useRouter } from 'vue-router'
34
+ import { HomeOutlined, ArrowLeftOutlined } from '@ant-design/icons-vue'
35
+
36
+ // 获取路由实例
37
+ const router = useRouter()
38
+
39
+ /**
40
+ * 返回首页
41
+ */
42
+ const goHome = () => {
43
+ router.push('/')
44
+ }
45
+
46
+ /**
47
+ * 返回上一页
48
+ */
49
+ const goBack = () => {
50
+ router.go(-1)
51
+ }
52
+ </script>
53
+
54
+ <style scoped>
55
+ .not-found-container {
56
+ position: relative;
57
+ height: 100%;
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ background-color: #ffffff;
62
+ overflow: hidden;
63
+ }
64
+
65
+ .content-wrapper {
66
+ text-align: center;
67
+ z-index: 2;
68
+ padding: 20px;
69
+ max-width: 600px;
70
+ }
71
+
72
+ .error-code {
73
+ font-size: 120px;
74
+ font-weight: bold;
75
+ color: #1890ff;
76
+ text-shadow: 4px 4px 0 rgba(24, 144, 255, 0.2);
77
+ margin-bottom: 20px;
78
+ animation: pulse 2s infinite;
79
+ }
80
+
81
+ .error-message {
82
+ font-size: 32px;
83
+ font-weight: 500;
84
+ color: #333;
85
+ margin-bottom: 16px;
86
+ }
87
+
88
+ .error-description {
89
+ font-size: 16px;
90
+ color: #666;
91
+ margin-bottom: 40px;
92
+ line-height: 1.6;
93
+ }
94
+
95
+ .action-buttons {
96
+ display: flex;
97
+ justify-content: center;
98
+ gap: 16px;
99
+ flex-wrap: wrap;
100
+ }
101
+
102
+ .background-decoration {
103
+ position: absolute;
104
+ top: 0;
105
+ left: 0;
106
+ width: 100%;
107
+ height: 100%;
108
+ z-index: 1;
109
+ overflow: hidden;
110
+ }
111
+
112
+ .circle {
113
+ position: absolute;
114
+ border-radius: 50%;
115
+ opacity: 0.1;
116
+ }
117
+
118
+ .circle-1 {
119
+ width: 300px;
120
+ height: 300px;
121
+ background-color: #1890ff;
122
+ top: -100px;
123
+ right: -100px;
124
+ animation: float 8s infinite ease-in-out;
125
+ }
126
+
127
+ .circle-2 {
128
+ width: 200px;
129
+ height: 200px;
130
+ background-color: #52c41a;
131
+ bottom: -50px;
132
+ left: -50px;
133
+ animation: float 6s infinite ease-in-out reverse;
134
+ }
135
+
136
+ .circle-3 {
137
+ width: 150px;
138
+ height: 150px;
139
+ background-color: #fa8c16;
140
+ top: 50%;
141
+ left: 10%;
142
+ animation: float 7s infinite ease-in-out;
143
+ }
144
+
145
+ @keyframes pulse {
146
+ 0% {
147
+ transform: scale(1);
148
+ }
149
+ 50% {
150
+ transform: scale(1.05);
151
+ }
152
+ 100% {
153
+ transform: scale(1);
154
+ }
155
+ }
156
+
157
+ @keyframes float {
158
+ 0% {
159
+ transform: translateY(0) rotate(0deg);
160
+ }
161
+ 50% {
162
+ transform: translateY(-20px) rotate(5deg);
163
+ }
164
+ 100% {
165
+ transform: translateY(0) rotate(0deg);
166
+ }
167
+ }
168
+
169
+ /* 响应式设计 */
170
+ @media (max-width: 768px) {
171
+ .error-code {
172
+ font-size: 80px;
173
+ }
174
+
175
+ .error-message {
176
+ font-size: 24px;
177
+ }
178
+
179
+ .error-description {
180
+ font-size: 14px;
181
+ }
182
+
183
+ .action-buttons {
184
+ flex-direction: column;
185
+ align-items: center;
186
+ }
187
+
188
+ .action-buttons .ant-btn {
189
+ width: 200px;
190
+ }
191
+ }
192
+ </style>