fast-element-plus 2.0.21 → 2.0.23

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.
Files changed (133) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/component.d.ts +88 -67
  3. package/dist/components/avatar/index.d.ts +3 -3
  4. package/dist/components/avatar/index.mjs.map +1 -1
  5. package/dist/components/avatar/src/avatar.d.ts +7 -7
  6. package/dist/components/button/index.d.ts +3 -3
  7. package/dist/components/button/index.mjs.map +1 -1
  8. package/dist/components/button/src/button.d.ts +7 -7
  9. package/dist/components/carNumber/index.d.ts +1 -1
  10. package/dist/components/carNumber/index.mjs.map +1 -1
  11. package/dist/components/carNumber/src/carNumber.d.ts +5 -5
  12. package/dist/components/contextMenu/index.d.ts +1 -1
  13. package/dist/components/contextMenu/index.mjs.map +1 -1
  14. package/dist/components/contextMenu/src/contextMenu.type.d.ts +1 -1
  15. package/dist/components/dialog/index.d.ts +3 -3
  16. package/dist/components/dialog/index.mjs.map +1 -1
  17. package/dist/components/dialog/src/dialog.d.ts +3 -3
  18. package/dist/components/drawer/index.d.ts +3 -3
  19. package/dist/components/drawer/index.mjs.map +1 -1
  20. package/dist/components/drawer/src/drawer.d.ts +3 -3
  21. package/dist/components/form/index.d.ts +4 -4
  22. package/dist/components/form/index.mjs.map +1 -1
  23. package/dist/components/form/src/form.d.ts +3 -3
  24. package/dist/components/form/src/formItem.d.ts +6 -6
  25. package/dist/components/form/utils/form.d.ts +2 -2
  26. package/dist/components/form/utils/form.mjs +2 -2
  27. package/dist/components/form/utils/form.mjs.map +1 -1
  28. package/dist/components/formItemTip/index.d.ts +2 -2
  29. package/dist/components/formItemTip/index.mjs.map +1 -1
  30. package/dist/components/icon/index.d.ts +2 -2
  31. package/dist/components/icon/index.mjs.map +1 -1
  32. package/dist/components/iconSelector/index.d.ts +1 -1
  33. package/dist/components/iconSelector/index.mjs.map +1 -1
  34. package/dist/components/image/index.d.ts +2 -2
  35. package/dist/components/image/index.mjs.map +1 -1
  36. package/dist/components/image/src/image.d.ts +1 -1
  37. package/dist/components/image/src/image.mjs.map +1 -1
  38. package/dist/components/inputDialogPage/index.d.ts +3 -3
  39. package/dist/components/inputDialogPage/index.mjs.map +1 -1
  40. package/dist/components/layoutGrid/index.d.ts +2 -2
  41. package/dist/components/layoutGrid/index.mjs.map +1 -1
  42. package/dist/components/select/index.d.ts +4 -4
  43. package/dist/components/select/index.mjs.map +1 -1
  44. package/dist/components/select/src/select.d.ts +11 -11
  45. package/dist/components/select/src/select.type.d.ts +2 -2
  46. package/dist/components/selectPage/index.d.ts +3 -3
  47. package/dist/components/selectPage/index.mjs.map +1 -1
  48. package/dist/components/selectPage/src/selectPage.d.ts +11 -11
  49. package/dist/components/selectV2/index.d.ts +3 -3
  50. package/dist/components/selectV2/index.mjs.map +1 -1
  51. package/dist/components/selectV2/src/selectV2.d.ts +4 -4
  52. package/dist/components/table/index.d.ts +4 -4
  53. package/dist/components/table/index.mjs.map +1 -1
  54. package/dist/components/table/src/page.type.d.ts +2 -2
  55. package/dist/components/table/src/table.d.ts +32 -3
  56. package/dist/components/table/src/table.mjs +33 -24
  57. package/dist/components/table/src/table.mjs.map +1 -1
  58. package/dist/components/table/src/table.type.d.ts +6 -9
  59. package/dist/components/table/src/table.type.mjs.map +1 -1
  60. package/dist/components/table/src/tableColumn.d.ts +2 -2
  61. package/dist/components/table/src/tableColumn.mjs +1 -1
  62. package/dist/components/table/src/tableColumn.mjs.map +1 -1
  63. package/dist/components/table/src/tableColumnSettingDialog.mjs +0 -4
  64. package/dist/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  65. package/dist/components/table/src/useTable.mjs +5 -1
  66. package/dist/components/table/src/useTable.mjs.map +1 -1
  67. package/dist/components/table/utils/table.d.ts +18 -15
  68. package/dist/components/table/utils/table.mjs +18 -15
  69. package/dist/components/table/utils/table.mjs.map +1 -1
  70. package/dist/components/tree/index.d.ts +3 -3
  71. package/dist/components/tree/index.mjs.map +1 -1
  72. package/dist/components/tree/src/tree.props.d.ts +2 -2
  73. package/dist/components/tree/src/tree.type.d.ts +2 -2
  74. package/dist/components/treeSelect/index.d.ts +3 -3
  75. package/dist/components/treeSelect/index.mjs.map +1 -1
  76. package/dist/components/treeSelect/src/treeSelect.d.ts +11 -11
  77. package/dist/components/upload/index.d.ts +3 -3
  78. package/dist/components/upload/index.mjs.map +1 -1
  79. package/dist/components/upload/utils/upload.d.ts +15 -10
  80. package/dist/components/upload/utils/upload.mjs +15 -10
  81. package/dist/components/upload/utils/upload.mjs.map +1 -1
  82. package/dist/components/uploadImage/index.d.ts +3 -3
  83. package/dist/components/uploadImage/index.mjs.map +1 -1
  84. package/dist/components/uploadImages/index.d.ts +3 -3
  85. package/dist/components/uploadImages/index.mjs.map +1 -1
  86. package/dist/index.css +1 -1
  87. package/dist/index.css.map +1 -1
  88. package/dist/index.global.min.js +4 -4
  89. package/dist/index.global.min.js.map +1 -1
  90. package/dist/internal/props.d.ts +3 -3
  91. package/dist/internal/props.mjs.map +1 -1
  92. package/dist/utils/async/index.d.ts +4 -4
  93. package/dist/utils/async/index.mjs +9 -9
  94. package/dist/utils/async/index.mjs.map +1 -1
  95. package/dist/utils/date/index.d.ts +8 -8
  96. package/dist/utils/date/index.mjs +16 -16
  97. package/dist/utils/date/index.mjs.map +1 -1
  98. package/dist/utils/dom/index.d.ts +1 -1
  99. package/dist/utils/dom/index.mjs +4 -4
  100. package/dist/utils/dom/index.mjs.map +1 -1
  101. package/dist/utils/object/index.d.ts +10 -10
  102. package/dist/utils/object/index.mjs +6 -6
  103. package/dist/utils/object/index.mjs.map +1 -1
  104. package/dist/utils/string/index.d.ts +4 -4
  105. package/dist/utils/string/index.mjs +14 -40
  106. package/dist/utils/string/index.mjs.map +1 -1
  107. package/dist/utils/vue/emits.d.ts +8 -8
  108. package/dist/utils/vue/emits.mjs +7 -7
  109. package/dist/utils/vue/emits.mjs.map +1 -1
  110. package/dist/utils/vue/expose.d.ts +3 -3
  111. package/dist/utils/vue/expose.mjs +3 -3
  112. package/dist/utils/vue/expose.mjs.map +1 -1
  113. package/dist/utils/vue/func.d.ts +2 -2
  114. package/dist/utils/vue/func.mjs +2 -2
  115. package/dist/utils/vue/func.mjs.map +1 -1
  116. package/dist/utils/vue/install.d.ts +9 -9
  117. package/dist/utils/vue/install.mjs +24 -24
  118. package/dist/utils/vue/install.mjs.map +1 -1
  119. package/dist/utils/vue/props.d.ts +4 -4
  120. package/dist/utils/vue/props.mjs +5 -5
  121. package/dist/utils/vue/props.mjs.map +1 -1
  122. package/dist/utils/vue/render.d.ts +1 -1
  123. package/dist/utils/vue/render.mjs +2 -2
  124. package/dist/utils/vue/render.mjs.map +1 -1
  125. package/dist/utils/vue/slots.d.ts +4 -4
  126. package/dist/utils/vue/slots.mjs.map +1 -1
  127. package/dist/utils/vue/with.d.ts +1 -1
  128. package/dist/utils/vue/with.mjs +1 -1
  129. package/dist/utils/vue/with.mjs.map +1 -1
  130. package/dist/version.d.ts +1 -1
  131. package/dist/version.mjs +1 -1
  132. package/dist/version.mjs.map +1 -1
  133. package/package.json +4 -4
