yanzhen-design-vue
Version:
168 lines (167 loc) • 11.9 kB
JavaScript
"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
const core = require("@vueuse/core");
const antDesignVue = require("ant-design-vue");
const iconsVue = require("@ant-design/icons-vue");
const uploadFilePreview = require("./upload-file-preview.cjs");
require("./upload-image-preview.vue.cjs");
const useUploadFilePreview = require("./use-upload-file-preview.cjs");
const uploadImagePreview_vue_vue_type_script_setup_true_lang = require("./upload-image-preview.vue2.cjs");
const _hoisted_1 = ["onClick"];
const _imageFallBackBase64 = "data:image/png;base64,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";
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...{ name: uploadFilePreview.uploadFilePreviewName },
__name: "upload-file-preview",
props: uploadFilePreview.uploadFilePreviewProps,
emits: uploadFilePreview.uploadFilePreviewEmits,
setup(__props, { expose: __expose, emit: __emit }) {
const [DefineTemplate, ReusableTemplate] = core.createReusableTemplate();
const ns = uploadFilePreview.uploadFilePreviewOptions.ns;
const props = __props;
const emit = __emit;
const attrs = vue.useAttrs();
const {
loading,
useDrawer,
fileListRef,
visible,
drawerConfigRef,
exposeCtx,
handlePreviewFile,
handleDownloadFile,
handleOpenPreviewFile
} = useUploadFilePreview.useUploadFilePreview(props, emit);
__expose(exposeCtx);
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
vue.createVNode(vue.unref(DefineTemplate), null, {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(antDesignVue.Spin), {
class: vue.normalizeClass(vue.unref(ns).e("loading")),
spinning: vue.unref(loading)
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", {
class: vue.normalizeClass([vue.unref(ns).b(), vue.unref(ns).b("content")])
}, [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(fileListRef), (item) => {
return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Flex), {
key: item.uid,
class: vue.normalizeClass(vue.unref(ns).e("item")),
gap: 10,
vertical: false,
align: "center"
}, {
default: vue.withCtx(() => {
var _a, _b;
return [
vue.createVNode(vue.unref(antDesignVue.Image), {
"native-tag": "a-image",
width: 40,
height: 40,
class: vue.normalizeClass(vue.unref(ns).e("file-icon")),
src: (_a = item.originInfo) == null ? void 0 : _a.fileIcon,
preview: false,
fallback: _imageFallBackBase64
}, null, 8, ["class", "src"]),
vue.createElementVNode("div", {
class: vue.normalizeClass(vue.unref(ns).e("file-info")),
onClick: ($event) => vue.unref(handlePreviewFile)(item)
}, [
vue.createVNode(vue.unref(antDesignVue.Tooltip), {
title: ((_b = item.originInfo) == null ? void 0 : _b.fileName) ?? item.name
}, {
default: vue.withCtx(() => {
var _a2;
return [
vue.createElementVNode("div", {
class: vue.normalizeClass([vue.unref(ns).e("file-name"), vue.unref(ns).e("ellipsis")])
}, vue.toDisplayString(((_a2 = item.originInfo) == null ? void 0 : _a2.fileName) ?? item.name), 3)
];
}),
_: 2
}, 1032, ["title"]),
item.originInfo ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Flex), {
key: 0,
gap: 4,
align: "center",
class: vue.normalizeClass(vue.unref(ns).e("file-detail"))
}, {
default: vue.withCtx(() => {
var _a2, _b2;
return [
vue.createElementVNode("span", {
style: { "max-width": "40%" },
class: vue.normalizeClass([vue.unref(ns).e("ellipsis")])
}, " 来自: " + vue.toDisplayString(((_a2 = item.originInfo) == null ? void 0 : _a2.createUserName) || "--"), 3),
vue.createVNode(vue.unref(antDesignVue.Divider), {
type: "vertical",
class: vue.normalizeClass(vue.unref(ns).e("divider"))
}, null, 8, ["class"]),
vue.createElementVNode("span", {
style: { "max-width": "58%" },
class: vue.normalizeClass([vue.unref(ns).e("ellipsis")])
}, " 创建时间: " + vue.toDisplayString((_b2 = item.originInfo) == null ? void 0 : _b2.insertTimeForHis), 3)
];
}),
_: 2
}, 1032, ["class"])) : vue.createCommentVNode("", true)
], 10, _hoisted_1),
vue.createElementVNode("div", {
class: vue.normalizeClass(vue.unref(ns).e("download"))
}, [
vue.createVNode(vue.unref(antDesignVue.Button), {
type: "link",
icon: vue.h(vue.unref(iconsVue.DownloadOutlined)),
onClick: vue.withModifiers(($event) => vue.unref(handleDownloadFile)(item), ["stop"])
}, null, 8, ["icon", "onClick"])
], 2)
];
}),
_: 2
}, 1032, ["class"]);
}), 128))
], 2)
]),
_: 1
}, 8, ["class", "spinning"]),
vue.createVNode(uploadImagePreview_vue_vue_type_script_setup_true_lang.default, {
ref: "imagePreviewRef",
style: { "display": "none" },
"file-list": vue.unref(fileListRef)
}, null, 8, ["file-list"])
]),
_: 1
}),
vue.unref(useDrawer) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
vue.createVNode(vue.unref(antDesignVue.Drawer), vue.mergeProps({
visible: vue.unref(visible),
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => vue.isRef(visible) ? visible.value = $event : null),
"root-class-name": vue.unref(ns).b("drawer")
}, vue.unref(drawerConfigRef)), {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(ReusableTemplate))
]),
_: 1
}, 16, ["visible", "root-class-name"]),
vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(exposeCtx))), () => [
vue.createVNode(vue.unref(antDesignVue.Button), {
class: vue.normalizeClass(vue.unref(attrs).class),
style: vue.normalizeStyle(vue.unref(attrs).style),
icon: vue.h(vue.unref(iconsVue.PaperClipOutlined)),
type: "link",
onClick: _cache[1] || (_cache[1] = ($event) => vue.unref(handleOpenPreviewFile)())
}, {
default: vue.withCtx(() => [
vue.createTextVNode(vue.toDisplayString(vue.unref(fileListRef).length), 1)
]),
_: 1
}, 8, ["class", "style", "icon"])
])
], 64)) : (vue.openBlock(), vue.createBlock(vue.unref(ReusableTemplate), { key: 1 }))
], 64);
};
}
});
exports.default = _sfc_main;