UNPKG

@cmstops/pro-compo

Version:

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

147 lines (146 loc) 5.86 kB
import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createBlock, unref, toDisplayString, renderSlot, createVNode, withCtx } from "vue"; import { Image, Tooltip } from "@arco-design/web-vue"; import _sfc_main$1 from "../../../../typeIcons/component.js"; import _sfc_main$2 from "../../../../dataTags/component.js"; import { noCoverText, timeFormat } from "../../../../utils/index.js"; const _hoisted_1 = { class: "cover-view" }; const _hoisted_2 = { key: 1, class: "no-img" }; const _hoisted_3 = { class: "batch-select" }; const _hoisted_4 = { class: "info-view" }; const _hoisted_5 = { class: "title_i" }; const _hoisted_6 = { class: "abttrite-v" }; const _hoisted_7 = { class: "left" }; const _hoisted_8 = { class: "tags" }; const _hoisted_9 = { class: "abttr value" }; const _hoisted_10 = { class: "abttr time" }; const _hoisted_11 = { class: "abttr time" }; const _hoisted_12 = { class: "right" }; const _sfc_main = defineComponent({ __name: "index", props: { item: {}, extraAttrs: {} }, emits: ["clickTitle", "cellMouseEnter", "cellMouseLeave"], setup(__props, { emit: __emit }) { const props = __props; const emit = __emit; const hide = computed(() => { const { hide: hide2 } = props.item; return hide2 === 7 || hide2 === 6; }); const silent = computed(() => { return props.item && props.item.mourn_style === 1; }); const thumb = computed(() => { if (props.item.preview_url || props.item.cover || props.item.pc_cover) return props.item.preview_url || props.item.cover || props.item.pc_cover; if (!props.item.style) return null; const res = JSON.parse(props.item.style); if (!res.data.length) return null; return res.data[0].thumb; }); const payload = computed(() => { if (!props.item) return null; const _payload = typeof props.item.payload === "string" ? JSON.parse(props.item.payload) : props.item.payload; return _payload; }); const showValue = computed(() => { const _payload = payload.value; if (!_payload) return ""; if (props.item.series === "category_list") return _payload.rootAlias; if (props.item.series === "document") return _payload.title; if (props.item.series === "url") return _payload.relation_url; return _payload.label || ""; }); const mouseEnterFun = (event, row) => { emit("cellMouseEnter", { row, event }); }; const mouseLeaveFun = (event, row) => { emit("cellMouseLeave", { row, event }); }; const clickTitle = () => { emit("clickTitle", props.item); }; return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { class: normalizeClass(["medialist-kongo-item-view", { "gray-forbidden": hide.value, "gray-for-state-hide": silent.value }]), onMouseenter: _cache[0] || (_cache[0] = ($event) => mouseEnterFun($event, _ctx.item)), onMouseleave: _cache[1] || (_cache[1] = ($event) => mouseLeaveFun($event, _ctx.item)) }, [ createElementVNode("div", _hoisted_1, [ thumb.value ? (openBlock(), createBlock(unref(Image), { key: 0, src: thumb.value, fit: "contain", preview: false, class: "image", lazy: true }, null, 8, ["src"])) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(noCoverText)(_ctx.item)), 1)), createElementVNode("div", _hoisted_3, [ renderSlot(_ctx.$slots, "batch", { row: _ctx.item }) ]) ]), createElementVNode("div", _hoisted_4, [ createElementVNode("div", { class: "title", onClick: clickTitle }, [ renderSlot(_ctx.$slots, "index"), createElementVNode("span", _hoisted_5, toDisplayString(_ctx.item.alias || _ctx.item.title), 1) ]), createElementVNode("div", _hoisted_6, [ createElementVNode("div", _hoisted_7, [ createVNode(_sfc_main$1, { class: "icon", doc: _ctx.item.catalog === "doc", type: _ctx.item.series }, null, 8, ["doc", "type"]), createElementVNode("span", _hoisted_8, [ createVNode(_sfc_main$2, { item: _ctx.item }, null, 8, ["item"]), renderSlot(_ctx.$slots, "tip") ]), createElementVNode("span", _hoisted_9, toDisplayString(`${showValue.value}`), 1), createElementVNode("span", _hoisted_10, [ createVNode(unref(Tooltip), { content: `\u521B\u5EFA\u65F6\u95F4: ${unref(timeFormat)(_ctx.item.pub_time)}`, placement: "top" }, { default: withCtx(() => [ createElementVNode("span", null, toDisplayString(unref(timeFormat)(_ctx.item.pub_time)), 1) ]), _: 1 }, 8, ["content"]) ]), createElementVNode("span", _hoisted_11, [ createVNode(unref(Tooltip), { content: `\u521B\u5EFA\u4EBA: ${_ctx.item.commit_user_name || "--"}`, placement: "top" }, { default: withCtx(() => [ createElementVNode("span", null, toDisplayString(_ctx.item.commit_user_name || "--"), 1) ]), _: 1 }, 8, ["content"]) ]) ]), createElementVNode("div", _hoisted_12, [ renderSlot(_ctx.$slots, "option", { row: _ctx.item }) ]) ]) ]) ], 34); }; } }); export { _sfc_main as default };