fast-element-plus 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/dist/components/avatar/index.d.ts +2 -2
- package/dist/components/avatar/index.mjs.map +1 -1
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/index.mjs.map +1 -1
- package/dist/components/contextMenu/src/contextMenu.d.ts +4 -4
- package/dist/components/contextMenu/src/contextMenu.type.d.ts +3 -3
- package/dist/components/dialog/index.d.ts +1 -1
- package/dist/components/dialog/index.mjs.map +1 -1
- package/dist/components/drawer/index.d.ts +2 -2
- package/dist/components/drawer/index.mjs.map +1 -1
- package/dist/components/form/index.d.ts +1 -1
- package/dist/components/form/index.mjs.map +1 -1
- package/dist/components/form/src/form.d.ts +5 -2
- package/dist/components/form/src/form.mjs.map +1 -1
- package/dist/components/formItemTip/index.d.ts +1 -1
- package/dist/components/formItemTip/index.mjs.map +1 -1
- package/dist/components/icon/index.d.ts +2 -2
- package/dist/components/icon/index.mjs.map +1 -1
- package/dist/components/image/index.d.ts +1 -1
- package/dist/components/image/index.mjs.map +1 -1
- package/dist/components/inputDialogPage/index.d.ts +1 -1
- package/dist/components/inputDialogPage/index.mjs.map +1 -1
- package/dist/components/inputDialogPage/src/inputDialogPage.d.ts +15 -15
- package/dist/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
- package/dist/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
- package/dist/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
- package/dist/components/select/index.d.ts +2 -2
- package/dist/components/select/index.mjs.map +1 -1
- package/dist/components/select/src/select.d.ts +15 -14
- package/dist/components/select/src/select.mjs.map +1 -1
- package/dist/components/select/src/select.type.d.ts +4 -4
- package/dist/components/select/src/selectOption.d.ts +5 -5
- package/dist/components/selectPage/index.d.ts +1 -1
- package/dist/components/selectPage/index.mjs.map +1 -1
- package/dist/components/selectPage/src/selectPage.d.ts +10 -10
- package/dist/components/selectPage/src/selectPage.mjs.map +1 -1
- package/dist/components/selectV2/index.d.ts +2 -2
- package/dist/components/selectV2/index.mjs.map +1 -1
- package/dist/components/selectV2/src/selectV2.d.ts +28 -36
- package/dist/components/selectV2/src/selectV2.mjs.map +1 -1
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/table/index.mjs.map +1 -1
- package/dist/components/table/src/page.type.d.ts +3 -1
- package/dist/components/table/src/page.type.mjs.map +1 -1
- package/dist/components/table/src/table.d.ts +38 -39
- package/dist/components/table/src/table.mjs +4 -2
- package/dist/components/table/src/table.mjs.map +1 -1
- package/dist/components/table/src/table.state.d.ts +5 -5
- package/dist/components/table/src/table.type.d.ts +13 -10
- package/dist/components/table/src/table.type.mjs.map +1 -1
- package/dist/components/table/src/tableColumn.d.ts +3 -4
- package/dist/components/table/src/tableColumn.mjs +1 -1
- package/dist/components/table/src/tableColumn.mjs.map +1 -1
- package/dist/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
- package/dist/components/table/src/tableSearchForm.d.ts +1 -1
- package/dist/components/table/src/tableSearchForm.mjs.map +1 -1
- package/dist/components/table/src/tableSearchFormItem.mjs.map +1 -1
- package/dist/components/table/src/useTable.d.ts +5 -5
- package/dist/components/table/src/useTable.mjs.map +1 -1
- package/dist/components/table/utils/table.d.ts +3 -2
- package/dist/components/table/utils/table.mjs.map +1 -1
- package/dist/components/tree/index.d.ts +1 -1
- package/dist/components/tree/index.mjs.map +1 -1
- package/dist/components/tree/src/tree.d.ts +27 -25
- package/dist/components/tree/src/tree.mjs +3 -1
- package/dist/components/tree/src/tree.mjs.map +1 -1
- package/dist/components/tree/src/tree.props.d.ts +1 -4
- package/dist/components/tree/src/tree.type.d.ts +4 -4
- package/dist/components/treeSelect/index.d.ts +1 -1
- package/dist/components/treeSelect/index.mjs.map +1 -1
- package/dist/components/treeSelect/src/treeSelect.d.ts +32 -31
- package/dist/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/dist/components/upload/index.d.ts +1 -1
- package/dist/components/upload/index.mjs.map +1 -1
- package/dist/components/uploadImage/index.d.ts +1 -1
- package/dist/components/uploadImage/index.mjs.map +1 -1
- package/dist/components/uploadImages/index.d.ts +2 -2
- package/dist/components/uploadImages/index.mjs.map +1 -1
- package/dist/directives/click-icon-copy/index.mjs.map +1 -1
- package/dist/index.global.min.js +2 -2
- package/dist/index.global.min.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumn.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { isArray, isFunction, isNil, isNumber, isObject, isString } from \"lodash-unified\";\nimport { copy as copyToClipboard, definePropType, formatChineseRelativeTime, makeSlots, useProps, useRender } from \"../../../utils\";\nimport FaImage from \"../../image\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableRow } from \"./table.state\";\nimport type {\n\tFaTableColumnCtx,\n\tFaTableColumnDateFormat,\n\tFaTableColumnType,\n\tFaTableDefaultSlotsResult,\n\tFaTableEnumColumnCtx,\n\tFaTableEnumColumnType,\n} from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = FaTableRow;\n\n/** FaTableColumn 的运行时 Props 定义。 */\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/** @description function that formats cell tooltip content, works when show-overflow-tooltip is enabled */\n\ttooltipFormatter: Function as PropType<TableColumnCtx<DefaultRow>[\"tooltipFormatter\"]>,\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<DefaultRow>[\"sortOrders\"]): boolean => {\n\t\t\treturn (val ?? []).every((order) => order === \"ascending\" || order === \"descending\" || order === null);\n\t\t},\n\t},\n};\n\n/** FaTableColumn 插槽返回的行列上下文。 */\nexport interface FaTableColumnSlotsResult {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: DefaultRow;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<DefaultRow> | FaTableColumnCtx;\n\t$index?: number;\n}\n\ntype FaTableColumnDefaultSlots = Record<string, FaTableDefaultSlotsResult & FaTableColumnSlotsResult>;\n\n/** FaTableColumn 的固定插槽和动态命名插槽。 */\nexport type FaTableColumnSlots = Record<string, unknown> & {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** @description 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: DefaultRow; $index?: number } & FaTableDefaultSlotsResult) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([String, Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\t(isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableColumn 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\t/** 获取ClassName */\n\t\tconst getClassName = (): string => {\n\t\t\tlet className = \"\";\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tif (props.dateFix) {\n\t\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.className) {\n\t\t\t\treturn `${className} ${props.className}`;\n\t\t\t}\n\t\t\treturn className;\n\t\t};\n\n\t\t/** 获取宽度 */\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\t/** 表头自动宽度渲染 */\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>,\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 自动宽度渲染 */\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [<div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 表头渲染 */\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(slots[props.headerSlot]?.({ column, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender([<span>{props.label}</span>]);\n\t\t\t}\n\t\t};\n\n\t\t/** 复制渲染 */\n\t\tconst displayText = (value: unknown): string => {\n\t\t\tif (typeof value === \"string\") return value;\n\t\t\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\") return String(value);\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst copyRender = (value: unknown, copy?: boolean): VNode[] => {\n\t\t\tif (!(props.copy || copy) || !value) return [];\n\n\t\t\treturn [\n\t\t\t\t<ElIcon\n\t\t\t\t\tclass=\"fa__copy-icon\"\n\t\t\t\t\ttitle=\"复制\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tvoid copyToClipboard(displayText(value)).then(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CopyDocument />\n\t\t\t\t</ElIcon>,\n\t\t\t];\n\t\t};\n\n\t\t/** 渲染单元格数据 */\n\t\tconst renderCellData = ({ row }: { row: DefaultRow }): unknown => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (isFunction(props.enum)) {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(cellValue, enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 格式化渲染 */\n\t\tconst formatterRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, cellValue: unknown, index: number): VNode | string => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn displayText(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 时间信息列渲染 */\n\t\tconst timeInfoRender = (row: DefaultRow, _column: TableColumnCtx<DefaultRow>, _$index: number): VNode[] => {\n\t\t\tconst userName = displayText(row[props.timeInfoField?.userName ?? \"createdUserName\"]);\n\t\t\tconst time = displayText(row[props.timeInfoField?.time ?? \"createdTime\"]);\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{time && (\n\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t{formatChineseRelativeTime(time)}\n\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 标签列渲染 */\n\t\tconst tagRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (isFunction(props.enum)) {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tconst enumValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst type = enumData?.find((item) => item.value === enumValue)?.type ?? \"info\";\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue ? <ElTag type={type}>{renderValue}</ElTag> : null}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 时间列渲染 */\n\t\tconst dateRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tlet dateFormat;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"date\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"time\":\n\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dateTime\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst rawValue = row[props.prop ?? \"\"];\n\t\t\tconst renderValue = rawValue\n\t\t\t\t? formatterRender(row, column, dayjs(displayText(rawValue)).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t: null;\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{formatChineseRelativeTime(displayText(renderValue))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 数值列渲染 */\n\t\tconst numberRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue = row[props.prop ?? \"\"];\n\t\t\tif (!renderValue || !isNumber(renderValue)) {\n\t\t\t\treturn [<Fragment>{formatterRender(row, column, renderValue, $index)}</Fragment>];\n\t\t\t}\n\t\t\tlet useGrouping = false;\n\t\t\tlet maximumFractionDigits = 2;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"d2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{formatterRender(\n\t\t\t\t\t\trow,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\trenderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t$index\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 链接列渲染 */\n\t\tconst linkRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop ?? \"\"], $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\tprops.click({ row, $index, ...getTableDefaultSlots(tableState) });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit ?? \"\", {\n\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t</ElText>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\treturn timeInfoRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.tag) {\n\t\t\t\treturn tagRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\treturn dateRender(row, column, $index);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\treturn numberRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.link) {\n\t\t\t\treturn linkRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t}\n\t\t\tif (props.slot) {\n\t\t\t\treturn autoWidthRender(slots[props.slot]?.({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t}\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop ?? \"\"], $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<DefaultRow>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<DefaultRow>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"className\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<DefaultRow>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\t(props._children ?? []).map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop ?? \"\"] ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[displayText(row[props.prop ?? \"\"])]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<FaImage lazy src={displayText(row[props.prop ?? \"\"])} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\ttype={props.type === \"selection\" || props.type === \"index\" || props.type === \"expand\" ? props.type : \"default\"}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon?.({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) => slots.expand?.({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableColumn.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { isArray, isFunction, isNil, isNumber, isObject, isString } from \"lodash-unified\";\nimport { copy as copyToClipboard, definePropType, formatChineseRelativeTime, makeSlots, useProps, useRender } from \"../../../utils\";\nimport FaImage from \"../../image\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\nimport type { DefaultRow } from \"./table.state\";\nimport type {\n\tFaTableColumnCtx,\n\tFaTableColumnDateFormat,\n\tFaTableColumnType,\n\tFaTableDefaultSlotsResult,\n\tFaTableEnumColumnCtx,\n\tFaTableEnumColumnType,\n} from \"./table.type\";\n\n/** FaTableColumn 的运行时 Props 定义。 */\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/** @description function that formats cell tooltip content, works when show-overflow-tooltip is enabled */\n\ttooltipFormatter: Function as PropType<TableColumnCtx<DefaultRow>[\"tooltipFormatter\"]>,\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<DefaultRow>[\"sortOrders\"]): boolean => {\n\t\t\treturn (val ?? []).every((order) => order === \"ascending\" || order === \"descending\" || order === null);\n\t\t},\n\t},\n};\n\n/** FaTableColumn 插槽返回的行列上下文。 */\nexport interface FaTableColumnSlotsResult {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: DefaultRow;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<DefaultRow>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<DefaultRow> | FaTableColumnCtx;\n\t$index?: number;\n}\n\ntype FaTableColumnDefaultSlots = Record<string, FaTableDefaultSlotsResult & FaTableColumnSlotsResult>;\n\n/** FaTableColumn 的固定插槽和动态命名插槽。 */\nexport type FaTableColumnSlots = Record<string, unknown> & {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** @description 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: DefaultRow; $index?: number } & FaTableDefaultSlotsResult) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([String, Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\t(isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableColumn 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\t/** 获取ClassName */\n\t\tconst getClassName = (): string => {\n\t\t\tlet className = \"\";\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tif (props.dateFix) {\n\t\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.className) {\n\t\t\t\treturn `${className} ${props.className}`;\n\t\t\t}\n\t\t\treturn className;\n\t\t};\n\n\t\t/** 获取宽度 */\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\t/** 表头自动宽度渲染 */\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>,\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 自动宽度渲染 */\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [<div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 表头渲染 */\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(slots[props.headerSlot]?.({ column, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender([<span>{props.label}</span>]);\n\t\t\t}\n\t\t};\n\n\t\t/** 复制渲染 */\n\t\tconst displayText = (value: unknown): string => {\n\t\t\tif (typeof value === \"string\") return value;\n\t\t\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\") return String(value);\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst copyRender = (value: unknown, copy?: boolean): VNode[] => {\n\t\t\tif (!(props.copy || copy) || !value) return [];\n\n\t\t\treturn [\n\t\t\t\t<ElIcon\n\t\t\t\t\tclass=\"fa__copy-icon\"\n\t\t\t\t\ttitle=\"复制\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tvoid copyToClipboard(displayText(value)).then(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CopyDocument />\n\t\t\t\t</ElIcon>,\n\t\t\t];\n\t\t};\n\n\t\t/** 渲染单元格数据 */\n\t\tconst renderCellData = ({ row }: { row: DefaultRow }): unknown => {\n\t\t\tconst cellValue: unknown = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (isFunction(props.enum)) {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(cellValue, enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 格式化渲染 */\n\t\tconst formatterRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, cellValue: unknown, index: number): VNode | string => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn displayText(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 时间信息列渲染 */\n\t\tconst timeInfoRender = (row: DefaultRow, _column: TableColumnCtx<DefaultRow>, _$index: number): VNode[] => {\n\t\t\tconst userName = displayText(row[props.timeInfoField?.userName ?? \"createdUserName\"]);\n\t\t\tconst time = displayText(row[props.timeInfoField?.time ?? \"createdTime\"]);\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{time && (\n\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t{formatChineseRelativeTime(time)}\n\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 标签列渲染 */\n\t\tconst tagRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (isFunction(props.enum)) {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tconst enumValue: unknown = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst type = enumData?.find((item) => item.value === enumValue)?.type ?? \"info\";\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue ? <ElTag type={type}>{renderValue}</ElTag> : null}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 时间列渲染 */\n\t\tconst dateRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tlet dateFormat;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"date\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"time\":\n\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dateTime\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst rawValue: unknown = row[props.prop ?? \"\"];\n\t\t\tconst renderValue = rawValue\n\t\t\t\t? formatterRender(row, column, dayjs(displayText(rawValue)).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t: null;\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{formatChineseRelativeTime(displayText(renderValue))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 数值列渲染 */\n\t\tconst numberRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue: unknown = row[props.prop ?? \"\"];\n\t\t\tif (!renderValue || !isNumber(renderValue)) {\n\t\t\t\treturn [<Fragment>{formatterRender(row, column, renderValue, $index)}</Fragment>];\n\t\t\t}\n\t\t\tlet useGrouping = false;\n\t\t\tlet maximumFractionDigits = 2;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"d2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{formatterRender(\n\t\t\t\t\t\trow,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\trenderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t$index\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 链接列渲染 */\n\t\tconst linkRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop ?? \"\"], $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\tprops.click({ row, $index, ...getTableDefaultSlots(tableState) });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit ?? \"\", {\n\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t</ElText>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\treturn timeInfoRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.tag) {\n\t\t\t\treturn tagRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\treturn dateRender(row, column, $index);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\treturn numberRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.link) {\n\t\t\t\treturn linkRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t}\n\t\t\tif (props.slot) {\n\t\t\t\treturn autoWidthRender(slots[props.slot]?.({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t}\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop ?? \"\"], $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<DefaultRow>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<DefaultRow>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"className\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<DefaultRow>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\t(props._children ?? []).map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop ?? \"\"] ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[displayText(row[props.prop ?? \"\"])]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<FaImage lazy src={displayText(row[props.prop ?? \"\"])} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\ttype={props.type === \"selection\" || props.type === \"index\" || props.type === \"expand\" ? props.type : \"default\"}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon?.({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) => slots.expand?.({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,SAAA,QAAA,GAAA;CAAA,OAAA,OAAA,MAAA,cAAA,OAAA,UAAA,SAAA,KAAA,CAAA,MAAA,qBAAA,CAAA,QAAA,CAAA;AAAA;AACA,MAAa,mBAAmB;;;;CAI/B,MAAM;EACL,MAAM;EACN,SAAS;CACV;;;;CAIA,OAAO;;;;CAIP,WAAW;;;;CAIX,gBAAgB;;;;CAIhB,UAAU;;;;CAIV,MAAM;;;;CAIN,OAAO;EACN,MAAM,CAAC,QAAQ,MAAM;EACrB,SAAS;CACV;;;;CAIA,UAAU;EACT,MAAM,CAAC,QAAQ,MAAM;EACrB,SAAS;CACV;;;;CAIA,cAAc;;;;CAId,UAAU;EACT,MAAM,CAAC,SAAS,MAAM;EACtB,SAAS;CACV;;;;CAIA,YAAY;;;;CAIZ,QAAQ;EAAC;EAAQ;EAAU;CAAK;;;;CAIhC,WAAW;EACV,MAAM;EACN,SAAS;CACV;;;;CAIA,WAAW;;;;CAIX,OAAO;;;;CAIP,aAAa;;;;CAIb,qBAAqB;EACpB,MAAM,CAAC,SAAS,MAAM;EACtB,SAAS,KAAA;CACV;;CAEA,kBAAkB;;;;CAIlB,OAAO,CAAC,SAAS,MAAM;;;;CAIvB,WAAW;;;;CAIX,YAAY;;;;CAIZ,kBAAkB;;;;CAIlB,cAAc;;;;CAId,eAAe;;;;CAIf,SAAS;;;;CAIT,iBAAiB;;;;CAIjB,gBAAgB;EACf,MAAM;EACN,SAAS;CACV;;;;CAIA,iBAAiB;;;;CAIjB,OAAO,CAAC,QAAQ,QAAQ;;;;CAIxB,YAAY;EACX,MAAM;EACN,eAAyD;GACxD,OAAO;IAAC;IAAa;IAAc;GAAI;EACxC;EACA,YAAY,QAA2D;GACtE,QAAQ,OAAO,CAAA,EAAA,CAAI,OAAO,UAAU,UAAU,eAAe,UAAU,gBAAgB,UAAU,IAAI;EACtG;CACD;AACD;AAyBA,IAAA,sBAAe,gBAAgB;CAC9B,MAAM;CACN,OAAO;EACN,GAAG;;;;EAIH,MAAM;GACL,MAAM,eAAkC,MAAM;GAC9C,SAAS;EACV;;;;EAIA,OAAO;GACN,MAAM,CAAC,QAAQ,MAAM;GACrB,SAAS;EACV;;EAEA,OAAO;GACN,MAAM;GACN,SAAS;EACV;;EAEA,aAAa;GACZ,MAAM;GACN,SAAS;EACV;;EAEA,MAAM;;EAEN,YAAY,EACX,MAAM,CAAC,QAAQ,MAAM,EACtB;;EAEA,WAAW;;EAEX,MAAM;;EAEN,YAAY;;EAEZ,cAAc,EACb,MAAM,eACL,QACD,EACD;;EAEA,QAAQ,EACP,MAAM,eAEJ,QAAQ,EACX;;EAEA,WAAW,EACV,MAAM,eAAmC,KAAK,EAC/C;;EAEA,WAAW;;EAEX,MAAM;;EAEN,MAAM;;EAEN,UAAU;;EAEV,OAAO,EACN,MAAM,eAA4G,QAAQ,EAC3H;;EAEA,WAAW;;EAEX,eAAe;;EAEf,SAAS;;EAET,YAAY,EACX,MAAM,eAAwC,MAAM,EACrD;;EAEA,KAAK;;EAEL,MAAM,EACL,MAAM,eAAsC;GAAC;GAAQ;GAAO;EAAQ,CAAC,EACtE;;EAEA,iBAAiB;;EAEjB,eAAe;GACd,MAAM,eAAqD,MAAM;GACjE,gBAAgB;IACf,UAAU;IACV,MAAM;GACP;EACD;CACD;CACA,OAAO;;EAEN,eAAe,QAAyB,SAAS,GAAG;;EAEpD,kBAAkB,UAAkB,EAAE,KAAK,QAAQ,cACjD,MAAM,QAAQ,KAAK,SAAS,QAAQ,MAAM,SAAS,GAAG,KAAK,SAAS,MAAM,KAAK,SAAS,MAAM;CACjG;CACA,OAAO,UAA8B;CACrC,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC7B,MAAM,cAAc,cAAc;EAClC,MAAM,aAAa,OAAO,aAAa;EACvC,MAAM,UAAU,OAAO,UAAU;EACjC,IAAI,eAAe,KAAA,KAAa,YAAY,KAAA,GAC3C,MAAM,IAAI,MAAM,iCAAiC;EAGlD,MAAM,YAAY,eAAe,KAAoC;;EAGrE,MAAM,qBAA6B;GAClC,IAAI,YAAY;GAChB,IAAI,MAAM,SAAS,YAClB,aAAa;GAEd,IAAI,MAAM,SAAS,UAAU,MAAM,SAAS,UAAU,MAAM,SAAS,YAChE;QAAA,MAAM,SACT,aAAa;GAAA;GAGf,IAAI,MAAM,WACT,OAAO,GAAG,UAAS,GAAI,MAAM;GAE9B,OAAO;EACR;;EAGA,MAAM,YAAY,YAAqC;GACtD,IAAI,MAAM,WACT,OAAO,eAAe;IACrB,MAAM,WAAW,WAAW,gBAAgB,MAAM,MAAM,EAAE,SAAS,MAAM,IAAI;IAC7E,IAAI,UACH,OAAO,GAAG,SAAS,MAAK;IAEzB,OAAO;GACR,CAAC,CAAC,CAAC;GAEJ,IAAI,YAAY,UAAU,SACzB,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,YAAY,WAAW;GAExE,OAAO,MAAM,SAAS,MAAM,YAAY,WAAW;EACpD;;EAGA,MAAM,yBAAyB,OAAyB;GACvD,IAAI,MAAM,WACT,OAAO,CAAA,YAAA,OAAA,EAAA,SACM,CAAC,4CAA4C,+CAA+C,MAAM,MAAM,EAAC,GAAA,CAAG,EAAE,CAAA,CAAA;QAG3H,OAAO;EAET;;EAGA,MAAM,mBAAmB,OAAyB;GACjD,IAAI,MAAM,WACT,OAAO,CAAA,YAAA,OAAA,EAAA,SAAa,CAAC,qCAAqC,wCAAwC,MAAM,MAAM,EAAC,GAAA,CAAG,EAAE,CAAA,CAAA;QAEpH,OAAO;EAET;;EAGA,MAAM,gBAAgB,EAAE,QAAQ,aAA8E;GAC7G,IAAI,MAAM,cACT,OAAO,sBAAsB,MAAM,aAAa;IAAE;IAAQ;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,CAAC;QAClG,IAAI,MAAM,YAChB,OAAO,sBAAsB,MAAM,MAAM,WAAW,GAAG;IAAE;IAAQ;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,KAAK,CAAA,CAAE;QAErH,OAAO,sBAAsB,CAAA,YAAA,QAAA,MAAA,CAAQ,MAAM,KAAK,CAAA,CAAA,CAAS;EAE3D;;EAGA,MAAM,eAAe,UAA2B;GAC/C,IAAI,OAAO,UAAU,UAAU,OAAO;GACtC,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW,OAAO,OAAO,KAAK;GAC7G,OAAO;EACR;EAEA,MAAM,cAAc,OAAgB,WAA4B;GAC/D,IAAI,EAAE,MAAM,QAAQ,WAAS,CAAC,OAAO,OAAO,CAAA;GAE5C,OAAO,CAAA,YAAA,QAAA;IAAA,SAAA;IAAA,SAAA;IAAA,iBAIU;KACd,KAAqB,YAAY,KAAK,CAAC,CAAC,CAAC,WAClC;MACL,UAAU;OACT,MAAM;OACN,SAAS;MACV,CAAC;KACF,SACM;MACL,UAAU;OACT,MAAM;OACN,SAAS;MACV,CAAC;KACF,CACD;IACD;GAAC,GAAA,EAAA,eAAA,CAAA,YAAA,cAAA,MAAA,IAAA,CAAA,EAAA,CAAA,CAAA;EAKJ;;EAGA,MAAM,kBAAkB,EAAE,UAAwC;GACjE,MAAM,YAAqB,UAAU,yBAAyB,KAAK,MAAM,QAAQ,EAAE;GAEnF,IAAI;GAEJ,IAAI,SAAS,MAAM,IAAI,GACtB,WAAW,QAAQ,IAAI,MAAM,IAAI;QAC3B,IAAI,QAAQ,MAAM,IAAI,GAC5B,WAAW,MAAM;QACX,IAAI,WAAW,MAAM,IAAI,GAC/B,WAAW,MAAM,KAAK,EAAE,IAAI,CAAC;GAG9B,IAAI,UACH,OAAO,UAAU,WAAW,WAAW,QAAQ;QAE/C,OAAO,UAAU,YAAY,SAAS;EAExC;;EAGA,MAAM,mBAAmB,KAAiB,QAAoC,WAAoB,UAAkC;GACnI,IAAI,OAAO,WACV,OAAO,OAAO,UAAU,KAAK,QAAQ,WAAW,KAAK;QAErD,OAAO,YAAY,SAAS;EAE9B;;EAGA,MAAM,kBAAkB,KAAiB,SAAqC,YAA6B;GAAA,IAAA;GAC1G,MAAM,WAAW,YAAY,IAAI,MAAM,eAAe,YAAY,kBAAkB;GACpF,MAAM,OAAO,YAAY,IAAI,MAAM,eAAe,QAAQ,cAAc;GACxE,OAAO,CAAA,YAAA,UAAA,MAAA,CAAA,YAAA,OAAA;IAAA,SAAA;IAAA,SAEgF;GAAI,GAAA,CACvF,YAAQ,YAAA,QAAA,EAAA,SAAA,qBAAA,GAAA,CAAsC,QAAQ,CAAA,GAAQ,YAAA,QAAA,MAAA,CACxD,IAAI,CAAA,CAAA,CAAA,GAEX,QAAI,YAAA,OAAA;IAAA,QAAA;IAAA,SAAA;IAAA,UAAA;IAAA,QAAA;GAAA,GAAA,QAAA,QAEF,0BAA0B,IAAI,CAAC,IAAA,QAAA,EAAA,eAAA,CAAA,KAAA,EAAA,CAAA,CAEjC,CAAA,CAAA;EAGJ;;EAGA,MAAM,aAAa,KAAiB,QAAoC,WAA4B;GACnG,MAAM,cAAc,gBAAgB,KAAK,QAAQ,eAAe,EAAE,IAAI,CAAC,GAAG,MAAM;GAEhF,IAAI;GAEJ,IAAI,SAAS,MAAM,IAAI,GACtB,WAAW,QAAQ,IAAI,MAAM,IAAI;QAC3B,IAAI,QAAQ,MAAM,IAAI,GAC5B,WAAW,MAAM;QACX,IAAI,WAAW,MAAM,IAAI,GAC/B,WAAW,MAAM,KAAK,EAAE,IAAI,CAAC;GAG9B,MAAM,YAAqB,UAAU,yBAAyB,KAAK,MAAM,QAAQ,EAAE;GACnF,MAAM,OAAO,UAAU,MAAM,SAAS,KAAK,UAAU,SAAS,CAAC,EAAE,QAAQ;GACzE,OAAO,CAAA,YAAA,UAAA,MAAA,CAEJ,WAAW,WAAW,GACtB,cAAW,YAAA,OAAA,EAAA,QAAgB,KAAI,GAAA,QAAG,WAAW,IAAX,cAAW,EAAA,eAAA,CAAX,WAAW,EAAA,CAAA,IAAY,IAAI,CAAA,CAAA;EAGjE;;EAGA,MAAM,cAAc,KAAiB,QAAoC,WAA4B;GAAA,IAAA;GACpG,IAAI;GACJ,QAAQ,MAAM,MAAd;IACC,KAAK;KACJ,aAAa;KACb;IACD,KAAK;KACJ,aAAa;KACb;IACD,KAAK,YACJ,aAAa;GAEf;GACA,MAAM,WAAoB,IAAI,MAAM,QAAQ;GAC5C,MAAM,cAAc,WACjB,gBAAgB,KAAK,QAAQ,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,OAAO,MAAM,cAAc,UAAU,GAAG,MAAM,IACxG;GACH,OAAO,CAAA,YAAA,UAAA,MAAA;IAEJ,WAAW,WAAW;IACtB;IACA,MAAM,WAAW,eAAW,YAAA,UAAA,MAAA,CAAA,YAAA,MAAA,MAAA,IAAA,GAAA,YAAA,OAAA;KAAA,QAAA;KAAA,SAAA;KAAA,UAAA;KAAA,QAAA;IAAA,GAAA,QAAA,SAIzB,0BAA0B,YAAY,WAAW,CAAC,CAAC,IAAA,SAAA,EAAA,eAAA,CAAA,MAAA,EAAA,CAAA,CAAA,CAAA;GAGtD,CAAA,CAAA;EAGJ;;EAGA,MAAM,gBAAgB,KAAiB,QAAoC,WAA4B;GACtG,MAAM,cAAuB,IAAI,MAAM,QAAQ;GAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,WAAW,GACxC,OAAO,CAAA,YAAA,UAAA,MAAA,CAAY,gBAAgB,KAAK,QAAQ,aAAa,MAAM,CAAC,CAAA,CAAA;GAErE,IAAI,cAAc;GAClB,IAAI,wBAAwB;GAC5B,QAAQ,MAAM,MAAd;IACC,KAAK;KACJ,wBAAwB;KACxB;IACD,KAAK;KACJ,wBAAwB;KACxB;IACD,KAAK;KACJ,wBAAwB;KACxB;IACD,KAAK;KACJ,wBAAwB;KACxB,cAAc;KACd;IACD,KAAK;KACJ,wBAAwB;KACxB,cAAc;KACd;IACD,KAAK;KACJ,wBAAwB;KACxB,cAAc;GAEhB;GAEA,OAAO,CAAA,YAAA,UAAA,MAAA,CAEJ,gBACA,KACA,QACA,YAAY,eAAe,SAAS;IACnC,uBAAuB;IACvB;IACA;GACD,CAAC,GACD,MACD,CAAC,CAAA,CAAA;EAGJ;;EAGA,MAAM,cAAc,KAAiB,QAAoC,WAA4B;GACpG,MAAM,cAAc,gBAAgB,KAAK,QAAQ,IAAI,MAAM,QAAQ,KAAK,MAAM;GAC9E,OAAO,gBAAgB,CAAA,YAAA,UAAA,MAAA,CAEpB,WAAW,WAAW,GACtB,eAAW,YAAA,QAAA;IAAA,SAEH;IAAwD,iBAChD;KAEd,IAAI,MAAM,mBAAmB,IAAI,MAAM,qBAAqB,MAAM;KAClE,IAAI,MAAM,OACT,MAAM,MAAM;MAAE;MAAK;MAAQ,GAAG,qBAAqB,UAAU;KAAE,CAAC;UAEhE,KAAK,mBAAmB,MAAM,aAAa,IAAI;MAC9C;MACA,QAAQ,UAAU;MAClB;KACD,CAAC;IAEH;GAAC,GAAA,QAEA,WAAW,IAAX,cAAW,EAAA,eAAA,CAAX,WAAW,EAAA,CAAA,CAEb,CAAA,CAAA,CAEF;EACF;EAEA,MAAM,iBAAiB,EAAE,KAAK,QAAQ,aAA+F;GACpI,IAAI,MAAM,SAAS,YAClB,OAAO,eAAe,KAAK,QAAQ,MAAM;GAE1C,IAAI,MAAM,KACT,OAAO,UAAU,KAAK,QAAQ,MAAM;GAErC,IAAI,MAAM,SAAS,UAAU,MAAM,SAAS,UAAU,MAAM,SAAS,YACpE,OAAO,WAAW,KAAK,QAAQ,MAAM;GAEtC,IACC,MAAM,SAAS,QACf,MAAM,SAAS,QACf,MAAM,SAAS,QACf,MAAM,SAAS,SACf,MAAM,SAAS,SACf,MAAM,SAAS,OAEf,OAAO,aAAa,KAAK,QAAQ,MAAM;GAExC,IAAI,MAAM,MACT,OAAO,WAAW,KAAK,QAAQ,MAAM;GAEtC,IAAI,MAAM,QACT,OAAO,gBAAgB,MAAM,OAAO;IAAE;IAAK,QAAQ,UAAU;IAAO;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,CAAC;GAEnH,IAAI,MAAM,MACT,OAAO,gBAAgB,MAAM,MAAM,KAAK,GAAG;IAAE;IAAK,QAAQ,UAAU;IAAO;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,KAAK,CAAA,CAAE;GAEhI,MAAM,cAAc,gBAAgB,KAAK,QAAQ,IAAI,MAAM,QAAQ,KAAK,MAAM;GAC9E,OAAO,gBAAgB,CAAA,YAAA,UAAA,MAAA,CAEpB,WAAW,WAAW,GACtB,WAAW,CAAA,CAAA,CAEb;EACF;EAEA,IAAI,qBAA8D,SAAS,OAAO,kBAAkB;GACnG;GACA;GACA;GACA;GACA;GACA;GACA;EAAqB,CACrB;EAED,YACO,aACA;GACL,qBAAqB,SAAS,OAAO,kBAAkB;IACtD;IACA;IACA;IACA;IACA;IACA;IACA;GAAqB,CACrB;EACF,CACD;EAEA,gBAAU,YAAA,UAAA,MAAA,CAIP,MAAM,WAAW,SAAM,YAAA,eAAA,WAEjB,mBAAmB,OAAK;GAAA,aACjB,aAAa;GAAC,YACf,SAAS,MAAM;GAAC,YAChB,MAAM,WAAW,WAAW;GAAK,cAC/B,MAAM,cAAc;IAAC;IAAc;IAAa;GAAI;GAAC,aACtD,MAAM,aAAa,CAAC,MAAM;GAAS,wBACxB,MAAM,uBAAuB,SAAS,CAAC,MAAM,aAAa,MAAM,SAAS;EAAS,CAAA,GAAA;GAGvG,SAAS,EAAE,QAAQ,aAClB,aAAa;IAAE;IAAQ;GAAO,CAAC;GAChC,gBACE,MAAM,aAAa,CAAA,EAAA,CAAI,KAAK,QAC5B,EACC,iBAAiB,eAAe,GAChC,EACC,GAAG,IACJ,GACA,KACD,CACD;EAAC,CAAA,IAGD,MAAM,SAAS,UAAO,YAAA,eAAA,WAEpB,mBAAmB,OAAK;GAAA,SAAA;GAAA,aAAA;GAAA,YAAA;GAAA,YAIlB;GAAK,aACJ;GAAK,uBACK;EAAK,CAAA,GAAA;GAGzB,SAAS,EAAE,QAAQ,aAClB,aAAa;IAAE;IAAQ;GAAO,CAAC;GAChC,UAAU,EAAE,UACX,IAAI,MAAM,QAAQ,MACjB,MAAM,YAAS,YAAA,SAAA;IAAA,SAAA;IAAA,QAAA;IAAA,OAIR;IAAO,OAAA;IAAA,kBAEI,CAAC,YAAY,IAAI,MAAM,QAAQ,GAAG,CAAC;IAAC,sBAAA;IAAA,oBAAA;IAAA,qBAAA;GAAA,GAAA,IAAA,IAAA,YAAA,SAAA;IAAA,QAAA;IAAA,OAMlC,YAAY,IAAI,MAAM,QAAQ,GAAG;IAAC,OAAA;IAAA,YAAwB,MAAM;IAAa,SAAA;GAAA,GAAA,IAAA,IAChG,YAAA,SAAA;IAAA,SAAA;IAAA,QAAA;IAAA,OAEmC;IAAQ,OAAA;GAAA,GAAA,IAAA;EAC5C,CAAA,IAIJ,YAAA,eAAA,WAEK,mBAAmB,OAAK;GAAA,QACtB,MAAM,SAAS,eAAe,MAAM,SAAS,WAAW,MAAM,SAAS,WAAW,MAAM,OAAO;GAAS,aACnG,aAAa;GAAC,YACf,SAAS,MAAM;GAAC,YAChB,MAAM,WAAW,WAAW;GAAK,cAC/B,MAAM,cAAc;IAAC;IAAc;IAAa;GAAI;GAAC,aACtD,MAAM,aAAa,CAAC,MAAM;GAAS,wBACxB,MAAM,uBAAuB,SAAS,CAAC,MAAM,aAAa,MAAM,SAAS;EAAS,CAAA,GAAA;GAGvG,SAAS,EAAE,QAAQ,aAClB,MAAM,SACH,MAAM,OAAO;IAAE,QAAQ,UAAU;IAAO;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,IACrF,aAAa;IAAE;IAAQ;GAAO,CAAC;GACnC,UAAU,EAAE,KAAK,QAAQ,aACxB,MAAM,UACH,MAAM,QAAQ;IAAE;IAAK,QAAQ,UAAU;IAAO;IAAQ,GAAG,qBAAqB,UAAU;GAAE,CAAC,IAC3F,cAAc;IAAE;IAAK;IAAQ;GAAO,CAAC;GACzC,aAAa,EAAE,mBACd,MAAM,aAAa;IAAE;IAAc,GAAG,qBAAqB,UAAU;GAAE,CAAC;GACzE,SAAS,EAAE,eAAsC,MAAM,SAAS;IAAE;IAAU,GAAG,qBAAqB,UAAU;GAAE,CAAC;EAAC,CAAA,CAGpH,CAAA,CAGH;CACF;AACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumnSettingDialog.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, onBeforeUnmount, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn, ElText } from \"element-plus\";\nimport Sortable from \"sortablejs\";\nimport { definePropType, randomString, useExpose, useRender, withDefineType } from \"../../../utils\";\nimport { FaDialog } from \"../../dialog\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx } from \"./table.type\";\nimport type { FaDialogInstance } from \"../../dialog\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { SortableEvent } from \"sortablejs\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableColumnsSettingDialog 必须在 FaTable 内部渲染。\");\n\n\t\tconst state = reactive({\n\t\t\ttableKey: randomString(8),\n\t\t\tsortableInstance: withDefineType<Sortable | undefined>(),\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector<HTMLElement>(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`);\n\t\t\tif (!tBody) return;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: SortableEvent): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== undefined && oldIndex !== undefined && newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\tif (curRow) tableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tstate.change = false;\n\t\t\tfaDialogRef.value?.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst destroySortable = (): void => {\n\t\t\tstate.sortableInstance?.destroy();\n\t\t\tstate.sortableInstance = undefined;\n\t\t};\n\n\t\tonBeforeUnmount(destroySortable);\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (state.change) {\n\t\t\t\tawait props.change?.(tableState.orgColumns);\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value?.close(handleChange);\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn (a.order ?? 0) - (b.order ?? 0);\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (row: FaTableColumnCtx, switchEl = false): { disabled?: boolean; placeholder?: string } => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\t_radioEl = false\n\t\t): { disabled?: boolean; placeholder?: string } => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfullHeight\n\t\t\t\tonClosed={destroySortable}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<ElText type=\"info\">点击保存才会进行数据缓存,点击取消为本次生效</ElText>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: auto;\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={(row.disabledSortable ?? false) || row.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"mappings":";;;;;;;;;;;AAWA,IAAA,mCAAe,gBAAgB;CAC9B,MAAM;CACN,OAAO;;AAEN,QAAQ,EACP,MAAM,eAA+D,QAAQ,EAC9E,EACD;CACA,MAAM,OAAO,EAAE,UAAU;EACxB,MAAM,aAAa,OAAO,aAAa;EACvC,IAAI,eAAe,KAAA,GAAW,MAAM,IAAI,MAAM,+CAA+C;EAE7F,MAAM,QAAQ,SAAS;GACtB,UAAU,aAAa,CAAC;GACxB,kBAAkB,eAAqC;GACvD,QAAQ;EACT,CAAC;EAED,MAAM,cAAc,IAAsB;EAE1C,MAAM,eAAe,UAA0B;GAC9C,OAAO,QAAQ;EAChB;EAWA,MAAM,qBAA2B;GAChC,MAAM,QAAQ,SAAS,cAA2B,6BAA6B,MAAM,SAAQ,+BAAgC;GAC7H,IAAI,CAAC,OAAO;GAGZ,IAAI,MAAM,kBACT,MAAM,iBAAiB,QAAQ;GAGhC,MAAM,mBAAmB,IAAI,SAAS,OAAO;IAE5C,WAAW;IACX,OAAO;IAMP,MAAM,KAA0B;KAC/B,MAAM,EAAE,UAAU,aAAa;KAC/B,IAAI,aAAa,KAAA,KAAa,aAAa,KAAA,KAAa,aAAa,UAAU;MAC9E,MAAM,SAAS;MACf,MAAM,SAAS,WAAW,WAAW,OAAO,UAAU,CAAC,CAAC,CAAC;MACzD,IAAI,QAAQ,WAAW,WAAW,OAAO,UAAU,GAAG,MAAM;MAC5D,WAAW,aAAa,WAAW,WAAW,KAAK,MAAM,UAAU;OAClE,OAAO;QACN,GAAG;QACH,OAAO,QAAQ;OAChB;MACD,CAAC;KACF;IACD;GACD,CAAC;EACF;EAEA,MAAM,aAAmB;GACxB,MAAM,SAAS;GACf,YAAY,OAAO,WAAW;IAC7B,aAAa;IACb,eAAe;KACd,SAAS;KACT,MAAM;IACP,CAAC;GACF,CAAC;EACF;EAEA,MAAM,wBAA8B;GACnC,MAAM,kBAAkB,QAAQ;GAChC,MAAM,mBAAmB,KAAA;EAC1B;EAEA,gBAAgB,eAAe;EAE/B,MAAM,eAAe,YAA2B;GAC/C,IAAI,MAAM,QACT,MAAM,MAAM,SAAS,WAAW,UAAU;QAE1C,UAAU,KAAK,UAAU;EAE3B;EAEA,MAAM,2BAAiC;GACtC,YAAY,OAAO,MAAM,YAAY;EACtC;EAEA,MAAM,0BAAgC;GACrC,MAAM,SAAS;GACf,IAAI,eAAe,WAAW,WAAW,QAAQ,MAAM,CAAC,GAAG,UAAU;GACrE,eAAe,aAAa,MAAM,GAAG,MAAM;IAC1C,IAAI,EAAE,UAAU,EAAE,OACjB,QAAQ,EAAE,SAAS,MAAM,EAAE,SAAS;SAEpC,OAAO,aAAa,QAAQ,CAAC,IAAI,aAAa,QAAQ,CAAC;GAEzD,CAAC;GACD,WAAW,aAAa,CAAC,GAAG,cAAc,GAAG,WAAW,WAAW,QAAQ,MAAM,GAAG,UAAU,CAAC;GAC/F,WAAW,WAAW,SAAS,MAAM,UAAU;IAC9C,KAAK,QAAQ,QAAQ;GACtB,CAAC;EACF;EAEA,MAAM,2BAAiC;GACtC,MAAM,SAAS;EAChB;EAEA,MAAM,qBAAqB,KAAuB,WAAW,UAAwD;GACpH,MAAM,SAAuD,CAAC;GAC9D,IAAI,KAAK,MACR,QAAQ,KAAK,MAAb;IACC,KAAK;KACJ,OAAO,WAAW;KAClB,OAAO,cAAc;KACrB;IACD,KAAK;KACJ,OAAO,WAAW;KAClB,OAAO,cAAc;KACrB;IACD,KAAK;IACL,KAAK;IACL,KAAK;KACJ,OAAO,WAAW;KAClB,OAAO,cAAc;KACrB;IACD,KAAK;KACJ,OAAO,WAAW;KAClB,OAAO,cAAc;GAEvB;QACM,IAAI,KAAK,KAAK;IACpB,OAAO,WAAW;IAClB,OAAO,cAAc;GACtB,OAAO,IAAI,KAAK,WAAW;IAC1B,OAAO,WAAW;IAClB,OAAO,cAAc;GACtB;GACA,IAAI,CAAC,OAAO,UAAU,OAAO,CAAC;GAC9B,IAAI,UACH,OAAO,OAAO;GAEf,OAAO;EACR;EAEA,MAAM,sBACL,KACA,WAAW,OACX,UAAU,OACV,WAAW,UACuC;GAClD,MAAM,SAAuD,CAAC;GAC9D,IAAI,KAAK,YAAY;IACpB,OAAO,WAAW;IAClB,OAAO,cAAc;GACtB;GACA,IAAI,CAAC,OAAO,UAAU,OAAO,CAAC;GAC9B,IAAI,UACH,OAAO,OAAO;GAEf,IAAI,SACH,OAAO,cAAc;GAEtB,OAAO;EACR;EAEA,gBAAU,YAAA,UAAA;GAAA,OAEH;GAAW,SAAA;GAAA,kBAEA;GAAkB,kBAClB;GAAK,qBACF,MAAM,SAAS,SAAS;GAAI,cAAA;GAAA,YAErC;EAAe,GAAA;GAGxB,cAAQ,YAAA,UAAA,MAAA,CAAA,gBAAA,iBAAA,GAAA,YAAA,QAAA,EAAA,QAAA,OAAA,GAAA,EAAA,eAAA,CAAA,gBAAA,wBAAA,CAAA,EAAA,CAAA,CAAA,CAAA;GAMR,eAAS,YAAA,SAAA;IAAA,SAEA,CAAC,4BAA4B,4BAA4B,MAAM,UAAU;IAAC,QAC3E,WAAW;IAAU,UAAA;IAAA,UAAA;GAAA,GAAA,EAM1B,eAAS,YAAA,UAAA,MAAA;IAAA,YAAA,eAAA;KAAA,QAAA;KAAA,SAAA;KAAA,SAAA;KAAA,SAEwD;KAAE,SAAS;IAAW,GAAA,IAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,YAC9C;IAAG,GAAA,EAExC,UAAU,EACT,UAMA,IAAI,SAAS,UAAO,YAAA,SAAA;KAAA,YAAA;KAAA,YAAA;KAAA,cAIV,IAAI;KAAK,wBAAA,WAAT,IAAI,QAAK;KAAA,eAAA;KAAA,YAEP;IAAkB,GAAA,IAAA,IAAA,YAAA,SAAA,WAAA;KAAA,cAIpB,IAAI;KAAK,wBAAA,WAAT,IAAI,QAAK;KAAA,eAAA;IAAA,GAEb,mBAAmB,GAAG,GAAC,EAAA,YACjB,mBAAkB,CAAA,GAAA,IAAA,EAE7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG6B;IAAG,GAAA,EAElC,UAAU,EACT,UAKA,YAAA,cAAA,WAAA;KAAA,cAES,IAAI;KAAK,wBAAA,WAAT,IAAI,QAAK;IAAA,GACb,mBAAmB,KAAK,OAAO,OAAO,IAAI,GAAC,EAAA,YACrC,mBAAkB,CAAA,GAAA,EAAA,eAAA;KAAA,YAAA,SAAA,EAAA,SAEZ,MAAK,GAAA,EAAA,eAAA,CAAA,gBAAA,GAAA,CAAA,EAAA,CAAA;KAAA,YAAA,SAAA,EAAA,SAAA,OAAA,GAAA,EAAA,eAAA,CAAA,gBAAA,IAAA,CAAA,EAAA,CAAA;KAAA,YAAA,SAAA,EAAA,SAAA,QAAA,GAAA,EAAA,eAAA,CAAA,gBAAA,IAAA,CAAA,EAAA,CAAA;IAAA,EAAA,CAAA,EAItB,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG8B;IAAG,GAAA,EAElC,UAAU,EACT,UAKA,YAAA,eAAA,WAAA;KAAA,cAES,IAAI;KAAK,wBAAA,WAAT,IAAI,QAAK;KAAA,OACZ;KAAC,OACD;KAAG,gBAAA;KAAA,YAEE;KAAK,eAAA;IAAA,GAEX,kBAAkB,GAAG,GACrB,mBAAmB,GAAG,GAAC,EAAA,YACjB,mBAAkB,CAAA,GAAA,EAG3B,cAAQ,YAAA,QAAA,MAAA,CAAA,gBAAA,IAAA,CAAA,CAAA,EAAqB,CAAA,EAG/B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAGgC;IAAG,GAAA,EAEpC,UAAU,EACT,UAKA,YAAA,eAAA,WAAA;KAAA,cAES,IAAI;KAAU,wBAAA,WAAd,IAAI,aAAU;KAAA,OACjB;KAAC,OACD;KAAG,gBAAA;KAAA,YAEE;KAAK,eAAA;IAAA,GAEX,kBAAkB,GAAG,GACrB,mBAAmB,GAAG,GAAC,EAAA,YACjB,mBAAkB,CAAA,GAAA,EAG3B,cAAQ,YAAA,QAAA,MAAA,CAAA,gBAAA,IAAA,CAAA,CAAA,EAAqB,CAAA,EAG/B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG8B;IAAG,GAAA,EAElC,UAAU,EACT,UAKA,YAAA,eAAA,WAAA;KAAA,SAAA;KAAA,cAGS,IAAI;KAAK,wBAAA,WAAT,IAAI,QAAK;KAAA,OACZ;KAAC,OACD;KAAG,gBAAA;KAAA,YAEE;KAAK,eAAA;IAAA,GAEX,mBAAmB,KAAK,OAAO,IAAI,GAAC,EAAA,YAC9B,kBAAiB,CAAA,GAAA,IAAA,EAE5B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG8B;IAAE,GAAA,EAEjC,UAAU,EACT,UAKA,YAAA,UAAA,WAAA;KAAA,cAES,IAAI;KAAQ,wBAAA,WAAZ,IAAI,WAAQ;KAAA,gBAAA;KAAA,cAAA;KAAA,gBAAA;KAAA,aAIT,IAAI,oBAAoB,UAAU,IAAI,SAAS;IAAO,GAC7D,mBAAmB,KAAK,IAAI,GAAC,EAAA,YACvB,mBAAkB,CAAA,GAAA,IAAA,EAE7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG8B;IAAE,GAAA,EAEjC,UAAU,EACT,UAKA,YAAA,UAAA,WAAA;KAAA,cAES,IAAI;KAAI,wBAAA,WAAR,IAAI,OAAI;KAAA,gBAAA;KAAA,cAAA;KAAA,gBAAA;KAAA,YAIN,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK;IAAI,GAChC,mBAAmB,KAAK,IAAI,GAAC,EAAA,YACvB,mBAAkB,CAAA,GAAA,IAAA,EAE7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAGgC;IAAE,GAAA,EAEnC,UAAU,EACT,UAKA,YAAA,UAAA,WAAA;KAAA,cAES,IAAI;KAAS,wBAAA,WAAb,IAAI,YAAS;KAAA,gBAAA;KAAA,cAAA;KAAA,gBAAA;KAAA,YAIX,CAAC,CAAC,KAAK;IAAI,GACjB,mBAAmB,KAAK,IAAI,GAAC,EAAA,YACvB,mBAAkB,CAAA,GAAA,IAAA,EAE7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAG8B;IAAE,GAAA,EAEjC,UAAU,EACT,UAKA,YAAA,UAAA;KAAA,cAES,IAAI;KAAI,wBAAA,WAAR,IAAI,OAAI;KAAA,gBAAA;KAAA,cAAA;KAAA,gBAAA;KAAA,YAIN;IAAkB,GAAA,IAAA,EAE7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,YAGoC;IAAG,GAAA,EAExC,UAAU,EACT,UAMA,IAAI,SAAM,YAAA,SAAA;KAAA,cAEA,IAAI,OAAO;KAAK,wBAAA,WAAhB,IAAI,OAAO,QAAK;KAAA,eAAA;KAAA,YAEd;IAAkB,GAAA,IAAA,IAAA,YAAA,SAAA;KAAA,YAAA;KAAA,eAAA;IAAA,GAAA,IAAA,EAI7B,CAAA;IAAA,YAAA,eAAA;KAAA,SAAA;KAAA,SAGgC;IAAG,GAAA,EAErC,UAAU,EACT,UAMA,IAAI,SAAM,YAAA,eAAA;KAAA,cAEA,IAAI,OAAO;KAAK,wBAAA,WAAhB,IAAI,OAAO,QAAK;KAAA,OACnB;KAAC,OACD;KAAG,gBAAA;KAAA,YAEE;KAAK,eAAA;KAAA,YAEL;IAAkB,GAAA,IAAA,IAAA,YAAA,eAAA;KAAA,YAAA;KAAA,OAKvB;KAAC,OACD;KAAG,gBAAA;KAAA,YAEE;KAAK,eAAA;IAAA,GAAA,IAAA,EAGhB,CAAA;GAAA,CAAA,EAIL,CAAA;EAGH,CAAA,CAGH;EAED,OAAO,UAAU,QAAQ;;GAExB;;GAEA,QAAQ;EACT,CAAC;CACF;AACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"tableColumnSettingDialog.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, onBeforeUnmount, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn, ElText } from \"element-plus\";\nimport Sortable from \"sortablejs\";\nimport { definePropType, randomString, useExpose, useRender, withDefineType } from \"../../../utils\";\nimport { FaDialog } from \"../../dialog\";\nimport { tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { SortableEvent } from \"sortablejs\";\nimport type { FaDialogInstance } from \"../../dialog\";\nimport type { FaTableColumnCtx } from \"./table.type\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableColumnsSettingDialog 必须在 FaTable 内部渲染。\");\n\n\t\tconst state = reactive({\n\t\t\ttableKey: randomString(8),\n\t\t\tsortableInstance: withDefineType<Sortable | undefined>(),\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector<HTMLElement>(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`);\n\t\t\tif (!tBody) return;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: SortableEvent): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== undefined && oldIndex !== undefined && newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\tif (curRow) tableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tstate.change = false;\n\t\t\tfaDialogRef.value?.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst destroySortable = (): void => {\n\t\t\tstate.sortableInstance?.destroy();\n\t\t\tstate.sortableInstance = undefined;\n\t\t};\n\n\t\tonBeforeUnmount(destroySortable);\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (state.change) {\n\t\t\t\tawait props.change?.(tableState.orgColumns);\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value?.close(handleChange);\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn (a.order ?? 0) - (b.order ?? 0);\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (row: FaTableColumnCtx, switchEl = false): { disabled?: boolean; placeholder?: string } => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\t_radioEl = false\n\t\t): { disabled?: boolean; placeholder?: string } => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfullHeight\n\t\t\t\tonClosed={destroySortable}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<ElText type=\"info\">点击保存才会进行数据缓存,点击取消为本次生效</ElText>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: auto;\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={(row.disabledSortable ?? false) || row.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { FaTableColumnCtx, FaTableDefaultSlotsResult } from "./table.type";
|
|
2
1
|
import type { FaLayoutGridBreakPoint } from "../../layoutGrid";
|
|
2
|
+
import type { FaTableColumnCtx, FaTableDefaultSlotsResult } from "./table.type";
|
|
3
3
|
type FaTableSearchFormSlots = Record<string, FaTableDefaultSlotsResult & {
|
|
4
4
|
column?: FaTableColumnCtx;
|
|
5
5
|
search?: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSearchForm.mjs","names":[],"sources":["../../../../src/components/table/src/tableSearchForm.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { ArrowDown, ArrowUp, Eleme, Refresh, Search } from \"@element-plus/icons-vue\";\nimport { ElButton, ElIcon, useGlobalSize } from \"element-plus\";\nimport { Brush } from \"@fast-element-plus/icons-vue\";\nimport { definePropType, makeSlots, useRender, withDefineType } from \"../../../utils\";\nimport { FaDrawer } from \"../../drawer\";\nimport { FaLayoutGrid, FaLayoutGridItem } from \"../../layoutGrid\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport FaTableSearchFormItem from \"./tableSearchFormItem\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableSearchColumnCtx } from \"./table.type\";\nimport type { FaDrawerInstance } from \"../../drawer\";\nimport type { FaLayoutGridBreakPoint, FaLayoutGridInstance, FaLayoutGridItemResponsive } from \"../../layoutGrid\";\n\ntype FaTableSearchFormSlots = Record<\n\tstring,\n\tFaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => Promise<void>;\n\t}\n>;\n\nexport default defineComponent({\n\tname: \"FaTableSearchForm\",\n\tprops: {\n\t\t/** @description 显示 */\n\t\tshow: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true as const,\n\t\t},\n\t\t/** @description 折叠搜素 */\n\t\tcollapsedSearch: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/** @description 高级搜素抽屉 */\n\t\tadvancedSearchDrawer: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** @description Grid布局列配置 */\n\t\tcols: {\n\t\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\t\tdefault: () => ({ xs: 1, sm: 2, md: 4, lg: 5, xl: 6 }),\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true as const,\n\t\t},\n\t\t/** @description 重置 */\n\t\treset: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true as const,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\t// 获取响应式断点\n\t\tconst gridRef = ref<FaLayoutGridInstance>();\n\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableSearchForm 必须在 FaTable 内部渲染。\");\n\n\t\tconst breakPoint = computed<FaLayoutGridBreakPoint>(() => gridRef.value?.breakPoint ?? \"xl\");\n\t\tconst getColumnCount = (value: FaLayoutGridBreakPoint): number => {\n\t\t\tif (typeof props.cols === \"number\") return props.cols;\n\t\t\tif (typeof props.cols === \"object\") return props.cols[value] ?? 1;\n\t\t\treturn Number(props.cols) || 1;\n\t\t};\n\n\t\tconst state = reactive({\n\t\t\trefreshing: false,\n\t\t\theight: \"auto\",\n\t\t\t/** 折叠 */\n\t\t\tcollapsed: true,\n\t\t\t/** 显示折叠 */\n\t\t\tshowCollapsed: computed(() => {\n\t\t\t\tlet show = false;\n\t\t\t\ttableState.searchColumns.reduce((prev, current) => {\n\t\t\t\t\tconst search = current.search;\n\t\t\t\t\tif (search === undefined) return prev;\n\t\t\t\t\tprev += (search[breakPoint.value]?.span ?? search.span ?? 1) + (search[breakPoint.value]?.offset ?? search.offset ?? 0);\n\t\t\t\t\tif (prev >= getColumnCount(breakPoint.value)) show = true;\n\t\t\t\t\treturn prev;\n\t\t\t\t}, 0);\n\t\t\t\treturn show;\n\t\t\t}),\n\t\t\tsearchColumns: withDefineType<FaTableColumnCtx[]>([]),\n\t\t\tadvancedSearchColumns: withDefineType<FaTableColumnCtx[]>([]),\n\t\t\tbreakPoint: 0,\n\t\t});\n\n\t\tconst faTableSearchFormRef = ref<HTMLElement>();\n\t\tconst advancedSearchRef = ref<FaDrawerInstance>();\n\n\t\t// 获取响应式设置\n\t\tconst getResponsive = (\n\t\t\titem: FaTableSearchColumnCtx\n\t\t): { span: number; offset: number } & Partial<Record<FaLayoutGridBreakPoint, FaLayoutGridItemResponsive>> => {\n\t\t\treturn {\n\t\t\t\tspan: item.span ?? 1,\n\t\t\t\toffset: item?.offset ?? 0,\n\t\t\t\txs: item?.xs,\n\t\t\t\tsm: item?.sm,\n\t\t\t\tmd: item?.md,\n\t\t\t\tlg: item?.lg,\n\t\t\t\txl: item?.xl,\n\t\t\t};\n\t\t};\n\n\t\tconst handleBreakPointChange = ({ breakPoint }: { breakPoint: FaLayoutGridBreakPoint }): void => {\n\t\t\t// 这里 -1 是排除固定的\n\t\t\tstate.breakPoint = getColumnCount(breakPoint) - 1;\n\t\t\tstate.searchColumns = tableState.searchColumns.filter((f) => f?.show).slice(0, state.breakPoint);\n\t\t\tstate.advancedSearchColumns = tableState.searchColumns.filter((f) => f?.show).slice(state.breakPoint);\n\t\t};\n\n\t\twatch(\n\t\t\t() => tableState.searchColumns,\n\t\t\t() => {\n\t\t\t\tif (state.breakPoint) {\n\t\t\t\t\tstate.searchColumns = tableState.searchColumns.filter((f) => f?.show).slice(0, state.breakPoint);\n\t\t\t\t\tstate.advancedSearchColumns = tableState.searchColumns.filter((f) => f?.show).slice(state.breakPoint);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\t// @ts-expect-error Element Plus 的递归 Props 在此处触发类型实例化深度限制。\n\t\tconst searchColumns = computed(() => (props.advancedSearchDrawer ? state.searchColumns : tableState.searchColumns));\n\n\t\twatch(\n\t\t\t() => props.advancedSearchDrawer,\n\t\t\t(newValue) => {\n\t\t\t\tif (newValue) {\n\t\t\t\t\t// 抽屉默认折叠\n\t\t\t\t\tstate.collapsed = true;\n\t\t\t\t} else {\n\t\t\t\t\tstate.collapsed = props.collapsedSearch;\n\t\t\t\t}\n\t\t\t\tstate.refreshing = true;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tstate.refreshing = false;\n\t\t\t\t}, 1);\n\t\t\t}\n\t\t);\n\n\t\twatch(\n\t\t\t() => props.collapsedSearch,\n\t\t\t(newValue) => {\n\t\t\t\tif (!props.collapsedSearch) {\n\t\t\t\t\tstate.collapsed = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// 抽屉默认折叠\n\t\t\t\t\tstate.collapsed = true;\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() =>\n\t\t\ttableState.searchColumns.length > 0 ? (\n\t\t\t\t<div\n\t\t\t\t\tref={faTableSearchFormRef}\n\t\t\t\t\tclass={[\n\t\t\t\t\t\t\"el-card fa-table__search\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"fa-table__search-hidden\": !props.show,\n\t\t\t\t\t\t\t\"fa-table__search__disable\": tableState.loading,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<form class=\"el-form el-form--default el-form--label-right\">\n\t\t\t\t\t\t{!state.refreshing && (\n\t\t\t\t\t\t\t<FaLayoutGrid\n\t\t\t\t\t\t\t\tref={gridRef}\n\t\t\t\t\t\t\t\tcollapsed={state.collapsed}\n\t\t\t\t\t\t\t\tgap={_globalSize.value === \"small\" ? [20, 0] : [20, 10]}\n\t\t\t\t\t\t\t\tcols={props.cols}\n\t\t\t\t\t\t\t\tonBreakPointChange={handleBreakPointChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{searchColumns.value.map((item, index) =>\n\t\t\t\t\t\t\t\t\titem.search ? (\n\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.search.key ?? item.prop} data-index={index} {...getResponsive(item.search)}>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item el-form-item--default el-form-item--label-right\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label class=\"el-form-item__label\">{item.search.label}</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item__content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.search?.slot ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[item.search.slot]?.({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: item,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableSearchFormItem column={item} search={props.search} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<FaLayoutGridItem suffix>\n\t\t\t\t\t\t\t\t\t<div class=\"fa-table__search-operation\">\n\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"搜索\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tplain\n\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid props.search();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t搜索\n\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"重置\"\n\t\t\t\t\t\t\t\t\t\t\ticon={Brush}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid props.reset();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t重置\n\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t{props.advancedSearchDrawer\n\t\t\t\t\t\t\t\t\t\t\t? state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"info\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplain\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => advancedSearchRef.value?.open()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t高级搜索\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t: state.showCollapsed && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={state.collapsed ? \"展开\" : \"折叠\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate.collapsed = !state.collapsed;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{state.collapsed ? \"展开\" : \"折叠\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>{state.collapsed ? <ArrowDown /> : <ArrowUp />}</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</form>\n\t\t\t\t\t{props.advancedSearchDrawer && state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t<FaDrawer\n\t\t\t\t\t\t\tref={advancedSearchRef}\n\t\t\t\t\t\t\tclass=\"fa-table__search-advanced\"\n\t\t\t\t\t\t\tsize=\"20%\"\n\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\tappendToBody={false}\n\t\t\t\t\t\t\tshowCloseButton={false}\n\t\t\t\t\t\t\tshowConfirmButton={false}\n\t\t\t\t\t\t\tshowFullscreen={false}\n\t\t\t\t\t\t\tshowRefresh={false}\n\t\t\t\t\t\t\tonConfirmClick={() => props.search()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<form class=\"el-form el-form--default el-form--label-top\">\n\t\t\t\t\t\t\t\t<FaLayoutGrid gap={[20, 0]} cols={{ xs: 1, sm: 2, md: 4, lg: 5, xl: 6 }}>\n\t\t\t\t\t\t\t\t\t{state.advancedSearchColumns.map((item) =>\n\t\t\t\t\t\t\t\t\t\titem.search ? (\n\t\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.prop ?? item.search.key} {...getResponsive(item.search)}>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item el-form-item--default el-form-item--label-top\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<label class=\"el-form-item__label\">{item.search.label}</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item__content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.search.slot ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[item.search.slot]?.({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: item,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableSearchFormItem column={item} search={props.search} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</FaDrawer>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div />\n\t\t\t)\n\t\t);\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableSearchForm.mjs","names":[],"sources":["../../../../src/components/table/src/tableSearchForm.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { ArrowDown, ArrowUp, Eleme, Refresh, Search } from \"@element-plus/icons-vue\";\nimport { ElButton, ElIcon, useGlobalSize } from \"element-plus\";\nimport { Brush } from \"@fast-element-plus/icons-vue\";\nimport { definePropType, makeSlots, useRender, withDefineType } from \"../../../utils\";\nimport { FaDrawer } from \"../../drawer\";\nimport { FaLayoutGrid, FaLayoutGridItem } from \"../../layoutGrid\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport FaTableSearchFormItem from \"./tableSearchFormItem\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaDrawerInstance } from \"../../drawer\";\nimport type { FaLayoutGridBreakPoint, FaLayoutGridInstance, FaLayoutGridItemResponsive } from \"../../layoutGrid\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableSearchColumnCtx } from \"./table.type\";\n\ntype FaTableSearchFormSlots = Record<\n\tstring,\n\tFaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => Promise<void>;\n\t}\n>;\n\nexport default defineComponent({\n\tname: \"FaTableSearchForm\",\n\tprops: {\n\t\t/** @description 显示 */\n\t\tshow: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true as const,\n\t\t},\n\t\t/** @description 折叠搜素 */\n\t\tcollapsedSearch: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/** @description 高级搜素抽屉 */\n\t\tadvancedSearchDrawer: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** @description Grid布局列配置 */\n\t\tcols: {\n\t\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\t\tdefault: () => ({ xs: 1, sm: 2, md: 4, lg: 5, xl: 6 }),\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true as const,\n\t\t},\n\t\t/** @description 重置 */\n\t\treset: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true as const,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\t// 获取响应式断点\n\t\tconst gridRef = ref<FaLayoutGridInstance>();\n\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableSearchForm 必须在 FaTable 内部渲染。\");\n\n\t\tconst breakPoint = computed<FaLayoutGridBreakPoint>(() => gridRef.value?.breakPoint ?? \"xl\");\n\t\tconst getColumnCount = (value: FaLayoutGridBreakPoint): number => {\n\t\t\tif (typeof props.cols === \"number\") return props.cols;\n\t\t\tif (typeof props.cols === \"object\") return props.cols[value] ?? 1;\n\t\t\treturn Number(props.cols) || 1;\n\t\t};\n\n\t\tconst state = reactive({\n\t\t\trefreshing: false,\n\t\t\theight: \"auto\",\n\t\t\t/** 折叠 */\n\t\t\tcollapsed: true,\n\t\t\t/** 显示折叠 */\n\t\t\tshowCollapsed: computed(() => {\n\t\t\t\tlet show = false;\n\t\t\t\ttableState.searchColumns.reduce((prev, current) => {\n\t\t\t\t\tconst search = current.search;\n\t\t\t\t\tif (search === undefined) return prev;\n\t\t\t\t\tprev += (search[breakPoint.value]?.span ?? search.span ?? 1) + (search[breakPoint.value]?.offset ?? search.offset ?? 0);\n\t\t\t\t\tif (prev >= getColumnCount(breakPoint.value)) show = true;\n\t\t\t\t\treturn prev;\n\t\t\t\t}, 0);\n\t\t\t\treturn show;\n\t\t\t}),\n\t\t\tsearchColumns: withDefineType<FaTableColumnCtx[]>([]),\n\t\t\tadvancedSearchColumns: withDefineType<FaTableColumnCtx[]>([]),\n\t\t\tbreakPoint: 0,\n\t\t});\n\n\t\tconst faTableSearchFormRef = ref<HTMLElement>();\n\t\tconst advancedSearchRef = ref<FaDrawerInstance>();\n\n\t\t// 获取响应式设置\n\t\tconst getResponsive = (\n\t\t\titem: FaTableSearchColumnCtx\n\t\t): { span: number; offset: number } & Partial<Record<FaLayoutGridBreakPoint, FaLayoutGridItemResponsive>> => {\n\t\t\treturn {\n\t\t\t\tspan: item.span ?? 1,\n\t\t\t\toffset: item?.offset ?? 0,\n\t\t\t\txs: item?.xs,\n\t\t\t\tsm: item?.sm,\n\t\t\t\tmd: item?.md,\n\t\t\t\tlg: item?.lg,\n\t\t\t\txl: item?.xl,\n\t\t\t};\n\t\t};\n\n\t\tconst handleBreakPointChange = ({ breakPoint }: { breakPoint: FaLayoutGridBreakPoint }): void => {\n\t\t\t// 这里 -1 是排除固定的\n\t\t\tstate.breakPoint = getColumnCount(breakPoint) - 1;\n\t\t\tstate.searchColumns = tableState.searchColumns.filter((f) => f?.show).slice(0, state.breakPoint);\n\t\t\tstate.advancedSearchColumns = tableState.searchColumns.filter((f) => f?.show).slice(state.breakPoint);\n\t\t};\n\n\t\twatch(\n\t\t\t() => tableState.searchColumns,\n\t\t\t() => {\n\t\t\t\tif (state.breakPoint) {\n\t\t\t\t\tstate.searchColumns = tableState.searchColumns.filter((f) => f?.show).slice(0, state.breakPoint);\n\t\t\t\t\tstate.advancedSearchColumns = tableState.searchColumns.filter((f) => f?.show).slice(state.breakPoint);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\t// @ts-expect-error Element Plus 的递归 Props 在此处触发类型实例化深度限制。\n\t\tconst searchColumns = computed(() => (props.advancedSearchDrawer ? state.searchColumns : tableState.searchColumns));\n\n\t\twatch(\n\t\t\t() => props.advancedSearchDrawer,\n\t\t\t(newValue) => {\n\t\t\t\tif (newValue) {\n\t\t\t\t\t// 抽屉默认折叠\n\t\t\t\t\tstate.collapsed = true;\n\t\t\t\t} else {\n\t\t\t\t\tstate.collapsed = props.collapsedSearch;\n\t\t\t\t}\n\t\t\t\tstate.refreshing = true;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tstate.refreshing = false;\n\t\t\t\t}, 1);\n\t\t\t}\n\t\t);\n\n\t\twatch(\n\t\t\t() => props.collapsedSearch,\n\t\t\t(newValue) => {\n\t\t\t\tif (!props.collapsedSearch) {\n\t\t\t\t\tstate.collapsed = newValue;\n\t\t\t\t} else {\n\t\t\t\t\t// 抽屉默认折叠\n\t\t\t\t\tstate.collapsed = true;\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() =>\n\t\t\ttableState.searchColumns.length > 0 ? (\n\t\t\t\t<div\n\t\t\t\t\tref={faTableSearchFormRef}\n\t\t\t\t\tclass={[\n\t\t\t\t\t\t\"el-card fa-table__search\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"fa-table__search-hidden\": !props.show,\n\t\t\t\t\t\t\t\"fa-table__search__disable\": tableState.loading,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<form class=\"el-form el-form--default el-form--label-right\">\n\t\t\t\t\t\t{!state.refreshing && (\n\t\t\t\t\t\t\t<FaLayoutGrid\n\t\t\t\t\t\t\t\tref={gridRef}\n\t\t\t\t\t\t\t\tcollapsed={state.collapsed}\n\t\t\t\t\t\t\t\tgap={_globalSize.value === \"small\" ? [20, 0] : [20, 10]}\n\t\t\t\t\t\t\t\tcols={props.cols}\n\t\t\t\t\t\t\t\tonBreakPointChange={handleBreakPointChange}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{searchColumns.value.map((item, index) =>\n\t\t\t\t\t\t\t\t\titem.search ? (\n\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.search.key ?? item.prop} data-index={index} {...getResponsive(item.search)}>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item el-form-item--default el-form-item--label-right\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label class=\"el-form-item__label\">{item.search.label}</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item__content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.search?.slot ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[item.search.slot]?.({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: item,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableSearchFormItem column={item} search={props.search} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<FaLayoutGridItem suffix>\n\t\t\t\t\t\t\t\t\t<div class=\"fa-table__search-operation\">\n\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"搜索\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tplain\n\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid props.search();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t搜索\n\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"重置\"\n\t\t\t\t\t\t\t\t\t\t\ticon={Brush}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid props.reset();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t重置\n\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t{props.advancedSearchDrawer\n\t\t\t\t\t\t\t\t\t\t\t? state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"info\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplain\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => advancedSearchRef.value?.open()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t高级搜索\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t: state.showCollapsed && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading={tableState.loading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={state.collapsed ? \"展开\" : \"折叠\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate.collapsed = !state.collapsed;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{state.collapsed ? \"展开\" : \"折叠\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>{state.collapsed ? <ArrowDown /> : <ArrowUp />}</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</form>\n\t\t\t\t\t{props.advancedSearchDrawer && state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t<FaDrawer\n\t\t\t\t\t\t\tref={advancedSearchRef}\n\t\t\t\t\t\t\tclass=\"fa-table__search-advanced\"\n\t\t\t\t\t\t\tsize=\"20%\"\n\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\tappendToBody={false}\n\t\t\t\t\t\t\tshowCloseButton={false}\n\t\t\t\t\t\t\tshowConfirmButton={false}\n\t\t\t\t\t\t\tshowFullscreen={false}\n\t\t\t\t\t\t\tshowRefresh={false}\n\t\t\t\t\t\t\tonConfirmClick={() => props.search()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<form class=\"el-form el-form--default el-form--label-top\">\n\t\t\t\t\t\t\t\t<FaLayoutGrid gap={[20, 0]} cols={{ xs: 1, sm: 2, md: 4, lg: 5, xl: 6 }}>\n\t\t\t\t\t\t\t\t\t{state.advancedSearchColumns.map((item) =>\n\t\t\t\t\t\t\t\t\t\titem.search ? (\n\t\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.prop ?? item.search.key} {...getResponsive(item.search)}>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item el-form-item--default el-form-item--label-top\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<label class=\"el-form-item__label\">{item.search.label}</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"el-form-item__content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.search.slot ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[item.search.slot]?.({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: item,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableSearchFormItem column={item} search={props.search} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</FaDrawer>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div />\n\t\t\t)\n\t\t);\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSearchFormItem.mjs","names":[],"sources":["../../../../src/components/table/src/tableSearchFormItem.tsx"],"sourcesContent":["import { Fragment, defineComponent, h, inject, reactive, resolveComponent } from \"vue\";\nimport { ElOption } from \"element-plus\";\nimport { isString } from \"lodash-unified\";\nimport {\n\tcreateDateRangeShortcuts,\n\tcreateDateShortcuts,\n\tcreateOneMonthRangeFromToday,\n\tdefinePropType,\n\tgetStartOfToday,\n\tmakeSlots,\n\tuseRender,\n\twithDefineType,\n} from \"../../../utils\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableEnumColumnCtx } from \"./table.type\";\n\n/**\n * 已知默认支持的el组件:\n * \tel-input\n * \tel-input-number\n * \tel-select\n * \tel-select-v2\n * \tel-tree-select\n * \tel-cascader\n * \tel-date-picker\n * \tel-time-picker\n * \tel-time-select,\n * \tel-switch\n * 已知组件的默认props\n * clearable:el-input,el-input-number,el-select,el-select-v2,el-tree-select,el-cascader,el-date-picker,el-time-picker,el-time-select\n * filterable:el-select,el-select-v2,el-tree-select\n * placeholder-请输入:el-input,el-input-number\n * placeholder-请选择:el-select,el-select-v2,el-tree-select,el-cascader\n * defaultTime:el-date-picker\n * shortcuts:el-date-picker\n * options:el-select-v2,el-cascader\n * data:el-tree-select\n * startPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * endPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * rangeSeparator:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * unlinkPanels:el-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * 后缀 -select Select -page Page -cascader Cascader 结尾的\n * \tplaceholder:请选择\n * 后缀 -input Input 结尾的\n * \tplaceholder:请输入\n */\n\nconst clearableEls = [\n\t\"el-input\",\n\t\"ELInput\",\n\t\"el-input-number\",\n\t\"ELInputNumber\",\n\t\"el-select\",\n\t\"ElSelect\",\n\t\"el-select-v2\",\n\t\"ElSelectV2\",\n\t\"el-tree-select\",\n\t\"ElTreeSelect\",\n\t\"el-cascader\",\n\t\"ElCascader\",\n\t\"el-date-picker\",\n\t\"ElDatePicker\",\n\t\"el-time-picker\",\n\t\"ElTimePicker\",\n\t\"el-time-select\",\n\t\"ElTimeSelect\",\n];\n\nconst elInputEls = [\"el-input\", \"ElInput\", \"ELInput\"];\n\ntype FaTableSearchFormItemSlots = Record<\n\tstring,\n\tFaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => Promise<void>;\n\t}\n>;\n\nconst filterableEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\"];\n\nconst inputPlaceholderEls = [\"el-input\", \"ELInput\", \"el-input-number\", \"ELInputNumber\"];\n\nconst selectPlaceholderEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\", \"el-cascader\", \"ElCascader\"];\n\nexport default defineComponent({\n\tname: \"FaTableSearchFormItem\",\n\tprops: {\n\t\t/** @description 列配置 */\n\t\tcolumn: {\n\t\t\ttype: definePropType<FaTableColumnCtx>(Object),\n\t\t\trequired: true,\n\t\t\t/** 这里的 default 不知道为什么,不写识别不出来类型 */\n\t\t\tdefault: {},\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormItemSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableSearchFormItem 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst state = reactive({\n\t\t\tenumDict: withDefineType<FaTableEnumColumnCtx[]>([]),\n\t\t});\n\n\t\tconst handleUpdateModelValue = (value: unknown): void => {\n\t\t\tif (isString(value)) {\n\t\t\t\t// 如果是字符串,则去除前后空格\n\t\t\t\tvalue = value.trim();\n\t\t\t}\n\t\t\tconst searchKey = props.column.search?.key ?? props.column.prop;\n\t\t\tif (searchKey) tableState.searchParam[searchKey] = value;\n\t\t};\n\n\t\tconst handleChange = (_value: unknown): void => {\n\t\t\tvoid props.search();\n\t\t};\n\n\t\tconst handleDefaultProps = (): Record<string, unknown> => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst defaultProps: Record<string, unknown> = {};\n\t\t\tif (!search) return defaultProps;\n\t\t\tif (clearableEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"clearable\"] = true;\n\t\t\t}\n\t\t\tif (filterableEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"filterable\"] = true;\n\t\t\t}\n\t\t\tif (inputPlaceholderEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"placeholder\"] = \"请输入\";\n\t\t\t}\n\t\t\tif (selectPlaceholderEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"placeholder\"] = \"请选择\";\n\t\t\t}\n\t\t\tif ([\"el-date-picker\", \"ElDatePicker\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"unlinkPanels\"] = true;\n\t\t\t\tif (\n\t\t\t\t\ttypeof search.props?.[\"type\"] === \"string\" &&\n\t\t\t\t\t[\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"].includes(search.props[\"type\"])\n\t\t\t\t) {\n\t\t\t\t\tdefaultProps[\"defaultTime\"] = createOneMonthRangeFromToday();\n\t\t\t\t\tdefaultProps[\"shortcuts\"] = createDateRangeShortcuts();\n\t\t\t\t\tdefaultProps[\"rangeSeparator\"] = \"至\";\n\t\t\t\t\tdefaultProps[\"startPlaceholder\"] = \"开始时间\";\n\t\t\t\t\tdefaultProps[\"endPlaceholder\"] = \"结束时间\";\n\t\t\t\t} else {\n\t\t\t\t\tdefaultProps[\"defaultTime\"] = getStartOfToday();\n\t\t\t\t\tdefaultProps[\"shortcuts\"] = createDateShortcuts();\n\t\t\t\t\tdefaultProps[\"placeholder\"] = \"请选择\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ([\"el-time-picker\", \"ElTimePicker\"].includes(search.el) && search.props?.[\"isRange\"]) {\n\t\t\t\tdefaultProps[\"rangeSeparator\"] = \"至\";\n\t\t\t\tdefaultProps[\"startPlaceholder\"] = \"开始时间\";\n\t\t\t\tdefaultProps[\"endPlaceholder\"] = \"结束时间\";\n\t\t\t}\n\t\t\tif (\n\t\t\t\t[\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\", \"el-tree-select\", \"ElTreeSelect\"].includes(\n\t\t\t\t\tsearch.el\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\t\t\t\tif (props.column.enum && isString(props.column.enum)) {\n\t\t\t\t\tenumData = enumMap.get(props.column.enum);\n\t\t\t\t} else {\n\t\t\t\t\tconst enumKey = props.column.prop ?? search.key;\n\t\t\t\t\tenumData = enumKey ? enumMap.get(enumKey) : undefined;\n\t\t\t\t}\n\t\t\t\tenumData = enumData?.filter((item) => item.show !== false);\n\t\t\t\tstate.enumDict = enumData ?? [];\n\t\t\t}\n\t\t\tif ([\"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"options\"] = state.enumDict;\n\t\t\t}\n\t\t\tif ([\"el-tree-select\", \"ElTreeSelect\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"data\"] = state.enumDict;\n\t\t\t}\n\n\t\t\treturn defaultProps;\n\t\t};\n\n\t\tuseRender(() => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst searchKey = search?.key ?? props.column.prop;\n\t\t\tif (!search?.el || !searchKey) return <Fragment />;\n\t\t\tconst value = tableState.searchParam[searchKey];\n\t\t\tconst inputClearable = search.props?.[\"clearable\"] !== false && value !== undefined && value !== null && value !== \"\";\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{h(\n\t\t\t\t\t\tresolveComponent(search.el),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...handleDefaultProps(),\n\t\t\t\t\t\t\t...search.props,\n\t\t\t\t\t\t\t...(elInputEls.includes(search.el) ? { clearable: inputClearable } : {}),\n\t\t\t\t\t\t\tmodelValue: value,\n\t\t\t\t\t\t\t\"onUpdate:modelValue\": handleUpdateModelValue,\n\t\t\t\t\t\t\tonChange: handleChange,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t[\"el-select\", \"ElSelect\"].includes(search.el)\n\t\t\t\t\t\t\t\t\t? state.enumDict.map((selData, index) =>\n\t\t\t\t\t\t\t\t\t\t\th(ElOption, {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: selData[typeof search.props?.[\"label\"] === \"string\" ? search.props[\"label\"] : \"label\"] as\n\t\t\t\t\t\t\t\t\t\t\t\t\tstring | number,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: selData[typeof search.props?.[\"value\"] === \"string\" ? search.props[\"value\"] : \"value\"] as\n\t\t\t\t\t\t\t\t\t\t\t\t\tstring | number | boolean | object,\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: Boolean(\n\t\t\t\t\t\t\t\t\t\t\t\t\tselData[typeof search.props?.[\"disabled\"] === \"string\" ? search.props[\"disabled\"] : \"disabled\"]\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: slots[\"default\"]?.({\n\t\t\t\t\t\t\t\t\t\t\tcolumn: props.column,\n\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableSearchFormItem.mjs","names":[],"sources":["../../../../src/components/table/src/tableSearchFormItem.tsx"],"sourcesContent":["import { Fragment, defineComponent, h, inject, reactive, resolveComponent } from \"vue\";\nimport { ElOption } from \"element-plus\";\nimport { isString } from \"lodash-unified\";\nimport {\n\tcreateDateRangeShortcuts,\n\tcreateDateShortcuts,\n\tcreateOneMonthRangeFromToday,\n\tdefinePropType,\n\tgetStartOfToday,\n\tmakeSlots,\n\tuseRender,\n\twithDefineType,\n} from \"../../../utils\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableEnumColumnCtx } from \"./table.type\";\n\n/**\n * 已知默认支持的el组件:\n * \tel-input\n * \tel-input-number\n * \tel-select\n * \tel-select-v2\n * \tel-tree-select\n * \tel-cascader\n * \tel-date-picker\n * \tel-time-picker\n * \tel-time-select,\n * \tel-switch\n * 已知组件的默认props\n * clearable:el-input,el-input-number,el-select,el-select-v2,el-tree-select,el-cascader,el-date-picker,el-time-picker,el-time-select\n * filterable:el-select,el-select-v2,el-tree-select\n * placeholder-请输入:el-input,el-input-number\n * placeholder-请选择:el-select,el-select-v2,el-tree-select,el-cascader\n * defaultTime:el-date-picker\n * shortcuts:el-date-picker\n * options:el-select-v2,el-cascader\n * data:el-tree-select\n * startPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * endPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * rangeSeparator:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * unlinkPanels:el-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * 后缀 -select Select -page Page -cascader Cascader 结尾的\n * \tplaceholder:请选择\n * 后缀 -input Input 结尾的\n * \tplaceholder:请输入\n */\n\nconst clearableEls = [\n\t\"el-input\",\n\t\"ELInput\",\n\t\"el-input-number\",\n\t\"ELInputNumber\",\n\t\"el-select\",\n\t\"ElSelect\",\n\t\"el-select-v2\",\n\t\"ElSelectV2\",\n\t\"el-tree-select\",\n\t\"ElTreeSelect\",\n\t\"el-cascader\",\n\t\"ElCascader\",\n\t\"el-date-picker\",\n\t\"ElDatePicker\",\n\t\"el-time-picker\",\n\t\"ElTimePicker\",\n\t\"el-time-select\",\n\t\"ElTimeSelect\",\n];\n\nconst elInputEls = [\"el-input\", \"ElInput\", \"ELInput\"];\n\ntype FaTableSearchFormItemSlots = Record<\n\tstring,\n\tFaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => Promise<void>;\n\t}\n>;\n\nconst filterableEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\"];\n\nconst inputPlaceholderEls = [\"el-input\", \"ELInput\", \"el-input-number\", \"ELInputNumber\"];\n\nconst selectPlaceholderEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\", \"el-cascader\", \"ElCascader\"];\n\nexport default defineComponent({\n\tname: \"FaTableSearchFormItem\",\n\tprops: {\n\t\t/** @description 列配置 */\n\t\tcolumn: {\n\t\t\ttype: definePropType<FaTableColumnCtx>(Object),\n\t\t\trequired: true,\n\t\t\t/** 这里的 default 不知道为什么,不写识别不出来类型 */\n\t\t\tdefault: {},\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => Promise<void>>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormItemSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableSearchFormItem 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst state = reactive({\n\t\t\tenumDict: withDefineType<FaTableEnumColumnCtx[]>([]),\n\t\t});\n\n\t\tconst handleUpdateModelValue = (value: unknown): void => {\n\t\t\tif (isString(value)) {\n\t\t\t\t// 如果是字符串,则去除前后空格\n\t\t\t\tvalue = value.trim();\n\t\t\t}\n\t\t\tconst searchKey = props.column.search?.key ?? props.column.prop;\n\t\t\tif (searchKey) tableState.searchParam[searchKey] = value;\n\t\t};\n\n\t\tconst handleChange = (_value: unknown): void => {\n\t\t\tvoid props.search();\n\t\t};\n\n\t\tconst handleDefaultProps = (): Record<string, unknown> => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst defaultProps: Record<string, unknown> = {};\n\t\t\tif (!search) return defaultProps;\n\t\t\tif (clearableEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"clearable\"] = true;\n\t\t\t}\n\t\t\tif (filterableEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"filterable\"] = true;\n\t\t\t}\n\t\t\tif (inputPlaceholderEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"placeholder\"] = \"请输入\";\n\t\t\t}\n\t\t\tif (selectPlaceholderEls.includes(search.el)) {\n\t\t\t\tdefaultProps[\"placeholder\"] = \"请选择\";\n\t\t\t}\n\t\t\tif ([\"el-date-picker\", \"ElDatePicker\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"unlinkPanels\"] = true;\n\t\t\t\tif (\n\t\t\t\t\ttypeof search.props?.[\"type\"] === \"string\" &&\n\t\t\t\t\t[\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"].includes(search.props[\"type\"])\n\t\t\t\t) {\n\t\t\t\t\tdefaultProps[\"defaultTime\"] = createOneMonthRangeFromToday();\n\t\t\t\t\tdefaultProps[\"shortcuts\"] = createDateRangeShortcuts();\n\t\t\t\t\tdefaultProps[\"rangeSeparator\"] = \"至\";\n\t\t\t\t\tdefaultProps[\"startPlaceholder\"] = \"开始时间\";\n\t\t\t\t\tdefaultProps[\"endPlaceholder\"] = \"结束时间\";\n\t\t\t\t} else {\n\t\t\t\t\tdefaultProps[\"defaultTime\"] = getStartOfToday();\n\t\t\t\t\tdefaultProps[\"shortcuts\"] = createDateShortcuts();\n\t\t\t\t\tdefaultProps[\"placeholder\"] = \"请选择\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ([\"el-time-picker\", \"ElTimePicker\"].includes(search.el) && search.props?.[\"isRange\"]) {\n\t\t\t\tdefaultProps[\"rangeSeparator\"] = \"至\";\n\t\t\t\tdefaultProps[\"startPlaceholder\"] = \"开始时间\";\n\t\t\t\tdefaultProps[\"endPlaceholder\"] = \"结束时间\";\n\t\t\t}\n\t\t\tif (\n\t\t\t\t[\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\", \"el-tree-select\", \"ElTreeSelect\"].includes(\n\t\t\t\t\tsearch.el\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\t\t\t\tif (props.column.enum && isString(props.column.enum)) {\n\t\t\t\t\tenumData = enumMap.get(props.column.enum);\n\t\t\t\t} else {\n\t\t\t\t\tconst enumKey = props.column.prop ?? search.key;\n\t\t\t\t\tenumData = enumKey ? enumMap.get(enumKey) : undefined;\n\t\t\t\t}\n\t\t\t\tenumData = enumData?.filter((item) => item.show !== false);\n\t\t\t\tstate.enumDict = enumData ?? [];\n\t\t\t}\n\t\t\tif ([\"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"options\"] = state.enumDict;\n\t\t\t}\n\t\t\tif ([\"el-tree-select\", \"ElTreeSelect\"].includes(search.el)) {\n\t\t\t\tdefaultProps[\"data\"] = state.enumDict;\n\t\t\t}\n\n\t\t\treturn defaultProps;\n\t\t};\n\n\t\tuseRender(() => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst searchKey = search?.key ?? props.column.prop;\n\t\t\tif (!search?.el || !searchKey) return <Fragment />;\n\t\t\tconst value: unknown = tableState.searchParam[searchKey];\n\t\t\tconst inputClearable = search.props?.[\"clearable\"] !== false && value !== undefined && value !== null && value !== \"\";\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{h(\n\t\t\t\t\t\tresolveComponent(search.el),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...handleDefaultProps(),\n\t\t\t\t\t\t\t...search.props,\n\t\t\t\t\t\t\t...(elInputEls.includes(search.el) ? { clearable: inputClearable } : {}),\n\t\t\t\t\t\t\tmodelValue: value,\n\t\t\t\t\t\t\t\"onUpdate:modelValue\": handleUpdateModelValue,\n\t\t\t\t\t\t\tonChange: handleChange,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t[\"el-select\", \"ElSelect\"].includes(search.el)\n\t\t\t\t\t\t\t\t\t? state.enumDict.map((selData, index) =>\n\t\t\t\t\t\t\t\t\t\t\th(ElOption, {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: selData[typeof search.props?.[\"label\"] === \"string\" ? search.props[\"label\"] : \"label\"] as\n\t\t\t\t\t\t\t\t\t\t\t\t\tstring | number,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: selData[typeof search.props?.[\"value\"] === \"string\" ? search.props[\"value\"] : \"value\"] as\n\t\t\t\t\t\t\t\t\t\t\t\t\tstring | number | boolean | object,\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: Boolean(\n\t\t\t\t\t\t\t\t\t\t\t\t\tselData[typeof search.props?.[\"disabled\"] === \"string\" ? search.props[\"disabled\"] : \"disabled\"]\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: slots[\"default\"]?.({\n\t\t\t\t\t\t\t\t\t\t\tcolumn: props.column,\n\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useGlobalSize } from "element-plus";
|
|
2
|
-
import {
|
|
2
|
+
import type { TableInstance } from "element-plus";
|
|
3
|
+
import type { ExtractPropTypes, InjectionKey, Ref, SetupContext } from "vue";
|
|
4
|
+
import type { makeSlots } from "../../../utils";
|
|
3
5
|
import type { PagedInput } from "./page.type";
|
|
4
6
|
import type { FaTableSlots, faTableEmits, faTableProps } from "./table";
|
|
5
|
-
import type {
|
|
7
|
+
import type { DefaultRow, FaTableState } from "./table.state";
|
|
6
8
|
import type { FaTableColumnCtx, FaTableEnumColumnCtx } from "./table.type";
|
|
7
|
-
import type { TableInstance } from "element-plus";
|
|
8
|
-
import type { ExtractPropTypes, InjectionKey, Ref, SetupContext } from "vue";
|
|
9
9
|
/** FaTable 状态的依赖注入键。 */
|
|
10
10
|
export declare const tableStateKey: InjectionKey<FaTableState>;
|
|
11
11
|
/** FaTable 枚举映射的依赖注入键。 */
|
|
@@ -27,7 +27,7 @@ interface TableComposable {
|
|
|
27
27
|
doRender: () => Promise<void>;
|
|
28
28
|
doLoading: (loadingFunction: () => void | Promise<void>, loadingText?: string) => void;
|
|
29
29
|
handleCustomCellClick: (emitName: string, context: {
|
|
30
|
-
row:
|
|
30
|
+
row: DefaultRow;
|
|
31
31
|
column: FaTableColumnCtx;
|
|
32
32
|
$index: number;
|
|
33
33
|
}) => void;
|