| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- var C = (l, r, t) => new Promise((m, c) => {
- var f = (a) => {
- try {
- p(t.next(a));
- } catch (u) {
- c(u);
- }
- }, n = (a) => {
- try {
- p(t.throw(a));
- } catch (u) {
- c(u);
- }
- }, p = (a) => a.done ? m(a.value) : Promise.resolve(a.value).then(f, n);
- p((t = t.apply(l, r)).next());
- });
- import { ref as i, reactive as z, watch as b, resolveComponent as g, openBlock as I, createElementBlock as x, createElementVNode as d, toDisplayString as D, createCommentVNode as E, createVNode as v, withCtx as k, pushScopeId as A, popScopeId as $ } from "vue";
- import { r as q, v as V } from "./index2.js";
- import { d as F, p as G } from "./upload.js";
- import H from "./CropperModal.js";
- import { _ as K } from "./index6.js";
- import { M as W } from "./index7.js";
- const J = (l) => (A("data-v-31ce420f"), l = l(), $(), l), Q = { class: "s-file-upload-common" }, X = { class: "head" }, Y = {
- key: 0,
- class: "label"
- }, Z = /* @__PURE__ */ J(() => /* @__PURE__ */ d("div", null, "图片上传", -1)), ee = { class: "preview-content" }, te = ["src"], oe = {
- __name: "SCopperUpload",
- props: {
- /**
- * 文件列表
- * @list
- */
- list: {
- type: Array,
- default: () => []
- },
- /**
- * 标题
- * @label
- */
- label: {
- type: String,
- default: ""
- },
- /**
- * 只读
- * @readonly
- */
- readonly: {
- type: Boolean,
- default: !1
- },
- /**
- * 是否显示删除
- * @delete
- */
- showRemoveIcon: {
- type: Boolean,
- default: !1
- },
- /**
- * 是否显示新增
- * @add
- */
- add: {
- type: Boolean,
- default: !1
- },
- maxFileCount: {
- type: Number,
- default: 3
- },
- sizeLimit: {
- type: Number,
- default: 50
- },
- options: {
- type: Object,
- default: function() {
- return {
- autoCrop: !0,
- // 是否默认生成截图框
- autoCropWidth: 180,
- // 默认生成截图框宽度
- autoCropHeight: 180,
- // 默认生成截图框高度
- fixedBox: !1,
- // 是否固定截图框大小 不允许改变
- previewsCircle: !1,
- // 预览图是否是原圆形
- businessTableName: "sys_user",
- title: "",
- invariantId: ""
- };
- }
- },
- businessTableName: {
- type: String,
- default: void 0
- },
- businessKey: {
- type: String,
- default: void 0
- }
- },
- setup(l) {
- const r = l, t = i([
- // {
- // uid: '-1',
- // name: 'xxx.png',
- // status: 'done',
- // url: 'https://www.sapit.com.cn/img/title-bg.cbbd159b.png',
- // thumbUrl: 'https://www.sapit.com.cn/img/title-bg.cbbd159b.png',
- // },
- // {
- // uid: '-2',
- // name: 'yyy.png',
- // status: 'done',
- // url: 'https://www.sapit.com.cn/img/title-bg.9b284669.png',
- // thumbUrl: 'https://www.sapit.com.cn/img/title-bg.9b284669.png',
- // }
- ]), m = i(!1), c = i(""), f = i(""), n = i(0), p = i(!1), a = z({}), u = i(""), w = i();
- b(() => r.list, (e) => {
- e && e.length && (t.value = e);
- }, { immediate: !0 }), b(() => r.options, (e) => {
- a.value = e;
- }, { immediate: !0 });
- const L = (e) => {
- const o = e.size / 1024 / 1024 < r.sizeLimit;
- return o || V.warn({
- key: "only-you",
- message: "提醒",
- description: `文件不能大于${r.sizeLimit}MB!`
- }), o;
- }, S = (o) => C(this, [o], function* ({ file: e }) {
- let s = setTimeout(() => {
- a.value.invariantId = u.value;
- const h = Object.assign({}, a.value, {
- img: e.thumbUrl
- });
- h.img && w.value.edit(h), clearTimeout(s);
- }, 500);
- }), N = ({ file: e }) => {
- u.value = e.uid;
- }, O = (e) => {
- const o = document.createElement("a");
- o.href = F(e.uid), o.download = "test", o.click();
- }, U = () => {
- p.value = !1;
- for (let e = t.value.length - 1; e >= 0; e--)
- t.value[e].uid === u.value && t.value[e].status != "done" && t.value.splice(e, 1);
- }, B = (e, o) => {
- p.value = !1, t.value && t.value.length > 0 && t.value.forEach((s) => {
- s.uid == e && (s.status = "done", s.thumbUrl = o, s.url = G(s.uid));
- });
- }, M = (e) => {
- n.value = t.value.findIndex((o) => o.uid === e.uid), m.value = !0, f.value = e.name || "预览", c.value = e.url || e.thumbUrl;
- }, P = () => {
- m.value = !1;
- }, y = (e) => {
- n.value = n.value + e < 0 ? 0 : n.value + e > t.value.length - 1 ? t.value.length - 1 : n.value + e, f.value = t.value[n.value].name || "预览", c.value = t.value[n.value].url;
- };
- return (e, o) => {
- const s = g("PlusOutlined"), h = K, R = g("LeftOutlined"), T = g("RightOutlined"), j = W;
- return I(), x("div", Q, [
- d("div", X, [
- l.label ? (I(), x("div", Y, D(l.label), 1)) : E("", !0)
- ]),
- v(h, {
- "list-type": "picture-card",
- accept: ".jpg, .png, .jpeg, .PNG, .gif",
- onPreview: M,
- "before-upload": L,
- "file-list": t.value,
- "onUpdate:fileList": o[0] || (o[0] = (_) => t.value = _),
- "custom-request": N,
- onChange: S,
- disabled: l.readonly,
- onDownload: O,
- showUploadList: {
- showRemoveIcon: l.showRemoveIcon,
- showDownloadIcon: !0
- }
- }, {
- default: k(() => [
- d("span", null, [
- v(s),
- Z
- ])
- ]),
- _: 1
- }, 8, ["file-list", "disabled", "showUploadList"]),
- v(j, {
- open: m.value,
- title: f.value,
- footer: null,
- onCancel: P,
- width: "800px"
- }, {
- default: k(() => [
- d("div", ee, [
- d("div", {
- class: "prev",
- onClick: o[1] || (o[1] = (_) => y(-1))
- }, [
- v(R)
- ]),
- d("img", {
- alt: "example",
- class: "view",
- src: c.value
- }, null, 8, te),
- d("div", {
- class: "next",
- onClick: o[2] || (o[2] = (_) => y(1))
- }, [
- v(T)
- ])
- ])
- ]),
- _: 1
- }, 8, ["open", "title"]),
- v(H, {
- ref_key: "cropperModal",
- ref: w,
- onCropperNo: U,
- onCropperOk: B
- }, null, 512)
- ]);
- };
- }
- }, re = /* @__PURE__ */ q(oe, [["__scopeId", "data-v-31ce420f"]]);
- export {
- re as default
- };
|