@duxweb/dvha-pro 1.0.33 → 1.0.35
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.
- package/dist/cjs/component.cjs +1 -1
- package/dist/cjs/components/chart/echart.cjs +1 -1
- package/dist/cjs/components/crop/imageCrop.cjs +1 -1
- package/dist/cjs/components/data/dynamicSelect.cjs +1 -1
- package/dist/cjs/components/data/selectModal.cjs +1 -1
- package/dist/cjs/components/designEditor/components/grid.cjs +1 -1
- package/dist/cjs/components/designEditor/editor/hook.cjs +1 -1
- package/dist/cjs/components/designEditor/editor.cjs +1 -1
- package/dist/cjs/components/form/pageForm.cjs +1 -1
- package/dist/cjs/components/form/pageTabForm.cjs +1 -1
- package/dist/cjs/components/form/settingForm.cjs +1 -1
- package/dist/cjs/components/formEditor/base/base.cjs +1 -1
- package/dist/cjs/components/formEditor/components/cascader.cjs +1 -1
- package/dist/cjs/components/formEditor/components/cascaderAsync.cjs +1 -1
- package/dist/cjs/components/formEditor/components/checkbox.cjs +1 -1
- package/dist/cjs/components/formEditor/components/color.cjs +1 -1
- package/dist/cjs/components/formEditor/components/date.cjs +1 -1
- package/dist/cjs/components/formEditor/components/dynamicInput.cjs +1 -1
- package/dist/cjs/components/formEditor/components/dynamicTags.cjs +1 -1
- package/dist/cjs/components/formEditor/components/editor.cjs +1 -1
- package/dist/cjs/components/formEditor/components/fileUpload.cjs +1 -0
- package/dist/cjs/components/formEditor/components/imageUpload.cjs +1 -0
- package/dist/cjs/components/formEditor/components/input.cjs +1 -1
- package/dist/cjs/components/formEditor/components/inputNumber.cjs +1 -1
- package/dist/cjs/components/formEditor/components/mentionAsync.cjs +1 -1
- package/dist/cjs/components/formEditor/components/radio.cjs +1 -1
- package/dist/cjs/components/formEditor/components/region.cjs +1 -1
- package/dist/cjs/components/formEditor/components/select.cjs +1 -1
- package/dist/cjs/components/formEditor/components/selectAsync.cjs +1 -1
- package/dist/cjs/components/formEditor/components/sider.cjs +1 -1
- package/dist/cjs/components/formEditor/components/switch.cjs +1 -1
- package/dist/cjs/components/formEditor/components/time.cjs +1 -1
- package/dist/cjs/components/formEditor/components/transferAsync.cjs +1 -1
- package/dist/cjs/components/formEditor/components/treeSelect.cjs +1 -1
- package/dist/cjs/components/formEditor/components/treeSelectAsync.cjs +1 -1
- package/dist/cjs/components/formEditor/editor.cjs +1 -1
- package/dist/cjs/components/formEditor/renderer.cjs +1 -1
- package/dist/cjs/components/icon/icon.cjs +1 -1
- package/dist/cjs/components/layout/list.cjs +1 -1
- package/dist/cjs/components/layout/table.cjs +1 -1
- package/dist/cjs/components/level/level.cjs +1 -1
- package/dist/cjs/components/table/table.cjs +1 -1
- package/dist/cjs/components/upload/config.cjs +1 -1
- package/dist/cjs/components/upload/file.cjs +1 -1
- package/dist/cjs/components/upload/image.cjs +1 -1
- package/dist/cjs/components/upload/manage/item.cjs +1 -1
- package/dist/cjs/components/upload/manager.cjs +1 -1
- package/dist/cjs/langs/en-US.json.cjs +1 -1
- package/dist/cjs/langs/zh-CN.json.cjs +1 -1
- package/dist/cjs/pages/authLayout.cjs +1 -1
- package/dist/cjs/pages/layout/page.cjs +1 -1
- package/dist/cjs/pages/menu/button.cjs +1 -1
- package/dist/cjs/pages/menu/cmd.cjs +1 -1
- package/dist/cjs/pages/menu/main.cjs +1 -1
- package/dist/cjs/pages/menu/mobile.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +2 -1
- package/dist/esm/component.js +11 -11
- package/dist/esm/components/chart/echart.js +1 -1
- package/dist/esm/components/crop/imageCrop.js +1 -1
- package/dist/esm/components/data/dynamicSelect.js +1 -1
- package/dist/esm/components/data/selectModal.js +1 -1
- package/dist/esm/components/designEditor/components/grid.js +1 -1
- package/dist/esm/components/designEditor/editor/hook.js +17 -17
- package/dist/esm/components/designEditor/editor.js +6 -6
- package/dist/esm/components/form/pageForm.js +1 -1
- package/dist/esm/components/form/pageTabForm.js +1 -1
- package/dist/esm/components/form/settingForm.js +1 -1
- package/dist/esm/components/formEditor/base/base.js +1 -1
- package/dist/esm/components/formEditor/components/cascader.js +1 -1
- package/dist/esm/components/formEditor/components/cascaderAsync.js +1 -1
- package/dist/esm/components/formEditor/components/checkbox.js +1 -1
- package/dist/esm/components/formEditor/components/color.js +1 -1
- package/dist/esm/components/formEditor/components/date.js +1 -1
- package/dist/esm/components/formEditor/components/dynamicInput.js +1 -1
- package/dist/esm/components/formEditor/components/dynamicTags.js +1 -1
- package/dist/esm/components/formEditor/components/editor.js +1 -1
- package/dist/esm/components/formEditor/components/fileUpload.js +191 -0
- package/dist/esm/components/formEditor/components/imageUpload.js +182 -0
- package/dist/esm/components/formEditor/components/input.js +1 -1
- package/dist/esm/components/formEditor/components/inputNumber.js +1 -1
- package/dist/esm/components/formEditor/components/mentionAsync.js +1 -1
- package/dist/esm/components/formEditor/components/radio.js +1 -1
- package/dist/esm/components/formEditor/components/region.js +1 -1
- package/dist/esm/components/formEditor/components/select.js +1 -1
- package/dist/esm/components/formEditor/components/selectAsync.js +1 -1
- package/dist/esm/components/formEditor/components/sider.js +1 -1
- package/dist/esm/components/formEditor/components/switch.js +1 -1
- package/dist/esm/components/formEditor/components/time.js +1 -1
- package/dist/esm/components/formEditor/components/transferAsync.js +1 -1
- package/dist/esm/components/formEditor/components/treeSelect.js +1 -1
- package/dist/esm/components/formEditor/components/treeSelectAsync.js +1 -1
- package/dist/esm/components/formEditor/editor.js +26 -24
- package/dist/esm/components/formEditor/renderer.js +32 -30
- package/dist/esm/components/icon/icon.js +1 -1
- package/dist/esm/components/layout/list.js +1 -1
- package/dist/esm/components/layout/table.js +1 -1
- package/dist/esm/components/level/level.js +1 -1
- package/dist/esm/components/table/table.js +1 -1
- package/dist/esm/components/upload/config.js +13 -12
- package/dist/esm/components/upload/file.js +62 -57
- package/dist/esm/components/upload/image.js +51 -47
- package/dist/esm/components/upload/manage/item.js +3 -3
- package/dist/esm/components/upload/manager.js +92 -89
- package/dist/esm/langs/en-US.json.js +5 -5
- package/dist/esm/langs/zh-CN.json.js +6 -6
- package/dist/esm/pages/authLayout.js +1 -1
- package/dist/esm/pages/layout/page.js +1 -1
- package/dist/esm/pages/menu/button.js +1 -1
- package/dist/esm/pages/menu/cmd.js +1 -1
- package/dist/esm/pages/menu/main.js +1 -1
- package/dist/esm/pages/menu/mobile.js +1 -1
- package/dist/esm/theme/uno.css.js +2 -1
- package/dist/types/components/formEditor/components/fileUpload.d.ts +2 -0
- package/dist/types/components/formEditor/components/imageUpload.d.ts +2 -0
- package/dist/types/components/formEditor/components/index.d.ts +4 -2
- package/dist/types/components/upload/config.d.ts +4 -2
- package/dist/types/components/upload/file.d.ts +1 -0
- package/dist/types/components/upload/image.d.ts +2 -3
- package/dist/types/components/upload/manager.d.ts +1 -0
- package/dist/types/main.d.ts +1 -0
- package/package.json +3 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useI18n as
|
|
3
|
-
import { useVModel as
|
|
4
|
-
import
|
|
5
|
-
import { useMessage as
|
|
6
|
-
import { VueDraggable as
|
|
1
|
+
import { defineComponent as U, computed as m, watch as c, ref as k, createVNode as a } from "vue";
|
|
2
|
+
import { useI18n as w, useUpload as I } from "@duxweb/dvha-core";
|
|
3
|
+
import { useVModel as V } from "@vueuse/core";
|
|
4
|
+
import j from "clsx";
|
|
5
|
+
import { useMessage as A, NImage as D, NButton as g, NProgress as B } from "naive-ui";
|
|
6
|
+
import { VueDraggable as M } from "vue-draggable-plus";
|
|
7
7
|
import "vue-router";
|
|
8
8
|
import "@overlastic/vue";
|
|
9
9
|
import "vue-echarts";
|
|
@@ -50,17 +50,17 @@ import "@duxweb/dvha-naiveui";
|
|
|
50
50
|
import "../../pages/page404.js";
|
|
51
51
|
import "short-unique-id";
|
|
52
52
|
import "aieditor";
|
|
53
|
-
import { useModal as
|
|
53
|
+
import { useModal as L } from "../../hooks/modal.js";
|
|
54
|
+
import "mime";
|
|
55
|
+
import { useUploadConfig as O } from "./config.js";
|
|
54
56
|
import "@iconify-json/tabler/icons.json";
|
|
55
57
|
import "../posterEditor/elements/index.js";
|
|
56
58
|
import "fabric";
|
|
57
|
-
import "mime";
|
|
58
|
-
import { useUploadConfig as L } from "./config.js";
|
|
59
59
|
import "dayjs";
|
|
60
|
-
import { useImagePreview as
|
|
60
|
+
import { useImagePreview as q } from "../../hooks/image.js";
|
|
61
61
|
import "@tanstack/vue-query";
|
|
62
62
|
import "pinia";
|
|
63
|
-
const
|
|
63
|
+
const We = /* @__PURE__ */ U({
|
|
64
64
|
name: "DuxImageUpload",
|
|
65
65
|
props: {
|
|
66
66
|
path: {
|
|
@@ -77,8 +77,7 @@ const Te = /* @__PURE__ */ S({
|
|
|
77
77
|
default: ""
|
|
78
78
|
},
|
|
79
79
|
driver: {
|
|
80
|
-
type: String
|
|
81
|
-
default: "local"
|
|
80
|
+
type: String
|
|
82
81
|
},
|
|
83
82
|
maxNum: Number,
|
|
84
83
|
maxSize: {
|
|
@@ -89,18 +88,19 @@ const Te = /* @__PURE__ */ S({
|
|
|
89
88
|
manager: Boolean,
|
|
90
89
|
value: [String, Array],
|
|
91
90
|
defaultValue: [String, Array],
|
|
92
|
-
onUpdateValue: Function
|
|
91
|
+
onUpdateValue: Function,
|
|
92
|
+
method: String
|
|
93
93
|
},
|
|
94
94
|
setup(t, {
|
|
95
|
-
emit:
|
|
95
|
+
emit: v
|
|
96
96
|
}) {
|
|
97
|
-
const n =
|
|
97
|
+
const n = V(t, "value", v, {
|
|
98
98
|
passive: !0,
|
|
99
99
|
deep: !0,
|
|
100
100
|
defaultValue: t.defaultValue
|
|
101
|
-
}),
|
|
101
|
+
}), h = A(), f = q(), {
|
|
102
102
|
t: u
|
|
103
|
-
} =
|
|
103
|
+
} = w(), l = {
|
|
104
104
|
container: "flex gap-2",
|
|
105
105
|
imageItem: "size-80px rounded border border-muted relative group draggable flex items-center",
|
|
106
106
|
imageOverlay: "z-1 size-full inset-0 absolute flex items-center justify-center bg-default/80 transition-all opacity-0 group-hover:opacity-100 rounded",
|
|
@@ -108,46 +108,49 @@ const Te = /* @__PURE__ */ S({
|
|
|
108
108
|
uploadContent: "flex-1 flex flex-col justify-center items-center gap-1 relative",
|
|
109
109
|
progressContainer: "size-80px flex items-center justify-center rounded",
|
|
110
110
|
progressBar: "absolute left-2 right-2 bottom-2"
|
|
111
|
-
},
|
|
111
|
+
}, b = m(() => t.maxSize), {
|
|
112
112
|
uploadPath: s,
|
|
113
|
-
managePath:
|
|
114
|
-
driver:
|
|
115
|
-
|
|
113
|
+
managePath: x,
|
|
114
|
+
driver: y,
|
|
115
|
+
method: d
|
|
116
|
+
} = O({
|
|
116
117
|
driver: t?.driver,
|
|
117
118
|
signPath: t?.signPath,
|
|
118
119
|
signCallback: t?.signCallback,
|
|
119
120
|
uploadPath: t?.path,
|
|
120
|
-
managePath: t?.managePath
|
|
121
|
-
|
|
121
|
+
managePath: t?.managePath,
|
|
122
|
+
method: t?.method
|
|
123
|
+
}), r = I({
|
|
122
124
|
path: s.value,
|
|
123
125
|
multiple: t.multiple,
|
|
124
126
|
maxFileCount: t.maxNum,
|
|
125
|
-
maxFileSize:
|
|
127
|
+
maxFileSize: b.value * 1024 * 1024,
|
|
126
128
|
autoUpload: !0,
|
|
127
129
|
accept: "image/*",
|
|
130
|
+
method: d.value,
|
|
128
131
|
onError: (e) => {
|
|
129
|
-
|
|
132
|
+
h.error(e.message || u("components.upload.error"));
|
|
130
133
|
},
|
|
131
|
-
driver:
|
|
134
|
+
driver: y.value
|
|
132
135
|
});
|
|
133
|
-
|
|
136
|
+
c(r.dataFiles, (e) => {
|
|
134
137
|
const o = t.multiple ? e?.map((i) => i.url) : e?.[0]?.url;
|
|
135
138
|
n.value = o, t.onUpdateValue?.(o);
|
|
136
139
|
});
|
|
137
|
-
const
|
|
140
|
+
const z = m(() => r.progress.value.totalPercent), F = m(() => r.isUploading.value), P = async () => {
|
|
138
141
|
r.open();
|
|
139
|
-
},
|
|
140
|
-
return
|
|
141
|
-
if (!e || !e?.length ||
|
|
142
|
+
}, C = m(() => t.multiple ? t.maxNum && r.uploadFiles.value.length >= t.maxNum : !0), S = m(() => r.dataFiles.value?.map((e) => e.url)), N = L(), p = k(!1);
|
|
143
|
+
return c(n, (e) => {
|
|
144
|
+
if (!e || !e?.length || p.value)
|
|
142
145
|
return;
|
|
143
|
-
|
|
146
|
+
p.value = !0;
|
|
144
147
|
const o = typeof e == "string" ? [e] : Array.isArray(e) ? e : [];
|
|
145
148
|
r.addDataFiles(o.map((i) => ({
|
|
146
149
|
url: i
|
|
147
150
|
})));
|
|
148
151
|
}, {
|
|
149
152
|
immediate: !0
|
|
150
|
-
}), () => a("div", null, [a(
|
|
153
|
+
}), () => a("div", null, [a(M, {
|
|
151
154
|
modelValue: r.uploadFiles.value,
|
|
152
155
|
"onUpdate:modelValue": (e) => r.uploadFiles.value = e,
|
|
153
156
|
class: l.container,
|
|
@@ -157,8 +160,8 @@ const Te = /* @__PURE__ */ S({
|
|
|
157
160
|
const i = e.url || URL.createObjectURL(e.file);
|
|
158
161
|
return a("div", {
|
|
159
162
|
key: o,
|
|
160
|
-
class:
|
|
161
|
-
}, [a(
|
|
163
|
+
class: j(l.imageItem)
|
|
164
|
+
}, [a(D, {
|
|
162
165
|
class: "z-0 rounded",
|
|
163
166
|
objectFit: "scale-down",
|
|
164
167
|
width: 78,
|
|
@@ -167,15 +170,15 @@ const Te = /* @__PURE__ */ S({
|
|
|
167
170
|
src: i
|
|
168
171
|
}, null), a("div", {
|
|
169
172
|
class: l.imageOverlay
|
|
170
|
-
}, [e.status === "success" && a(
|
|
173
|
+
}, [e.status === "success" && a(g, {
|
|
171
174
|
quaternary: !0,
|
|
172
175
|
circle: !0,
|
|
173
176
|
size: "small",
|
|
174
177
|
renderIcon: () => a("div", {
|
|
175
178
|
class: "n-icon i-tabler:eye"
|
|
176
179
|
}, null),
|
|
177
|
-
onClick: () => f.show(
|
|
178
|
-
}, null), a(
|
|
180
|
+
onClick: () => f.show(S.value, o)
|
|
181
|
+
}, null), a(g, {
|
|
179
182
|
quaternary: !0,
|
|
180
183
|
circle: !0,
|
|
181
184
|
size: "small",
|
|
@@ -186,10 +189,10 @@ const Te = /* @__PURE__ */ S({
|
|
|
186
189
|
r.removeFiles([e.id]);
|
|
187
190
|
}
|
|
188
191
|
}, null)])]);
|
|
189
|
-
}), (r.uploadFiles.value.length === 0 || !
|
|
192
|
+
}), (r.uploadFiles.value.length === 0 || !C.value) && a("div", {
|
|
190
193
|
class: l.uploadArea,
|
|
191
194
|
onClick: () => {
|
|
192
|
-
|
|
195
|
+
P();
|
|
193
196
|
}
|
|
194
197
|
}, [t.manager && a("div", {
|
|
195
198
|
class: " py-1 text-xs bg-muted border-b border-dashed border-accented flex items-center justify-center",
|
|
@@ -199,14 +202,15 @@ const Te = /* @__PURE__ */ S({
|
|
|
199
202
|
width: "800px",
|
|
200
203
|
component: () => import("./manager.js"),
|
|
201
204
|
componentProps: {
|
|
202
|
-
path:
|
|
205
|
+
path: x.value,
|
|
203
206
|
type: "image",
|
|
204
207
|
multiple: t.multiple,
|
|
205
208
|
uploadParams: {
|
|
206
209
|
path: s.value,
|
|
207
210
|
accept: "image/*",
|
|
208
211
|
maxNum: t.maxNum,
|
|
209
|
-
maxSize: t.maxSize
|
|
212
|
+
maxSize: t.maxSize,
|
|
213
|
+
method: d.value
|
|
210
214
|
}
|
|
211
215
|
}
|
|
212
216
|
}).then((o) => {
|
|
@@ -217,15 +221,15 @@ const Te = /* @__PURE__ */ S({
|
|
|
217
221
|
class: "i-tabler:folder size-4"
|
|
218
222
|
}, null)]), a("div", {
|
|
219
223
|
class: l.uploadContent
|
|
220
|
-
}, [
|
|
224
|
+
}, [F.value ? a("div", {
|
|
221
225
|
class: l.progressContainer
|
|
222
226
|
}, [a("div", {
|
|
223
227
|
class: "i-tabler:photo size-6"
|
|
224
228
|
}, null), a("div", {
|
|
225
229
|
class: l.progressBar
|
|
226
|
-
}, [a(
|
|
230
|
+
}, [a(B, {
|
|
227
231
|
type: "line",
|
|
228
|
-
percentage:
|
|
232
|
+
percentage: z.value,
|
|
229
233
|
showIndicator: !1,
|
|
230
234
|
height: 4
|
|
231
235
|
}, null)])]) : a("div", {
|
|
@@ -235,5 +239,5 @@ const Te = /* @__PURE__ */ S({
|
|
|
235
239
|
}
|
|
236
240
|
});
|
|
237
241
|
export {
|
|
238
|
-
|
|
242
|
+
We as DuxImageUpload
|
|
239
243
|
};
|
|
@@ -51,9 +51,6 @@ import "@duxweb/dvha-naiveui";
|
|
|
51
51
|
import "../../../pages/page404.js";
|
|
52
52
|
import "short-unique-id";
|
|
53
53
|
import "aieditor";
|
|
54
|
-
import "@iconify-json/tabler/icons.json";
|
|
55
|
-
import "../../posterEditor/elements/index.js";
|
|
56
|
-
import "fabric";
|
|
57
54
|
import "mime";
|
|
58
55
|
import f from "../../../static/images/icon/audio.svg.js";
|
|
59
56
|
import g from "../../../static/images/icon/excel.svg.js";
|
|
@@ -63,6 +60,9 @@ import h from "../../../static/images/icon/pdf.svg.js";
|
|
|
63
60
|
import x from "../../../static/images/icon/ppt.svg.js";
|
|
64
61
|
import k from "../../../static/images/icon/video.svg.js";
|
|
65
62
|
import w from "../../../static/images/icon/word.svg.js";
|
|
63
|
+
import "@iconify-json/tabler/icons.json";
|
|
64
|
+
import "../../posterEditor/elements/index.js";
|
|
65
|
+
import "fabric";
|
|
66
66
|
import "dayjs";
|
|
67
67
|
import "@tanstack/vue-query";
|
|
68
68
|
import "pinia";
|