@wocwin/t-ui-plus
Version:
Page level components developed based on Element Plus.
191 lines (186 loc) • 8.49 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('./renderTooltip.vue.js');
require('./renderLabel.vue.js');
var Icons = require('@element-plus/icons-vue');
var renderTooltip_vue_vue_type_script_setup_true_lang = require('./renderTooltip.vue2.js');
var renderLabel_vue_vue_type_script_setup_true_lang = require('./renderLabel.vue2.js');
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__ */ vue.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 = vue.resolveComponent("el-icon");
const _component_el_tooltip = vue.resolveComponent("el-tooltip");
const _component_el_descriptions_item = vue.resolveComponent("el-descriptions-item");
const _component_el_descriptions = vue.resolveComponent("el-descriptions");
return vue.openBlock(), vue.createBlock(_component_el_descriptions, vue.mergeProps({ class: "t_detail" }, _ctx.$attrs, { column: _ctx.descColumn }), {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList(_ctx.descData, (item, key) => {
return vue.openBlock(), vue.createBlock(_component_el_descriptions_item, vue.mergeProps({
key,
span: item.span || 1
}, { ...item.bind, ..._ctx.$attrs }), {
label: vue.withCtx(() => [
item.labelRender ? (vue.openBlock(), vue.createBlock(renderLabel_vue_vue_type_script_setup_true_lang.default, {
key: 0,
render: item.labelRender,
item
}, null, 8, ["render", "item"])) : (vue.openBlock(), vue.createElementBlock(
"span",
{
key: 1,
style: vue.normalizeStyle({ fontWeight: _ctx.isLabelBold ? "bold" : "" })
},
[
vue.createTextVNode(
vue.toDisplayString(item.label),
1
/* TEXT */
),
_ctx.isColon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1, "\uFF1A")) : vue.createCommentVNode("v-if", true)
],
4
/* STYLE */
))
]),
default: vue.withCtx(() => [
item.slotName ? vue.renderSlot(_ctx.$slots, item.slotName, { key: 0 }) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, [
item.tooltip ? (vue.openBlock(), vue.createBlock(_component_el_tooltip, vue.mergeProps({ key: 0 }, _ctx.$attrs, {
placement: item.placement || "bottom"
}), vue.createSlots({
default: vue.withCtx(() => [
vue.createElementVNode("span", null, [
item.filters && item.filters.list ? (vue.openBlock(), vue.createElementBlock(
"span",
_hoisted_3,
vue.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 */
)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, [
vue.createTextVNode(
vue.toDisplayString(item.value),
1
/* TEXT */
),
item.unit && item.value ? (vue.openBlock(), vue.createElementBlock(
"span",
_hoisted_5,
vue.toDisplayString(item.unit),
1
/* TEXT */
)) : vue.createCommentVNode("v-if", true)
])),
vue.createVNode(_component_el_icon, {
size: item.iconSize,
color: item.iconColor,
style: { "cursor": "pointer", "margin-left": "2px", "top": "1px" }
}, {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(Icons.Warning))
]),
_: 2
/* DYNAMIC */
}, 1032, ["size", "color"])
])
]),
_: 2
/* DYNAMIC */
}, [
item.tooltip ? {
name: "content",
fn: vue.withCtx(() => [
typeof item.tooltip === "string" ? (vue.openBlock(), vue.createElementBlock(
"span",
_hoisted_6,
vue.toDisplayString(item.tooltip),
1
/* TEXT */
)) : typeof item.tooltip === "function" ? (vue.openBlock(), vue.createBlock(renderTooltip_vue_vue_type_script_setup_true_lang.default, {
key: 1,
render: item.tooltip,
item
}, null, 8, ["render", "item"])) : vue.createCommentVNode("v-if", true)
]),
key: "0"
} : void 0
]), 1040, ["placement"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_7, [
item.filters && item.filters.list ? (vue.openBlock(), vue.createElementBlock(
"span",
_hoisted_8,
vue.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 */
)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_9, [
vue.createTextVNode(
vue.toDisplayString(item.value),
1
/* TEXT */
),
item.unit && item.value ? (vue.openBlock(), vue.createElementBlock(
"span",
_hoisted_10,
vue.toDisplayString(item.unit),
1
/* TEXT */
)) : vue.createCommentVNode("v-if", true)
]))
]))
]))
]),
_: 2
/* DYNAMIC */
}, 1040, ["span"]);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 3
/* FORWARDED */
}, 16, ["column"]);
};
}
});
exports.default = _sfc_main;