@cmstops/pro-compo
Version:
[物料平台文档中心](https://arco.design/docs/material/guide)
147 lines (146 loc) • 5.86 kB
JavaScript
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 };