UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

177 lines (176 loc) 7.35 kB
import { defineComponent, ref, computed, watch, nextTick, onMounted, toRefs, openBlock, createElementBlock, normalizeStyle, createCommentVNode, toDisplayString, createElementVNode, createBlock, Teleport, createStaticVNode, pushScopeId, popScopeId } from "vue"; import { toBase64 as encode } from "../../node_modules/js-base64/base64.mjs"; import "./index.vue_vue_type_style_index_0_scoped_true_lang.mjs"; import _export_sfc from "../../_virtual/plugin-vue_export-helper.mjs"; const _sfc_main = defineComponent({ name: "CoOfficeStd", props: { src: { type: String }, width: { type: String }, height: { type: String }, previewType: { type: String, default: "1" }, isSpread: { type: Boolean, default: false }, title: { type: String, default: "Office\u5C55\u793A" }, fontFamily: { type: String }, fontSize: { type: Number, default: 12 }, color: { type: String, default: "rgba(255,255,255,1)" }, borderColor: { type: String, default: "rgba(57,70,211,1)" } }, setup(props) { const show = ref(true); const pdfSrc = ref( window.env.VITE_PRIVIWE_URL + "/onlinePreview?url=" + encodeURIComponent(encode(props.src)) ); const isMouse = ref(false); const isPreview = ref(false); const previewFn = (event) => { if (props.previewType === "2") { isPreview.value = true; } else if (props.previewType === "3") { window.open(pdfSrc.value, "_blank"); } }; const mouseOverFn = () => { if (props.previewType === "1") { isMouse.value = true; } }; const mouseOutFn = () => { if (props.previewType === "1") { isMouse.value = false; } }; const closeFn = () => { isPreview.value = false; }; const attrs = computed(() => { return { fontSize: props.fontSize + "px", color: props.color, borderColor: props.borderColor, fontFamily: props.fontFamily }; }); const updataOfficeSrc = (url) => { pdfSrc.value = window.env.VITE_PRIVIWE_URL + "/onlinePreview?url=" + encodeURIComponent(encode(url)); }; watch( () => props.src, () => { pdfSrc.value = window.env.VITE_PRIVIWE_URL + "/onlinePreview?url=" + encodeURIComponent(encode(props.src)); } ); watch( () => props.isSpread, () => { show.value = false; nextTick(() => { show.value = true; }); } ); onMounted(() => { }); return { show, pdfSrc, isPreview, isMouse, previewFn, mouseOverFn, mouseOutFn, closeFn, attrs, updataOfficeSrc, ...toRefs(props) }; } }); const _withScopeId = (n) => (pushScopeId("data-v-3372993f"), n = n(), popScopeId(), n); const _hoisted_1 = ["src"]; const _hoisted_2 = { class: "office-std__mouse" }; const _hoisted_3 = /* @__PURE__ */ createStaticVNode('<svg viewBox="0 0 1024 1024" width="20px" height="20px" data-v-3372993f><path d="M270.08 64.064l-179.2 0C76.032 64.064 64 76.096 64 90.944l0 178.688c0 0.128 0 0.256 0 0.384C64 284.928 76.032 296.96 90.88 296.96s27.008-12.032 27.008-26.944c0-1.536-0.256-3.136-0.512-4.608L117.376 122.176c0-2.496 1.984-4.48 4.416-4.48l145.408 0C268.16 117.76 269.12 117.952 270.08 117.952c14.848 0 26.944-12.032 26.944-26.944S284.928 64.064 270.08 64.064z" fill="#ffffff" data-v-3372993f></path><path d="M847.552 830.784c0 9.856-8.128 17.856-17.92 17.856L190.528 848.64c-9.856 0-17.856-8-17.856-17.856L172.672 191.744c0-9.92 8-17.92 17.856-17.92l639.104 0c9.792 0 17.92 8 17.92 17.92L847.552 830.784z" fill="#ffffff" data-v-3372993f></path><path d="M753.792 64.064l179.2 0c14.848 0 26.88 12.032 26.88 26.88l0 178.688C959.872 269.76 960 269.888 960 270.016c0 14.912-12.096 26.944-27.008 26.944s-26.944-12.032-26.944-26.944c0-1.536 0.256-3.136 0.448-4.608L906.496 122.176c0-2.496-1.92-4.48-4.48-4.48l-145.344 0c-1.024 0.064-1.856 0.256-2.88 0.256-14.848 0-26.88-12.032-26.88-26.944S738.944 64.064 753.792 64.064z" fill="#ffffff" data-v-3372993f></path><path d="M270.08 959.936l-179.2 0C76.032 959.936 64 947.968 64 933.12l0-178.752c0-0.128 0-0.256 0-0.384 0-14.912 12.032-27.008 26.88-27.008s27.008 12.032 27.008 27.008c0 1.536-0.256 3.136-0.512 4.608l0 143.168c0 2.496 1.984 4.48 4.416 4.48l145.408 0c0.96-0.064 1.856-0.256 2.816-0.256 14.848 0 26.944 12.032 26.944 26.944S284.928 959.936 270.08 959.936z" fill="#ffffff" data-v-3372993f></path><path d="M753.792 959.936l179.2 0c14.848 0 26.88-12.032 26.88-26.816l0-178.752c0-0.128 0.128-0.256 0.128-0.384 0-14.912-12.096-27.008-27.008-27.008s-26.944 12.032-26.944 27.008c0 1.536 0.256 3.136 0.448 4.608l0 143.168c0 2.496-1.92 4.48-4.48 4.48l-145.344 0c-1.024-0.064-1.856-0.256-2.88-0.256-14.848 0-26.88 12.032-26.88 26.944S738.944 959.936 753.792 959.936z" fill="#ffffff" data-v-3372993f></path></svg>', 1); const _hoisted_4 = [ _hoisted_3 ]; const _hoisted_5 = { key: 0, class: "office-std__pre-preview" }; const _hoisted_6 = ["src"]; const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", { viewBox: "0 0 1024 1024" }, [ /* @__PURE__ */ createElementVNode("path", { fill: "currentColor", d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z" }) ], -1)); const _hoisted_8 = [ _hoisted_7 ]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", { class: "co-office-std", style: normalizeStyle({ width: _ctx.width || "100%", height: _ctx.height || "100%" }) }, [ _ctx.previewType === "1" ? (openBlock(), createElementBlock("iframe", { key: 0, src: _ctx.pdfSrc, frameborder: "0" }, null, 8, _hoisted_1)) : createCommentVNode("", true), _ctx.previewType !== "1" ? (openBlock(), createElementBlock("span", { key: 1, class: "office-std__pre-text", onClick: _cache[0] || (_cache[0] = (...args) => _ctx.previewFn && _ctx.previewFn(...args)), style: normalizeStyle(_ctx.attrs) }, toDisplayString(_ctx.title), 5)) : createCommentVNode("", true), createElementVNode("div", _hoisted_2, [ createElementVNode("span", { onClick: _cache[1] || (_cache[1] = ($event) => _ctx.isPreview = true) }, _hoisted_4) ]), (openBlock(), createBlock(Teleport, { to: "body" }, [ _ctx.isPreview ? (openBlock(), createElementBlock("div", _hoisted_5, [ createElementVNode("iframe", { src: _ctx.pdfSrc, frameborder: "0", style: { "width": "90%", "height": "90%" } }, null, 8, _hoisted_6), createElementVNode("span", { class: "office-std__pre-cloxe", onClick: _cache[2] || (_cache[2] = (...args) => _ctx.closeFn && _ctx.closeFn(...args)) }, _hoisted_8) ])) : createCommentVNode("", true) ])) ], 4); } var office = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3372993f"]]); export { office as default };