zsysview 0.0.17 → 0.0.19

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 (77) hide show
  1. package/README.md +19 -3
  2. package/dist/backup-B_ecXldN.js +519 -0
  3. package/dist/breadcrumb.vue_vue_type_script_setup_true_lang-LiynoCpU.js +43 -0
  4. package/dist/change_password-DdXbDCW3.js +135 -0
  5. package/dist/department-CkeLYapS.js +410 -0
  6. package/dist/desktop-Dlxt_nj4.js +9 -0
  7. package/dist/http_api_v1-C1nimGbM.js +2758 -0
  8. package/dist/index-BaFHeDAF.js +327 -0
  9. package/dist/index-CX41PbES.js +6688 -0
  10. package/dist/index.es-BcGc183Q.js +170 -0
  11. package/dist/log-B4tgzmW2.js +163 -0
  12. package/dist/login-bJhy9URL.js +111 -0
  13. package/dist/main-EI2iFkT9.js +293 -0
  14. package/dist/message-CdVUOGzt.js +26 -0
  15. package/dist/position-CFiI2C0_.js +311 -0
  16. package/dist/role-BD3_T6lz.js +405 -0
  17. package/dist/self-BsJkA8N-.js +102 -0
  18. package/dist/sys-BjlP52cg.js +30 -0
  19. package/dist/user-E4blW7I0.js +650 -0
  20. package/dist/vite.svg +1 -0
  21. package/dist/zsys_delbutton.vue_vue_type_script_setup_true_lang-BUVzkvi0.js +72 -0
  22. package/dist/zsys_eventBus-DDrk0Aw8.js +178 -0
  23. package/dist/zsys_time-DHEMuVgo.js +17 -0
  24. package/dist/zsyslist.vue_vue_type_script_setup_true_lang-CjpC7Ren.js +466 -0
  25. package/dist/zsysview.css +1 -0
  26. package/dist/zsysview.es.js +3 -0
  27. package/package.json +34 -20
  28. package/assets/default_avatar.png +0 -0
  29. package/assets/default_logo.png +0 -0
  30. package/assets/default_logo_40.png +0 -0
  31. package/assets/login_bg.jpg +0 -0
  32. package/components/export/export_dialog.vue +0 -150
  33. package/components/export/export_progress.vue +0 -62
  34. package/components/list/zsyslist.vue +0 -164
  35. package/components/list/zsyslist_content.vue +0 -29
  36. package/components/list/zsyslist_header.vue +0 -62
  37. package/components/message/index.ts +0 -3
  38. package/components/message/message.ts +0 -35
  39. package/components/zsys_delbutton.vue +0 -60
  40. package/core/app.ts +0 -32
  41. package/core/common/common.ts +0 -29
  42. package/core/common/zsys_eventBus.ts +0 -45
  43. package/core/common/zsys_time.ts +0 -26
  44. package/core/httpapi/http_api_return_data.ts +0 -43
  45. package/core/httpapi/http_api_v1.ts +0 -151
  46. package/core/httpapi/http_axios.ts +0 -54
  47. package/core/router copy.ts +0 -148
  48. package/core/router.ts +0 -153
  49. package/core/runtime.ts +0 -14
  50. package/core/user_token.ts +0 -17
  51. package/css/common.css +0 -16
  52. package/css/style.css +0 -79
  53. package/index.ts +0 -0
  54. package/view/app.vue +0 -10
  55. package/view/backup/backup.vue +0 -308
  56. package/view/building.vue +0 -22
  57. package/view/department/department.vue +0 -111
  58. package/view/department/department_edit_dialog.vue +0 -267
  59. package/view/desktop/desktop.vue +0 -11
  60. package/view/log/log.vue +0 -60
  61. package/view/log/log_setting.vue +0 -41
  62. package/view/login.vue +0 -91
  63. package/view/main/breadcrumb.vue +0 -41
  64. package/view/main/main.vue +0 -60
  65. package/view/main/userHeader.vue +0 -73
  66. package/view/main/userMenu.vue +0 -132
  67. package/view/main/userMenuItem.vue +0 -49
  68. package/view/position/position.vue +0 -58
  69. package/view/position/position_edit_dialog.vue +0 -203
  70. package/view/role/role.vue +0 -72
  71. package/view/role/role_edit_dialog.vue +0 -271
  72. package/view/self/change_password.vue +0 -97
  73. package/view/self/self.vue +0 -62
  74. package/view/sys/sys.vue +0 -19
  75. package/view/user/change_user_password_dialog.vue +0 -155
  76. package/view/user/user.vue +0 -110
  77. package/view/user/user_edit_dialog.vue +0 -283
