UNPKG

@cmstops/pro-compo

Version:

[物料平台文档中心](https://arco.design/docs/material/guide)

107 lines (106 loc) 4.86 kB
import { defineComponent, inject, computed, ref, openBlock, createElementBlock, toDisplayString, createCommentVNode, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, createBlock, createTextVNode } from "vue"; import { Popover, Image, Button, Link } from "@arco-design/web-vue"; import { IconClose } from "@arco-design/web-vue/es/icon"; import { IconVideoTag } from "@arco-iconbox/vue-cmstop-icons"; const _hoisted_1 = { class: "list-selected-wrapper" }; const _hoisted_2 = { key: 0 }; const _hoisted_3 = { class: "list-panel-header" }; const _hoisted_4 = { class: "header-options" }; const _hoisted_5 = { class: "list-selected-record" }; const _hoisted_6 = { class: "item-thumb" }; const _hoisted_7 = { class: "item-tag" }; const _hoisted_8 = { class: "item-alias" }; const _sfc_main = defineComponent({ __name: "index", props: { selected: {}, maxcount: {} }, emits: ["remove", "clear"], setup(__props, { emit: __emit }) { const emits = __emit; const baseAPI = inject("baseAPI"); const audioThumb = computed(() => { return `${baseAPI}/static/img/music.2ee269c.png`; }); const visible = ref(false); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ _ctx.maxcount ? (openBlock(), createElementBlock("span", _hoisted_2, "\u6700\u591A\u9009\u62E9 " + toDisplayString(_ctx.maxcount) + " \u4E2A\u7D20\u6750\uFF0C ", 1)) : createCommentVNode("v-if", true), createVNode(unref(Popover), { "popup-visible": visible.value, "onUpdate:popupVisible": _cache[2] || (_cache[2] = ($event) => visible.value = $event), trigger: "click", "content-class": "list-panel-wrapper" }, { content: withCtx(() => [ createCommentVNode(" header "), createElementVNode("div", _hoisted_3, [ createElementVNode("div", null, "\u5DF2\u9009\u62E9 " + toDisplayString(_ctx.selected.length) + " \u4E2A\u7D20\u6750", 1), createElementVNode("div", _hoisted_4, [ createElementVNode("div", { onClick: _cache[0] || (_cache[0] = ($event) => emits("clear")) }, " \u6E05\u9664 "), createElementVNode("div", { onClick: _cache[1] || (_cache[1] = ($event) => visible.value = false) }, [ createVNode(unref(IconClose), { size: "14" }) ]) ]) ]), createCommentVNode(" content "), createElementVNode("div", _hoisted_5, [ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.selected, (item) => { return openBlock(), createElementBlock("div", { key: item.id, class: "list-selected-item" }, [ createElementVNode("div", _hoisted_6, [ ["image", "video"].includes(item.catalog) ? (openBlock(), createBlock(unref(Image), { key: 0, preview: false, width: "100%", height: "100%", src: item.thumb || item.url }, null, 8, ["src"])) : createCommentVNode("v-if", true), ["audio"].includes(item.catalog) ? (openBlock(), createBlock(unref(Image), { key: 1, preview: false, width: "100%", height: "100%", fit: "cover", src: audioThumb.value }, null, 8, ["src"])) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_7, [ item.catalog === "video" ? (openBlock(), createBlock(unref(IconVideoTag), { key: 0 })) : createCommentVNode("v-if", true) ]) ]), createElementVNode("div", _hoisted_8, toDisplayString(item.alias), 1), createVNode(unref(Button), { type: "text", onClick: ($event) => emits("remove", item) }, { icon: withCtx(() => [ createVNode(unref(IconClose)) ]), _: 2 }, 1032, ["onClick"]) ]); }), 128)) ]) ]), default: withCtx(() => [ createVNode(unref(Link), null, { default: withCtx(() => [ createTextVNode("\u5DF2\u9009\u62E9 " + toDisplayString(_ctx.selected.length) + " \u4E2A\u7D20\u6750", 1) ]), _: 1 }) ]), _: 1 }, 8, ["popup-visible"]) ]); }; } }); export { _sfc_main as default };