@skyfox2000/webui 1.4.6 → 1.4.8

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 (48) hide show
  1. package/lib/TemplateFile.d.ts +1 -0
  2. package/lib/assets/modules/{baseLayout-CUZpKmC0.js → baseLayout-DIny49tw.js} +6 -6
  3. package/lib/assets/modules/{file-upload-BrTPBL29.js → file-upload-DHUBZlX4.js} +1 -1
  4. package/lib/assets/modules/{index-NDOzpgzV.js → index-BIAdOoSj.js} +10 -10
  5. package/lib/assets/modules/{index-BqoqvtEv.js → index-CEffEFtI.js} +1 -1
  6. package/lib/assets/modules/index-DyRjXb_O.js +114 -0
  7. package/lib/assets/modules/{menuTabs-BaZAmaXz.js → menuTabs-CCrFWIOl.js} +7 -7
  8. package/lib/assets/modules/{toolIcon-DHKszGtC.js → toolIcon-BGZR_aUI.js} +1 -1
  9. package/lib/assets/modules/{uploadList-DSN9t4r8.js → uploadList-CMXuGRWT.js} +163 -153
  10. package/lib/assets/modules/{uploadList-C5R2XD5x.js → uploadList-l4q5o65m.js} +150 -138
  11. package/lib/components/common/icon/helper.vue.d.ts +2 -0
  12. package/lib/components/content/dialog/index.vue.d.ts +1 -0
  13. package/lib/components/content/drawer/index.vue.d.ts +2 -0
  14. package/lib/components/content/tree/index.vue.d.ts +3 -14
  15. package/lib/components/form/upload/uploadList.vue.d.ts +3 -0
  16. package/lib/es/AceEditor/index.js +3 -3
  17. package/lib/es/BasicLayout/index.js +6 -6
  18. package/lib/es/Error403/index.js +1 -1
  19. package/lib/es/Error404/index.js +1 -1
  20. package/lib/es/ExcelForm/index.js +5 -5
  21. package/lib/es/MenuLayout/index.js +6 -6
  22. package/lib/es/TemplateFile/index.js +208 -0
  23. package/lib/es/UploadForm/index.js +6 -6
  24. package/lib/utils/tree.d.ts +9 -0
  25. package/lib/webui.css +1 -1
  26. package/lib/webui.es.js +514 -489
  27. package/package.json +8 -2
  28. package/src/components/common/icon/helper.vue +3 -1
  29. package/src/components/content/dialog/index.vue +15 -13
  30. package/src/components/content/dialog/templateFile.vue +259 -0
  31. package/src/components/content/dialog/uploadForm.vue +6 -14
  32. package/src/components/content/drawer/index.vue +29 -51
  33. package/src/components/content/tree/index.vue +26 -25
  34. package/src/components/form/select/index.vue +1 -1
  35. package/src/components/form/upload/uploadList.vue +66 -89
  36. package/src/utils/tree.ts +20 -0
  37. package/.eslintrc.js +0 -23
  38. package/.prettierrc +0 -11
  39. package/.vscode/settings.json +0 -25
  40. package/env.d.ts +0 -11
  41. package/index.html +0 -19
  42. package/lib/assets/modules/index-DP1u2P1k.js +0 -112
  43. package/plugins/vite-plugin-auto-generate-vue.ts +0 -105
  44. package/postcss.config.ts +0 -6
  45. package/tailwind.config.ts +0 -11
  46. package/tsconfig.json +0 -46
  47. package/vite.config.ts +0 -120
  48. package//344/273/243/347/240/201/350/247/204/350/214/203/345/217/212/351/243/216/346/240/274/346/214/207/345/215/227.md +0 -116
@@ -1,69 +1,72 @@
1
- import { defineComponent as Z, ref as L, computed as K, watch as P, resolveDirective as ee, createElementBlock as v, openBlock as m, normalizeClass as O, unref as n, createElementVNode as f, withDirectives as x, createBlock as te, mergeProps as oe, withCtx as y, createVNode as p, createTextVNode as E, toDisplayString as $, Fragment as ne, renderList as ae, createCommentVNode as S } from "vue";
2
- import { _ as se } from "./index-BqoqvtEv.js";
3
- import { a as z, _ as A } from "./toolIcon-DHKszGtC.js";
4
- import { httpPost as R, ResStatus as D } from "@skyfox2000/fapi";
5
- import { L as V, u as Q, s as ie, _ as re } from "./uploadList-DSN9t4r8.js";
6
- import { p as M, U as i } from "./file-upload-BrTPBL29.js";
1
+ import { defineComponent as Z, ref as L, computed as D, watch as P, resolveDirective as ee, createElementBlock as f, openBlock as p, normalizeClass as O, unref as s, createElementVNode as v, withDirectives as x, createBlock as te, mergeProps as oe, withCtx as y, createVNode as d, createTextVNode as E, toDisplayString as $, Fragment as ne, renderList as se, createCommentVNode as w } from "vue";
2
+ import { _ as ae } from "./index-CEffEFtI.js";
3
+ import { a as z, _ as A } from "./toolIcon-BGZR_aUI.js";
4
+ import { httpPost as B, ResStatus as T } from "@skyfox2000/fapi";
5
+ import { L as Q, u as V, t as ie, _ as re } from "./uploadList-CMXuGRWT.js";
6
+ import { p as R, U as i } from "./file-upload-DHUBZlX4.js";
7
7
  import { combineParams as q } from "@skyfox2000/microbase";