package/README.md CHANGED
@@ -1,3 +1,19 @@
1
- # ZSystem前端
2
-
3
- npm install @element-plus/icons-vue
1
+ # ZSystem前端
2
+
3
+ npm install @element-plus/icons-vue
4
+
5
+
6
+ vite.config.ts 请求重写
7
+ ```
8
+ server: {
9
+ host: "0.0.0.0",
10
+ port: 5173,
11
+ proxy: {
12
+ "/api/": {
13
+ target: "http://localhost:1788/api",
14
+ changeOrigin: true,
15
+ rewrite: (path) => path.replace(/^\/api/, ""),
16
+ },
17
+ },
18
+ },
19
+ ```
@@ -0,0 +1,519 @@
1
+ import { defineComponent as M, ref as H, reactive as y, onMounted as A, resolveComponent as n, createElementBlock as w, openBlock as c, Fragment as Z, createVNode as e, createElementVNode as $, withCtx as o, createTextVNode as p, createCommentVNode as S } from "vue";
2
+ import { _ as D } from "./breadcrumb.vue_vue_type_script_setup_true_lang-LiynoCpU.js";
3
+ import { H as _ } from "./http_api_v1-C1nimGbM.js";
4
+ import { _ as G } from "./zsyslist.vue_vue_type_script_setup_true_lang-CjpC7Ren.js";
5
+ import { Z as i } from "./message-CdVUOGzt.js";
6
+ const L = { style: { padding: "0px 20px" } }, O = { key: 0 }, Q = { key: 0 }, W = /* @__PURE__ */ M({
7
+ __name: "backup",
8
+ setup(Y) {
9
+ const g = H("list"), U = y({
10
+ ApiUrl: _.url_backup_list,
11
+ QuickConditionsGroups: [],
12
+ HideBottomToolbar: !0
13
+ }), v = y({
14
+ edit_id: BigInt(0),
15
+ edit_dialog_show: !1
16
+ }), t = y({
17
+ auto: !0,
18
+ plan: "Everyday",
19
+ hour: "01",
20
+ minute: "00",
21
+ path: "",
22
+ keep: "keep20",
23
+ use_ftp: !1,
24
+ f_host: "",
25
+ f_port: 21,
26
+ f_u: "",
27
+ f_p: "",
28
+ f_path: "",
29
+ f_tls: !0
30
+ }), E = async () => {
31
+ try {
32
+ let s = await _.Post(_.url_backup_start, {});
33
+ s.IsSuccess ? i.ShowSuccess("开始备份") : i.ShowError(s.message);
34
+ } catch (s) {
35
+ console.log(s), i.ShowError("启动备份失败");
36
+ }
37
+ };
38
+ async function P() {
39
+ try {
40
+ let s = {
41
+ auto: t.auto ? 1 : 0,
42
+ plan: t.plan,
43
+ hour: t.hour,
44
+ minute: t.minute,
45
+ path: t.path,
46
+ keep: t.keep,
47
+ use_ftp: t.use_ftp ? 1 : 0,
48
+ f_host: t.f_host,
49
+ f_port: t.f_port,
50
+ f_u: t.f_u,
51
+ f_p: t.f_p,
52
+ f_path: t.f_path,
53
+ f_tls: t.f_tls ? 1 : 0
54
+ }, l = await _.Post(_.url_backup_config_save, s);
55
+ l.IsSuccess ? i.ShowSuccess("保存成功") : i.ShowError(l.message);
56
+ } catch (s) {
57
+ console.log(s), i.ShowError("保存配置失败");
58
+ }
59
+ }
60
+ async function T() {
61
+ try {
62
+ let s = await _.Post(_.url_backup_config_get, {});
63
+ if (s.IsSuccess) {
64
+ let l = s.data;
65
+ t.auto = l.auto == 1, t.plan = l.plan, t.hour = l.hour, t.minute = l.minute, t.path = l.path, t.keep = l.keep, t.use_ftp = l.use_ftp == 1, t.f_host = l.f_host, t.f_port = l.f_port, t.f_u = l.f_u, t.f_p = l.f_p, t.f_path = l.f_path, t.f_tls = l.f_tls == 1;
66
+ } else
67
+ i.ShowError("获取备份配置失败");
68
+ } catch (s) {
69
+ i.ShowError("获取备份配置失败"), console.log(s);
70
+ }
71
+ }
72
+ return A(() => {
73
+ T();
74
+ }), (s, l) => {
75
+ const C = n("el-alert"), h = n("el-button"), x = n("el-table-column"), k = n("el-tab-pane"), V = n("el-switch"), d = n("el-form-item"), a = n("el-option"), b = n("el-select"), f = n("el-space"), m = n("el-input"), r = n("el-text"), F = n("el-divider"), B = n("el-input-number"), N = n("el-form"), z = n("el-tabs"), I = n("department_edit_dialog");
76
+ return c(), w(Z, null, [
77
+ e(D),
78
+ $("div", L, [
79
+ e(z, {
80
+ modelValue: g.value,
81
+ "onUpdate:modelValue": l[12] || (l[12] = (u) => g.value = u)
82
+ }, {
83
+ default: o(() => [
84
+ e(k, {
85
+ label: "备份记录",
86
+ name: "list"
87
+ }, {
88
+ default: o(() => [
89
+ e(C, {
90
+ title: "如需还原备份点,请联系技术人员。",
91
+ type: "info",
92
+ "show-icon": "",
93
+ closable: !1,
94
+ style: { width: "450px" }
95
+ }),
96
+ e(G, {
97
+ config: U,
98
+ module: "backup",
99
+ style: { "margin-top": "10px" }
100
+ }, {
101
+ headermain: o(() => [
102
+ e(h, {
103
+ class: "main_btn",
104
+ type: "primary",
105
+ onClick: E
106
+ }, {
107
+ default: o(() => [...l[14] || (l[14] = [
108
+ p("立即备份", -1)
109
+ ])]),
110
+ _: 1
111
+ })
112
+ ]),
113
+ content: o(() => [
114
+ e(x, {
115
+ prop: "item_name",
116
+ label: "备份点",
117
+ "min-width": "240"
118
+ }),
119
+ e(x, {
120
+ prop: "size_desc",
121
+ label: "大小",
122
+ width: "200"
123
+ })
124
+ ]),
125
+ _: 1
126
+ }, 8, ["config"])
127
+ ]),
128
+ _: 1
129
+ }),
130
+ e(k, {
131
+ label: "设置",
132
+ name: "setting"
133
+ }, {
134
+ default: o(() => [
135
+ e(N, {
136
+ "label-width": "100px",
137
+ style: { "margin-top": "10px" }
138
+ }, {
139
+ default: o(() => [
140
+ e(d, { label: "自动备份" }, {
141
+ default: o(() => [
142
+ e(V, {
143
+ modelValue: t.auto,
144
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => t.auto = u)
145
+ }, null, 8, ["modelValue"])
146
+ ]),
147
+ _: 1
148
+ }),
149
+ t.auto ? (c(), w("div", O, [
150
+ e(d, { label: "备份频次" }, {
151
+ default: o(() => [
152
+ e(f, null, {
153
+ default: o(() => [
154
+ e(b, {
155
+ modelValue: t.plan,
156
+ "onUpdate:modelValue": l[1] || (l[1] = (u) => t.plan = u),
157
+ style: { width: "150px" }
158
+ }, {
159
+ default: o(() => [
160
+ e(a, {
161
+ label: "每天",
162
+ value: "Everyday"
163
+ }),
164
+ e(a, {
165
+ label: "每周一",
166
+ value: "Monday"
167
+ }),
168
+ e(a, {
169
+ label: "每月第一天",
170
+ value: "FirstDayOfMonth"
171
+ })
172
+ ]),
173
+ _: 1
174
+ }, 8, ["modelValue"]),
175
+ e(b, {
176
+ modelValue: t.hour,
177
+ "onUpdate:modelValue": l[2] || (l[2] = (u) => t.hour = u),
178
+ style: { width: "100px" }
179
+ }, {
180
+ default: o(() => [
181
+ e(a, {
182
+ label: "00点",
183
+ value: "00"
184
+ }),
185
+ e(a, {
186
+ label: "01点",
187
+ value: "01"
188
+ }),
189
+ e(a, {
190
+ label: "02点",
191
+ value: "02"
192
+ }),
193
+ e(a, {
194
+ label: "03点",
195
+ value: "03"
196
+ }),
197
+ e(a, {
198
+ label: "04点",
199
+ value: "04"
200
+ }),
201
+ e(a, {
202
+ label: "05点",
203
+ value: "05"
204
+ }),
205
+ e(a, {
206
+ label: "06点",
207
+ value: "06"
208
+ }),
209
+ e(a, {
210
+ label: "07点",
211
+ value: "07"
212
+ }),
213
+ e(a, {
214
+ label: "08点",
215
+ value: "08"
216
+ }),
217
+ e(a, {
218
+ label: "09点",
219
+ value: "09"
220
+ }),
221
+ e(a, {
222
+ label: "10点",
223
+ value: "10"
224
+ }),
225
+ e(a, {
226
+ label: "11点",
227
+ value: "11"
228
+ }),
229
+ e(a, {
230
+ label: "12点",
231
+ value: "12"
232
+ }),
233
+ e(a, {
234
+ label: "13点",
235
+ value: "13"
236
+ }),
237
+ e(a, {
238
+ label: "14点",
239
+ value: "14"
240
+ }),
241
+ e(a, {
242
+ label: "15点",
243
+ value: "15"
244
+ }),
245
+ e(a, {
246
+ label: "16点",
247
+ value: "16"
248
+ }),
249
+ e(a, {
250
+ label: "17点",
251
+ value: "17"
252
+ }),
253
+ e(a, {
254
+ label: "18点",
255
+ value: "18"
256
+ }),
257
+ e(a, {
258
+ label: "19点",
259
+ value: "19"
260
+ }),
261
+ e(a, {
262
+ label: "20点",
263
+ value: "20"
264
+ }),
265
+ e(a, {
266
+ label: "21点",
267
+ value: "21"
268
+ }),
269
+ e(a, {
270
+ label: "22点",
271
+ value: "22"
272
+ }),
273
+ e(a, {
274
+ label: "23点",
275
+ value: "23"
276
+ })
277
+ ]),
278
+ _: 1
279
+ }, 8, ["modelValue"]),
280
+ e(b, {
281
+ modelValue: t.minute,
282
+ "onUpdate:modelValue": l[3] || (l[3] = (u) => t.minute = u),
283
+ style: { width: "100px" }
284
+ }, {
285
+ default: o(() => [
286
+ e(a, {
287
+ label: "00分",
288
+ value: "00"
289
+ }),
290
+ e(a, {
291
+ label: "15分",
292
+ value: "15"
293
+ }),
294
+ e(a, {
295
+ label: "30分",
296
+ value: "30"
297
+ }),
298
+ e(a, {
299
+ label: "45分",
300
+ value: "45"
301
+ })
302
+ ]),
303
+ _: 1
304
+ }, 8, ["modelValue"])
305
+ ]),
306
+ _: 1
307
+ })
308
+ ]),
309
+ _: 1
310
+ }),
311
+ e(d, { label: "备份路径" }, {
312
+ default: o(() => [
313
+ e(f, {
314
+ direction: "vertical",
315
+ size: 2,
316
+ alignment: "stretch"
317
+ }, {
318
+ default: o(() => [
319
+ e(m, { style: { width: "500px" } }),
320
+ e(r, { type: "info" }, {
321
+ default: o(() => [...l[15] || (l[15] = [
322
+ p("如果您使用的是物理主机,并且不具备磁盘阵列功能,强烈建议备份路径设置到第二个硬盘/U盘", -1)
323
+ ])]),
324
+ _: 1
325
+ })
326
+ ]),
327
+ _: 1
328
+ })
329
+ ]),
330
+ _: 1
331
+ }),
332
+ e(d, { label: "保存选项" }, {
333
+ default: o(() => [
334
+ e(b, {
335
+ modelValue: t.keep,
336
+ "onUpdate:modelValue": l[4] || (l[4] = (u) => t.keep = u),
337
+ style: { width: "200px" }
338
+ }, {
339
+ default: o(() => [
340
+ e(a, {
341
+ label: "保留最近20个备份",
342
+ value: "lastkeep20"
343
+ }),
344
+ e(a, {
345
+ label: "保留最近10个备份",
346
+ value: "lastkeep10"
347
+ })
348
+ ]),
349
+ _: 1
350
+ }, 8, ["modelValue"])
351
+ ]),
352
+ _: 1
353
+ }),
354
+ e(F, {
355
+ "content-position": "left",
356
+ style: { width: "400px" }
357
+ }, {
358
+ default: o(() => [...l[16] || (l[16] = [
359
+ p("上传FTP", -1)
360
+ ])]),
361
+ _: 1
362
+ }),
363
+ e(d, { label: "启用/关闭" }, {
364
+ default: o(() => [
365
+ e(V, {
366
+ modelValue: t.use_ftp,
367
+ "onUpdate:modelValue": l[5] || (l[5] = (u) => t.use_ftp = u)
368
+ }, null, 8, ["modelValue"]),
369
+ e(r, {
370
+ type: "info",
371
+ style: { "margin-left": "10px" }
372
+ }, {
373
+ default: o(() => [...l[17] || (l[17] = [
374
+ p("上传FTP可以解决本机备份空间不足的问题", -1)
375
+ ])]),
376
+ _: 1
377
+ })
378
+ ]),
379
+ _: 1
380
+ }),
381
+ t.use_ftp ? (c(), w("div", Q, [
382
+ e(d, { label: "FTP主机地址" }, {
383
+ default: o(() => [
384
+ e(f, null, {
385
+ default: o(() => [
386
+ e(m, {
387
+ modelValue: t.f_host,
388
+ "onUpdate:modelValue": l[6] || (l[6] = (u) => t.f_host = u),
389
+ style: { width: "300px" }
390
+ }, null, 8, ["modelValue"]),
391
+ e(r, null, {
392
+ default: o(() => [...l[18] || (l[18] = [
393
+ p("端口", -1)
394
+ ])]),
395
+ _: 1
396
+ }),
397
+ e(B, {
398
+ modelValue: t.f_port,
399
+ "onUpdate:modelValue": l[7] || (l[7] = (u) => t.f_port = u),
400
+ min: 1,
401
+ max: 65535,
402
+ "value-on-clear": 21,
403
+ style: { width: "120px" },
404
+ "controls-position": "right"
405
+ }, null, 8, ["modelValue"])
406
+ ]),
407
+ _: 1
408
+ })
409
+ ]),
410
+ _: 1
411
+ }),
412
+ e(d, { label: "FTP用户" }, {
413
+ default: o(() => [
414
+ e(m, {
415
+ modelValue: t.f_u,
416
+ "onUpdate:modelValue": l[8] || (l[8] = (u) => t.f_u = u),
417
+ style: { width: "200px" }
418
+ }, null, 8, ["modelValue"])
419
+ ]),
420
+ _: 1
421
+ }),
422
+ e(d, { label: "FTP密码" }, {
423
+ default: o(() => [
424
+ e(f, {
425
+ direction: "vertical",
426
+ size: 2,
427
+ alignment: "stretch"
428
+ }, {
429
+ default: o(() => [
430
+ e(m, {
431
+ modelValue: t.f_p,
432
+ "onUpdate:modelValue": l[9] || (l[9] = (u) => t.f_p = u),
433
+ type: "password",
434
+ style: { width: "200px" }
435
+ }, null, 8, ["modelValue"]),
436
+ e(r, { type: "info" }, {
437
+ default: o(() => [...l[19] || (l[19] = [
438
+ p("这里不显示保存的密码,要修改时才输入", -1)
439
+ ])]),
440
+ _: 1
441
+ })
442
+ ]),
443
+ _: 1
444
+ })
445
+ ]),
446
+ _: 1
447
+ }),
448
+ e(d, { label: "FTP目录名" }, {
449
+ default: o(() => [
450
+ e(f, {
451
+ direction: "vertical",
452
+ size: 2,
453
+ alignment: "stretch"
454
+ }, {
455
+ default: o(() => [
456
+ e(m, {
457
+ modelValue: t.f_path,
458
+ "onUpdate:modelValue": l[10] || (l[10] = (u) => t.f_path = u),
459
+ style: { width: "200px" }
460
+ }, null, 8, ["modelValue"]),
461
+ e(r, { type: "info" }, {
462
+ default: o(() => [...l[20] || (l[20] = [
463
+ p("多台机器备份到同一个FTP时可按目录名区分", -1)
464
+ ])]),
465
+ _: 1
466
+ })
467
+ ]),
468
+ _: 1
469
+ })
470
+ ]),
471
+ _: 1
472
+ }),
473
+ e(d, { label: "TLS" }, {
474
+ default: o(() => [
475
+ e(V, {
476
+ modelValue: t.f_tls,
477
+ "onUpdate:modelValue": l[11] || (l[11] = (u) => t.f_tls = u)
478
+ }, null, 8, ["modelValue"])
479
+ ]),
480
+ _: 1
481
+ })
482
+ ])) : S("", !0)
483
+ ])) : S("", !0),
484
+ e(d, null, {
485
+ default: o(() => [
486
+ e(h, {
487
+ type: "primary",
488
+ onClick: P
489
+ }, {
490
+ default: o(() => [...l[21] || (l[21] = [
491
+ p("应用设置", -1)
492
+ ])]),
493
+ _: 1
494
+ })
495
+ ]),
496
+ _: 1
497
+ })
498
+ ]),
499
+ _: 1
500
+ })
501
+ ]),
502
+ _: 1
503
+ })
504
+ ]),
505
+ _: 1
506
+ }, 8, ["modelValue"])
507
+ ]),
508
+ e(I, {
509
+ id: v.edit_id,
510
+ modelValue: v.edit_dialog_show,
511
+ "onUpdate:modelValue": l[13] || (l[13] = (u) => v.edit_dialog_show = u)
512
+ }, null, 8, ["id", "modelValue"])
513
+ ], 64);
514
+ };
515
+ }
516
+ });
517
+ export {
518
+ W as default
519
+ };
@@ -0,0 +1,43 @@
1
+ import { defineComponent as _, ref as p, watch as i, onMounted as d, resolveComponent as c, createBlock as u, openBlock as t, unref as b, withCtx as m, createElementBlock as f, Fragment as h, renderList as v, createTextVNode as x, toDisplayString as g } from "vue";
2
+ import { m as k } from "./index-BaFHeDAF.js";
3
+ import { u as B } from "./index-CX41PbES.js";
4
+ const E = /* @__PURE__ */ _({
5
+ __name: "breadcrumb",
6
+ setup(R) {
7
+ const e = B(), r = p([]);
8
+ i(
9
+ () => e.currentRoute.value.path,
10
+ // 使用 getter 函数
11
+ () => {
12
+ o(e.currentRoute.value.matched);
13
+ }
14
+ ), d(() => {
15
+ o(e.currentRoute.value.matched);
16
+ });
17
+ function o(a) {
18
+ r.value = a;
19
+ }
20
+ return (a, w) => {
21
+ const l = c("el-breadcrumb-item"), s = c("el-breadcrumb");
22
+ return t(), u(s, {
23
+ "separator-icon": b(k),
24
+ style: { padding: "20px" }
25
+ }, {
26
+ default: m(() => [
27
+ (t(!0), f(h, null, v(r.value, (n) => (t(), u(l, {
28
+ key: n.path
29
+ }, {
30
+ default: m(() => [
31
+ x(g(n.meta.title), 1)
32
+ ]),
33
+ _: 2
34
+ }, 1024))), 128))
35
+ ]),
36
+ _: 1
37
+ }, 8, ["separator-icon"]);
38
+ };
39
+ }
40
+ });
41
+ export {
42
+ E as _
43
+ };