fast-element-plus 1.0.0-alpha.9 → 1.0.1
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/dist/index.full.js +3180 -4581
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +3180 -4581
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +2 -2
- package/es/components/avatar/index.d.ts +1 -1
- package/es/components/avatar/index.mjs.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +18 -102
- package/es/components/avatar/src/avatar.mjs +1 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/index.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +35 -180
- package/es/components/button/src/button.mjs +14 -4
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.d.ts +58 -194
- package/es/components/contextMenu/src/contextMenu.mjs +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +45 -297
- package/es/components/drawer/src/drawer.d.ts +72 -450
- package/es/components/form/src/form.d.ts +28 -133
- package/es/components/form/src/formItem.d.ts +32 -137
- package/es/components/iconSelector/src/iconSelector.mjs +2 -2
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/es/components/image/src/image.d.ts +43 -253
- package/es/components/select/src/select.d.ts +25 -81
- package/es/components/select/src/select.mjs +1 -0
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +19 -61
- package/es/components/selectV2/src/selectV2.d.ts +25 -81
- package/es/components/selectV2/src/selectV2.mjs +1 -0
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +5 -12
- package/es/components/table/src/table.mjs +4 -6
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.d.ts +1 -1
- package/es/components/table/src/table.type.d.ts +4 -1
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +1 -1
- package/es/components/table/src/tableColumn.mjs +7 -7
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableSearchForm.d.ts +6 -4
- package/es/components/table/src/tableSearchForm.mjs +2 -2
- package/es/components/table/src/tableSearchForm.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +3 -3
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +23 -653
- package/es/components/tree/src/tree.mjs +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/es/components/treeSelect/src/treeSelect.mjs +1 -0
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +298 -460
- package/es/components/upload/src/useUpload.mjs +2 -2
- package/es/components/upload/src/useUpload.mjs.map +1 -1
- package/es/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/es/components/uploadImage/src/uploadImage.mjs +1 -1
- package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
- package/es/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/es/components/uploadImages/src/uploadImages.mjs +4 -4
- package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
- package/es/constants/regex.mjs +13 -13
- package/es/constants/regex.mjs.map +1 -1
- package/es/directive.d.ts +1 -1
- package/es/directives/click-copy/index.d.ts +1 -1
- package/es/directives/click-debounce/index.d.ts +1 -1
- package/es/directives/click-draggable/index.d.ts +1 -1
- package/es/directives/click-icon-copy/index.d.ts +1 -1
- package/es/directives/click-longpress/index.d.ts +1 -1
- package/es/directives/click-throttle/index.d.ts +1 -1
- package/es/element-plus.mjs +1 -1
- package/es/element-plus.mjs.map +1 -1
- package/es/make-installer.mjs +4 -0
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/index.d.ts +1 -1
- package/lib/components/avatar/index.js.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +18 -102
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/button/src/button.d.ts +35 -180
- package/lib/components/button/src/button.js +1 -1
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.d.ts +58 -194
- package/lib/components/contextMenu/src/contextMenu.js +1 -1
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +45 -297
- package/lib/components/drawer/src/drawer.d.ts +72 -450
- package/lib/components/form/src/form.d.ts +28 -133
- package/lib/components/form/src/formItem.d.ts +32 -137
- package/lib/components/image/src/image.d.ts +43 -253
- package/lib/components/select/src/select.d.ts +25 -81
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +19 -61
- package/lib/components/selectV2/src/selectV2.d.ts +25 -81
- package/lib/components/selectV2/src/selectV2.js +1 -1
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/src/table.d.ts +5 -12
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.d.ts +1 -1
- package/lib/components/table/src/table.type.d.ts +4 -1
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +1 -1
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableSearchForm.d.ts +6 -4
- package/lib/components/table/src/tableSearchForm.js +1 -1
- package/lib/components/table/src/tableSearchForm.js.map +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +23 -653
- package/lib/components/tree/src/tree.js +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/lib/components/treeSelect/src/treeSelect.js +1 -1
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +298 -460
- package/lib/components/upload/src/useUpload.js +1 -1
- package/lib/components/upload/src/useUpload.js.map +1 -1
- package/lib/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/lib/components/uploadImage/src/uploadImage.js +1 -1
- package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
- package/lib/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/lib/components/uploadImages/src/uploadImages.js +1 -1
- package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
- package/lib/constants/regex.js +1 -1
- package/lib/constants/regex.js.map +1 -1
- package/lib/directive.d.ts +1 -1
- package/lib/directives/click-copy/index.d.ts +1 -1
- package/lib/directives/click-debounce/index.d.ts +1 -1
- package/lib/directives/click-draggable/index.d.ts +1 -1
- package/lib/directives/click-icon-copy/index.d.ts +1 -1
- package/lib/directives/click-longpress/index.d.ts +1 -1
- package/lib/directives/click-throttle/index.d.ts +1 -1
- package/lib/element-plus.js +1 -1
- package/lib/element-plus.js.map +1 -1
- package/lib/make-installer.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +8 -8
- package/styles/components/contextMenu.scss +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumn.mjs","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject, isString } from \"lodash-unified\";\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 { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\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/**\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<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: 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<any>; $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: any; 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\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: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\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>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 制单信息计算 */\n\t\tsubmitInfoField: {\n\t\t\ttype: definePropType<{ submitClerkName?: string; submitTime?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tsubmitClerkName: \"submitClerkName\",\n\t\t\t\tsubmitTime: \"submitTime\",\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: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\tisString(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\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(tableUtil.handleRowAccordingToProp(row, props.prop));\n\t\t\t}\n\t\t};\n\n\t\tconst getTagType = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\") as any;\n\t\t};\n\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\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\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $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(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\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\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\tconst handleCopyClick = async (value): Promise<void> => {\n\t\t\ttry {\n\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon class=\"fa__copy-icon\" title=\"复制\" onClick={() => handleCopyClick(value)}>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\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 cellValue;\n\t\t\t}\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"submitInfo\") {\n\t\t\t\tconst submitClerkName = row[props.submitInfoField?.submitClerkName ?? \"submitClerkName\"];\n\t\t\t\tconst submitTime = row[props.submitInfoField?.submitTime ?? \"submitTime\"];\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={submitTime}>\n\t\t\t\t\t\t\t{submitClerkName && <span style=\"margin-right: 5px;\">{submitClerkName}</span>}\n\t\t\t\t\t\t\t<span>{submitTime}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{submitTime && (\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{dateUtil.dateTimeFix(String(submitTime))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.tag) {\n\t\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue ? <ElTag type={getTagType({ row })}>{renderValue}</ElTag> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tlet dateFormat;\n\t\t\t\tswitch (props.type) {\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t\t: null;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (\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\tconst renderValue = row[props.prop];\n\t\t\t\tif (renderValue) {\n\t\t\t\t\tif (isNumber(renderValue)) {\n\t\t\t\t\t\tlet useGrouping = false;\n\t\t\t\t\t\tlet maximumFractionDigits: number;\n\t\t\t\t\t\tswitch (props.type) {\n\t\t\t\t\t\t\tcase \"d2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderValue.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}) as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn renderValue;\n\t\t\t} else if (props.link) {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t\t$index,\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}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t\t</ElText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = 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<any>>;\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\"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<any>>;\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\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}\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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\ttableState.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={[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={row[props.prop]} fit=\"cover\" 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\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}\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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tdefaultRender({ row, column, $index }),\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"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","copy","link","spanProp","click","clickEmit","dateFix","dateFormat","tag","enum","dataDeleteField","submitInfoField","submitClerkName","submitTime","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","renderCellData","enumKey","enumData","get","tableUtil","filterEnum","handleRowAccordingToProp","formatValue","getTagType","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","getTableDefaultSlots","autoWidthRender","handleCopyClick","stringUtil","ElMessage","message","error","consoleError","copyRender","ElIcon","onClick","CopyDocument","formatterRender","cellValue","defaultRender","_slot","_Fragment","ElTag","dateUtil","dateTimeFix","renderValue","_slot2","dayjs","format","useGrouping","maximumFractionDigits","toLocaleString","minimumFractionDigits","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","hideImage","ElImage","artwork","FaImage","notImage"],"mappings":";;;;;;;;;;;AAUuD,SAAAA,QAAAC,GAAA;AAAA,SAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAA,qBAAA,CAAAK,QAAAL,CAAA;AAAA;AAOhD,MAAMM,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAI/BC,MAAM;AAAA,IACLA,MAAMC;AAAAA,IACNC,SAAS;AAAA;;;;EAKVC,OAAOF;AAAAA;AAAAA;AAAAA;AAAAA,EAIPG,WAAWH;AAAAA;AAAAA;AAAAA;AAAAA,EAIXI,gBAAgBJ;AAAAA;AAAAA;AAAAA;AAAAA,EAIhBK,UAAUL;AAAAA;AAAAA;AAAAA;AAAAA,EAIVM,MAAMN;AAAAA;AAAAA;AAAAA;AAAAA,EAINO,OAAO;AAAA,IACNR,MAAM,CAACC,QAAQQ,MAAM;AAAA,IACrBP,SAAS;AAAA;;;;EAKVQ,UAAU;AAAA,IACTV,MAAM,CAACC,QAAQQ,MAAM;AAAA,IACrBP,SAAS;AAAA;;;;EAKVS,cAAcC;AAAAA;AAAAA;AAAAA;AAAAA,EAIdC,UAAU;AAAA,IACTb,MAAM,CAACc,SAASb,MAAM;AAAA,IACtBC,SAAS;AAAA;;;;EAKVa,YAAYH;AAAAA;AAAAA;AAAAA;AAAAA,EAIZI,QAAQ,CAACf,QAAQW,UAAUK,KAAK;AAAA;AAAA;AAAA;AAAA,EAIhCC,WAAW;AAAA,IACVlB,MAAMc;AAAAA,IACNZ,SAAS;AAAA;;;;EAKViB,WAAWlB;AAAAA;AAAAA;AAAAA;AAAAA,EAIXmB,OAAOnB;AAAAA;AAAAA;AAAAA;AAAAA,EAIPoB,aAAapB;AAAAA;AAAAA;AAAAA;AAAAA,EAIbqB,qBAAqB;AAAA,IACpBtB,MAAM,CAACc,SAASpB,MAAM;AAAA,IACtBQ,SAASqB;AAAAA;;;;EAKVC,OAAO,CAACV,SAASb,MAAM;AAAA;AAAA;AAAA;AAAA,EAIvBwB,WAAWb;AAAAA;AAAAA;AAAAA;AAAAA,EAIXc,YAAYd;AAAAA;AAAAA;AAAAA;AAAAA,EAIZe,kBAAkBb;AAAAA;AAAAA;AAAAA;AAAAA,EAIlBc,cAAchB;AAAAA;AAAAA;AAAAA;AAAAA,EAIdiB,eAAeZ;AAAAA;AAAAA;AAAAA;AAAAA,EAIfa,SAASb;AAAAA;AAAAA;AAAAA;AAAAA,EAITc,iBAAiB9B;AAAAA;AAAAA;AAAAA;AAAAA,EAIjB+B,gBAAgB;AAAA,IACfhC,MAAMc;AAAAA,IACNZ,SAAS;AAAA;;;;EAKV+B,iBAAiBhC;AAAAA;AAAAA;AAAAA;AAAAA,EAIjBiC,OAAO,CAACzB,QAAQG,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIxBuB,YAAY;AAAA,IACXnC,MAAMiB;AAAAA,IACNf,SAASA,MAAgD;AACxD,aAAO,CAAC,aAAa,cAAc,IAAI;AAAA,IACxC;AAAA,IACAkC,WAAYC,SAAwD;AACnE,aAAOA,IAAIC,MAAOC,WAAkB,CAAC,aAAa,cAAc,IAAI,EAAEC,SAASD,KAAK,CAAC;AAAA,IACtF;AAAA,EACD;AACD;AAuBA,MAAA,8CAA+B;AAAA,EAC9BE,MAAM;AAAA,EACNC,OAAO;AAAA,IACN,GAAG3C;AAAAA;AAAAA;AAAAA;AAAAA,IAIHC,MAAM;AAAA,MACLA,MAAM2C,eAAkC1C,MAAM;AAAA,MAC9CC,SAAS;AAAA;;;;IAKVM,OAAO;AAAA,MACNR,MAAM,CAACC,QAAQQ,MAAM;AAAA,MACrBP,SAAS;AAAA;;IAGVkB,OAAO;AAAA,MACNpB,MAAMC;AAAAA,MACNC,SAAS;AAAA;;IAGVmB,aAAa;AAAA,MACZrB,MAAMC;AAAAA,MACNC,SAAS;AAAA;;IAGV0C,MAAM9B;AAAAA;AAAAA,IAEN+B,YAAY;AAAA,MACX7C,MAAM,CAACC,QAAQQ,MAAM;AAAA;;IAGtBqC,WAAWhC;AAAAA;AAAAA,IAEXiC,MAAM9C;AAAAA;AAAAA,IAEN+C,YAAY/C;AAAAA;AAAAA,IAEZgD,cAAc;AAAA,MACbjD,MAAM2C,eACL/B,QACD;AAAA;;IAGDsC,QAAQ;AAAA,MACPlD,MAAM2C,eAEJ/B,QAAQ;AAAA;;IAGXuC,WAAW;AAAA,MACVnD,MAAM2C,eAAmC1B,KAAK;AAAA;;IAG/CmC,MAAMtC;AAAAA;AAAAA,IAENuC,MAAMvC;AAAAA;AAAAA,IAENwC,UAAUrD;AAAAA;AAAAA,IAEVsD,OAAO;AAAA,MACNvD,MAAM2C,eAAyE/B,QAAQ;AAAA;;IAGxF4C,WAAWvD;AAAAA;AAAAA,IAEXwD,SAAS3C;AAAAA;AAAAA,IAET4C,YAAY;AAAA,MACX1D,MAAM2C,eAAwC1C,MAAM;AAAA;;IAGrD0D,KAAK7C;AAAAA;AAAAA,IAEL8C,MAAM;AAAA,MACL5D,MAAM2C,eAAsC,CAAC1B,OAAOL,QAAQ,CAAC;AAAA;;IAG9DiD,iBAAiB5D;AAAAA;AAAAA,IAEjB6D,iBAAiB;AAAA,MAChB9D,MAAM2C,eAAkEjD,MAAM;AAAA,MAC9EQ,SAASA,OAAO;AAAA,QACf6D,iBAAiB;AAAA,QACjBC,YAAY;AAAA;IAEd;AAAA;EAEDC,OAAO;AAAA;AAAA,IAENC,cAAeC,SAAyBC,SAASD,GAAG;AAAA;AAAA,IAEpDE,iBAAiBA,CAACC,UAAkB;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,MAAQC;AAAAA,IAA+D,MACjHL,SAASE,QAAQ,KAAKI,SAASH,GAAG,KAAKG,SAASF,MAAM,KAAKG,SAASF,MAAM;AAAA;EAE5EG,OAAOC,UAAS;AAAA,EAChBC,MAAMpC,OAAO;AAAA,IAAEkC;AAAAA,IAAOG;AAAAA,EAAK,GAAG;AAC7B,UAAMC,cAAcC,cAAa;AACjC,UAAMC,aAAaC,OAAOC,aAAa;AACvC,UAAMC,UAAUF,OAAOG,UAAU;AAEjC,UAAMC,YAAYC,SAAS,MAAM9C,KAAoC;AAErE,UAAM+C,iBAAiBA,CAAC;AAAA,MAAElB;AAAAA,IAAkB,MAAW;AACtD,UAAImB,UAAUhD,MAAMnC;AACpB,UAAI6D,SAAS1B,MAAMkB,IAAI,GAAG;AACzB8B,kBAAUhD,MAAMkB;AAAAA,MACjB;AACA,YAAM+B,WAAWN,QAAQO,IAAIF,OAAO;AACpC,UAAIC,UAAU;AACb,eAAOE,UAAUC,WAAWD,UAAUE,yBAAyBxB,KAAK7B,MAAMnC,IAAI,GAAGoF,QAAQ;AAAA,MAC1F,OAAO;AACN,eAAOE,UAAUG,YAAYH,UAAUE,yBAAyBxB,KAAK7B,MAAMnC,IAAI,CAAC;AAAA,MACjF;AAAA,IACD;AAEA,UAAM0F,aAAaA,CAAC;AAAA,MAAE1B;AAAAA,IAAkB,MAAW;AAClD,UAAImB,UAAUhD,MAAMnC;AACpB,UAAI6D,SAAS1B,MAAMkB,IAAI,GAAG;AACzB8B,kBAAUhD,MAAMkB;AAAAA,MACjB;AACA,YAAM+B,WAAWN,QAAQO,IAAIF,OAAO;AACpC,aAAOG,UAAUC,WAAWD,UAAUE,yBAAyBxB,KAAK7B,MAAMnC,IAAI,GAAGoF,UAAU,MAAM,KAAK;AAAA,IACvG;AAEA,UAAMO,WAAYC,aAAqC;AACtD,UAAIzD,MAAMI,WAAW;AACpB,eAAO0C,SAAS,MAAM;AACrB,gBAAMY,WAAWlB,WAAWmB,gBAAgBC,KAAMC,OAAMA,EAAEhG,SAASmC,MAAMnC,IAAI;AAC7E,cAAI6F,UAAU;AACb,mBAAO,GAAGA,SAAS5F,KAAK;AAAA,UACzB;AACA,iBAAO;AAAA,QACR,CAAC,EAAEgG;AAAAA,MACJ;AACA,UAAIxB,YAAYwB,UAAU,SAAS;AAClC,eAAO9D,MAAMG,cAAcH,MAAMlC,SAASkC,MAAMhC,YAAYyF,WAAW;AAAA,MACxE;AACA,aAAOzD,MAAMlC,SAASkC,MAAMhC,YAAYyF,WAAW;AAAA,IACpD;AAEA,UAAMM,wBAAyBC,QAAyB;AACvD,UAAIhE,MAAMI,WAAW;AACpB,eAAA6D,YAAA,OAAA;AAAA,UAAA,SACa,CAAC,4CAA4C,+CAA+CjE,MAAMnC,IAAI,EAAE;AAAA,QAAC,GAAA,CAAGmG,EAAE,CAAA;AAAA,MAE5H,OAAO;AACN,eAAOA;AAAAA,MACR;AAAA,IACD;AAEA,UAAMzD,eAAeA,CAAC;AAAA,MAAEuB;AAAAA,MAAQC;AAAAA,IAAwD,MAAe;AACtG,UAAI/B,MAAMO,cAAc;AACvB,eAAOwD,sBAAsB/D,MAAMO,aAAa;AAAA,UAAEuB;AAAAA,UAAQC;AAAAA,UAAQ,GAAGmC,qBAAqB1B,UAAU;AAAA,QAAE,CAAC,CAAC;AAAA,MACzG,WAAWxC,MAAMM,YAAY;AAC5B,eAAOyD,sBACN7B,MAAMlC,MAAMM,UAAU,KAAK4B,MAAMlC,MAAMM,UAAU,EAAE;AAAA,UAAEwB;AAAAA,UAAQC;AAAAA,UAAQ,GAAGmC,qBAAqB1B,UAAU;AAAA,QAAE,CAAC,CAC3G;AAAA,MACD,OAAO;AACN,eAAOuB,sBAAqBE,YAAA,QAAA,MAAA,CAAQjE,MAAMvC,KAAK,EAAQ;AAAA,MACxD;AAAA,IACD;AAEA,UAAM0G,kBAAmBH,QAAyB;AACjD,UAAIhE,MAAMI,WAAW;AACpB,eAAA6D,YAAA,OAAA;AAAA,UAAA,SAAmB,CAAC,qCAAqC,wCAAwCjE,MAAMnC,IAAI,EAAE;AAAA,QAAC,GAAA,CAAGmG,EAAE,CAAA;AAAA,MACpH,OAAO;AACN,eAAOA;AAAAA,MACR;AAAA,IACD;AAEA,UAAMI,kBAAkB,OAAON,UAAyB;AACvD,UAAI;AACH,cAAMO,WAAW3D,KAAKnD,OAAOuG,KAAK,CAAC;AACnCQ,kBAAU;AAAA,UACThH,MAAM;AAAA,UACNiH,SAAS;AAAA,QACV,CAAC;AAAA,MACF,SAASC,OAAO;AACfC,qBAAa,iBAAiBD,KAAK;AACnCF,kBAAU;AAAA,UACThH,MAAM;AAAA,UACNiH,SAAS;AAAA,QACV,CAAC;AAAA,MACF;AAAA,IACD;AAEA,UAAMG,aAAaA,CAACZ,OAAOpD,SAA4B;AACtD,cACEV,MAAMU,QAAQA,SACfoD,SAAKG,YAAAU,QAAA;AAAA,QAAA,SAAA;AAAA,QAAA,SAAA;AAAA,QAAA,WAC8CC,MAAMR,gBAAgBN,KAAK;AAAA,MAAC,GAAA;AAAA,QAAAtG,SAAAA,MAAA,CAAAyG,YAAAY,cAAA,MAAA,IAAA,CAAA;AAAA,OAAA;AAAA,IAKjF;AAEA,UAAMC,kBAAkBA,CAACjD,KAAUC,QAA6BiD,WAAgBvF,UAAuB;AACtG,UAAIsC,OAAO/C,WAAW;AACrB,eAAO+C,OAAO/C,UAAU8C,KAAKC,QAAQiD,WAAWvF,KAAK;AAAA,MACtD,OAAO;AACN,eAAOuF;AAAAA,MACR;AAAA,IACD;AAEA,UAAMC,gBAAgBA,CAAC;AAAA,MAAEnD;AAAAA,MAAKC;AAAAA,MAAQC;AAAAA,IAAkE,MAAe;AACtH,UAAI/B,MAAM1C,SAAS,cAAc;AAAA,YAAA2H;AAChC,cAAM5D,kBAAkBQ,IAAI7B,MAAMoB,iBAAiBC,mBAAmB,iBAAiB;AACvF,cAAMC,aAAaO,IAAI7B,MAAMoB,iBAAiBE,cAAc,YAAY;AACxE,eAAA2C,YAAAiB,UAAA,MAAA,CAAAjB,YAAA,OAAA;AAAA,UAAA,SAAA;AAAA,UAAA,SAEsF3C;AAAAA,WAAU,CAC5FD,mBAAe4C,YAAA,QAAA;AAAA,UAAA,SAAA;AAAA,WAAA,CAAsC5C,eAAe,CAAA,GAAQ4C,YAAA,QAAA,MAAA,CACtE3C,UAAU,CAAA,CAAA,CAAA,GAEjBA,cAAU2C,YAAAkB,OAAA;AAAA,UAAA,QAAA;AAAA,UAAA,SAAA;AAAA,UAAA,UAAA;AAAA,UAAA,QAAA;AAAA,QAAA,GAAArI,QAAAmI,QAERG,SAASC,YAAY9H,OAAO+D,UAAU,CAAC,CAAC,IAAA2D,QAAA;AAAA,UAAAzH,SAAAA,MAAA,CAAAyH,KAAA;AAAA,SAAA,CAE1C,CAAA;AAAA,MAGJ,WAAWjF,MAAMiB,KAAK;AACrB,cAAMqE,cAAcR,gBAAgBjD,KAAKC,QAAQiB,eAAe;AAAA,UAAElB;AAAAA,SAAK,GAAGE,MAAM;AAChF,eAAAkC,YAAAiB,UAAA,MAAA,CAEGR,WAAWY,WAAW,GACtBA,cAAWrB,YAAAkB,OAAA;AAAA,UAAA,QAAgB5B,WAAW;AAAA,YAAE1B;AAAAA,WAAK;AAAA,QAAC,GAAA/E,QAAGwI,WAAW,IAAXA,cAAW;AAAA,UAAA9H,SAAAA,MAAA,CAAX8H,WAAW;AAAA,QAAA,CAAA,IAAY,IAAI,CAAA;AAAA,MAGhF,WAAWtF,MAAM1C,SAAS,UAAU0C,MAAM1C,SAAS,UAAU0C,MAAM1C,SAAS,YAAY;AAAA,YAAAiI;AACvF,YAAIvE;AACJ,gBAAQhB,MAAM1C,MAAI;AAAA,UACjB,KAAK;AACJ0D,yBAAa;AACb;AAAA,UACD,KAAK;AACJA,yBAAa;AACb;AAAA,UACD,KAAK;AACJA,yBAAa;AACb;AAAA,QACF;AACA,cAAMsE,cAAczD,IAAI7B,MAAMnC,IAAI,IAC/BiH,gBAAgBjD,KAAKC,QAAQ0D,MAAM3D,IAAI7B,MAAMnC,IAAI,CAAC,EAAE4H,OAAOzF,MAAMgB,cAAcA,UAAU,GAAGe,MAAM,IAClG;AACH,eAAAkC,YAAAiB,UAAA,MAAA,CAEGR,WAAWY,WAAW,GACtBA,aACAtF,MAAMe,WAAWuE,eAAWrB,YAAAiB,UAAA,MAAA,CAAAjB,YAAA,MAAA,MAAA,IAAA,GAAAA,YAAAkB,OAAA;AAAA,UAAA,QAAA;AAAA,UAAA,SAAA;AAAA,UAAA,UAAA;AAAA,UAAA,QAAA;AAAA,QAAA,GAAArI,QAAAyI,SAIzBH,SAASC,YAAY9H,OAAO+H,WAAW,CAAC,CAAC,IAAAC,SAAA;AAAA,UAAA/H,SAAAA,MAAA,CAAA+H,MAAA;AAAA,SAAA,CAAA,CAAA,CAG5C,CAAA;AAAA,MAGJ,WACCvF,MAAM1C,SAAS,QACf0C,MAAM1C,SAAS,QACf0C,MAAM1C,SAAS,QACf0C,MAAM1C,SAAS,SACf0C,MAAM1C,SAAS,SACf0C,MAAM1C,SAAS,OACd;AACD,cAAMgI,cAAczD,IAAI7B,MAAMnC,IAAI;AAClC,YAAIyH,aAAa;AAChB,cAAIrD,SAASqD,WAAW,GAAG;AAC1B,gBAAII,cAAc;AAClB,gBAAIC;AACJ,oBAAQ3F,MAAM1C,MAAI;AAAA,cACjB,KAAK;AACJqI,wCAAwB;AACxB;AAAA,cACD,KAAK;AACJA,wCAAwB;AACxB;AAAA,cACD,KAAK;AACJA,wCAAwB;AACxB;AAAA,cACD,KAAK;AACJA,wCAAwB;AACxBD,8BAAc;AACd;AAAA,cACD,KAAK;AACJC,wCAAwB;AACxBD,8BAAc;AACd;AAAA,cACD,KAAK;AACJC,wCAAwB;AACxBD,8BAAc;AACd;AAAA,YACF;AACA,mBAAOJ,YAAYM,eAAe,SAAS;AAAA,cAC1CC,uBAAuB;AAAA,cACvBF;AAAAA,cACAD;AAAAA,YACD,CAAC;AAAA,UACF;AAAA,QACD;AACA,eAAOJ;AAAAA,MACR,WAAWtF,MAAMW,MAAM;AACtB,cAAM2E,cAAcR,gBAAgBjD,KAAKC,QAAQD,IAAI7B,MAAMnC,IAAI,GAAGkE,MAAM;AACxE,eAAOoC,gBAAeF,YAAAiB,UAAA,MAAA,CAEnBR,WAAWY,WAAW,GACtBA,eAAWrB,YAAA6B,QAAA;AAAA,UAAA,SAEH;AAAA,UAAwD,WACtDlB,MAAM;AAEd,gBAAI5E,MAAMmB,mBAAmBU,IAAI7B,MAAMmB,eAAe,MAAM,KAAM;AAClE,gBAAInB,MAAMa,OAAO;AAChBb,oBAAMa,MAAM;AAAA,gBAAEgB;AAAAA,gBAAKE;AAAAA,cAAO,CAAC;AAAA,YAC5B,OAAO;AACNM,mBAAK,mBAAmBrC,MAAMc,WAAW;AAAA,gBACxCe;AAAAA,gBACAC,QAAQe,UAAUiB;AAAAA,gBAClB/B;AAAAA,cACD,CAAC;AAAA,YACF;AAAA,UACD;AAAA,QAAC,GAAAjF,QAEAwI,WAAW,IAAXA,cAAW;AAAA,UAAA9H,SAAAA,MAAA,CAAX8H,WAAW;AAAA,QAAA,CAAA,CAEb,EAEH;AAAA,MACD,WAAWtF,MAAMQ,QAAQ;AACxB,eAAO2D,gBAAgBnE,MAAMQ,OAAO;AAAA,UAAEqB;AAAAA,UAAKC,QAAQe,UAAUiB;AAAAA,UAAO/B;AAAAA,UAAQ,GAAGmC,qBAAqB1B,UAAU;AAAA,QAAE,CAAC,CAAC;AAAA,MACnH,WAAWxC,MAAMK,MAAM;AACtB,eAAO8D,gBACNjC,MAAMlC,MAAMK,IAAI,KAAK6B,MAAMlC,MAAMK,IAAI,EAAE;AAAA,UAAEwB;AAAAA,UAAKC,QAAQe,UAAUiB;AAAAA,UAAO/B;AAAAA,UAAQ,GAAGmC,qBAAqB1B,UAAU;AAAA,QAAE,CAAC,CACrH;AAAA,MACD,OAAO;AACN,cAAM8C,cAAcR,gBAAgBjD,KAAKC,QAAQD,IAAI7B,MAAMnC,IAAI,GAAGkE,MAAM;AACxE,eAAOoC,gBAAeF,YAAAiB,UAAA,MAAA,CAEnBR,WAAWY,WAAW,GACtBA,WAAW,EAEd;AAAA,MACD;AAAA,IACD;AAEA,QAAIS,qBAAuDC,SAAShG,OAAO3C,kBAAkB,CAC5F,QACA,SACA,YACA,YACA,cACA,aACA,qBAAqB,CACrB;AAED4I,UACC,MAAMjG,OACN,MAAM;AACL+F,2BAAqBC,SAAShG,OAAO3C,kBAAkB,CACtD,QACA,YACA,YACA,cACA,aACA,qBAAqB,CACrB;AAAA,IACF,CACD;AAEA6I,cAAU,MAAAjC,YAAAiB,UAAA,MAAA;AAAA;AAAA,MAIPlF,MAAMS,WAAW0F,SAAMlC,YAAAmC,eAAAC,WAEjBN,mBAAmBjC,OAAK;AAAA,QAAA,YAClBN,SAAS,MAAM;AAAA,QAAC,YAChBxD,MAAM7B,WAAW,WAAW;AAAA,QAAK,cAC/B6B,MAAMP,cAAc,CAAC,cAAc,aAAa,IAAI;AAAA,QAAC,aACtDO,MAAMxB,aAAa,CAACwB,MAAMI;AAAAA,QAAS,wBACxBJ,MAAMpB,uBAAuB,SAAS,CAACoB,MAAMI,aAAa,CAACJ,MAAM1C;AAAAA,MAAI,CAAA,GAAA;AAAA,QAG1FgJ,QAAQA,CAAC;AAAA,UAAExE;AAAAA,UAAQC;AAAAA,cAA8DxB,aAAa;AAAA,UAAEuB;AAAAA,UAAQC;AAAAA,QAAO,CAAC;AAAA,QAChHvE,SAASA,MACRwC,MAAMS,UAAU8F,IAAKC,SACpBC,EACCC,iBAAiB,eAAe,GAChC;AAAA,UACC,GAAGF;AAAAA,WAEJtE,KACD,CACD;AAAA,MAAC,CAAA,IAGDlC,MAAM1C,SAAS,UAAO2G,YAAAmC,eAAAC,WAEpBN,mBAAmBjC,OAAK;AAAA,QAAA,SAAA;AAAA,QAAA,aAAA;AAAA,QAAA,YAAA;AAAA,QAAA,YAIlB;AAAA,QAAK,aACJ;AAAA,QAAK,uBACK;AAAA,MAAK,CAAA,GAAA;AAAA,QAGzBwC,QAAQA,CAAC;AAAA,UAAExE;AAAAA,UAAQC;AAAAA,cAA8DxB,aAAa;AAAA,UAAEuB;AAAAA,UAAQC;AAAAA,QAAO,CAAC;AAAA,QAChHvE,SAASA,CAAC;AAAA,UAAEqE;AAAAA,QAA+D,MAC1EA,IAAI7B,MAAMnC,IAAI,IACb2E,WAAWmE,YAAS1C,YAAA2C,SAAA;AAAA,UAAA,SAAA;AAAA,UAAA,QAAA;AAAA,UAAA,OAIbC;AAAAA,UAAO,OAAA;AAAA,UAAA,kBAEI,CAAChF,IAAI7B,MAAMnC,IAAI,CAAC;AAAA,UAAC,sBAAA;AAAA,UAAA,oBAAA;AAAA,UAAA,qBAAA;AAAA,WAAA,IAAA,IAAAoG,YAAA6C,SAAA;AAAA,UAAA,QAAA;AAAA,UAAA,OAMfjF,IAAI7B,MAAMnC,IAAI;AAAA,UAAC,OAAA;AAAA,UAAA,SAAA;AAAA,WAAA,IAAA,IAClCoG,YAAA2C,SAAA;AAAA,UAAA,SAAA;AAAA,UAAA,QAAA;AAAA,UAAA,OAEmCG;AAAAA,UAAQ,OAAA;AAAA,QAAA,GAAA,IAAA;AAAA,OAC5C;AAAA;AAAA,QAIJ9C,YAAAmC,eAAAC,WAEKN,mBAAmBjC,OAAK;AAAA,UAAA,YAClBN,SAAS,MAAM;AAAA,UAAC,YAChBxD,MAAM7B,WAAW,WAAW;AAAA,UAAK,cAC/B6B,MAAMP,cAAc,CAAC,cAAc,aAAa,IAAI;AAAA,UAAC,aACtDO,MAAMxB,aAAa,CAACwB,MAAMI;AAAAA,UAAS,wBACxBJ,MAAMpB,uBAAuB,SAAS,CAACoB,MAAMI,aAAa,CAACJ,MAAM1C;AAAAA,QAAI,CAAA,GAAA;AAAA,UAG1FgJ,QAAQA,CAAC;AAAA,YAAExE;AAAAA,YAAQC;AAAAA,gBAA8DxB,aAAa;AAAA,YAAEuB;AAAAA,YAAQC;AAAAA,UAAO,CAAC;AAAA,UAChHvE,SAASA,CAAC;AAAA,YAAEqE;AAAAA,YAAKC;AAAAA,YAAQC;AAAAA,gBACxBiD,cAAc;AAAA,YAAEnD;AAAAA,YAAKC;AAAAA,YAAQC;AAAAA,WAAQ;AAAA,QAAC,CAAA;AAAA;AAAA,IAGzC,EAGH;AAAA,EACF;AACD,CAAC;"}
|
|
1
|
+
{"version":3,"file":"tableColumn.mjs","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject, isString } from \"lodash-unified\";\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 { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\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/**\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<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: 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<any>; $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: any; 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\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: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\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>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 制单信息计算 */\n\t\tsubmitInfoField: {\n\t\t\ttype: definePropType<{ submitClerkName?: string; submitTime?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tsubmitClerkName: \"createdUserName\",\n\t\t\t\tsubmitTime: \"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: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\tisString(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\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(tableUtil.handleRowAccordingToProp(row, props.prop));\n\t\t\t}\n\t\t};\n\n\t\tconst getTagType = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\") as any;\n\t\t};\n\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\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\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $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(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\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\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\tconst handleCopyClick = async (value): Promise<void> => {\n\t\t\ttry {\n\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon class=\"fa__copy-icon\" title=\"复制\" onClick={() => handleCopyClick(value)}>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\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 cellValue;\n\t\t\t}\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"submitInfo\") {\n\t\t\t\tconst submitClerkName = row[props.submitInfoField?.submitClerkName ?? \"createdUserName\"];\n\t\t\t\tconst submitTime = row[props.submitInfoField?.submitTime ?? \"createdTime\"];\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={submitTime}>\n\t\t\t\t\t\t\t{submitClerkName && <span style=\"margin-right: 5px;\">{submitClerkName}</span>}\n\t\t\t\t\t\t\t<span>{submitTime}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{submitTime && (\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{dateUtil.dateTimeFix(String(submitTime))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.tag) {\n\t\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue ? <ElTag type={getTagType({ row })}>{renderValue}</ElTag> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tlet dateFormat;\n\t\t\t\tswitch (props.type) {\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t\t: null;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (\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\tconst renderValue = row[props.prop];\n\t\t\t\tif (renderValue) {\n\t\t\t\t\tif (isNumber(renderValue)) {\n\t\t\t\t\t\tlet useGrouping = false;\n\t\t\t\t\t\tlet maximumFractionDigits: number;\n\t\t\t\t\t\tswitch (props.type) {\n\t\t\t\t\t\t\tcase \"d2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderValue.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}) as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn renderValue;\n\t\t\t} else if (props.link) {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t\t$index,\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}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t\t</ElText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = 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<any>>;\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\"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<any>>;\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\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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\ttableState.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={[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={row[props.prop]} fit=\"cover\" original />\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\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<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tdefaultRender({ row, column, $index }),\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"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","copy","link","spanProp","click","clickEmit","dateFix","dateFormat","tag","enum","dataDeleteField","submitInfoField","submitClerkName","submitTime","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","renderCellData","enumKey","enumData","get","tableUtil","filterEnum","handleRowAccordingToProp","formatValue","getTagType","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","getTableDefaultSlots","autoWidthRender","handleCopyClick","stringUtil","ElMessage","message","error","consoleError","copyRender","ElIcon","onClick","CopyDocument","formatterRender","cellValue","defaultRender","_slot","_Fragment","ElTag","dateUtil","dateTimeFix","renderValue","_slot2","dayjs","format","useGrouping","maximumFractionDigits","toLocaleString","minimumFractionDigits","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","hideImage","ElImage","artwork","FaImage","notImage"],"mappings":"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"}
|
|
@@ -15,12 +15,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
15
15
|
/** @description 折叠搜素 */
|
|
16
16
|
collapsedSearch: {
|
|
17
17
|
type: BooleanConstructor;
|
|
18
|
-
|
|
18
|
+
default: boolean;
|
|
19
19
|
};
|
|
20
20
|
/** @description 高级搜素抽屉 */
|
|
21
21
|
advancedSearchDrawer: {
|
|
22
22
|
type: BooleanConstructor;
|
|
23
|
-
|
|
23
|
+
default: boolean;
|
|
24
24
|
};
|
|
25
25
|
/** @description Grid布局列配置 */
|
|
26
26
|
cols: {
|
|
@@ -52,12 +52,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
52
52
|
/** @description 折叠搜素 */
|
|
53
53
|
collapsedSearch: {
|
|
54
54
|
type: BooleanConstructor;
|
|
55
|
-
|
|
55
|
+
default: boolean;
|
|
56
56
|
};
|
|
57
57
|
/** @description 高级搜素抽屉 */
|
|
58
58
|
advancedSearchDrawer: {
|
|
59
59
|
type: BooleanConstructor;
|
|
60
|
-
|
|
60
|
+
default: boolean;
|
|
61
61
|
};
|
|
62
62
|
/** @description Grid布局列配置 */
|
|
63
63
|
cols: {
|
|
@@ -82,5 +82,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
82
82
|
};
|
|
83
83
|
}>> & Readonly<{}>, {
|
|
84
84
|
cols: string | number | Record<FaLayoutGridBreakPoint, number>;
|
|
85
|
+
collapsedSearch: boolean;
|
|
86
|
+
advancedSearchDrawer: boolean;
|
|
85
87
|
}, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaTableSearchFormSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
86
88
|
export default _default;
|
|
@@ -22,12 +22,12 @@ const TableSearchForm = /* @__PURE__ */ defineComponent({
|
|
|
22
22
|
/** @description 折叠搜素 */
|
|
23
23
|
collapsedSearch: {
|
|
24
24
|
type: Boolean,
|
|
25
|
-
|
|
25
|
+
default: true
|
|
26
26
|
},
|
|
27
27
|
/** @description 高级搜素抽屉 */
|
|
28
28
|
advancedSearchDrawer: {
|
|
29
29
|
type: Boolean,
|
|
30
|
-
|
|
30
|
+
default: false
|
|
31
31
|
},
|
|
32
32
|
/** @description Grid布局列配置 */
|
|
33
33
|
cols: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSearchForm.mjs","sources":["../../../../../packages/components/table/src/tableSearchForm.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElIcon, useGlobalSize } from \"element-plus\";\nimport { ArrowDown, ArrowUp, Eleme, Refresh, Search } from \"@element-plus/icons-vue\";\nimport { FaDrawer } from \"@fast-element-plus/components/drawer\";\nimport { FaLayoutGrid, FaLayoutGridItem } from \"@fast-element-plus/components/layoutGrid\";\nimport { Brush } from \"@fast-element-plus/icons-vue\";\nimport { definePropType, makeSlots, useRender, withDefineType } from \"@fast-china/utils\";\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 \"@fast-element-plus/components/drawer\";\nimport type { FaLayoutGridBreakPoint, FaLayoutGridInstance, FaLayoutGridItemResponsive } from \"@fast-element-plus/components/layoutGrid\";\n\ntype FaTableSearchFormSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => 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,\n\t\t},\n\t\t/** @description 折叠搜素 */\n\t\tcollapsedSearch: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/** @description 高级搜素抽屉 */\n\t\tadvancedSearchDrawer: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\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: 2, sm: 3, md: 4, lg: 5, xl: 6 }),\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t\t/** @description 重置 */\n\t\treset: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormSlots>(),\n\tsetup(props, { slots, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\t// 获取响应式断点\n\t\tconst gridRef = ref<FaLayoutGridInstance>();\n\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst breakPoint = computed<FaLayoutGridBreakPoint>(() => gridRef.value?.breakPoint);\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\tprev +=\n\t\t\t\t\t\t(current.search[breakPoint.value]?.span ?? current.search?.span ?? 1) +\n\t\t\t\t\t\t(current.search[breakPoint.value]?.offset ?? current.search?.offset ?? 0);\n\t\t\t\t\tif (typeof props.cols !== \"number\") {\n\t\t\t\t\t\tif (prev >= props.cols[breakPoint.value]) show = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (prev >= props.cols) show = true;\n\t\t\t\t\t}\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: undefined,\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): {\n\t\t\tspan: number;\n\t\t\toffset: number;\n\t\t\txs: FaLayoutGridItemResponsive;\n\t\t\tsm: FaLayoutGridItemResponsive;\n\t\t\tmd: FaLayoutGridItemResponsive;\n\t\t\tlg: FaLayoutGridItemResponsive;\n\t\t\txl: FaLayoutGridItemResponsive;\n\t\t} => {\n\t\t\treturn {\n\t\t\t\tspan: item?.span,\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 = props.cols[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\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\t() =>\n\t\t\t\ttableState.searchColumns.length > 0 && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={faTableSearchFormRef}\n\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\"el-card fa-table__search\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"fa-table__search-hidden\": !props.show,\n\t\t\t\t\t\t\t\t\"fa-table__search__disable\": tableState.loading,\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\t\t<form class=\"el-form el-form--default el-form--label-right\">\n\t\t\t\t\t\t\t{!state.refreshing && (\n\t\t\t\t\t\t\t\t<FaLayoutGrid\n\t\t\t\t\t\t\t\t\tref={gridRef}\n\t\t\t\t\t\t\t\t\tcollapsed={state.collapsed}\n\t\t\t\t\t\t\t\t\tgap={_globalSize.value === \"small\" ? [20, 0] : [20, 10]}\n\t\t\t\t\t\t\t\t\tcols={props.cols}\n\t\t\t\t\t\t\t\t\tonBreakPointChange={handleBreakPointChange}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{searchColumns.value.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item?.search?.key ?? item.prop} {...getResponsive(item.search)} index={index}>\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\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))}\n\t\t\t\t\t\t\t\t\t<FaLayoutGridItem suffix>\n\t\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\t<ElButton\n\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\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"搜索\"\n\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\tplain\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => 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\t\t搜索\n\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\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\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"重置\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Brush}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => 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\t\t重置\n\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t{props.advancedSearchDrawer\n\t\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\t<ElButton\n\t\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\t\tloadingIcon={Eleme}\n\t\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\t\ttype=\"info\"\n\t\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\t\ticon={Search}\n\t\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\t>\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</ElButton>\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: state.showCollapsed && (\n\t\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\t\tloading={tableState.loading}\n\t\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\t\ttitle={state.collapsed ? \"展开\" : \"折叠\"}\n\t\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\t\ttype=\"primary\"\n\t\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\t\tstate.collapsed = !state.collapsed;\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{state.collapsed ? \"展开\" : \"折叠\"}\n\t\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\t</ElButton>\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</div>\n\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</form>\n\t\t\t\t\t\t{props.advancedSearchDrawer && state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t\t<FaDrawer\n\t\t\t\t\t\t\t\tref={advancedSearchRef}\n\t\t\t\t\t\t\t\tclass=\"fa-table__search-advanced\"\n\t\t\t\t\t\t\t\tsize=\"20%\"\n\t\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\t\tappendToBody={false}\n\t\t\t\t\t\t\t\tshowCloseButton={false}\n\t\t\t\t\t\t\t\tshowConfirmButton={false}\n\t\t\t\t\t\t\t\tshowFullscreen={false}\n\t\t\t\t\t\t\t\tshowRefresh={false}\n\t\t\t\t\t\t\t\tonConfirmClick={() => props.search()}\n\t\t\t\t\t\t\t>\n\t\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\t<FaLayoutGrid gap={[20, 0]} cols={{ xs: 2, sm: 3, md: 4, lg: 5, xl: 6 }}>\n\t\t\t\t\t\t\t\t\t\t{state.advancedSearchColumns.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.prop ?? item?.search?.key} {...getResponsive(item.search)} index={index}>\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\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))}\n\t\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t</FaDrawer>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t);\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","show","type","Boolean","required","collapsedSearch","advancedSearchDrawer","cols","definePropType","String","Number","default","xs","sm","md","lg","xl","search","Function","reset","slots","makeSlots","setup","expose","_globalSize","useGlobalSize","gridRef","ref","tableState","inject","tableStateKey","breakPoint","computed","value","state","reactive","refreshing","height","collapsed","showCollapsed","searchColumns","reduce","prev","current","span","offset","withDefineType","advancedSearchColumns","undefined","faTableSearchFormRef","advancedSearchRef","getResponsive","item","handleBreakPointChange","filter","f","slice","watch","newValue","setTimeout","immediate","useRender","_slot","length","_createVNode","loading","FaLayoutGrid","map","index","FaLayoutGridItem","_mergeProps","key","prop","label","slot","column","getTableDefaultSlots","FaTableSearchFormItem","ElButton","Eleme","Refresh","onClick","_createTextVNode","Brush","Search","open","ElIcon","ArrowDown","ArrowUp","FaDrawer","onConfirmClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableSearchForm.mjs","sources":["../../../../../packages/components/table/src/tableSearchForm.tsx"],"sourcesContent":["import { computed, defineComponent, inject, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElIcon, useGlobalSize } from \"element-plus\";\nimport { ArrowDown, ArrowUp, Eleme, Refresh, Search } from \"@element-plus/icons-vue\";\nimport { FaDrawer } from \"@fast-element-plus/components/drawer\";\nimport { FaLayoutGrid, FaLayoutGridItem } from \"@fast-element-plus/components/layoutGrid\";\nimport { Brush } from \"@fast-element-plus/icons-vue\";\nimport { definePropType, makeSlots, useRender, withDefineType } from \"@fast-china/utils\";\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 \"@fast-element-plus/components/drawer\";\nimport type { FaLayoutGridBreakPoint, FaLayoutGridInstance, FaLayoutGridItemResponsive } from \"@fast-element-plus/components/layoutGrid\";\n\ntype FaTableSearchFormSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => 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,\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: 2, sm: 3, md: 4, lg: 5, xl: 6 }),\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t\t/** @description 重置 */\n\t\treset: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormSlots>(),\n\tsetup(props, { slots, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\t// 获取响应式断点\n\t\tconst gridRef = ref<FaLayoutGridInstance>();\n\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst breakPoint = computed<FaLayoutGridBreakPoint>(() => gridRef.value?.breakPoint);\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\tprev +=\n\t\t\t\t\t\t(current.search[breakPoint.value]?.span ?? current.search?.span ?? 1) +\n\t\t\t\t\t\t(current.search[breakPoint.value]?.offset ?? current.search?.offset ?? 0);\n\t\t\t\t\tif (typeof props.cols !== \"number\") {\n\t\t\t\t\t\tif (prev >= props.cols[breakPoint.value]) show = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (prev >= props.cols) show = true;\n\t\t\t\t\t}\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: undefined,\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): {\n\t\t\tspan: number;\n\t\t\toffset: number;\n\t\t\txs: FaLayoutGridItemResponsive;\n\t\t\tsm: FaLayoutGridItemResponsive;\n\t\t\tmd: FaLayoutGridItemResponsive;\n\t\t\tlg: FaLayoutGridItemResponsive;\n\t\t\txl: FaLayoutGridItemResponsive;\n\t\t} => {\n\t\t\treturn {\n\t\t\t\tspan: item?.span,\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 = props.cols[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\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\t() =>\n\t\t\t\ttableState.searchColumns.length > 0 && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={faTableSearchFormRef}\n\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\"el-card fa-table__search\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"fa-table__search-hidden\": !props.show,\n\t\t\t\t\t\t\t\t\"fa-table__search__disable\": tableState.loading,\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\t\t<form class=\"el-form el-form--default el-form--label-right\">\n\t\t\t\t\t\t\t{!state.refreshing && (\n\t\t\t\t\t\t\t\t<FaLayoutGrid\n\t\t\t\t\t\t\t\t\tref={gridRef}\n\t\t\t\t\t\t\t\t\tcollapsed={state.collapsed}\n\t\t\t\t\t\t\t\t\tgap={_globalSize.value === \"small\" ? [20, 0] : [20, 10]}\n\t\t\t\t\t\t\t\t\tcols={props.cols}\n\t\t\t\t\t\t\t\t\tonBreakPointChange={handleBreakPointChange}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{searchColumns.value.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item?.search?.key ?? item.prop} {...getResponsive(item.search)} index={index}>\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\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))}\n\t\t\t\t\t\t\t\t\t<FaLayoutGridItem suffix>\n\t\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\t<ElButton\n\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\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"搜索\"\n\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\tplain\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => 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\t\t搜索\n\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\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\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"重置\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Brush}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => 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\t\t重置\n\t\t\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t\t\t\t{props.advancedSearchDrawer\n\t\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\t<ElButton\n\t\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\t\tloadingIcon={Eleme}\n\t\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\t\ttype=\"info\"\n\t\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\t\ticon={Search}\n\t\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\t>\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</ElButton>\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: state.showCollapsed && (\n\t\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\t\tloading={tableState.loading}\n\t\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\t\ttitle={state.collapsed ? \"展开\" : \"折叠\"}\n\t\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\t\ttype=\"primary\"\n\t\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\t\tstate.collapsed = !state.collapsed;\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{state.collapsed ? \"展开\" : \"折叠\"}\n\t\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\t</ElButton>\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</div>\n\t\t\t\t\t\t\t\t\t</FaLayoutGridItem>\n\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</form>\n\t\t\t\t\t\t{props.advancedSearchDrawer && state.advancedSearchColumns.length > 0 && (\n\t\t\t\t\t\t\t<FaDrawer\n\t\t\t\t\t\t\t\tref={advancedSearchRef}\n\t\t\t\t\t\t\t\tclass=\"fa-table__search-advanced\"\n\t\t\t\t\t\t\t\tsize=\"20%\"\n\t\t\t\t\t\t\t\ttitle=\"高级搜索\"\n\t\t\t\t\t\t\t\tappendToBody={false}\n\t\t\t\t\t\t\t\tshowCloseButton={false}\n\t\t\t\t\t\t\t\tshowConfirmButton={false}\n\t\t\t\t\t\t\t\tshowFullscreen={false}\n\t\t\t\t\t\t\t\tshowRefresh={false}\n\t\t\t\t\t\t\t\tonConfirmClick={() => props.search()}\n\t\t\t\t\t\t\t>\n\t\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\t<FaLayoutGrid gap={[20, 0]} cols={{ xs: 2, sm: 3, md: 4, lg: 5, xl: 6 }}>\n\t\t\t\t\t\t\t\t\t\t{state.advancedSearchColumns.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<FaLayoutGridItem key={item.prop ?? item?.search?.key} {...getResponsive(item.search)} index={index}>\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\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))}\n\t\t\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t</FaDrawer>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t);\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","show","type","Boolean","required","collapsedSearch","default","advancedSearchDrawer","cols","definePropType","String","Number","xs","sm","md","lg","xl","search","Function","reset","slots","makeSlots","setup","expose","_globalSize","useGlobalSize","gridRef","ref","tableState","inject","tableStateKey","breakPoint","computed","value","state","reactive","refreshing","height","collapsed","showCollapsed","searchColumns","reduce","prev","current","span","offset","withDefineType","advancedSearchColumns","undefined","faTableSearchFormRef","advancedSearchRef","getResponsive","item","handleBreakPointChange","filter","f","slice","watch","newValue","setTimeout","immediate","useRender","_slot","length","_createVNode","loading","FaLayoutGrid","map","index","FaLayoutGridItem","_mergeProps","key","prop","label","slot","column","getTableDefaultSlots","FaTableSearchFormItem","ElButton","Eleme","Refresh","onClick","_createTextVNode","Brush","Search","open","ElIcon","ArrowDown","ArrowUp","FaDrawer","onConfirmClick"],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ const useTable = (props, slots, emit) => {
|
|
|
65
65
|
initParam: {},
|
|
66
66
|
searchParam: {},
|
|
67
67
|
searchValueUpdate: "",
|
|
68
|
-
|
|
68
|
+
searchForm: props.searchForm,
|
|
69
69
|
hideImage: computed(() => props.hideImage),
|
|
70
70
|
selected: false,
|
|
71
71
|
selectedList: [],
|
|
@@ -343,9 +343,9 @@ const useTable = (props, slots, emit) => {
|
|
|
343
343
|
}
|
|
344
344
|
);
|
|
345
345
|
watch(
|
|
346
|
-
() => props.
|
|
346
|
+
() => props.searchForm,
|
|
347
347
|
(newValue) => {
|
|
348
|
-
state.
|
|
348
|
+
state.searchForm = newValue;
|
|
349
349
|
}
|
|
350
350
|
);
|
|
351
351
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTable.mjs","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tshowSearch: props.showSearch,\n\t\thideImage: computed(() => props.hideImage),\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\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\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns;\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\tcase \"Past1D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1W\":\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past6M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.showSearch,\n\t\t(newValue) => {\n\t\t\tstate.showSearch = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTable.mjs","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\thideImage: computed(() => props.hideImage),\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\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\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns;\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\tcase \"Past1D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1W\":\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past6M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":[],"mappings":"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"}
|