8
- import g from "vue-m-message";
8
+ import C from "vue-m-message";
9
9
  import "async-validator";
10
10
  import "dayjs";
11
11
  import { Upload as le, Tag as ce, Popconfirm as ue, Progress as pe } from "ant-design-vue";
12
12
  import "vue-draggable-next";
13
13
  import { _ as de } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
- const me = (l, w) => {
14
+ const me = (l, _) => {
15
15
  const e = document.createElement("a"), h = URL.createObjectURL(l);
16
- e.href = h, e.download = w, e.style.display = "none", document.body.appendChild(e), e.click(), URL.revokeObjectURL(h), document.body.removeChild(e);
17
- }, fe = (l, w, e) => {
16
+ e.href = h, e.download = _, e.style.display = "none", document.body.appendChild(e), e.click(), URL.revokeObjectURL(h), document.body.removeChild(e);
17
+ }, fe = (l, _, e) => {
18
18
  try {
19
19
  e && (l.api || (l.api = e.api), l.authorize === void 0 && (l.authorize = e.authorize));
20
- const h = q(l.params, w);
21
- return R(l, h).then((c) => {
22
- if ((c == null ? void 0 : c.status) === D.SUCCESS && c.data) {
23
- const s = c.data, U = s.Content, k = s.Key.split("/").pop(), u = atob(U), b = [];
20
+ const h = q(l.params, _);
21
+ return B(l, h).then((c) => {
22
+ if ((c == null ? void 0 : c.status) === T.SUCCESS && c.data) {
23
+ const a = c.data, b = a.Content, k = a.Key.split("/").pop(), u = atob(b), g = [];
24
24
  for (let F = 0; F < u.length; F++)
25
- b.push(u.charCodeAt(F));
26
- const C = new Blob([new Uint8Array(b)], {
27
- type: s.Type
25
+ g.push(u.charCodeAt(F));
26
+ const S = new Blob([new Uint8Array(g)], {
27
+ type: a.Type
28
28
  });
29
- me(C, k);
30
- } else if ((c == null ? void 0 : c.errno) == V) {
31
- Q().logout(!1);
29
+ me(S, k);
30
+ } else if ((c == null ? void 0 : c.errno) == Q) {
31
+ V().logout(!1);
32
32
  return;
33
33
  } else
34
- g.error("下载文件失败!");
34
+ C.error("下载文件失败!");
35
35
  });
36
36
  } catch (h) {
37
- console.error("下载失败:", h), g.error("文件下载失败,请稍后重试");
37
+ console.error("下载失败:", h), C.error("文件下载失败,请稍后重试");
38
38
  }
39
- }, he = ["xlsx", "xls", "csv", "txt"], ve = (l, w, e) => {
40
- const h = w.split(".").pop();
39
+ }, he = ["xlsx", "xls", "csv", "txt"], ve = (l, _, e) => {
40
+ const h = _.split(".").pop();
41
41
  if (he.includes(h))
42
42
  console.log(l);
43
43
  else
44
- return g.error("文件类型不支持预览"), !1;
44
+ return C.error("文件类型不支持预览"), !1;
45
45
  const c = q(l.params, e);
46
- return R(l, c).then((s) => {
47
- if ((s == null ? void 0 : s.status) === D.SUCCESS && s.data) {
48
- const k = s.data.Content, u = atob(k), b = [];
49
- for (let C = 0; C < u.length; C++)
50
- b.push(u.charCodeAt(C));
51
- } else if ((s == null ? void 0 : s.errno) == V) {
52
- Q().logout(!1);
46
+ return B(l, c).then((a) => {
47
+ if ((a == null ? void 0 : a.status) === T.SUCCESS && a.data) {
48
+ const k = a.data.Content, u = atob(k), g = [];
49
+ for (let S = 0; S < u.length; S++)
50
+ g.push(u.charCodeAt(S));
51
+ } else if ((a == null ? void 0 : a.errno) == Q) {
52
+ V().logout(!1);
53
53
  return;
54
54
  } else
55
- g.error("文件预览失败!");
55
+ C.error("文件预览失败!");
56
56
  });
57
- }, xe = { class: "flex items-center justify-between w-full" }, ye = { class: "w-35 mx-3" }, we = { class: "mt-4 px-3" }, Ce = { class: "flex items-center justify-between" }, _e = { class: "flex items-center" }, Se = { class: "flex items-center" }, ge = {
57
+ }, xe = { class: "flex items-center justify-between w-full" }, ye = { class: "w-35 mx-3" }, we = { class: "mt-4 px-3" }, Ce = { class: "flex items-center justify-between" }, _e = { class: "flex items-center" }, Se = { class: "flex items-center" }, Ue = {
58
58
  key: 0,
59
59
  class: "mr-2"
60
- }, be = {
60
+ }, ge = {
61
61
  key: 1,
62
62
  class: "flex items-center text-blue-500 hover:text-blue-700 mr-1 cursor-pointer"
63
- }, Ue = ["onClick"], ke = {
63
+ }, be = ["onClick"], ke = {
64
64
  key: 2,
65
65
  class: "flex items-center text-blue-500 hover:text-blue-700 mr-1 cursor-pointer"
66
- }, Fe = ["onClick"], Ee = { class: "flex items-center text-red-500 hover:text-red-700 cursor-pointer" }, Oe = ["onClick"], ze = {
66
+ }, Fe = ["onClick"], Ee = {
67
+ key: 3,
68
+ class: "flex items-center text-red-500 hover:text-red-700 cursor-pointer"
69
+ }, Oe = ["onClick"], ze = {
67
70
  key: 0,
68
71
  class: "text-sm text-nowrap"
69
72
  }, Le = { key: 0 }, Pe = /* @__PURE__ */ Z({
@@ -73,6 +76,7 @@ const me = (l, w) => {
73
76
  uploadUrl: {},
74
77
  downloadUrl: {},
75
78
  previewUrl: {},
79
+ deleteUrl: {},
76
80
  fileList: { default: () => [] },
77
81
  placeholder: { default: "" },
78
82
  fileExt: {},
@@ -83,47 +87,48 @@ const me = (l, w) => {
83
87
  fileExtTip: { type: Boolean, default: !0 },
84
88
  parentPath: {},
85
89
  showActionText: { type: Boolean, default: !0 },
86
- showOnlineSwitch: { type: Boolean, default: !1 }
90
+ showOnlineSwitch: { type: Boolean, default: !1 },
91
+ showDelete: { type: Boolean, default: !0 }
87
92
  },
88
93
  emits: ["update:file-list"],
89
- setup(l, { emit: w }) {
90
- const e = l, h = ie(), { errInfo: c } = h, s = L(e.fileList), U = L(), k = w, u = L(!1), b = K(() => {
94
+ setup(l, { emit: _ }) {
95
+ const e = l, h = ie(), { errInfo: c } = h, a = L(e.fileList), b = L(), k = _, u = L(!1), g = D(() => {
91
96
  var t;
92
97
  return (t = e.fileExt) != null && t.length ? e.fileExt.map((o) => `.${o}`).join(",") : "";
93
- }), C = (t) => {
98
+ }), S = (t) => {
94
99
  var o;
95
100
  if (e.fileExt && e.fileExt.length > 0) {
96
- const a = ((o = t.name.split(".").pop()) == null ? void 0 : o.toLowerCase()) || "";
97
- if (!e.fileExt.includes(a))
98
- return g.error("文件类型不支持"), !1;
101
+ const n = ((o = t.name.split(".").pop()) == null ? void 0 : o.toLowerCase()) || "";
102
+ if (!e.fileExt.includes(n))
103
+ return C.error("文件类型不支持"), !1;
99
104
  }
100
- return t.size / 1024 / 1024 > e.maxFileSize ? (g.error(`文件大小超过 ${e.maxFileSize}MB 限制`), !1) : e.maxCount > 1 && s.value.length >= e.maxCount ? (g.error(`最多上传 ${e.maxCount} 个文件`), !1) : (u.value = !1, e.autoUpload);
105
+ return t.size / 1024 / 1024 > e.maxFileSize ? (C.error(`文件大小超过 ${e.maxFileSize}MB 限制`), !1) : e.maxCount > 1 && a.value.length >= e.maxCount ? (C.error(`最多上传 ${e.maxCount} 个文件`), !1) : (u.value = !1, e.autoUpload);
101
106
  }, F = (t) => {
102
107
  t.forEach((o) => {
103
- const a = o;
104
- a.fileName || (a.fileName = a.name), e.parentPath && (a.name = M.join("/", e.parentPath, a.fileName)), a.params || (a.params = {}), a.params.FileKey = a.name, a.status = i.Pending;
108
+ const n = o;
109
+ n.fileName || (n.fileName = n.name), e.parentPath && (n.name = R.join("/", e.parentPath, n.fileName)), n.params || (n.params = {}), n.params.FileKey = n.name, n.status = i.Pending;
105
110
  });
106
- }, G = K(() => ({
107
- accept: b.value,
111
+ }, G = D(() => ({
112
+ accept: g.value,
108
113
  multiple: !0,
109
- fileList: s.value,
114
+ fileList: a.value,
110
115
  "onUpdate:fileList": F,
111
- beforeUpload: C,
116
+ beforeUpload: S,
112
117
  listType: "text",
113
118
  maxCount: e.maxCount,
114
119
  showUploadList: !1,
115
120
  onChange: (t) => {
116
- e.autoUpload || (s.value = t.fileList);
121
+ e.autoUpload || (a.value = t.fileList);
117
122
  }
118
123
  }));
119
124
  P(
120
125
  () => e.fileList,
121
126
  (t) => {
122
- s.value = t;
127
+ a.value = t;
123
128
  },
124
129
  { deep: !0, immediate: !0 }
125
130
  ), P(
126
- () => s.value,
131
+ () => a.value,
127
132
  (t) => {
128
133
  k("update:file-list", t);
129
134
  },
@@ -131,13 +136,13 @@ const me = (l, w) => {
131
136
  ), P(
132
137
  () => e.parentPath,
133
138
  (t) => {
134
- t && s.value.forEach((o) => {
135
- o.params.FileKey = M.join("/", t, o.fileName);
139
+ t && a.value.forEach((o) => {
140
+ o.params.FileKey = R.join("/", t, o.fileName);
136
141
  });
137
142
  }
138
143
  );
139
- const B = (t) => {
140
- const o = s.value[t].minioFile, a = {
144
+ const N = (t) => {
145
+ const o = a.value[t].minioFile, n = {
141
146
  api: e.downloadUrl.api,
142
147
  authorize: e.downloadUrl.authorize,
143
148
  url: e.downloadUrl.url,
@@ -147,11 +152,11 @@ const me = (l, w) => {
147
152
  }
148
153
  }
149
154
  };
150
- fe(a);
155
+ fe(n);
151
156
  }, H = (t) => {
152
157
  t.minioFile && (t.minioFile.Status = t.status);
153
- }, T = (t) => {
154
- const o = s.value[t].minioFile, a = {
158
+ }, j = (t) => {
159
+ const o = a.value[t].minioFile, n = {
155
160
  api: e.previewUrl.api,
156
161
  authorize: e.previewUrl.authorize,
157
162
  url: e.previewUrl.url,
@@ -161,18 +166,25 @@ const me = (l, w) => {
161
166
  }
162
167
  }
163
168
  };
164
- ve(a, o.FileName);
165
- }, N = (t) => {
166
- s.value.splice(t, 1), u.value = !1;
169
+ ve(n, o.FileName);
170
+ }, I = (t) => {
171
+ const o = a.value[t];
172
+ e.deleteUrl ? B(e.deleteUrl, {
173
+ Query: {
174
+ FileKey: o.minioFile.Key
175
+ }
176
+ }).then((n) => {
177
+ n && n.status === T.SUCCESS && (C.success("删除文件成功!"), a.value.splice(t, 1));
178
+ }) : a.value.splice(t, 1), u.value = !1;
167
179
  }, J = (t, o) => {
168
180
  if (o === i.Pending) {
169
- N(t);
181
+ I(t);
170
182
  return;
171
183
  }
172
184
  u.value = !0;
173
185
  }, W = () => {
174
- const t = e.fileExt && e.fileExt.length && e.fileExtTip ? `文件必须为 ${e.fileExt.join("/")}` : "", o = e.maxFileSize !== 0 && e.maxFileSizeTip ? `单文件最大 ${e.maxFileSize}MB` : "", a = e.maxCount !== 0 && e.maxCountTip ? `最多 ${e.maxCount} 个文件` : "";
175
- return [o, t, a].filter(Boolean).join(",");
186
+ const t = e.fileExt && e.fileExt.length && e.fileExtTip ? `文件必须为 ${e.fileExt.join("/")}` : "", o = e.maxFileSize !== 0 && e.maxFileSizeTip ? `单文件最大 ${e.maxFileSize}MB` : "", n = e.maxCount !== 0 && e.maxCountTip ? `最多 ${e.maxCount} 个文件` : "";
187
+ return [o, t, n].filter(Boolean).join(",");
176
188
  }, X = (t) => {
177
189
  switch (t) {
178
190
  case i.Uploading:
@@ -205,22 +217,22 @@ const me = (l, w) => {
205
217
  }
206
218
  };
207
219
  return (t, o) => {
208
- var j, I;
209
- const a = ee("auth");
210
- return m(), v("div", {
211
- class: O(["w-full border border-solid border-gray-100 mt-1 rounded-md py-5", [(j = n(c)) == null ? void 0 : j.errClass]])
220
+ var K, M;
221
+ const n = ee("auth");
222
+ return p(), f("div", {
223
+ class: O(["w-full border border-solid border-gray-100 mt-1 rounded-md py-5", [(K = s(c)) == null ? void 0 : K.errClass]])
212
224
  }, [
213
- f("div", xe, [
214
- f("div", ye, [
215
- x((m(), te(n(le), oe({
225
+ v("div", xe, [
226
+ v("div", ye, [
227
+ x((p(), te(s(le), oe({
216
228
  ref_key: "fileUploader",
217
- ref: U
229
+ ref: b
218
230
  }, G.value), {
219
231
  default: y(() => {
220
232
  var r;
221
233
  return [
222
- p(n(se), {
223
- class: O([((r = n(c)) == null ? void 0 : r.errClass) + "-text"])
234
+ d(s(ae), {
235
+ class: O([((r = s(c)) == null ? void 0 : r.errClass) + "-text"])
224
236
  }, {
225
237
  default: y(() => o[2] || (o[2] = [
226
238
  E("选择文件")
@@ -232,25 +244,25 @@ const me = (l, w) => {
232
244
  }),
233
245
  _: 1
234
246
  }, 16)), [
235
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:upload" }]
247
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:upload" }]
236
248
  ])
237
249
  ]),
238
- f("div", {
239
- class: O(["flex-1 text-sm text-gray-500", [((I = n(c)) == null ? void 0 : I.errClass) + "-text"]])
250
+ v("div", {
251
+ class: O(["flex-1 text-sm text-gray-500", [((M = s(c)) == null ? void 0 : M.errClass) + "-text"]])
240
252
  }, $(W()), 3)
241
253
  ]),
242
- f("div", we, [
243
- (m(!0), v(ne, null, ae(s.value, (r, _) => (m(), v("div", {
244
- key: _,
254
+ v("div", we, [
255
+ (p(!0), f(ne, null, se(a.value, (r, U) => (p(), f("div", {
256
+ key: U,
245
257
  class: "mb-2 pb-1"
246
258
  }, [
247
- f("div", Ce, [
248
- f("div", _e, [
249
- f("span", {
250
- class: O(["text-gray-700 mr-2", [r.status == n(i).Offline ? "line-through" : ""]])
259
+ v("div", Ce, [
260
+ v("div", _e, [
261
+ v("span", {
262
+ class: O(["text-gray-700 mr-2", [r.status == s(i).Offline ? "line-through" : ""]])
251
263
  }, $(r.fileName ?? r.name), 3),
252
- f("span", null, [
253
- p(n(ce), {
264
+ v("span", null, [
265
+ d(s(ce), {
254
266
  color: X(r.status)
255
267
  }, {
256
268
  default: y(() => [
@@ -260,101 +272,101 @@ const me = (l, w) => {
260
272
  }, 1032, ["color"])
261
273
  ])
262
274
  ]),
263
- f("div", Se, [
264
- t.showOnlineSwitch && (r.status == n(i).Online || r.status == n(i).Offline) ? (m(), v("div", ge, [
265
- p(n(z), { title: "上线或下线" }, {
275
+ v("div", Se, [
276
+ t.showOnlineSwitch && (r.status == s(i).Online || r.status == s(i).Offline) ? (p(), f("div", Ue, [
277
+ d(s(z), { title: "上线或下线" }, {
266
278
  default: y(() => [
267
- x(p(n(re), {
279
+ x(d(s(re), {
268
280
  checked: r.status,
269
- "onUpdate:checked": (d) => r.status = d,
281
+ "onUpdate:checked": (m) => r.status = m,
270
282
  data: [
271
- { label: "上线", value: n(i).Online },
272
- { label: "下线", value: n(i).Offline }
283
+ { label: "上线", value: s(i).Online },
284
+ { label: "下线", value: s(i).Offline }
273
285
  ],
274
- onChange: (d) => H(r)
286
+ onChange: (m) => H(r)
275
287
  }, null, 8, ["checked", "onUpdate:checked", "data", "onChange"]), [
276
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:online" }]
288
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:online" }]
277
289
  ])
278
290
  ]),
279
291
  _: 2
280
292
  }, 1024)
281
- ])) : S("", !0),
282
- t.downloadUrl && (r.status == n(i).Online || r.status == n(i).Offline) ? (m(), v("div", be, [
283
- p(n(z), { title: "下载" }, {
293
+ ])) : w("", !0),
294
+ t.downloadUrl && (r.status == s(i).Online || r.status == s(i).Offline) ? (p(), f("div", ge, [
295
+ d(s(z), { title: "下载" }, {
284
296
  default: y(() => [
285
- x(p(n(A), {
297
+ x(d(s(A), {
286
298
  icon: "icon-download",
287
299
  clickable: "",
288
- onClick: (d) => B(_)
300
+ onClick: (m) => N(U)
289
301
  }, null, 8, ["onClick"]), [
290
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:download" }]
302
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:download" }]
291
303
  ]),
292
- t.showActionText ? x((m(), v("span", {
304
+ t.showActionText ? x((p(), f("span", {
293
305
  key: 0,
294
306
  class: "mr-2 text-sm text-nowrap",
295
- onClick: (d) => B(_)
307
+ onClick: (m) => N(U)
296
308
  }, o[3] || (o[3] = [
297
309
  E("下载")
298
- ]), 8, Ue)), [
299
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:download" }]
300
- ]) : S("", !0)
310
+ ]), 8, be)), [
311
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:download" }]
312
+ ]) : w("", !0)
301
313
  ]),
302
314
  _: 2
303
315
  }, 1024)
304
- ])) : S("", !0),
305
- t.previewUrl && (r.status == n(i).Online || r.status == n(i).Offline) ? (m(), v("div", ke, [
306
- p(n(z), { title: "预览" }, {
316
+ ])) : w("", !0),
317
+ t.previewUrl && (r.status == s(i).Online || r.status == s(i).Offline) ? (p(), f("div", ke, [
318
+ d(s(z), { title: "预览" }, {
307
319
  default: y(() => [
308
- x(p(n(A), {
320
+ x(d(s(A), {
309
321
  icon: "icon-eye",
310
322
  clickable: "",
311
- onClick: (d) => T(_)
323
+ onClick: (m) => j(U)
312
324
  }, null, 8, ["onClick"]), [
313
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:preview" }]
325
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:preview" }]
314
326
  ]),
315
- t.showActionText ? x((m(), v("span", {
327
+ t.showActionText ? x((p(), f("span", {
316
328
  key: 0,
317
329
  class: "mr-2 text-sm text-nowrap",
318
- onClick: (d) => T(_)
330
+ onClick: (m) => j(U)
319
331
  }, o[4] || (o[4] = [
320
332
  E("预览")
321
333
  ]), 8, Fe)), [
322
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:preview" }]
323
- ]) : S("", !0)
334
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:preview" }]
335
+ ]) : w("", !0)
324
336
  ]),
325
337
  _: 2
326
338
  }, 1024)
327
- ])) : S("", !0),
328
- f("div", Ee, [
329
- p(n(ue), {
339
+ ])) : w("", !0),
340
+ t.showDelete !== !1 ? (p(), f("div", Ee, [
341
+ d(s(ue), {
330
342
  open: u.value,
331
- "onUpdate:open": o[0] || (o[0] = (d) => u.value = d),
343
+ "onUpdate:open": o[0] || (o[0] = (m) => u.value = m),
332
344
  cancelText: "否",
333
345
  okText: "是",
334
346
  title: "确定删除该文件吗?",
335
347
  okButtonProps: { size: "small" },
336
348
  cancelButtonProps: { size: "small" },
337
- onConfirm: (d) => N(_),
338
- onCancel: o[1] || (o[1] = (d) => u.value = !1)
349
+ onConfirm: (m) => I(U),
350
+ onCancel: o[1] || (o[1] = (m) => u.value = !1)
339
351
  }, {
340
352
  default: y(() => [
341
- p(n(z), { title: "删除" }, {
353
+ d(s(z), { title: "删除" }, {
342
354
  default: y(() => [
343
- f("div", {
344
- onClick: (d) => J(_, r.status)
355
+ v("div", {
356
+ onClick: (m) => J(U, r.status)
345
357
  }, [
346
- x(p(n(A), {
358
+ x(d(s(A), {
347
359
  icon: "icon-new",
348
360
  angle: 45,
349
361
  clickable: ""
350
362
  }, null, 512), [
351
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:delete" }]
363
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:delete" }]
352
364
  ]),
353
- t.showActionText ? x((m(), v("span", ze, o[5] || (o[5] = [
365
+ t.showActionText ? x((p(), f("span", ze, o[5] || (o[5] = [
354
366
  E("删除")
355
367
  ]))), [
356
- [a, { role: ["Super", "Admin"], permit: ":uploadlist:delete" }]
357
- ]) : S("", !0)
368
+ [n, { role: ["Super", "Admin"], permit: ":uploadlist:delete" }]
369
+ ]) : w("", !0)
358
370
  ], 8, Oe)
359
371
  ]),
360
372
  _: 2
@@ -362,23 +374,23 @@ const me = (l, w) => {
362
374
  ]),
363
375
  _: 2
364
376
  }, 1032, ["open", "onConfirm"])
365
- ])
377
+ ])) : w("", !0)
366
378
  ])
367
379
  ]),
368
- r.status !== n(i).Online && r.status !== n(i).Offline && r.status !== n(i).Success ? (m(), v("div", Le, [
369
- p(n(pe), {
380
+ r.status !== s(i).Online && r.status !== s(i).Offline && r.status !== s(i).Success ? (p(), f("div", Le, [
381
+ d(s(pe), {
370
382
  percent: r.percent,
371
383
  "stroke-width": 2,
372
384
  "show-info": !1,
373
385
  style: { height: "2px" }
374
386
  }, null, 8, ["percent"])
375
- ])) : S("", !0)
387
+ ])) : w("", !0)
376
388
  ]))), 128))
377
389
  ])
378
390
  ], 2);
379
391
  };
380
392
  }
381
- }), qe = /* @__PURE__ */ de(Pe, [["__scopeId", "data-v-7d076856"]]);
393
+ }), qe = /* @__PURE__ */ de(Pe, [["__scopeId", "data-v-d564f5fc"]]);
382
394
  export {
383
395
  he as C,
384
396
  qe as U,
@@ -1,8 +1,10 @@
1
+ import { TooltipPlacement } from 'ant-design-vue/es/tooltip';
1
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
3
  type __VLS_Props = {
3
4
  text?: string;
4
5
  maxWidth?: string;
5
6
  size?: number;
7
+ placement?: TooltipPlacement;
6
8
  };
7
9
  declare function __VLS_template(): {
8
10
  attrs: Partial<{}>;
@@ -16,6 +16,7 @@ declare function __VLS_template(): {
16
16
  attrs: Partial<{}>;
17
17
  slots: {
18
18
  default?(_: {}): any;
19
+ footer?(_: {}): any;
19
20
  };
20
21
  refs: {};
21
22
  rootEl: any;
@@ -12,7 +12,9 @@ type __VLS_Props = {
12
12
  declare function __VLS_template(): {
13
13
  attrs: Partial<{}>;
14
14
  slots: {
15
+ extra?(_: {}): any;
15
16
  default?(_: {}): any;
17
+ footer?(_: {}): any;
16
18
  };
17
19
  refs: {};
18
20
  rootEl: any;
@@ -1,6 +1,5 @@
1
1
  import { TreeControl } from '../../../index';
2
- import { TreeDataNode } from 'ant-design-vue/es/vc-tree-select/interface';
3
- import { EventDataNode } from 'ant-design-vue/es/vc-tree/interface';
2
+ import { TreeNodeInfo } from '../../../utils/tree';
4
3
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
5
4
  type __VLS_Props = {
6
5
  treeCtrl: TreeControl;
@@ -21,20 +20,10 @@ declare function __VLS_template(): {
21
20
  };
22
21
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
22
  declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
24
- select: (selectedKeys: (string | number)[], info?: {
25
- event: "select";
26
- node: EventDataNode;
27
- selected: boolean;
28
- selectedNodes: TreeDataNode[];
29
- } | undefined) => any;
23
+ select: (selectedKeys: (string | number)[], info?: TreeNodeInfo | undefined) => any;
30
24
  "update:selectedKeys": (value: (string | number)[]) => any;
31
25
  }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
32
- onSelect?: ((selectedKeys: (string | number)[], info?: {
33
- event: "select";
34
- node: EventDataNode;
35
- selected: boolean;
36
- selectedNodes: TreeDataNode[];
37
- } | undefined) => any) | undefined;
26
+ onSelect?: ((selectedKeys: (string | number)[], info?: TreeNodeInfo | undefined) => any) | undefined;
38
27
  "onUpdate:selectedKeys"?: ((value: (string | number)[]) => any) | undefined;
39
28
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
40
29
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -10,6 +10,7 @@ export interface UploadListProps {
10
10
  uploadUrl: IUrlInfo;
11
11
  downloadUrl?: IUrlInfo;
12
12
  previewUrl?: IUrlInfo;
13
+ deleteUrl?: IUrlInfo;
13
14
  fileList: UploadFile[];
14
15
  placeholder?: string;
15
16
  fileExt?: string[];
@@ -21,6 +22,7 @@ export interface UploadListProps {
21
22
  parentPath?: string;
22
23
  showActionText?: boolean;
23
24
  showOnlineSwitch?: boolean;
25
+ showDelete?: boolean;
24
26
  }
25
27
  declare const _default: DefineComponent<UploadListProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
26
28
  "update:file-list": (...args: any[]) => void;
@@ -37,6 +39,7 @@ declare const _default: DefineComponent<UploadListProps, {}, {}, {}, {}, Compone
37
39
  fileExtTip: boolean;
38
40
  showActionText: boolean;
39
41
  showOnlineSwitch: boolean;
42
+ showDelete: boolean;
40
43
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
41
44
  fileUploader: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
42
45
  capture: {
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as F, defineAsyncComponent as M, ref as m, watch as V, onMounted as J, createElementBlock as x, openBlock as p, Fragment as K, createElementVNode as v, createVNode as _, toDisplayString as W, unref as i, createBlock as P, withKeys as f, normalizeClass as N, withModifiers as w, withCtx as z, createCommentVNode as L } from "vue";
2
2
  import "ant-design-vue";
3
- import { _ as q } from "../../assets/modules/toolIcon-DHKszGtC.js";
3
+ import { _ as q } from "../../assets/modules/toolIcon-BGZR_aUI.js";
4
4
  import "@skyfox2000/fapi";
5
- import "../../assets/modules/uploadList-DSN9t4r8.js";
5
+ import "../../assets/modules/uploadList-CMXuGRWT.js";
6
6
  import "@skyfox2000/microbase";
7
7
  import "vue-m-message";
8
8
  import "async-validator";
9
9
  import "dayjs";
10
- import { _ as D } from "../../assets/modules/index-DP1u2P1k.js";
10
+ import { _ as D } from "../../assets/modules/index-DyRjXb_O.js";
11
11
  import "vue-draggable-next";
12
12
  const h = async (s) => window.ace ? window.ace : new Promise((l, t) => {
13
13
  const o = document.createElement("script");
@@ -1,6 +1,6 @@
1
- import { defineComponent as f, ref as d, watch as _, onMounted as v, resolveComponent as h, createBlock as o, openBlock as t, withCtx as s, createElementVNode as C, normalizeClass as x, createVNode as w, KeepAlive as y, unref as n, resolveDynamicComponent as I } from "vue";
2
- import { _ as g } from "../../assets/modules/baseLayout-CUZpKmC0.js";
3
- import { af as A, a as S } from "../../assets/modules/uploadList-DSN9t4r8.js";
1
+ import { defineComponent as f, ref as d, watch as _, onMounted as v, resolveComponent as h, createBlock as o, openBlock as t, withCtx as s, createElementVNode as C, normalizeClass as x, createVNode as w, KeepAlive as g, unref as n, resolveDynamicComponent as y } from "vue";
2
+ import { _ as I } from "../../assets/modules/baseLayout-DIny49tw.js";
3
+ import { ag as A, a as S } from "../../assets/modules/uploadList-CMXuGRWT.js";
4
4
  import "@skyfox2000/microbase";
5
5
  import "@skyfox2000/fapi";
6
6
  import b from "vue-m-message";
@@ -24,7 +24,7 @@ const j = /* @__PURE__ */ f({
24
24
  b.closeAll();
25
25
  }), (c, k) => {
26
26
  const m = h("router-view");
27
- return t(), o(g, {
27
+ return t(), o(I, {
28
28
  routes: l.routes
29
29
  }, {
30
30
  default: s(() => [
@@ -33,11 +33,11 @@ const j = /* @__PURE__ */ f({
33
33
  }, [
34
34
  w(m, null, {
35
35
  default: s(({ Component: u, route: i }) => [
36
- (t(), o(y, {
36
+ (t(), o(g, {
37
37
  include: n(e).CachedComponents,
38
38
  exclude: n(e).ExcludeComponents
39
39
  }, [
40
- (t(), o(I(n(e).cacheComponent(u, i))))
40
+ (t(), o(y(n(e).cacheComponent(u, i))))
41
41
  ], 1032, ["include", "exclude"]))
42
42
  ]),
43
43
  _: 1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as i, createBlock as p, openBlock as m, unref as r, withCtx as e, createVNode as n, createTextVNode as a } from "vue";
2
- import { r as s } from "../../assets/modules/uploadList-DSN9t4r8.js";
2
+ import { r as s } from "../../assets/modules/uploadList-CMXuGRWT.js";
3
3
  import "@skyfox2000/microbase";
4
4
  import "@skyfox2000/fapi";
5
5
  import "vue-m-message";