kouxiangtang 0.0.36 → 0.0.38
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/{AttachmentUploader-D7Z2wIsf.js → AttachmentUploader-BdDkTump.js} +10 -10
- package/dist/{AttachmentUploader-D7Z2wIsf.js.map → AttachmentUploader-BdDkTump.js.map} +1 -1
- package/dist/{ImageUploader-CZ1WoTc1.js → ImageUploader-CHkIpPtj.js} +8 -8
- package/dist/{ImageUploader-CZ1WoTc1.js.map → ImageUploader-CHkIpPtj.js.map} +1 -1
- package/dist/{ImagesUploader-BdBunlMq.js → ImagesUploader-p9a3bu1Q.js} +2 -2
- package/dist/{ImagesUploader-BdBunlMq.js.map → ImagesUploader-p9a3bu1Q.js.map} +1 -1
- package/dist/{RichTextEditor-DI316YiN.js → RichTextEditor-DJYZD9vY.js} +2 -2
- package/dist/RichTextEditor-DJYZD9vY.js.map +1 -0
- package/dist/{color-Dy_WcVKE.js → color-DbNhHNpt.js} +81 -81
- package/dist/{color-Dy_WcVKE.js.map → color-DbNhHNpt.js.map} +1 -1
- package/dist/{config-OzDRd8zn.js → config-B1iWoDgQ.js} +3 -3
- package/dist/{config-OzDRd8zn.js.map → config-B1iWoDgQ.js.map} +1 -1
- package/dist/{config-FVfHcnqK.js → config-BDG6ljUO.js} +2 -2
- package/dist/{config-FVfHcnqK.js.map → config-BDG6ljUO.js.map} +1 -1
- package/dist/{config-DeFvGUly.js → config-BUyzXYu7.js} +3 -3
- package/dist/{config-DeFvGUly.js.map → config-BUyzXYu7.js.map} +1 -1
- package/dist/{config-CNAoGAoz.js → config-BbXDjdqk.js} +18 -13
- package/dist/{config-CNAoGAoz.js.map → config-BbXDjdqk.js.map} +1 -1
- package/dist/{config-BBxZqd_o.js → config-BeivkfGi.js} +16 -11
- package/dist/{config-BBxZqd_o.js.map → config-BeivkfGi.js.map} +1 -1
- package/dist/{config-DvdzlPQ3.js → config-BmOWXJKs.js} +14 -9
- package/dist/config-BmOWXJKs.js.map +1 -0
- package/dist/{config-Chq6Oora.js → config-C5CioVqt.js} +48 -41
- package/dist/config-C5CioVqt.js.map +1 -0
- package/dist/{config-JxUq03o7.js → config-C7y05luV.js} +2 -2
- package/dist/{config-JxUq03o7.js.map → config-C7y05luV.js.map} +1 -1
- package/dist/{config-Cnv5WO8l.js → config-ClsjosNk.js} +2 -2
- package/dist/{config-Cnv5WO8l.js.map → config-ClsjosNk.js.map} +1 -1
- package/dist/{config-CeasY_ln.js → config-CsDCisYj.js} +11 -6
- package/dist/{config-CeasY_ln.js.map → config-CsDCisYj.js.map} +1 -1
- package/dist/{config-I2pubB1W.js → config-CzMS2zhn.js} +48 -40
- package/dist/config-CzMS2zhn.js.map +1 -0
- package/dist/{config-BTiEGh-x.js → config-DTVPd1QF.js} +2 -2
- package/dist/{config-BTiEGh-x.js.map → config-DTVPd1QF.js.map} +1 -1
- package/dist/{config-p3om0VNf.js → config-DuvmS9LR.js} +3 -3
- package/dist/{config-p3om0VNf.js.map → config-DuvmS9LR.js.map} +1 -1
- package/dist/{config-0vmjOV3f.js → config-SWYlqm92.js} +2 -2
- package/dist/{config-0vmjOV3f.js.map → config-SWYlqm92.js.map} +1 -1
- package/dist/{config-BdqEXmbc.js → config-Xu4Cnivk.js} +2 -2
- package/dist/{config-BdqEXmbc.js.map → config-Xu4Cnivk.js.map} +1 -1
- package/dist/{config-by6swW-9.js → config-trKFYrjO.js} +2 -2
- package/dist/{config-by6swW-9.js.map → config-trKFYrjO.js.map} +1 -1
- package/dist/{index-faxileQm.js → index-BX1xTWzJ.js} +1258 -1245
- package/dist/index-BX1xTWzJ.js.map +1 -0
- package/dist/kouxiangtang.js +10 -10
- package/dist/kouxiangtang.umd.cjs +8 -8
- package/dist/kouxiangtang.umd.cjs.map +1 -1
- package/dist/style.css +2 -2
- package/package.json +1 -1
- package/dist/RichTextEditor-DI316YiN.js.map +0 -1
- package/dist/config-Chq6Oora.js.map +0 -1
- package/dist/config-DvdzlPQ3.js.map +0 -1
- package/dist/config-I2pubB1W.js.map +0 -1
- package/dist/index-faxileQm.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { computed as M, ref as h, openBlock as p, createElementBlock as
|
|
1
|
+
import { computed as M, ref as h, openBlock as p, createElementBlock as E, Fragment as I, createVNode as s, unref as l, normalizeClass as R, withModifiers as $, withCtx as r, createBlock as m, createTextVNode as j, createElementVNode as U, renderList as L, toDisplayString as S, createCommentVNode as q } from "vue";
|
|
2
2
|
import { ElUpload as O, ElIcon as v, ElButton as W, ElDialog as G, ElForm as H, ElFormItem as J, ElInput as K, ElMessage as d, ElLoading as w } from "element-plus";
|
|
3
|
-
import { _ as Q,
|
|
3
|
+
import { _ as Q, i as X, p as Y, d as Z, j as ee, k as te } from "./index-BX1xTWzJ.js";
|
|
4
4
|
import "./el-progress-l0sNRNKZ.js";
|
|
5
5
|
const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
6
6
|
__name: "AttachmentUploader",
|
|
@@ -65,7 +65,7 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
65
65
|
};
|
|
66
66
|
}, !1) : (a(e), !1);
|
|
67
67
|
});
|
|
68
|
-
},
|
|
68
|
+
}, k = (e) => {
|
|
69
69
|
f("on-remove", e);
|
|
70
70
|
}, T = () => {
|
|
71
71
|
d({
|
|
@@ -104,14 +104,14 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
return (e, t) => (p(), I
|
|
107
|
+
return (e, t) => (p(), E(I, null, [
|
|
108
108
|
s(l(O), {
|
|
109
109
|
"file-list": g.value,
|
|
110
110
|
action: l(x),
|
|
111
111
|
limit: n.props.limit,
|
|
112
112
|
accept: n.props.accept,
|
|
113
113
|
"list-type": n.props.listType,
|
|
114
|
-
"on-remove":
|
|
114
|
+
"on-remove": k,
|
|
115
115
|
"before-upload": F,
|
|
116
116
|
"on-exceed": T,
|
|
117
117
|
"on-preview": B,
|
|
@@ -152,7 +152,7 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
152
152
|
"onUpdate:modelValue": t[1] || (t[1] = (a) => y.value = a)
|
|
153
153
|
}, {
|
|
154
154
|
default: r(() => [
|
|
155
|
-
|
|
155
|
+
U("img", {
|
|
156
156
|
"w-full": "",
|
|
157
157
|
src: _.value,
|
|
158
158
|
alt: "Preview Image"
|
|
@@ -162,7 +162,7 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
162
162
|
}, 8, ["modelValue"]),
|
|
163
163
|
n.props.listType == "text" ? (p(), m(l(H), { key: 0 }, {
|
|
164
164
|
default: r(() => [
|
|
165
|
-
(p(!0), I
|
|
165
|
+
(p(!0), E(I, null, L(g.value, (a, i) => (p(), m(l(J), {
|
|
166
166
|
key: i,
|
|
167
167
|
class: "file-list"
|
|
168
168
|
}, {
|
|
@@ -181,11 +181,11 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
181
181
|
"onUpdate:modelValue": (o) => a.name = o,
|
|
182
182
|
onChange: (o) => D(a)
|
|
183
183
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"]),
|
|
184
|
-
|
|
184
|
+
U("span", le, "." + S(a.fileType), 1),
|
|
185
185
|
s(l(v), {
|
|
186
186
|
color: "#73767a",
|
|
187
187
|
size: 12,
|
|
188
|
-
onClick: (o) =>
|
|
188
|
+
onClick: (o) => k(a)
|
|
189
189
|
}, {
|
|
190
190
|
default: r(() => [
|
|
191
191
|
s(l(ee))
|
|
@@ -204,4 +204,4 @@ const ae = ["src"], le = { class: "file-type" }, ne = {
|
|
|
204
204
|
export {
|
|
205
205
|
ce as default
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=AttachmentUploader-
|
|
207
|
+
//# sourceMappingURL=AttachmentUploader-BdDkTump.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentUploader-
|
|
1
|
+
{"version":3,"file":"AttachmentUploader-BdDkTump.js","sources":["../src/framework/field/attachment/AttachmentUploader.vue"],"sourcesContent":["<script setup>\nimport {\n ElUpload,\n ElIcon,\n ElDialog,\n ElForm,\n ElFormItem,\n ElButton,\n ElInput,\n} from \"element-plus\";\nimport axios from \"axios\";\nimport { getConfig } from \"../../config-loader\";\nimport { ref, computed } from \"vue\";\nimport { ElLoading, ElMessage } from \"element-plus\";\nimport { Plus, Document, Close } from \"@element-plus/icons-vue\";\n\nconst emit = defineEmits([\"on-success\", \"on-remove\", \"on-change\"]);\nconst props = defineProps({\n pics: {\n type: Array,\n default() {\n return [];\n },\n },\n limit: { type: Number },\n props: {\n type: Object,\n default() {\n return {\n listType: \"picture-card\", //'text' | 'picture' | 'picture-card'\n limit: 5, //最多上传几个文件\n accept: \"image/*\",\n };\n },\n },\n});\n\nconst files = computed(() => {\n return props.pics.map((item) => {\n const fileType = item.url.substring(item.url.lastIndexOf(\".\") + 1);\n if (typeof item.name !== undefined) {\n item.fileType = fileType;\n return item;\n }\n\n if (item.url) {\n const parts = item.url.split(\"/\");\n const namedItem = {\n ...item,\n name: parts[parts.length - 1],\n fileType: fileType,\n };\n return namedItem;\n }\n\n return { ...item, name: item.id, fileType: fileType };\n });\n});\nconst dialogImageUrl = ref(\"\");\nconst dialogVisible = ref(false);\nconst imageUrl = ref(props);\nconst uploadUrl = getConfig().fileUploadUrl;\nconst header = {\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n};\nconst compressImg = (file) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n return new Promise(function (resolve, reject) {\n if (!file.type.startsWith(\"image/\")) {\n resolve(file);\n return false;\n }\n reader.onload = async (e) => {\n const img = new Image();\n img.src = e.target.result;\n img.onload = () => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n canvas.toBlob(\n (blob) => {\n const newFile = new File([blob], file.name, {\n type: file.type,\n lastModified: Date.now(),\n });\n resolve(newFile);\n },\n file.type,\n 0.5,\n );\n };\n };\n return false;\n });\n};\nconst handleRemoveSuccess = (uploadFile) => {\n emit(\"on-remove\", uploadFile);\n};\nconst handleExceed = () => {\n ElMessage({\n message: `最多只能上传 ${props.props.limit} 个文件!`,\n type: \"warning\",\n });\n};\nconst handlePictureCardPreview = (uploadFile) => {\n dialogImageUrl.value = uploadFile.url;\n dialogVisible.value = true;\n};\nconst handleBeforeUpload = (file) => {\n compressImg(file).then((newFile) => {\n if (newFile.size / 1024 / 1024 < 5) {\n uploadRequest(newFile);\n return false;\n } else {\n ElMessage({\n message: \"上传大小不能超过 5MB!\",\n type: \"warning\",\n });\n return false;\n }\n });\n};\n\nfunction handleFileNameChange(file, index) {\n if (!file.name) {\n ElMessage({\n message: \"附件名称不能为空!\",\n type: \"warning\",\n });\n return;\n }\n emit(\"on-change\", file);\n}\n\nfunction uploadRequest(file) {\n ElLoading.service({ text: \"上传中,请稍后\", background: \"rgba(0,0,0,0.3)\" });\n return new Promise((resolve, reject) => {\n const formData = new FormData();\n formData.append(\"file\", file);\n axios\n .post(uploadUrl, formData, {})\n .then((res) => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传成功\",\n type: \"success\",\n });\n emit(\"on-success\", res.data.data);\n resolve(res.data);\n return false;\n })\n .catch(() => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传失败\",\n type: \"warning\",\n });\n reject(\"Upload failed\");\n });\n });\n}\n</script>\n\n<template>\n <!-- 删除请求头加权限后请添加到组建中 :headers=\"header\"-->\n <el-upload\n :file-list=\"files\"\n :action=\"uploadUrl\"\n :limit=\"props.props.limit\"\n :accept=\"props.props.accept\"\n :list-type=\"props.props.listType\"\n :on-remove=\"handleRemoveSuccess\"\n :before-upload=\"handleBeforeUpload\"\n :on-exceed=\"handleExceed\"\n :on-preview=\"handlePictureCardPreview\"\n :multiple=\"true\"\n :http-request=\"\n () => {\n return false;\n }\n \"\n :show-file-list=\"props.props.listType !== 'text'\"\n :class=\"[\n 'upload-main',\n { 'disable-upload': files.length >= props.props.limit },\n ]\"\n @click.prevent\n >\n <template v-if=\"props.props.listType !== 'text'\">\n <el-icon :disabled=\"true\">\n <Plus />\n </el-icon>\n </template>\n <template v-else>\n <el-button class=\"upload-button\" type=\"primary\"> 上传附件 </el-button>\n </template>\n </el-upload>\n <el-dialog v-model=\"dialogVisible\">\n <img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\n </el-dialog>\n <el-form v-if=\"props.props.listType == 'text'\">\n <el-form-item v-for=\"(file, index) in files\" :key=\"index\" class=\"file-list\">\n <el-icon color=\"#73767a\" :size=\"14\">\n <Document />\n </el-icon>\n <el-input\n v-model=\"file.name\"\n @change=\"handleFileNameChange(file, index)\"\n />\n <span class=\"file-type\">.{{ file.fileType }}</span>\n <el-icon color=\"#73767a\" :size=\"12\" @click=\"handleRemoveSuccess(file)\">\n <Close />\n </el-icon>\n </el-form-item>\n </el-form>\n</template>\n<style scoped lang=\"scss\">\n:deep(.el-upload-list) {\n .el-upload-list__item-actions span {\n margin-left: 20px;\n }\n}\n\n.disable-upload {\n :deep(.el-upload--picture-card) {\n display: none !important;\n }\n\n :deep(.el-upload--text) {\n display: none !important;\n }\n\n :deep(.el-upload--picture) {\n display: none !important;\n }\n}\n.upload-main {\n flex-basis: 100%;\n}\n.file-list {\n display: flex;\n align-items: center;\n margin-top: 10px;\n .file-type {\n height: 22px;\n line-height: 22px;\n margin-right: 5px;\n background: #eeeeee;\n border-radius: 4px;\n font-size: 12px;\n padding: 0 4px;\n }\n :deep(.el-form-item__content) {\n display: contents;\n }\n :deep(.el-input__wrapper) {\n margin: 0 5px;\n }\n :deep(.el-input__inner) {\n height: 20px;\n line-height: 20px;\n }\n}\n</style>\n"],"names":["emit","__emit","props","__props","files","computed","item","fileType","parts","dialogImageUrl","ref","dialogVisible","uploadUrl","getConfig","compressImg","file","reader","resolve","reject","e","img","canvas","ctx","blob","newFile","handleRemoveSuccess","uploadFile","handleExceed","ElMessage","handlePictureCardPreview","handleBeforeUpload","uploadRequest","handleFileNameChange","index","ElLoading","formData","axios","res"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { openBlock as t, createBlock as o, unref as e, withCtx as s, renderSlot as I, createElementVNode as v, createVNode as l, withModifiers as E, createCommentVNode as b } from "vue";
|
|
2
2
|
import { ElUpload as x, ElImage as B, ElIcon as n, ElMessage as i, ElLoading as d } from "element-plus";
|
|
3
|
-
import { _ as M,
|
|
3
|
+
import { _ as M, i as C, l as S, p as L, m as N, k as V } from "./index-BX1xTWzJ.js";
|
|
4
4
|
import "./el-progress-l0sNRNKZ.js";
|
|
5
5
|
const q = { class: "image-slot" }, z = {
|
|
6
6
|
__name: "ImageUploader",
|
|
@@ -17,10 +17,10 @@ const q = { class: "image-slot" }, z = {
|
|
|
17
17
|
message: "上传大小不能超过 5MB!",
|
|
18
18
|
type: "warning"
|
|
19
19
|
}), !1;
|
|
20
|
-
},
|
|
20
|
+
}, U = (a) => {
|
|
21
21
|
m("on-success", a.data.imageUrl);
|
|
22
22
|
};
|
|
23
|
-
function
|
|
23
|
+
function h() {
|
|
24
24
|
m("on-success", "");
|
|
25
25
|
}
|
|
26
26
|
function k(a) {
|
|
@@ -44,7 +44,7 @@ const q = { class: "image-slot" }, z = {
|
|
|
44
44
|
action: e(p),
|
|
45
45
|
name: "image",
|
|
46
46
|
"show-file-list": !1,
|
|
47
|
-
"on-success":
|
|
47
|
+
"on-success": U,
|
|
48
48
|
"before-upload": _,
|
|
49
49
|
"http-request": k
|
|
50
50
|
}, {
|
|
@@ -79,7 +79,7 @@ const q = { class: "image-slot" }, z = {
|
|
|
79
79
|
r.imageUrl ? (t(), o(e(n), {
|
|
80
80
|
key: 2,
|
|
81
81
|
class: "delete-icon",
|
|
82
|
-
onClick: E(
|
|
82
|
+
onClick: E(h, ["stop", "prevent"])
|
|
83
83
|
}, {
|
|
84
84
|
default: s(() => [
|
|
85
85
|
l(e(N))
|
|
@@ -90,8 +90,8 @@ const q = { class: "image-slot" }, z = {
|
|
|
90
90
|
_: 3
|
|
91
91
|
}, 8, ["action"]));
|
|
92
92
|
}
|
|
93
|
-
},
|
|
93
|
+
}, P = /* @__PURE__ */ M(z, [["__scopeId", "data-v-ae965bb4"]]);
|
|
94
94
|
export {
|
|
95
|
-
|
|
95
|
+
P as default
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=ImageUploader-
|
|
97
|
+
//# sourceMappingURL=ImageUploader-CHkIpPtj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploader-
|
|
1
|
+
{"version":3,"file":"ImageUploader-CHkIpPtj.js","sources":["../src/framework/field/image/ImageUploader.vue"],"sourcesContent":["<script setup>\nimport { ElUpload, ElImage, ElIcon } from \"element-plus\";\nimport axios from \"axios\";\nimport { getConfig } from \"../../config-loader\";\nimport { ElLoading, ElMessage } from \"element-plus\";\nimport { Plus, Delete, Loading } from \"@element-plus/icons-vue\";\n\nconst emit = defineEmits([\"on-success\"]);\nconst props = defineProps({\n imageUrl: { type: String },\n});\nconst uploadUrl = getConfig().imageUploadUrl;\nconst header = {\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n};\nconst handleBeforeUpload = (uploadFile) => {\n const isLt2M = uploadFile.size / 1024 / 1024 < 5;\n if (!isLt2M) {\n ElMessage({\n message: \"上传大小不能超过 5MB!\",\n type: \"warning\",\n });\n return false;\n }\n};\nconst handleSuccess = (response) => {\n emit(\"on-success\", response.data.imageUrl);\n};\n\nfunction deleteImageUrl() {\n emit(\"on-success\", \"\");\n}\n\nfunction uploadRequest(file) {\n ElLoading.service({ text: \"上传中,请稍后\", background: \"rgba(0,0,0,0.3)\" });\n return new Promise((resolve, reject) => {\n const formData = new FormData();\n formData.append(\"image\", file.file);\n axios\n .post(uploadUrl, formData, {})\n .then((res) => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传成功\",\n type: \"success\",\n });\n resolve(res.data);\n })\n .catch(() => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传失败\",\n type: \"warning\",\n });\n reject(\"Upload failed\");\n });\n });\n}\n</script>\n\n<template>\n <!-- 删除请求头加权限后请添加到组建中 :headers=\"header\"-->\n <el-upload\n class=\"image-uploader\"\n :action=\"uploadUrl\"\n name=\"image\"\n :show-file-list=\"false\"\n :on-success=\"handleSuccess\"\n :before-upload=\"handleBeforeUpload\"\n :http-request=\"uploadRequest\"\n >\n <slot />\n <el-image\n v-if=\"props.imageUrl\"\n class=\"image\"\n :src=\"props.imageUrl\"\n fit=\"scale-down\"\n >\n <template #placeholder>\n <div class=\"image-slot\">\n <el-icon class=\"placeholder-icon\">\n <Loading />\n </el-icon>\n </div>\n </template>\n </el-image>\n <el-icon v-else class=\"uploader-icon\">\n <Plus />\n </el-icon>\n <el-icon\n v-if=\"props.imageUrl\"\n class=\"delete-icon\"\n @click.stop.prevent=\"deleteImageUrl\"\n >\n <Delete />\n </el-icon>\n </el-upload>\n</template>\n\n<style scoped lang=\"scss\">\n.image-uploader {\n :deep(.el-upload) {\n border: 1px dashed var(--el-border-color);\n border-radius: 6px;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n transition: var(--el-transition-duration-fast);\n\n &:hover {\n border-color: var(--el-color-primary);\n }\n }\n\n .image {\n width: 146px;\n height: 146px;\n\n .placeholder-icon {\n width: 146px;\n height: 146px;\n font-size: 30px;\n color: #a7a7a7;\n }\n }\n\n .uploader-icon {\n font-size: 28px;\n color: #8c939d;\n width: 146px;\n height: 146px;\n text-align: center;\n }\n\n .delete-icon {\n font-size: 20px;\n color: #b7b4b4;\n position: absolute;\n top: 10px;\n right: 10px;\n }\n}\n</style>\n"],"names":["emit","__emit","props","__props","uploadUrl","getConfig","handleBeforeUpload","uploadFile","ElMessage","handleSuccess","response","deleteImageUrl","uploadRequest","file","ElLoading","resolve","reject","formData","axios","res"],"mappings":";;;;;;;;;;;AAOA,UAAMA,IAAOC,GACPC,IAAQC,GAGRC,IAAYC,EAAW,EAAC;AACf,IACY,gBAAa,QAAQ,OAAO;AAEvD,UAAMC,IAAqB,CAACC,MAAe;AAEzC,UAAI,EADWA,EAAW,OAAO,OAAO,OAAO;AAE7C,eAAAC,EAAU;AAAA,UACR,SAAS;AAAA,UACT,MAAM;AAAA,QACZ,CAAK,GACM;AAAA,IAEX,GACMC,IAAgB,CAACC,MAAa;AAClC,MAAAV,EAAK,cAAcU,EAAS,KAAK,QAAQ;AAAA,IAC3C;AAEA,aAASC,IAAiB;AACxB,MAAAX,EAAK,cAAc,EAAE;AAAA,IACvB;AAEA,aAASY,EAAcC,GAAM;AAC3B,aAAAC,EAAU,QAAQ,EAAE,MAAM,WAAW,YAAY,kBAAiB,CAAE,GAC7D,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,cAAMC,IAAW,IAAI;AACrB,QAAAA,EAAS,OAAO,SAASJ,EAAK,IAAI,GAClCK,EACG,KAAKd,GAAWa,GAAU,EAAE,EAC5B,KAAK,CAACE,MAAQ;AACb,UAAAL,EAAU,UAAU,SACpBN,EAAU;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,UAChB,CAAS,GACDO,EAAQI,EAAI,IAAI;AAAA,QACxB,CAAO,EACA,MAAM,MAAM;AACX,UAAAL,EAAU,UAAU,SACpBN,EAAU;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,UAChB,CAAS,GACDQ,EAAO,eAAe;AAAA,QAC9B,CAAO;AAAA,MACP,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as m, computed as I, openBlock as n, createElementBlock as k, createVNode as i, unref as o, normalizeClass as E, withModifiers as T, withCtx as r, createBlock as d, createTextVNode as V, createElementVNode as h } from "vue";
|
|
2
2
|
import { ElUpload as U, ElIcon as B, ElButton as z, ElDialog as N, ElMessage as f } from "element-plus";
|
|
3
|
-
import { _ as C, p as D } from "./index-
|
|
3
|
+
import { _ as C, p as D } from "./index-BX1xTWzJ.js";
|
|
4
4
|
import "./el-progress-l0sNRNKZ.js";
|
|
5
5
|
const M = ["src"], q = {
|
|
6
6
|
__name: "ImagesUploader",
|
|
@@ -118,4 +118,4 @@ const M = ["src"], q = {
|
|
|
118
118
|
export {
|
|
119
119
|
A as default
|
|
120
120
|
};
|
|
121
|
-
//# sourceMappingURL=ImagesUploader-
|
|
121
|
+
//# sourceMappingURL=ImagesUploader-p9a3bu1Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagesUploader-
|
|
1
|
+
{"version":3,"file":"ImagesUploader-p9a3bu1Q.js","sources":["../src/framework/field/images/ImagesUploader.vue"],"sourcesContent":["<script setup>\nimport { ElUpload, ElDialog, ElIcon, ElButton } from \"element-plus\";\nimport { computed, ref } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport { Plus } from \"@element-plus/icons-vue\";\n\nconst emit = defineEmits([\"on-remove\", \"on-upload\"]);\nconst dialogImageUrl = ref(\"\");\nconst dialogVisible = ref(false);\nconst props = defineProps({\n images: {\n type: Array,\n default() {\n return [];\n },\n },\n limit: { type: Number },\n props: {\n type: Object,\n default() {\n return {\n listType: \"picture-card\",\n limit: 5,\n accept: \"image/*\",\n };\n },\n },\n});\n\nconst files = computed(() => {\n return props.images.map((item) => {\n if (!item?.url) {\n return { ...item, name: \"unknown\", fileType: \"unknown\" };\n }\n\n const fileType = item.url.substring(item.url.lastIndexOf(\".\") + 1);\n const parts = item.url.split(\"/\");\n const namedItem = {\n ...item,\n name: parts[parts.length - 1],\n fileType,\n };\n return namedItem;\n });\n});\n\nfunction onRemove(uploadFile) {\n emit(\"on-remove\", uploadFile);\n}\n\nfunction onExceed() {\n ElMessage({\n message: `最多只能上传 ${props.props.limit} 个文件!`,\n type: \"warning\",\n });\n}\n\nfunction onPreview(uploadFile) {\n dialogImageUrl.value = uploadFile.url;\n dialogVisible.value = true;\n}\n\nfunction beforeUpload(uploadFile) {\n const limitSize = 1024 * 1024 * 5;\n if (uploadFile.size > limitSize) {\n ElMessage({\n message: \"上传大小不能超过 5MB!\",\n type: \"warning\",\n });\n return false;\n }\n\n return true;\n}\n\nfunction httpRequest(uploadFile) {\n const formData = new FormData();\n formData.append(\"file\", uploadFile.file);\n emit(\"on-upload\", formData);\n}\n</script>\n\n<template>\n <div>\n <el-upload\n :file-list=\"files\"\n :limit=\"props.props.limit\"\n :accept=\"props.props.accept\"\n :list-type=\"props.props.listType\"\n :on-remove=\"onRemove\"\n :on-exceed=\"onExceed\"\n :on-preview=\"onPreview\"\n :multiple=\"true\"\n :before-upload=\"beforeUpload\"\n :http-request=\"httpRequest\"\n :show-file-list=\"props.props.listType !== 'text'\"\n :class=\"[\n 'upload-main',\n { 'disable-upload': files.length >= props.props.limit },\n ]\"\n @click.prevent\n >\n <template v-if=\"props.props.listType !== 'text'\">\n <el-icon :disabled=\"true\">\n <Plus />\n </el-icon>\n </template>\n <template v-else>\n <el-button class=\"upload-button\" type=\"primary\"> 上传附件 </el-button>\n </template>\n </el-upload>\n <el-dialog v-model=\"dialogVisible\">\n <img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\n </el-dialog>\n </div>\n</template>\n<style scoped lang=\"scss\">\n:deep(.el-upload-list) {\n .el-upload-list__item-actions span {\n margin-left: 20px;\n }\n}\n\n.disable-upload {\n :deep(.el-upload--picture-card) {\n display: none !important;\n }\n\n :deep(.el-upload--text) {\n display: none !important;\n }\n\n :deep(.el-upload--picture) {\n display: none !important;\n }\n}\n.upload-main {\n flex-basis: 100%;\n}\n.file-list {\n display: flex;\n align-items: center;\n margin-top: 10px;\n .file-type {\n height: 22px;\n line-height: 22px;\n margin-right: 5px;\n background: #eeeeee;\n border-radius: 4px;\n font-size: 12px;\n padding: 0 4px;\n }\n :deep(.el-form-item__content) {\n display: contents;\n }\n :deep(.el-input__wrapper) {\n margin: 0 5px;\n }\n :deep(.el-input__inner) {\n height: 20px;\n line-height: 20px;\n }\n}\n</style>\n"],"names":["emit","__emit","dialogImageUrl","ref","dialogVisible","props","__props","files","computed","item","fileType","parts","onRemove","uploadFile","onExceed","ElMessage","onPreview","beforeUpload","httpRequest","formData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAOC,GACPC,IAAiBC,EAAI,EAAE,GACvBC,IAAgBD,EAAI,EAAK,GACzBE,IAAQC,GAoBRC,IAAQC,EAAS,MACdH,EAAM,OAAO,IAAI,CAACI,MAAS;AAChC,UAAI,EAACA,KAAA,QAAAA,EAAM;AACT,eAAO,EAAE,GAAGA,GAAM,MAAM,WAAW,UAAU;AAG/C,YAAMC,IAAWD,EAAK,IAAI,UAAUA,EAAK,IAAI,YAAY,GAAG,IAAI,CAAC,GAC3DE,IAAQF,EAAK,IAAI,MAAM,GAAG;AAMhC,aALkB;AAAA,QAChB,GAAGA;AAAA,QACH,MAAME,EAAMA,EAAM,SAAS,CAAC;AAAA,QAC5B,UAAAD;AAAA,MACN;AAAA,IAEA,CAAG,CACF;AAED,aAASE,EAASC,GAAY;AAC5B,MAAAb,EAAK,aAAaa,CAAU;AAAA,IAC9B;AAEA,aAASC,IAAW;AAClB,MAAAC,EAAU;AAAA,QACR,SAAS,UAAUV,EAAM,MAAM,KAAK;AAAA,QACpC,MAAM;AAAA,MACV,CAAG;AAAA,IACH;AAEA,aAASW,EAAUH,GAAY;AAC7B,MAAAX,EAAe,QAAQW,EAAW,KAClCT,EAAc,QAAQ;AAAA,IACxB;AAEA,aAASa,EAAaJ,GAAY;AAEhC,aAAIA,EAAW,OAAO,WACpBE,EAAU;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,MACZ,CAAK,GACM,MAGF;AAAA,IACT;AAEA,aAASG,EAAYL,GAAY;AAC/B,YAAMM,IAAW,IAAI;AACrB,MAAAA,EAAS,OAAO,QAAQN,EAAW,IAAI,GACvCb,EAAK,aAAamB,CAAQ;AAAA,IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as tn, onMounted as rn, onBeforeUnmount as nn, ref as $r, watch as Ir, nextTick as Gr, h as an, openBlock as on, createBlock as sn, unref as un } from "vue";
|
|
2
2
|
import * as Dr from "quill";
|
|
3
3
|
import Pr from "quill";
|
|
4
|
-
import {
|
|
4
|
+
import { n as W, o as ln, k as fn, i as cn } from "./index-BX1xTWzJ.js";
|
|
5
5
|
import hn from "quill-image-uploader";
|
|
6
6
|
var ue = -1, ne = 1, Z = 0;
|
|
7
7
|
function it(r, a, n, u) {
|
|
@@ -1774,4 +1774,4 @@ const qr = {
|
|
|
1774
1774
|
export {
|
|
1775
1775
|
Pn as default
|
|
1776
1776
|
};
|
|
1777
|
-
//# sourceMappingURL=RichTextEditor-
|
|
1777
|
+
//# sourceMappingURL=RichTextEditor-DJYZD9vY.js.map
|