@wocwin/t-ui-plus
Version:
Page level components developed based on Element Plus.
182 lines (177 loc) • 8.17 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('./singleEditCell.vue.js');
require('./renderCol.vue.js');
require('./renderHeader.vue.js');
var renderCol_vue_vue_type_script_setup_true_lang = require('./renderCol.vue2.js');
var singleEditCell_vue_vue_type_script_setup_true_lang = require('./singleEditCell.vue2.js');
var renderHeader_vue_vue_type_script_setup_true_lang = require('./renderHeader.vue2.js');
const _hoisted_1 = { key: 3 };
var _sfc_main = /* @__PURE__ */ vue.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 = vue.useSlots();
return (_ctx, _cache) => {
const _component_t_table_column = vue.resolveComponent("t-table-column", true);
const _component_el_table_column = vue.resolveComponent("el-table-column");
return (typeof __props.item.isShowCol == "function" ? __props.item.isShowCol(__props.item) : !__props.item.isShowCol) ? (vue.openBlock(), vue.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
}, vue.createSlots({
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList(__props.item.children, (val, index) => {
return vue.openBlock(), vue.createElementBlock(
vue.Fragment,
null,
[
val.children ? (vue.openBlock(), vue.createBlock(_component_t_table_column, vue.mergeProps({
key: index,
item: val
}, _ctx.$attrs), vue.createSlots({
_: 2
/* DYNAMIC */
}, [
vue.renderList(vue.unref(slots), (_index, name) => {
return {
name,
fn: vue.withCtx((data) => [
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(data)))
])
};
})
]), 1040, ["item"])) : (vue.openBlock(), vue.createElementBlock(
vue.Fragment,
{ key: 1 },
[
(typeof val.isShowCol == "function" ? val.isShowCol(val) : !val.isShowCol) ? (vue.openBlock(), vue.createBlock(_component_el_table_column, vue.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 }), vue.createSlots({
default: vue.withCtx((scope) => [
vue.createCommentVNode(" render\u6E32\u67D3 "),
val.render ? (vue.openBlock(), vue.createBlock(renderCol_vue_vue_type_script_setup_true_lang.default, {
key: 0,
column: val,
row: scope.row,
render: val.render,
index: scope.$index
}, null, 8, ["column", "row", "render", "index"])) : vue.createCommentVNode("v-if", true),
vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u63D2\u69FD "),
val.slotNameMerge ? vue.renderSlot(_ctx.$slots, val.slotNameMerge, {
key: 1,
scope
}) : vue.createCommentVNode("v-if", true),
vue.createCommentVNode(" \u5355\u4E2A\u5355\u5143\u683C\u7F16\u8F91 "),
val.canEdit ? (vue.openBlock(), vue.createBlock(singleEditCell_vue_vue_type_script_setup_true_lang.default, vue.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), vue.createSlots({
_: 2
/* DYNAMIC */
}, [
vue.renderList(vue.unref(slots), (_index, name) => {
return {
name,
fn: vue.withCtx((data) => [
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(data)))
])
};
})
]), 1040, ["configEdit", "modelValue", "onUpdate:modelValue", "prop", "scope", "onHandleEvent"])) : vue.createCommentVNode("v-if", true),
!val.render && !val.slotNameMerge && !val.canEdit && !val.formatter ? (vue.openBlock(), vue.createElementBlock(
"div",
_hoisted_1,
vue.toDisplayString(scope.row[val.prop]),
1
/* TEXT */
)) : vue.createCommentVNode("v-if", true)
]),
_: 2
/* DYNAMIC */
}, [
val.renderHeader ? {
name: "header",
fn: vue.withCtx(() => [
vue.createVNode(renderHeader_vue_vue_type_script_setup_true_lang.default, {
column: val,
render: val.renderHeader
}, null, 8, ["column", "render"])
]),
key: "0"
} : void 0
]), 1040, ["prop", "label", "min-width", "width", "sortable", "align", "fixed", "formatter"])) : vue.createCommentVNode("v-if", true)
],
2112
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
))
],
64
/* STABLE_FRAGMENT */
);
}),
256
/* UNKEYED_FRAGMENT */
))
]),
_: 2
/* DYNAMIC */
}, [
__props.item.renderHeader ? {
name: "header",
fn: vue.withCtx(() => [
vue.createVNode(renderHeader_vue_vue_type_script_setup_true_lang.default, {
column: __props.item,
render: __props.item.renderHeader
}, null, 8, ["column", "render"])
]),
key: "0"
} : void 0
]), 1032, ["prop", "label", "type", "align", "min-width", "width", "fixed"])) : vue.createCommentVNode("v-if", true);
};
}
});
exports.default = _sfc_main;