@wocwin/t-ui-plus
Version:
Page level components developed based on Element Plus.
187 lines (184 loc) • 8.21 kB
JavaScript
import { defineComponent, resolveComponent, createBlock, openBlock, mergeProps, withCtx, createElementBlock, Fragment, renderList, renderSlot, createSlots, createElementVNode, createVNode, toDisplayString, createTextVNode, createCommentVNode, unref, normalizeStyle } from 'vue';
import './renderTooltip.vue.mjs';
import './renderLabel.vue.mjs';
import { Warning } from '@element-plus/icons-vue';
import _sfc_main$1 from './renderTooltip.vue2.mjs';
import _sfc_main$2 from './renderLabel.vue2.mjs';
const _hoisted_1 = { key: 0 };
const _hoisted_2 = {
key: 1,
class: "tip_class"
};
const _hoisted_3 = { key: 0 };
const _hoisted_4 = { key: 1 };
const _hoisted_5 = { key: 0 };
const _hoisted_6 = { key: 0 };
const _hoisted_7 = { key: 1 };
const _hoisted_8 = { key: 0 };
const _hoisted_9 = { key: 1 };
const _hoisted_10 = { key: 0 };
var _sfc_main = /* @__PURE__ */ defineComponent({
...{
name: "TDetail"
},
__name: "index",
props: {
descColumn: { default: 4 },
dataList: { default: () => ({}) },
listTypeInfo: { default: () => ({}) },
descData: { default: () => [] },
isColon: { type: Boolean, default: true },
isLabelBold: { type: Boolean, default: true }
},
setup(__props) {
const constantEscape = (value, list, key = "value", label = "label") => {
const res = list.find((item) => item[key] === value);
return res == null ? void 0 : res[label];
};
return (_ctx, _cache) => {
const _component_el_icon = resolveComponent("el-icon");
const _component_el_tooltip = resolveComponent("el-tooltip");
const _component_el_descriptions_item = resolveComponent("el-descriptions-item");
const _component_el_descriptions = resolveComponent("el-descriptions");
return openBlock(), createBlock(_component_el_descriptions, mergeProps({ class: "t_detail" }, _ctx.$attrs, { column: _ctx.descColumn }), {
default: withCtx(() => [
(openBlock(true), createElementBlock(
Fragment,
null,
renderList(_ctx.descData, (item, key) => {
return openBlock(), createBlock(_component_el_descriptions_item, mergeProps({
key,
span: item.span || 1
}, { ...item.bind, ..._ctx.$attrs }), {
label: withCtx(() => [
item.labelRender ? (openBlock(), createBlock(_sfc_main$2, {
key: 0,
render: item.labelRender,
item
}, null, 8, ["render", "item"])) : (openBlock(), createElementBlock(
"span",
{
key: 1,
style: normalizeStyle({ fontWeight: _ctx.isLabelBold ? "bold" : "" })
},
[
createTextVNode(
toDisplayString(item.label),
1
/* TEXT */
),
_ctx.isColon ? (openBlock(), createElementBlock("span", _hoisted_1, "\uFF1A")) : createCommentVNode("v-if", true)
],
4
/* STYLE */
))
]),
default: withCtx(() => [
item.slotName ? renderSlot(_ctx.$slots, item.slotName, { key: 0 }) : (openBlock(), createElementBlock("span", _hoisted_2, [
item.tooltip ? (openBlock(), createBlock(_component_el_tooltip, mergeProps({ key: 0 }, _ctx.$attrs, {
placement: item.placement || "bottom"
}), createSlots({
default: withCtx(() => [
createElementVNode("span", null, [
item.filters && item.filters.list ? (openBlock(), createElementBlock(
"span",
_hoisted_3,
toDisplayString(constantEscape(
item.fieldName ? _ctx.dataList[item.fieldName] : void 0,
_ctx.listTypeInfo[item.filters.list],
item.filters.key || "value",
item.filters.label || "label"
)),
1
/* TEXT */
)) : (openBlock(), createElementBlock("span", _hoisted_4, [
createTextVNode(
toDisplayString(item.value),
1
/* TEXT */
),
item.unit && item.value ? (openBlock(), createElementBlock(
"span",
_hoisted_5,
toDisplayString(item.unit),
1
/* TEXT */
)) : createCommentVNode("v-if", true)
])),
createVNode(_component_el_icon, {
size: item.iconSize,
color: item.iconColor,
style: { "cursor": "pointer", "margin-left": "2px", "top": "1px" }
}, {
default: withCtx(() => [
createVNode(unref(Warning))
]),
_: 2
/* DYNAMIC */
}, 1032, ["size", "color"])
])
]),
_: 2
/* DYNAMIC */
}, [
item.tooltip ? {
name: "content",
fn: withCtx(() => [
typeof item.tooltip === "string" ? (openBlock(), createElementBlock(
"span",
_hoisted_6,
toDisplayString(item.tooltip),
1
/* TEXT */
)) : typeof item.tooltip === "function" ? (openBlock(), createBlock(_sfc_main$1, {
key: 1,
render: item.tooltip,
item
}, null, 8, ["render", "item"])) : createCommentVNode("v-if", true)
]),
key: "0"
} : void 0
]), 1040, ["placement"])) : (openBlock(), createElementBlock("span", _hoisted_7, [
item.filters && item.filters.list ? (openBlock(), createElementBlock(
"span",
_hoisted_8,
toDisplayString(constantEscape(
item.fieldName ? _ctx.dataList[item.fieldName] : void 0,
_ctx.listTypeInfo[item.filters.list],
item.filters.key || "value",
item.filters.label || "label"
)),
1
/* TEXT */
)) : (openBlock(), createElementBlock("span", _hoisted_9, [
createTextVNode(
toDisplayString(item.value),
1
/* TEXT */
),
item.unit && item.value ? (openBlock(), createElementBlock(
"span",
_hoisted_10,
toDisplayString(item.unit),
1
/* TEXT */
)) : createCommentVNode("v-if", true)
]))
]))
]))
]),
_: 2
/* DYNAMIC */
}, 1040, ["span"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 3
/* FORWARDED */
}, 16, ["column"]);
};
}
});
export { _sfc_main as default };