@wocwin/t-ui-plus
Version:
Page level components developed based on Element Plus.
178 lines (175 loc) • 7.79 kB
JavaScript
import { defineComponent, useSlots, resolveComponent, createBlock, createCommentVNode, openBlock, createSlots, withCtx, createElementBlock, Fragment, renderList, mergeProps, unref, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, createVNode } from 'vue';
import './singleEditCell.vue.mjs';
import './renderCol.vue.mjs';
import './renderHeader.vue.mjs';
import _sfc_main$1 from './renderCol.vue2.mjs';
import _sfc_main$2 from './singleEditCell.vue2.mjs';
import _sfc_main$3 from './renderHeader.vue2.mjs';
const _hoisted_1 = { key: 3 };
var _sfc_main = /* @__PURE__ */ defineComponent({
...{
name: "TTableColumn"
},
__name: "TTableColumn",
props: {
item: {
type: Object,
default: () => {
return {};
},
required: true
},
align: {
type: String,
default: "center"
},
sortable: {
type: [Boolean, String]
}
},
emits: ["handleEvent"],
setup(__props, { emit: __emit }) {
const emits = __emit;
const slots = useSlots();
return (_ctx, _cache) => {
const _component_t_table_column = resolveComponent("t-table-column", true);
const _component_el_table_column = resolveComponent("el-table-column");
return (typeof __props.item.isShowCol == "function" ? __props.item.isShowCol(__props.item) : !__props.item.isShowCol) ? (openBlock(), createBlock(_component_el_table_column, {
key: 0,
prop: __props.item.prop,
label: __props.item.label,
type: __props.item.type,
align: __props.item.align || __props.align,
"min-width": __props.item["min-width"] || __props.item.minWidth,
width: __props.item.width,
fixed: __props.item.fixed
}, createSlots({
default: withCtx(() => [
(openBlock(true), createElementBlock(
Fragment,
null,
renderList(__props.item.children, (val, index) => {
return openBlock(), createElementBlock(
Fragment,
null,
[
val.children ? (openBlock(), createBlock(_component_t_table_column, mergeProps({
key: index,
item: val
}, _ctx.$attrs), createSlots({
_: 2
/* DYNAMIC */
}, [
renderList(unref(slots), (_index, name) => {
return {
name,
fn: withCtx((data) => [
renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data)))
])
};
})
]), 1040, ["item"])) : (openBlock(), createElementBlock(
Fragment,
{ key: 1 },
[
(typeof val.isShowCol == "function" ? val.isShowCol(val) : !val.isShowCol) ? (openBlock(), createBlock(_component_el_table_column, mergeProps({
key: val.prop,
prop: val.prop,
label: val.label,
"min-width": val["min-width"] || val.minWidth,
width: val.width,
sortable: val.sortable || val.sort || __props.sortable,
align: val.align || __props.align,
fixed: val.fixed,
formatter: val.formatter
}, { "show-overflow-tooltip": true, ...val.bind, ..._ctx.$attrs }), createSlots({
default: withCtx((scope) => [
createCommentVNode(" render\u6E32\u67D3 "),
val.render ? (openBlock(), createBlock(_sfc_main$1, {
key: 0,
column: val,
row: scope.row,
render: val.render,
index: scope.$index
}, null, 8, ["column", "row", "render", "index"])) : createCommentVNode("v-if", true),
createCommentVNode(" \u81EA\u5B9A\u4E49\u63D2\u69FD "),
val.slotNameMerge ? renderSlot(_ctx.$slots, val.slotNameMerge, {
key: 1,
scope
}) : createCommentVNode("v-if", true),
createCommentVNode(" \u5355\u4E2A\u5355\u5143\u683C\u7F16\u8F91 "),
val.canEdit ? (openBlock(), createBlock(_sfc_main$2, mergeProps({
key: 2,
isShowRules: false,
configEdit: val.configEdit,
modelValue: scope.row[val.prop],
"onUpdate:modelValue": ($event) => scope.row[val.prop] = $event,
prop: val.prop,
scope,
onHandleEvent: ({ type, val: val2 }) => emits("handleEvent", type, val2, scope.$index)
}, _ctx.$attrs), createSlots({
_: 2
/* DYNAMIC */
}, [
renderList(unref(slots), (_index, name) => {
return {
name,
fn: withCtx((data) => [
renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data)))
])
};
})
]), 1040, ["configEdit", "modelValue", "onUpdate:modelValue", "prop", "scope", "onHandleEvent"])) : createCommentVNode("v-if", true),
!val.render && !val.slotNameMerge && !val.canEdit && !val.formatter ? (openBlock(), createElementBlock(
"div",
_hoisted_1,
toDisplayString(scope.row[val.prop]),
1
/* TEXT */
)) : createCommentVNode("v-if", true)
]),
_: 2
/* DYNAMIC */
}, [
val.renderHeader ? {
name: "header",
fn: withCtx(() => [
createVNode(_sfc_main$3, {
column: val,
render: val.renderHeader
}, null, 8, ["column", "render"])
]),
key: "0"
} : void 0
]), 1040, ["prop", "label", "min-width", "width", "sortable", "align", "fixed", "formatter"])) : createCommentVNode("v-if", true)
],
2112
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
))
],
64
/* STABLE_FRAGMENT */
);
}),
256
/* UNKEYED_FRAGMENT */
))
]),
_: 2
/* DYNAMIC */
}, [
__props.item.renderHeader ? {
name: "header",
fn: withCtx(() => [
createVNode(_sfc_main$3, {
column: __props.item,
render: __props.item.renderHeader
}, null, 8, ["column", "render"])
]),
key: "0"
} : void 0
]), 1032, ["prop", "label", "type", "align", "min-width", "width", "fixed"])) : createCommentVNode("v-if", true);
};
}
});
export { _sfc_main as default };