@@ -3,7 +3,7 @@ import type { VNode } from "vue";
3
3
  import type { DefaultRow } from "./table.state";
4
4
  import type { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from "./table.type";
5
5
  export { tableColumnProps } from "../../../internal/props";
6
- /** FaTableColumn 插槽返回的行列上下文。 */
6
+ /** FaTableColumn 插槽返回的行列上下文 */
7
7
  export interface FaTableColumnSlotsResult {
8
8
  /** slots为表格内容的时候才会返回 */
9
9
  row?: DefaultRow;
@@ -352,7 +352,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
352
352
  minWidth: string | number;
353
353
  align: string;
354
354
  headerAlign: string;
355
- showOverflowTooltip: boolean | Partial<Omit<import("element-plus").UseTooltipProps, "visible" | "rawContent" | "referenceEl" | "triggerTargetEl" | "virtualTriggering" | "content" | "persistent" | "autoClose" | "virtualRef">> | undefined;
355
+ showOverflowTooltip: boolean | Partial<Omit<import("element-plus").UseTooltipProps, "rawContent" | "visible" | "referenceEl" | "triggerTargetEl" | "virtualTriggering" | "content" | "persistent" | "autoClose" | "virtualRef">> | undefined;
356
356
  reserveSelection: boolean;
357
357
  filterMultiple: boolean;
358
358
  sortOrders: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[];
@@ -385,7 +385,7 @@ var tableColumn_default = defineComponent({
385
385
  }, null);
386
386
  }
387
387
  }) : createVNode(ElTableColumn, mergeProps(elTableColumnProps.value, {
388
- "type": props.type === "selection" || props.type === "index" || props.type === "expand" ? props.type : "default",
388
+ "type": "default",
389
389
  "className": getClassName(),
390
390
  "minWidth": getWidth("auto"),
391
391
  "sortable": props.sortable ? "custom" : false,
@@ -1 +1 @@
1
- {"version":3,"file":"tableColumn.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent } from \"vue\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { tableColumnProps } from \"../../../internal/props\";\nimport { copy as copyToClipboard, definePropType, formatChineseRelativeTime, makeSlots, useProps, useRender } from \"../../../utils\";\nimport FaImage from \"../../image\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { VNode } from \"vue\";\nimport type { DefaultRow } from \"./table.state\";\nimport type {\n\tFaTableColumnCtx,\n\tFaTableColumnDateFormat,\n\tFaTableColumnType,\n\tFaTableDefaultSlotsResult,\n\tFaTableEnumColumnCtx,\n\tFaTableEnumColumnType,\n} from \"./table.type\";\n\nexport { tableColumnProps } from \"../../../internal/props\";\n\n/** FaTableColumn 插槽返回的行列上下文。 */\nexport interface FaTableColumnSlotsResult {\n\t/** slots为表格内容的时候才会返回 */\n\trow?: DefaultRow;\n\t/** slot为表头内容的时候返回 'TableColumnCtx<DefaultRow>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<DefaultRow> | FaTableColumnCtx;\n\t$index?: number;\n}\n\ntype FaTableColumnDefaultSlots = Record<string, FaTableDefaultSlotsResult & FaTableColumnSlotsResult>;\n\n/** FaTableColumn 的固定插槽和动态命名插槽。 */\nexport type FaTableColumnSlots = Record<string, unknown> & {\n\t/** 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number };\n\t/** 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * 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 * 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/** 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/** 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/** 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** 插槽名称 */\n\t\tslot: String,\n\t\t/** 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** 复制 */\n\t\tcopy: Boolean,\n\t\t/** 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** 合并行字段 */\n\t\tspanProp: String,\n\t\t/** Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: DefaultRow; $index?: number } & FaTableDefaultSlotsResult) => void>(Function),\n\t\t},\n\t\t/** 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([String, Array, Function]),\n\t\t},\n\t\t/** 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** 图片预览 */\n\t\timagePreview: (url: string) => typeof url === \"string\",\n\t\t/** 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }) =>\n\t\t\t(emitName == null || typeof emitName === \"string\") &&\n\t\t\ttypeof row === \"object\" &&\n\t\t\trow !== null &&\n\t\t\ttypeof column === \"object\" &&\n\t\t\tcolumn !== null &&\n\t\t\ttypeof $index === \"number\",\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableColumn 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst columnCtx = computed(() => props as FaTableColumnCtx);\n\n\t\t/** 获取ClassName */\n\t\tconst getClassName = () => {\n\t\t\tlet className = \"\";\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tif (props.dateFix) {\n\t\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.className) {\n\t\t\t\treturn `${className} ${props.className}`;\n\t\t\t}\n\t\t\treturn className;\n\t\t};\n\n\t\t/** 获取宽度 */\n\t\tconst getWidth = (defAttr: string) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\tconst autoWidthEntry = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\treturn autoWidthEntry ? `${autoWidthEntry.width}px` : \"auto\";\n\t\t\t}\n\t\t\tif (globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth || props.width || props.minWidth || defAttr;\n\t\t\t}\n\t\t\treturn props.width || props.minWidth || defAttr;\n\t\t};\n\n\t\t/** 表头自动宽度渲染 */\n\t\tconst autoWidthHeaderRender = (el: VNode[]) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>,\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 自动宽度渲染 */\n\t\tconst autoWidthRender = (el: VNode[]) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [<div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 表头渲染 */\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(slots[props.headerSlot]?.({ column, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender([<span>{props.label}</span>]);\n\t\t\t}\n\t\t};\n\n\t\t/** 复制渲染 */\n\t\tconst displayText = (value: unknown) => {\n\t\t\tif (typeof value === \"string\") return value;\n\t\t\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\") return String(value);\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst copyRender = (value: unknown, copy?: boolean) => {\n\t\t\tif (!(props.copy || copy) || !value) return [];\n\n\t\t\treturn [\n\t\t\t\t<ElIcon\n\t\t\t\t\tclass=\"fa__copy-icon\"\n\t\t\t\t\ttitle=\"复制\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tcopyToClipboard(displayText(value)).then(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CopyDocument />\n\t\t\t\t</ElIcon>,\n\t\t\t];\n\t\t};\n\n\t\t/** 渲染单元格数据 */\n\t\tconst renderCellData = ({ row }: { row: DefaultRow }) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (typeof props.enum === \"string\") {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (Array.isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (typeof props.enum === \"function\") {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(cellValue, enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 格式化渲染 */\n\t\tconst formatterRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, cellValue: unknown, index: number) => {\n\t\t\tconst formatter = column.formatter as TableColumnCtx<DefaultRow>[\"formatter\"] | null | undefined;\n\t\t\tif (formatter) {\n\t\t\t\treturn formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn displayText(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 时间信息列渲染 */\n\t\tconst timeInfoRender = (row: DefaultRow, _column: TableColumnCtx<DefaultRow>, _$index: number) => {\n\t\t\tconst userName = displayText(row[props.timeInfoField.userName ?? \"createdUserName\"]);\n\t\t\tconst time = displayText(row[props.timeInfoField.time ?? \"createdTime\"]);\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{time && (\n\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t{formatChineseRelativeTime(time)}\n\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 标签列渲染 */\n\t\tconst tagRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (typeof props.enum === \"string\") {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (Array.isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (typeof props.enum === \"function\") {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tconst enumValue: unknown = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst type = enumData?.find((item) => item.value === enumValue)?.type ?? \"info\";\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue ? <ElTag type={type}>{renderValue}</ElTag> : null}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 时间列渲染 */\n\t\tconst dateRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tlet dateFormat;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"date\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"time\":\n\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dateTime\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"default\":\n\t\t\t\tcase \"index\":\n\t\t\t\tcase \"selection\":\n\t\t\t\tcase \"expand\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"d2\":\n\t\t\t\tcase \"d4\":\n\t\t\t\tcase \"d6\":\n\t\t\t\tcase \"gd2\":\n\t\t\t\tcase \"gd4\":\n\t\t\t\tcase \"gd6\":\n\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = cellValue\n\t\t\t\t? formatterRender(row, column, dayjs(cellValue as Parameters<typeof dayjs>[0]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t: null;\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{formatChineseRelativeTime(displayText(renderValue))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 数值列渲染 */\n\t\tconst numberRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tif (!cellValue || typeof cellValue !== \"number\") {\n\t\t\t\treturn [<Fragment>{formatterRender(row, column, cellValue, $index)}</Fragment>];\n\t\t\t}\n\t\t\tlet useGrouping = false;\n\t\t\tlet maximumFractionDigits = 2;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"d2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"default\":\n\t\t\t\tcase \"index\":\n\t\t\t\tcase \"selection\":\n\t\t\t\tcase \"expand\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"date\":\n\t\t\t\tcase \"time\":\n\t\t\t\tcase \"dateTime\":\n\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{formatterRender(\n\t\t\t\t\t\trow,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tcellValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t$index\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 链接列渲染 */\n\t\tconst linkRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = formatterRender(row, column, cellValue, $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\tprops.click({ row, $index, ...getTableDefaultSlots(tableState) });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit ?? \"\", {\n\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t</ElText>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\treturn timeInfoRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.tag) {\n\t\t\t\treturn tagRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\treturn dateRender(row, column, $index);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\treturn numberRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.link) {\n\t\t\t\treturn linkRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t}\n\t\t\tif (props.slot) {\n\t\t\t\treturn autoWidthRender(slots[props.slot]?.({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t}\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = formatterRender(row, column, cellValue, $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst elTableColumnProps = 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]);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\t(props._children ?? []).map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\t\t\t\t\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\t\t\t\t\t\t\tconst renderValue = displayText(cellValue);\n\t\t\t\t\t\t\t\t\treturn renderValue ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[renderValue]}\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={renderValue} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\ttype={props.type === \"selection\" || props.type === \"index\" || props.type === \"expand\" ? props.type : \"default\"}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon?.({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) => slots.expand?.({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"tableColumn.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent } from \"vue\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { tableColumnProps } from \"../../../internal/props\";\nimport { copy as copyToClipboard, definePropType, formatChineseRelativeTime, makeSlots, useProps, useRender } from \"../../../utils\";\nimport FaImage from \"../../image\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { VNode } from \"vue\";\nimport type { DefaultRow } from \"./table.state\";\nimport type {\n\tFaTableColumnCtx,\n\tFaTableColumnDateFormat,\n\tFaTableColumnType,\n\tFaTableDefaultSlotsResult,\n\tFaTableEnumColumnCtx,\n\tFaTableEnumColumnType,\n} from \"./table.type\";\n\nexport { tableColumnProps } from \"../../../internal/props\";\n\n/** FaTableColumn 插槽返回的行列上下文 */\nexport interface FaTableColumnSlotsResult {\n\t/** slots为表格内容的时候才会返回 */\n\trow?: DefaultRow;\n\t/** slot为表头内容的时候返回 'TableColumnCtx<DefaultRow>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<DefaultRow> | FaTableColumnCtx;\n\t$index?: number;\n}\n\ntype FaTableColumnDefaultSlots = Record<string, FaTableDefaultSlotsResult & FaTableColumnSlotsResult>;\n\n/** FaTableColumn 的固定插槽和动态命名插槽。 */\nexport type FaTableColumnSlots = Record<string, unknown> & {\n\t/** 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number };\n\t/** 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * 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 * 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/** 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/** 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/** 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** 插槽名称 */\n\t\tslot: String,\n\t\t/** 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** 复制 */\n\t\tcopy: Boolean,\n\t\t/** 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** 合并行字段 */\n\t\tspanProp: String,\n\t\t/** Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: DefaultRow; $index?: number } & FaTableDefaultSlotsResult) => void>(Function),\n\t\t},\n\t\t/** 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([String, Array, Function]),\n\t\t},\n\t\t/** 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** 图片预览 */\n\t\timagePreview: (url: string) => typeof url === \"string\",\n\t\t/** 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }) =>\n\t\t\t(emitName == null || typeof emitName === \"string\") &&\n\t\t\ttypeof row === \"object\" &&\n\t\t\trow !== null &&\n\t\t\ttypeof column === \"object\" &&\n\t\t\tcolumn !== null &&\n\t\t\ttypeof $index === \"number\",\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\t\tif (tableState === undefined || enumMap === undefined) {\n\t\t\tthrow new Error(\"FaTableColumn 必须在 FaTable 内部渲染。\");\n\t\t}\n\n\t\tconst columnCtx = computed(() => props as FaTableColumnCtx);\n\n\t\t/** 获取ClassName */\n\t\tconst getClassName = () => {\n\t\t\tlet className = \"\";\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tif (props.dateFix) {\n\t\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.className) {\n\t\t\t\treturn `${className} ${props.className}`;\n\t\t\t}\n\t\t\treturn className;\n\t\t};\n\n\t\t/** 获取宽度 */\n\t\tconst getWidth = (defAttr: string) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\tconst autoWidthEntry = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\treturn autoWidthEntry ? `${autoWidthEntry.width}px` : \"auto\";\n\t\t\t}\n\t\t\tif (globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth || props.width || props.minWidth || defAttr;\n\t\t\t}\n\t\t\treturn props.width || props.minWidth || defAttr;\n\t\t};\n\n\t\t/** 表头自动宽度渲染 */\n\t\tconst autoWidthHeaderRender = (el: VNode[]) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>,\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 自动宽度渲染 */\n\t\tconst autoWidthRender = (el: VNode[]) => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn [<div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>];\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 表头渲染 */\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(slots[props.headerSlot]?.({ column, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender([<span>{props.label}</span>]);\n\t\t\t}\n\t\t};\n\n\t\t/** 复制渲染 */\n\t\tconst displayText = (value: unknown) => {\n\t\t\tif (typeof value === \"string\") return value;\n\t\t\tif (typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\") return String(value);\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst copyRender = (value: unknown, copy?: boolean) => {\n\t\t\tif (!(props.copy || copy) || !value) return [];\n\n\t\t\treturn [\n\t\t\t\t<ElIcon\n\t\t\t\t\tclass=\"fa__copy-icon\"\n\t\t\t\t\ttitle=\"复制\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tcopyToClipboard(displayText(value)).then(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CopyDocument />\n\t\t\t\t</ElIcon>,\n\t\t\t];\n\t\t};\n\n\t\t/** 渲染单元格数据 */\n\t\tconst renderCellData = ({ row }: { row: DefaultRow }) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (typeof props.enum === \"string\") {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (Array.isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (typeof props.enum === \"function\") {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(cellValue, enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 格式化渲染 */\n\t\tconst formatterRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, cellValue: unknown, index: number) => {\n\t\t\tconst formatter = column.formatter as TableColumnCtx<DefaultRow>[\"formatter\"] | null | undefined;\n\t\t\tif (formatter) {\n\t\t\t\treturn formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn displayText(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 时间信息列渲染 */\n\t\tconst timeInfoRender = (row: DefaultRow, _column: TableColumnCtx<DefaultRow>, _$index: number) => {\n\t\t\tconst userName = displayText(row[props.timeInfoField.userName ?? \"createdUserName\"]);\n\t\t\tconst time = displayText(row[props.timeInfoField.time ?? \"createdTime\"]);\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{time && (\n\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t{formatChineseRelativeTime(time)}\n\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 标签列渲染 */\n\t\tconst tagRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\n\t\t\tlet enumData: FaTableEnumColumnCtx[] | undefined;\n\n\t\t\tif (typeof props.enum === \"string\") {\n\t\t\t\tenumData = enumMap.get(props.enum);\n\t\t\t} else if (Array.isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (typeof props.enum === \"function\") {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tconst enumValue: unknown = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst type = enumData?.find((item) => item.value === enumValue)?.type ?? \"info\";\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue ? <ElTag type={type}>{renderValue}</ElTag> : null}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 时间列渲染 */\n\t\tconst dateRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tlet dateFormat;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"date\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"time\":\n\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dateTime\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"default\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"d2\":\n\t\t\t\tcase \"d4\":\n\t\t\t\tcase \"d6\":\n\t\t\t\tcase \"gd2\":\n\t\t\t\tcase \"gd4\":\n\t\t\t\tcase \"gd6\":\n\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = cellValue\n\t\t\t\t? formatterRender(row, column, dayjs(cellValue as Parameters<typeof dayjs>[0]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t: null;\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{formatChineseRelativeTime(displayText(renderValue))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 数值列渲染 */\n\t\tconst numberRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tif (!cellValue || typeof cellValue !== \"number\") {\n\t\t\t\treturn [<Fragment>{formatterRender(row, column, cellValue, $index)}</Fragment>];\n\t\t\t}\n\t\t\tlet useGrouping = false;\n\t\t\tlet maximumFractionDigits = 2;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"d2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"default\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"date\":\n\t\t\t\tcase \"time\":\n\t\t\t\tcase \"dateTime\":\n\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t<Fragment>\n\t\t\t\t\t{formatterRender(\n\t\t\t\t\t\trow,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tcellValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t$index\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t];\n\t\t};\n\n\t\t/** 链接列渲染 */\n\t\tconst linkRender = (row: DefaultRow, column: TableColumnCtx<DefaultRow>, $index: number) => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = formatterRender(row, column, cellValue, $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\tprops.click({ row, $index, ...getTableDefaultSlots(tableState) });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit ?? \"\", {\n\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t</ElText>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\treturn timeInfoRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.tag) {\n\t\t\t\treturn tagRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\treturn dateRender(row, column, $index);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\treturn numberRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.link) {\n\t\t\t\treturn linkRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t}\n\t\t\tif (props.slot) {\n\t\t\t\treturn autoWidthRender(slots[props.slot]?.({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }) ?? []);\n\t\t\t}\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\tconst renderValue = formatterRender(row, column, cellValue, $index);\n\t\t\treturn autoWidthRender([\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t</Fragment>,\n\t\t\t]);\n\t\t};\n\n\t\tconst elTableColumnProps = 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]);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\t(props._children ?? []).map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\theaderRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) => {\n\t\t\t\t\t\t\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop ?? \"\");\n\t\t\t\t\t\t\t\t\tconst renderValue = displayText(cellValue);\n\t\t\t\t\t\t\t\t\treturn renderValue ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[renderValue]}\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={renderValue} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\ttype=\"default\"\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type === \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: DefaultRow; column: TableColumnCtx<DefaultRow>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon?.({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) => slots.expand?.({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"mappings":"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"}
@@ -90,10 +90,6 @@ change: { type: definePropType(Function) } },
90
90
  const autoWidthDisabled = (row, switchEl = false) => {
91
91
  const result = {};
92
92
  if (row.type) switch (row.type) {
93
- case "expand":
94
- result.disabled = true;
95
- result.placeholder = "暂不支持宽度配置";
96
- break;
97
93
  case "image":
98
94
  result.disabled = true;
99
95
  result.placeholder = "图片列无需配置";
@@ -1 +1 @@
1
- {"version":3,"file":"tableColumnSettingDialog.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, onBeforeUnmount, reactive, shallowRef } from \"vue\";\nimport { Rank } from \"@element-plus/icons-vue\";\nimport {\n\tElIcon,\n\tElInput,\n\tElInputNumber,\n\tElMessage,\n\tElNotification,\n\tElRadio,\n\tElRadioGroup,\n\tElSwitch,\n\tElTable,\n\tElTableColumn,\n\tElText,\n} from \"element-plus\";\nimport Sortable from \"sortablejs\";\nimport { definePropType, randomString, useExpose, useRender } from \"../../../utils\";\nimport { FaDialog } from \"../../dialog\";\nimport { tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { SortableEvent } from \"sortablejs\";\nimport type { FaDialogInstance } from \"../../dialog\";\nimport type { FaTableColumnCtx } from \"./table.type\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableColumnsSettingDialog 必须在 FaTable 内部渲染。\");\n\n\t\tconst faDialogRef = shallowRef<FaDialogInstance | null>(null);\n\t\tconst sortableRef = shallowRef<Sortable | null>(null);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: randomString(8),\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst indexMethod = (index: number) => index + 1;\n\n\t\tconst tableRowDrop = () => {\n\t\t\tconst tBody = document.querySelector<HTMLElement>(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`);\n\t\t\tif (!tBody) return;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tsortableRef.value?.destroy();\n\n\t\t\tsortableRef.value = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\thandle: \".fa-table__column-setting-drag-handle\",\n\t\t\t\tdelay: 200,\n\t\t\t\tdelayOnTouchOnly: true,\n\t\t\t\ttouchStartThreshold: 5,\n\t\t\t\tfallbackTolerance: 3,\n\t\t\t\tonEnd(evt: SortableEvent) {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== undefined && oldIndex !== undefined && newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\tif (curRow) tableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = async () => {\n\t\t\tstate.change = false;\n\t\t\tawait faDialogRef.value?.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst destroySortable = () => {\n\t\t\tsortableRef.value?.destroy();\n\t\t\tsortableRef.value = null;\n\t\t};\n\n\t\tconst handleChange = async () => {\n\t\t\tif (state.change) {\n\t\t\t\tawait props.change?.(tableState.orgColumns);\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = () => {\n\t\t\tfaDialogRef.value?.close(handleChange);\n\t\t};\n\n\t\tconst handleOrderChange = () => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn (a.order ?? 0) - (b.order ?? 0);\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = () => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (row: FaTableColumnCtx, switchEl = false) => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row.type) {\n\t\t\t\tswitch (row.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"default\":\n\t\t\t\t\tcase \"index\":\n\t\t\t\t\tcase \"selection\":\n\t\t\t\t\tcase \"d2\":\n\t\t\t\t\tcase \"d4\":\n\t\t\t\t\tcase \"d6\":\n\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (row: FaTableColumnCtx, switchEl = false, orderEl = false, _radioEl = false) => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tonBeforeUnmount(destroySortable);\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfullHeight\n\t\t\t\tonClosed={destroySortable}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<ElText type=\"info\">点击保存才会进行数据缓存,点击取消为本次生效</ElText>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn fixed=\"left\" align=\"center\" width={44}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon class=\"fa-table__column-setting-drag-handle\" title=\"拖动调整顺序\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Rank />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: auto;\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={(row.disabledSortable ?? false) || row.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row.type || !!row.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** 打开 */\n\t\t\topen,\n\t\t\t/** 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"tableColumnSettingDialog.mjs","names":[],"sources":["../../../../src/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, onBeforeUnmount, reactive, shallowRef } from \"vue\";\nimport { Rank } from \"@element-plus/icons-vue\";\nimport {\n\tElIcon,\n\tElInput,\n\tElInputNumber,\n\tElMessage,\n\tElNotification,\n\tElRadio,\n\tElRadioGroup,\n\tElSwitch,\n\tElTable,\n\tElTableColumn,\n\tElText,\n} from \"element-plus\";\nimport Sortable from \"sortablejs\";\nimport { definePropType, randomString, useExpose, useRender } from \"../../../utils\";\nimport { FaDialog } from \"../../dialog\";\nimport { tableStateKey } from \"./useTable\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { SortableEvent } from \"sortablejs\";\nimport type { FaDialogInstance } from \"../../dialog\";\nimport type { FaTableColumnCtx } from \"./table.type\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tif (tableState === undefined) throw new Error(\"FaTableColumnsSettingDialog 必须在 FaTable 内部渲染。\");\n\n\t\tconst faDialogRef = shallowRef<FaDialogInstance | null>(null);\n\t\tconst sortableRef = shallowRef<Sortable | null>(null);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: randomString(8),\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst indexMethod = (index: number) => index + 1;\n\n\t\tconst tableRowDrop = () => {\n\t\t\tconst tBody = document.querySelector<HTMLElement>(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`);\n\t\t\tif (!tBody) return;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tsortableRef.value?.destroy();\n\n\t\t\tsortableRef.value = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\thandle: \".fa-table__column-setting-drag-handle\",\n\t\t\t\tdelay: 200,\n\t\t\t\tdelayOnTouchOnly: true,\n\t\t\t\ttouchStartThreshold: 5,\n\t\t\t\tfallbackTolerance: 3,\n\t\t\t\tonEnd(evt: SortableEvent) {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== undefined && oldIndex !== undefined && newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\tif (curRow) tableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = async () => {\n\t\t\tstate.change = false;\n\t\t\tawait faDialogRef.value?.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst destroySortable = () => {\n\t\t\tsortableRef.value?.destroy();\n\t\t\tsortableRef.value = null;\n\t\t};\n\n\t\tconst handleChange = async () => {\n\t\t\tif (state.change) {\n\t\t\t\tawait props.change?.(tableState.orgColumns);\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = () => {\n\t\t\tfaDialogRef.value?.close(handleChange);\n\t\t};\n\n\t\tconst handleOrderChange = () => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn (a.order ?? 0) - (b.order ?? 0);\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = () => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (row: FaTableColumnCtx, switchEl = false) => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row.type) {\n\t\t\t\tswitch (row.type) {\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"default\":\n\t\t\t\t\tcase \"d2\":\n\t\t\t\t\tcase \"d4\":\n\t\t\t\t\tcase \"d6\":\n\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (row: FaTableColumnCtx, switchEl = false, orderEl = false, _radioEl = false) => {\n\t\t\tconst result: { disabled?: boolean; placeholder?: string } = {};\n\t\t\tif (row.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) return {};\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tonBeforeUnmount(destroySortable);\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfullHeight\n\t\t\t\tonClosed={destroySortable}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<ElText type=\"info\">点击保存才会进行数据缓存,点击取消为本次生效</ElText>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn fixed=\"left\" align=\"center\" width={44}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon class=\"fa-table__column-setting-drag-handle\" title=\"拖动调整顺序\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Rank />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: auto;\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={(row.disabledSortable ?? false) || row.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row.type || !!row.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\trow: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: TableColumnCtx<Record<string, unknown>>;\n\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t}) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** 打开 */\n\t\t\topen,\n\t\t\t/** 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"mappings":"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"}
@@ -40,13 +40,17 @@ const useTable = (props, slots, emit) => {
40
40
  spanProp: column.spanProp
41
41
  }] : []), ...props.props.span ? [
42
42
  {
43
- prop: "__table-index",
43
+ prop: "__table-expand",
44
44
  spanProp: props.props.span
45
45
  },
46
46
  {
47
47
  prop: "__table-selection",
48
48
  spanProp: props.props.span
49
49
  },
50
+ {
51
+ prop: "__table-index",
52
+ spanProp: props.props.span
53
+ },
50
54
  {
51
55
  prop: "__table-operation",
52
56
  spanProp: props.props.span
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.mjs","names":[],"sources":["../../../../src/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, onBeforeUnmount, provide, reactive, shallowRef, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { callOptionalFunction, debounce } from \"../../../utils\";\nimport { createLoadingTasks } from \"../../../utils/loading-tasks\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext, ShallowRef } from \"vue\";\nimport type { makeSlots } from \"../../../utils\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { DefaultRow, FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\n\n/** FaTable 状态的依赖注入键。 */\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\n/** FaTable 枚举映射的依赖注入键。 */\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\ninterface TableComposable {\n\tglobalSize: ReturnType<typeof useGlobalSize>;\n\tstate: FaTableState;\n\telementRef: Readonly<ShallowRef<HTMLElement | null>>;\n\ttableRef: Readonly<ShallowRef<TableInstance | null>>;\n\thandleTableColumnAutoWidth: () => void;\n\tgetRequestParam: () => PagedInput;\n\tloadTableColumns: () => void;\n\thandleSizeChange: (pageSize: number) => void;\n\thandlePaginationChange: (value: number) => void;\n\tdefaultSearchTime: () => void;\n\ttableSearch: () => Promise<void>;\n\ttableReset: () => Promise<void>;\n\tdoRender: () => Promise<void>;\n\tsetManualLoading: (loading: boolean) => void;\n\tdoLoading: (loadingFunction: () => void | Promise<void>, loadingText?: string) => Promise<void>;\n\thandleCustomCellClick: (emitName: string, context: { row: DefaultRow; column: FaTableColumnCtx; $index: number }) => void;\n}\n\n/**\n * 创建 FaTable 的状态和操作方法。\n *\n * @param props - FaTable 的 Props。\n * @param slots - FaTable 的插槽。\n * @param emit - FaTable 的事件触发器。\n * @returns FaTable 的状态、引用和操作方法。\n */\nexport const useTable = (\n\tprops: ExtractPropTypes<typeof faTableProps>,\n\tslots: TableSetupContext[\"slots\"],\n\temit: TableSetupContext[\"emit\"]\n): TableComposable => {\n\tconst globalSize = useGlobalSize();\n\n\tconst elementRef = shallowRef<HTMLElement | null>(null);\n\tconst tableRef = shallowRef<TableInstance | null>(null);\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((item) => item.pureSearch === true || item.search !== undefined)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn (a.search?.order ?? 0) - (b.search?.order ?? 0);\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns.flatMap((column) => (column.spanProp ? [{ prop: column.prop ?? \"\", spanProp: column.spanProp }] : [])),\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: Record<string, number[]> = {};\n\t\t\t\tconst spanIndexes: Record<string, number> = {};\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array<number>(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tspanIndexes[item.prop] = 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\tconst currentRow = state.tableData[i];\n\t\t\t\t\t\tconst previousRow = state.tableData[i - 1];\n\t\t\t\t\t\tconst spanValues = result[item.prop];\n\t\t\t\t\t\tconst spanIndex = spanIndexes[item.prop];\n\t\t\t\t\t\tif (currentRow === undefined || previousRow === undefined || spanValues === undefined || spanIndex === undefined) return;\n\t\t\t\t\t\tif (currentRow[item.spanProp] === previousRow[item.spanProp]) {\n\t\t\t\t\t\t\tspanValues[spanIndex] = (spanValues[spanIndex] ?? 0) + 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tspanIndexes[item.prop] = i;\n\t\t\t\t\t\t\tspanValues[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\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() =>\n\t\t\tstate.selectedList.flatMap((item) => {\n\t\t\t\tconst rowKey: unknown =\n\t\t\t\t\ttypeof props.rowKey === \"function\" ? props.rowKey(item) : tableUtil.handleRowAccordingToProp(item, props.rowKey);\n\t\t\t\treturn typeof rowKey === \"string\" || typeof rowKey === \"number\" ? [rowKey] : [];\n\t\t\t})\n\t\t),\n\t\tindeterminateSelectedListIds: [],\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\tcase \"\":\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: 0,\n\t\ttableHeight: 0,\n\t\tautoColumnWidth: [],\n\t});\n\t// 请求与列宽各自失效,Loading 按任务独立释放。\n\tlet requestVersion = 0;\n\tlet widthVersion = 0;\n\tlet disposed = false;\n\tlet releaseRequest: (() => void) | undefined;\n\tlet releaseWidth: (() => void) | undefined;\n\tlet releaseManual: (() => void) | undefined;\n\n\tconst unmountedError = new Error(\"FaTable 已卸载,待执行的渲染已取消。\");\n\tconst loadingTasks = createLoadingTasks((loading, text) => {\n\t\tstate.loading = loading;\n\t\tstate.loadingText = text ?? \"加载中...\";\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tif (disposed) return;\n\t\tconst currentWidthVersion = ++widthVersion;\n\t\treleaseWidth?.();\n\t\tconst done = loadingTasks.begin();\n\t\treleaseWidth = done;\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\tif (disposed || currentWidthVersion !== widthVersion) return;\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 autoWidthEntry = state.autoColumnWidth.find((f) => f.prop === item.prop);\n\t\t\t\t\t\tif (autoWidthEntry) {\n\t\t\t\t\t\t\tautoWidthEntry.width = Math.max(autoWidthEntry.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (item.prop) {\n\t\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\t\tprop: item.prop,\n\t\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}).then(done, (error: unknown) => {\n\t\t\t\tdone();\n\t\t\t\t// 此方法是同步公开入口;宽度失败不改变请求结果,也不能遗留 Loading。\n\t\t\t\tconsole.error(\"[Fast:FaTable] 自动宽度计算失败。\", error);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdone();\n\t};\n\n\tconst handleTableData = (data: DefaultRow[]): DefaultRow[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: DefaultRow[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList: unknown = row[props.props.children ?? \"children\"];\n\t\t\t\tif (Array.isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\tconst childRows: unknown[] = rowList;\n\t\t\t\t\tchildRows.forEach((childRow) => {\n\t\t\t\t\t\tresult.push(typeof childRow === \"object\" && childRow !== null ? { ...row, ...childRow } : row);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(typeof rowList === \"object\" && rowList !== null ? { ...row, ...rowList } : row);\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\tif (disposed) return;\n\t\tconst currentRequestVersion = ++requestVersion;\n\t\treleaseRequest?.();\n\t\tconst done = loadingTasks.begin();\n\t\treleaseRequest = done;\n\t\ttry {\n\t\t\tif (props.requestApi) {\n\t\t\t\tconst params = getRequestParam();\n\t\t\t\temit(\"refresh\", params);\n\t\t\t\tlet pageData: DefaultRow[];\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\tif (disposed || currentRequestVersion !== requestVersion) return;\n\t\t\t\t\t// 数据回调\n\t\t\t\t\tprops.dataCallback?.(resData);\n\t\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\t\tif (props.pagination) {\n\t\t\t\t\t\tif (Array.isArray(resData)) {\n\t\t\t\t\t\t\tpageData = resData;\n\t\t\t\t\t\t\tstate.tablePagination.totalRows = resData.length;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\t\t\tpageData = pageRes.rows ?? [];\n\t\t\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\t\t\tpageIndex: pageRes.pageIndex ?? state.tablePagination.pageIndex,\n\t\t\t\t\t\t\t\tpageSize: pageRes.pageSize ?? state.tablePagination.pageSize,\n\t\t\t\t\t\t\t\ttotalRows: pageRes.totalRows ?? pageData.length,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpageData = resData as DefaultRow[];\n\t\t\t\t\t\t// 更新分页信息\n\t\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (disposed || currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.tableData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\t\tlet _value = handleTableData([...props.data]);\n\t\t\t\t_value = _value.filter((f) => {\n\t\t\t\t\tconst searchValue = state.searchParam.searchValue;\n\t\t\t\t\tif (typeof searchValue !== \"string\" || searchValue.length === 0) return true;\n\t\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\t\tconst value: unknown = tableUtil.handleRowAccordingToProp(f, col.prop ?? \"\");\n\t\t\t\t\t\tconst text =\n\t\t\t\t\t\t\ttypeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\"\n\t\t\t\t\t\t\t\t? String(value)\n\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\treturn text.toLowerCase().includes(searchValue.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (Array.isArray(state.searchParam.sortList) && state.searchParam.sortList.length > 0) {\n\t\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t\t}\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t\t});\n\t\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t\t} else {\n\t\t\t\t\tstate.tableData = _value;\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: _value.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!disposed && currentRequestVersion === requestVersion) handleTableColumnAutoWidth();\n\t\t} finally {\n\t\t\tdone();\n\t\t}\n\t};\n\n\tconst cloneColumns = (columns: FaTableColumnCtx[]): FaTableColumnCtx[] =>\n\t\tcolumns.map((column) => ({\n\t\t\t...column,\n\t\t\t...(column.search && { search: { ...column.search, ...(column.search.props && { props: { ...column.search.props } }) } }),\n\t\t\t...(column._children && { _children: cloneColumns(column._children) }),\n\t\t}));\n\n\tconst loadTableColumns = (): void => {\n\t\tif (disposed) return;\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? cloneColumns(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 ??= { el: \"\" };\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.key && col.search.defaultValue !== undefined) {\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 ?? 0) - (b.order ?? 0);\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(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam: Record<string, unknown> = {};\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\tif (props.futureSearchTime) {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\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\tif (disposed) return;\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\tconst renderTable = debounce((): Promise<void> => {\n\t\tloadTableColumns();\n\t\treturn tableSearch();\n\t}, 300);\n\n\tconst tableReset = async (): Promise<void> => {\n\t\tif (disposed) return;\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.assign(state.searchParam, state.initParam);\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tif (disposed) return;\n\t\t// 从重绘请求发出时失效旧结果,而不是等防抖结束后才失效。\n\t\trequestVersion++;\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\ttry {\n\t\t\tawait renderTable();\n\t\t} catch (error) {\n\t\t\tif (error !== unmountedError) throw error;\n\t\t}\n\t};\n\n\t// 供公开 loading 的 setter 使用,不单独暴露为组件方法。\n\tconst setManualLoading = (loading: boolean): void => {\n\t\tif (disposed) return;\n\t\tif (loading) {\n\t\t\treleaseManual ??= loadingTasks.begin();\n\t\t} else {\n\t\t\treleaseManual?.();\n\t\t\treleaseManual = undefined;\n\t\t}\n\t};\n\n\tconst doLoading = async (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): Promise<void> => {\n\t\tif (disposed) return;\n\t\tconst done = loadingTasks.begin(loadingText);\n\t\ttry {\n\t\t\tawait callOptionalFunction(loadingFunction);\n\t\t} finally {\n\t\t\tdone();\n\t\t}\n\t};\n\n\tconst handleCustomCellClick = (\n\t\temitName: string,\n\t\t{ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }\n\t): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\t() => doRender()\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\tonBeforeUnmount(() => {\n\t\tdisposed = true;\n\t\trequestVersion++;\n\t\twidthVersion++;\n\t\trenderTable.cancel(unmountedError);\n\t\tloadingTasks.dispose();\n\t});\n\n\treturn {\n\t\tglobalSize,\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\tsetManualLoading,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTable.mjs","names":[],"sources":["../../../../src/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, onBeforeUnmount, provide, reactive, shallowRef, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { callOptionalFunction, debounce } from \"../../../utils\";\nimport { createLoadingTasks } from \"../../../utils/loading-tasks\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext, ShallowRef } from \"vue\";\nimport type { makeSlots } from \"../../../utils\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { DefaultRow, FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\n\n/** FaTable 状态的依赖注入键。 */\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\n/** FaTable 枚举映射的依赖注入键。 */\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\ninterface TableComposable {\n\tglobalSize: ReturnType<typeof useGlobalSize>;\n\tstate: FaTableState;\n\telementRef: Readonly<ShallowRef<HTMLElement | null>>;\n\ttableRef: Readonly<ShallowRef<TableInstance | null>>;\n\thandleTableColumnAutoWidth: () => void;\n\tgetRequestParam: () => PagedInput;\n\tloadTableColumns: () => void;\n\thandleSizeChange: (pageSize: number) => void;\n\thandlePaginationChange: (value: number) => void;\n\tdefaultSearchTime: () => void;\n\ttableSearch: () => Promise<void>;\n\ttableReset: () => Promise<void>;\n\tdoRender: () => Promise<void>;\n\tsetManualLoading: (loading: boolean) => void;\n\tdoLoading: (loadingFunction: () => void | Promise<void>, loadingText?: string) => Promise<void>;\n\thandleCustomCellClick: (emitName: string, context: { row: DefaultRow; column: FaTableColumnCtx; $index: number }) => void;\n}\n\n/**\n * 创建 FaTable 的状态和操作方法。\n *\n * @param props - FaTable 的 Props。\n * @param slots - FaTable 的插槽。\n * @param emit - FaTable 的事件触发器。\n * @returns FaTable 的状态、引用和操作方法。\n */\nexport const useTable = (\n\tprops: ExtractPropTypes<typeof faTableProps>,\n\tslots: TableSetupContext[\"slots\"],\n\temit: TableSetupContext[\"emit\"]\n): TableComposable => {\n\tconst globalSize = useGlobalSize();\n\n\tconst elementRef = shallowRef<HTMLElement | null>(null);\n\tconst tableRef = shallowRef<TableInstance | null>(null);\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((item) => item.pureSearch === true || item.search !== undefined)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn (a.search?.order ?? 0) - (b.search?.order ?? 0);\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns.flatMap((column) => (column.spanProp ? [{ prop: column.prop ?? \"\", spanProp: column.spanProp }] : [])),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-expand\", 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-index\", 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: Record<string, number[]> = {};\n\t\t\t\tconst spanIndexes: Record<string, number> = {};\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array<number>(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tspanIndexes[item.prop] = 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\tconst currentRow = state.tableData[i];\n\t\t\t\t\t\tconst previousRow = state.tableData[i - 1];\n\t\t\t\t\t\tconst spanValues = result[item.prop];\n\t\t\t\t\t\tconst spanIndex = spanIndexes[item.prop];\n\t\t\t\t\t\tif (currentRow === undefined || previousRow === undefined || spanValues === undefined || spanIndex === undefined) return;\n\t\t\t\t\t\tif (currentRow[item.spanProp] === previousRow[item.spanProp]) {\n\t\t\t\t\t\t\tspanValues[spanIndex] = (spanValues[spanIndex] ?? 0) + 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tspanIndexes[item.prop] = i;\n\t\t\t\t\t\t\tspanValues[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\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() =>\n\t\t\tstate.selectedList.flatMap((item) => {\n\t\t\t\tconst rowKey: unknown =\n\t\t\t\t\ttypeof props.rowKey === \"function\" ? props.rowKey(item) : tableUtil.handleRowAccordingToProp(item, props.rowKey);\n\t\t\t\treturn typeof rowKey === \"string\" || typeof rowKey === \"number\" ? [rowKey] : [];\n\t\t\t})\n\t\t),\n\t\tindeterminateSelectedListIds: [],\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\tcase \"\":\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: 0,\n\t\ttableHeight: 0,\n\t\tautoColumnWidth: [],\n\t});\n\t// 请求与列宽各自失效,Loading 按任务独立释放。\n\tlet requestVersion = 0;\n\tlet widthVersion = 0;\n\tlet disposed = false;\n\tlet releaseRequest: (() => void) | undefined;\n\tlet releaseWidth: (() => void) | undefined;\n\tlet releaseManual: (() => void) | undefined;\n\n\tconst unmountedError = new Error(\"FaTable 已卸载,待执行的渲染已取消。\");\n\tconst loadingTasks = createLoadingTasks((loading, text) => {\n\t\tstate.loading = loading;\n\t\tstate.loadingText = text ?? \"加载中...\";\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tif (disposed) return;\n\t\tconst currentWidthVersion = ++widthVersion;\n\t\treleaseWidth?.();\n\t\tconst done = loadingTasks.begin();\n\t\treleaseWidth = done;\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\tif (disposed || currentWidthVersion !== widthVersion) return;\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 autoWidthEntry = state.autoColumnWidth.find((f) => f.prop === item.prop);\n\t\t\t\t\t\tif (autoWidthEntry) {\n\t\t\t\t\t\t\tautoWidthEntry.width = Math.max(autoWidthEntry.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (item.prop) {\n\t\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\t\tprop: item.prop,\n\t\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}).then(done, (error: unknown) => {\n\t\t\t\tdone();\n\t\t\t\t// 此方法是同步公开入口;宽度失败不改变请求结果,也不能遗留 Loading。\n\t\t\t\tconsole.error(\"[Fast:FaTable] 自动宽度计算失败。\", error);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdone();\n\t};\n\n\tconst handleTableData = (data: DefaultRow[]): DefaultRow[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: DefaultRow[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList: unknown = row[props.props.children ?? \"children\"];\n\t\t\t\tif (Array.isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\tconst childRows: unknown[] = rowList;\n\t\t\t\t\tchildRows.forEach((childRow) => {\n\t\t\t\t\t\tresult.push(typeof childRow === \"object\" && childRow !== null ? { ...row, ...childRow } : row);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(typeof rowList === \"object\" && rowList !== null ? { ...row, ...rowList } : row);\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\tif (disposed) return;\n\t\tconst currentRequestVersion = ++requestVersion;\n\t\treleaseRequest?.();\n\t\tconst done = loadingTasks.begin();\n\t\treleaseRequest = done;\n\t\ttry {\n\t\t\tif (props.requestApi) {\n\t\t\t\tconst params = getRequestParam();\n\t\t\t\temit(\"refresh\", params);\n\t\t\t\tlet pageData: DefaultRow[];\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\tif (disposed || currentRequestVersion !== requestVersion) return;\n\t\t\t\t\t// 数据回调\n\t\t\t\t\tprops.dataCallback?.(resData);\n\t\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\t\tif (props.pagination) {\n\t\t\t\t\t\tif (Array.isArray(resData)) {\n\t\t\t\t\t\t\tpageData = resData;\n\t\t\t\t\t\t\tstate.tablePagination.totalRows = resData.length;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\t\t\tpageData = pageRes.rows ?? [];\n\t\t\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\t\t\tpageIndex: pageRes.pageIndex ?? state.tablePagination.pageIndex,\n\t\t\t\t\t\t\t\tpageSize: pageRes.pageSize ?? state.tablePagination.pageSize,\n\t\t\t\t\t\t\t\ttotalRows: pageRes.totalRows ?? pageData.length,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpageData = resData as DefaultRow[];\n\t\t\t\t\t\t// 更新分页信息\n\t\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (disposed || currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.tableData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\t\tlet _value = handleTableData([...props.data]);\n\t\t\t\t_value = _value.filter((f) => {\n\t\t\t\t\tconst searchValue = state.searchParam.searchValue;\n\t\t\t\t\tif (typeof searchValue !== \"string\" || searchValue.length === 0) return true;\n\t\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\t\tconst value: unknown = tableUtil.handleRowAccordingToProp(f, col.prop ?? \"\");\n\t\t\t\t\t\tconst text =\n\t\t\t\t\t\t\ttypeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\"\n\t\t\t\t\t\t\t\t? String(value)\n\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\treturn text.toLowerCase().includes(searchValue.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (Array.isArray(state.searchParam.sortList) && state.searchParam.sortList.length > 0) {\n\t\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t\t}\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t\t});\n\t\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t\t} else {\n\t\t\t\t\tstate.tableData = _value;\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: _value.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!disposed && currentRequestVersion === requestVersion) handleTableColumnAutoWidth();\n\t\t} finally {\n\t\t\tdone();\n\t\t}\n\t};\n\n\tconst cloneColumns = (columns: FaTableColumnCtx[]): FaTableColumnCtx[] =>\n\t\tcolumns.map((column) => ({\n\t\t\t...column,\n\t\t\t...(column.search && { search: { ...column.search, ...(column.search.props && { props: { ...column.search.props } }) } }),\n\t\t\t...(column._children && { _children: cloneColumns(column._children) }),\n\t\t}));\n\n\tconst loadTableColumns = (): void => {\n\t\tif (disposed) return;\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? cloneColumns(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 ??= { el: \"\" };\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.key && col.search.defaultValue !== undefined) {\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 ?? 0) - (b.order ?? 0);\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(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam: Record<string, unknown> = {};\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\tif (props.futureSearchTime) {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tend.setDate(end.getDate() + 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tend.setMonth(end.getMonth() + 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tend.setFullYear(end.getFullYear() + 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\t\tcase \"Past1D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3D\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1W\":\n\t\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past6M\":\n\t\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\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\tif (disposed) return;\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\tconst renderTable = debounce((): Promise<void> => {\n\t\tloadTableColumns();\n\t\treturn tableSearch();\n\t}, 300);\n\n\tconst tableReset = async (): Promise<void> => {\n\t\tif (disposed) return;\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.assign(state.searchParam, state.initParam);\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tif (disposed) return;\n\t\t// 从重绘请求发出时失效旧结果,而不是等防抖结束后才失效。\n\t\trequestVersion++;\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\ttry {\n\t\t\tawait renderTable();\n\t\t} catch (error) {\n\t\t\tif (error !== unmountedError) throw error;\n\t\t}\n\t};\n\n\t// 供公开 loading 的 setter 使用,不单独暴露为组件方法。\n\tconst setManualLoading = (loading: boolean): void => {\n\t\tif (disposed) return;\n\t\tif (loading) {\n\t\t\treleaseManual ??= loadingTasks.begin();\n\t\t} else {\n\t\t\treleaseManual?.();\n\t\t\treleaseManual = undefined;\n\t\t}\n\t};\n\n\tconst doLoading = async (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): Promise<void> => {\n\t\tif (disposed) return;\n\t\tconst done = loadingTasks.begin(loadingText);\n\t\ttry {\n\t\t\tawait callOptionalFunction(loadingFunction);\n\t\t} finally {\n\t\t\tdone();\n\t\t}\n\t};\n\n\tconst handleCustomCellClick = (\n\t\temitName: string,\n\t\t{ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number }\n\t): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\t() => doRender()\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\tonBeforeUnmount(() => {\n\t\tdisposed = true;\n\t\trequestVersion++;\n\t\twidthVersion++;\n\t\trenderTable.cancel(unmountedError);\n\t\tloadingTasks.dispose();\n\t});\n\n\treturn {\n\t\tglobalSize,\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\tsetManualLoading,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"mappings":"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"}
@@ -6,42 +6,45 @@ import type { FaTableColumnCtx, FaTableEnumColumnCtx, FaTableEnumColumnType } fr
6
6
  */
7
7
  export declare const tableUtil: {
8
8
  /**
9
- * 处理无数据情况
10
- * @param {String} callValue 需要处理的值
9
+ * 将非空数组连接为逗号分隔的文本,空数组返回 null;其他值原样返回。
10
+ * @param callValue - 需要处理的值
11
11
  */
12
12
  formatValue(callValue: unknown): unknown;
13
13
  /**
14
- * 处理 prop 为多级嵌套的情况(列如: prop:user.name)
15
- * @param {Object} row 当前行数据
16
- * @param {String} prop 当前 prop
14
+ * 按点分隔的属性路径读取行数据,例如 user.name。
15
+ * @param row - 当前行数据
16
+ * @param prop - 当前 prop
17
+ * @returns 目标属性值;中间节点不是对象或属性不存在时返回 undefined。
17
18
  */
18
19
  handleRowAccordingToProp(row: DefaultRow, prop: string): unknown;
19
20
  /**
20
- * 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop
21
- * @param {String} prop 当前 prop
21
+ * 返回点分隔属性路径的最后一级名称。
22
+ * @param prop - 当前 prop
22
23
  */
23
24
  handleProp(prop: string): string;
24
25
  /**
25
- * 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)
26
- * @param {String} callValue 当前单元格值
27
- * @param {Array} enumData 字典列表
28
- * @param {Array} fieldNames 指定 label && value 的 key 值
29
- * @param {String} type 过滤类型(目前只有 tag)
26
+ * 按值匹配枚举项,并读取指定的标签字段或 Tag 类型。
27
+ * @param callValue - 当前单元格值
28
+ * @param enumData - 字典列表
29
+ * @param fieldNames - 标签与值的字段名
30
+ * @param type - 过滤类型(目前只有 tag)
31
+ * @returns 匹配项的标签;未匹配时返回 null。查询 Tag 类型时默认返回 info。
30
32
  */
31
33
  filterEnum(callValue: unknown, enumData: FaTableEnumColumnCtx[], fieldNames?: {
32
34
  label: string;
33
35
  value: string;
34
36
  }, type?: "tag"): unknown;
35
37
  /**
36
- * 数组动态排序
38
+ * 创建按排序条件依次比较行数据的函数,支持点分隔的属性路径。
37
39
  */
38
40
  arrayDynamicSort(sortList: PagedSortInput[]): (a: DefaultRow, b: DefaultRow) => number;
39
41
  /**
40
- * 设置枚举
42
+ * 将静态枚举或同步枚举函数的返回值存入映射。
41
43
  */
42
44
  setEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map<string, FaTableEnumColumnCtx[]>): void;
43
45
  /**
44
- * 扁平化 columns
46
+ * 收集叶子列,并补齐列的 show 默认值与枚举映射。
47
+ * @remarks 会修改传入列的 show 属性;嵌套子列不继承本次枚举映射参数。
45
48
  */
46
49
  flatColumns(columns: FaTableColumnCtx[], enumMap?: Map<string, FaTableEnumColumnCtx[]>): FaTableColumnCtx[];
47
50
  };