@ditari/bsui 1.1.30 → 1.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ditari/bsui
2
2
 
3
+ ## 1.1.31
4
+
5
+ ### Patch Changes
6
+
7
+ - 表格高度计算异常 bug 修复
8
+
3
9
  ## 1.1.30
4
10
 
5
11
  ### Patch Changes
@@ -82,15 +82,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
82
82
  );
83
83
  function calcHeight() {
84
84
  show.value = false;
85
- setTimeout(() => {
85
+ vue.nextTick(() => {
86
86
  var _a;
87
87
  height.value = (_a = tableRef == null ? void 0 : tableRef.value) == null ? void 0 : _a.offsetHeight;
88
88
  show.value = true;
89
- }, 10);
89
+ });
90
90
  }
91
- vue.nextTick(() => {
92
- calcHeight();
93
- });
94
91
  return (_ctx, _cache) => {
95
92
  const _component_a_card = vue.resolveComponent("a-card");
96
93
  const _component_a_space = vue.resolveComponent("a-space");
@@ -1 +1 @@
1
- {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport { useDebounceFn, useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n }\n);\n\nwindow.addEventListener(\n \"resize\",\n useDebounceFn(() => {\n calcHeight();\n })\n);\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n setTimeout(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n }, 10);\n}\n\nnextTick(() => {\n calcHeight();\n});\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","useDebounceFn","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport { useDebounceFn, useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n }\n);\n\nwindow.addEventListener(\n \"resize\",\n useDebounceFn(() => {\n calcHeight();\n })\n);\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n\n// nextTick(() => {\n// calcHeight();\n// });\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","useDebounceFn","nextTick"],"mappings":"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"}
@@ -122,6 +122,7 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
122
122
  onPageChange: onChange
123
123
  } = props.config;
124
124
  const selection = (_a2 = props.config.selection) != null ? _a2 : "N";
125
+ const isInit = vue.ref(false);
125
126
  const tableRootRef2 = vue.ref();
126
127
  const tableRef2 = vue.ref(null);
127
128
  const tableHeight2 = vue.ref();
@@ -131,6 +132,7 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
131
132
  try {
132
133
  const tableEl = (_a3 = tableRef2 == null ? void 0 : tableRef2.value) == null ? void 0 : _a3.$el;
133
134
  const headerHeight = html.useEleHeight(tableEl.getElementsByClassName("ant-table-header")[0]);
135
+ isInit.value = true;
134
136
  let paginationHeight = 0;
135
137
  if (props.config.pagination) {
136
138
  const paginationEl = (_b2 = tableRootRef2.value) == null ? void 0 : _b2.getElementsByClassName(basePageClassName)[0];
@@ -146,9 +148,13 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
146
148
  vue.watchEffect(() => {
147
149
  if (props.height !== 0) {
148
150
  vue.nextTick(() => {
149
- setTimeout(() => {
151
+ if (isInit.value) {
150
152
  playHeight(props.height);
151
- }, 100);
153
+ } else {
154
+ setTimeout(() => {
155
+ playHeight(props.height);
156
+ }, 1);
157
+ }
152
158
  });
153
159
  }
154
160
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: {\n type: Boolean as PropType<TableProps[\"defaultExpandAllRows\"]>,\n default: () => true\n }\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 100);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page: page === 0 ? 1 : page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any, index: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n /**\n * 展开行事件\n * @param expanded\n * @param record\n */\n const onExpand = (expanded: any, record: any) => {\n props.config.onExpand && props.config.onExpand({ expanded, record });\n };\n\n return () => (\n <div ref={tableRootRef}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n onExpand={onExpand}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","defineComponent","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"Table.cjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: {\n type: Boolean as PropType<TableProps[\"defaultExpandAllRows\"]>,\n default: () => true\n }\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n const isInit = ref(false);\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n isInit.value = true;\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n if (isInit.value) {\n playHeight(props.height);\n } else {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n playHeight(props.height);\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n }, 1);\n }\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page: page === 0 ? 1 : page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any, index: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n /**\n * 展开行事件\n * @param expanded\n * @param record\n */\n const onExpand = (expanded: any, record: any) => {\n props.config.onExpand && props.config.onExpand({ expanded, record });\n };\n\n return () => (\n <div ref={tableRootRef}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n onExpand={onExpand}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","defineComponent","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","isInit","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
@@ -78,15 +78,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
78
78
  );
79
79
  function calcHeight() {
80
80
  show.value = false;
81
- setTimeout(() => {
81
+ nextTick(() => {
82
82
  var _a;
83
83
  height.value = (_a = tableRef == null ? void 0 : tableRef.value) == null ? void 0 : _a.offsetHeight;
84
84
  show.value = true;
85
- }, 10);
85
+ });
86
86
  }
87
- nextTick(() => {
88
- calcHeight();
89
- });
90
87
  return (_ctx, _cache) => {
91
88
  const _component_a_card = resolveComponent("a-card");
92
89
  const _component_a_space = resolveComponent("a-space");
@@ -1 +1 @@
1
- {"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport { useDebounceFn, useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n }\n);\n\nwindow.addEventListener(\n \"resize\",\n useDebounceFn(() => {\n calcHeight();\n })\n);\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n setTimeout(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n }, 10);\n}\n\nnextTick(() => {\n calcHeight();\n});\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;AACA,MAAM,YAAe,GAAA,EAAA,CAAA;;;;;AAqBrB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQ,gBAAiB,EAAA,CAAA;AAC/B,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,cAAA,GAAiB,OAAO,gBAAgB,CAAA,CAAA;AAE9C,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAErC,IAAA,MAAM,WAAW,GAAI,EAAA,CAAA;AACrB,IAAA,MAAM,WAAW,GAAI,EAAA,CAAA;AAErB,IAAM,MAAA,IAAA,GAAO,IAAI,KAAK,CAAA,CAAA;AACtB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AAEpB,IAAI,IAAA,eAAA,CAAA;AAEJ,IAAA,KAAA;AAAA,MACE,MAAM,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,aAAA;AAAA,MACtB,MAAM;AACJ,QAAW,UAAA,EAAA,CAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAU,SAAA,EAAA,CAAA;AAEV,IAAA,SAAS,SAAY,GAAA;AAEnB,MAAI,IAAA,CAAC,MAAM,IAAM,EAAA;AACf,QAAA,eAAA,GAAkB,QAAS,EAAA,CAAA;AAE3B,QAAA,WAAA,CAAY,MAAM;AAChB,UAAgB,eAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACI,MAAA;AAEL,QAAA,WAAA,CAAY,MAAM;AAChB,UAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,YAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAChB,YAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,WACjB;AACA,UAAA,eAAA,GAAkB,QAAS,EAAA,CAAA;AAAA,SAC5B,CAAA,CAAA;AAED,QAAA,aAAA,CAAc,MAAM;AAClB,UAAgB,eAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAEA,IAAA,SAAS,QAAW,GAAA;AAElB,MAAO,OAAA,KAAA;AAAA,QACL,MAAM,OAAQ,CAAA,KAAA;AAAA,QACd,CAAC,GAAQ,KAAA;AACP,UAAA,IAAI,GAAK,EAAA;AAEP,YAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,WACjB;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF;AAIA,IAAM,MAAA,OAAA,GAAU,IAAI,IAAI,CAAA,CAAA;AACxB,IAAA,MAAM,EAAE,MAAA,EAAQ,UAAW,EAAA,GAAI,eAAe,OAAO,CAAA,CAAA;AACrD,IAAA,KAAA;AAAA,MACE,MAAM,UAAW,CAAA,KAAA;AAAA,MACjB,MAAM;AACJ,QAAW,UAAA,EAAA,CAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAO,MAAA,CAAA,gBAAA;AAAA,MACL,QAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAW,UAAA,EAAA,CAAA;AAAA,OACZ,CAAA;AAAA,KACH,CAAA;AAGA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AACb,MAAA,UAAA,CAAW,MAAM;;AACf,QAAO,MAAA,CAAA,KAAA,GAAA,CAAQ,EAAU,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,KAAV,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AAChC,QAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AAAA,SACZ,EAAE,CAAA,CAAA;AAAA,KACP;AAEA,IAAA,QAAA,CAAS,MAAM;AACb,MAAW,UAAA,EAAA,CAAA;AAAA,KACZ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport { useDebounceFn, useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n }\n);\n\nwindow.addEventListener(\n \"resize\",\n useDebounceFn(() => {\n calcHeight();\n })\n);\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n\n// nextTick(() => {\n// calcHeight();\n// });\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":[],"mappings":"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"}
@@ -118,6 +118,7 @@ const DXTable = /* @__PURE__ */ defineComponent({
118
118
  onPageChange: onChange
119
119
  } = props.config;
120
120
  const selection = (_a2 = props.config.selection) != null ? _a2 : "N";
121
+ const isInit = ref(false);
121
122
  const tableRootRef2 = ref();
122
123
  const tableRef2 = ref(null);
123
124
  const tableHeight2 = ref();
@@ -127,6 +128,7 @@ const DXTable = /* @__PURE__ */ defineComponent({
127
128
  try {
128
129
  const tableEl = (_a3 = tableRef2 == null ? void 0 : tableRef2.value) == null ? void 0 : _a3.$el;
129
130
  const headerHeight = useEleHeight(tableEl.getElementsByClassName("ant-table-header")[0]);
131
+ isInit.value = true;
130
132
  let paginationHeight = 0;
131
133
  if (props.config.pagination) {
132
134
  const paginationEl = (_b2 = tableRootRef2.value) == null ? void 0 : _b2.getElementsByClassName(basePageClassName)[0];
@@ -142,9 +144,13 @@ const DXTable = /* @__PURE__ */ defineComponent({
142
144
  watchEffect(() => {
143
145
  if (props.height !== 0) {
144
146
  nextTick(() => {
145
- setTimeout(() => {
147
+ if (isInit.value) {
146
148
  playHeight(props.height);
147
- }, 100);
149
+ } else {
150
+ setTimeout(() => {
151
+ playHeight(props.height);
152
+ }, 1);
153
+ }
148
154
  });
149
155
  }
150
156
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: {\n type: Boolean as PropType<TableProps[\"defaultExpandAllRows\"]>,\n default: () => true\n }\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 100);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page: page === 0 ? 1 : page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any, index: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n /**\n * 展开行事件\n * @param expanded\n * @param record\n */\n const onExpand = (expanded: any, record: any) => {\n props.config.onExpand && props.config.onExpand({ expanded, record });\n };\n\n return () => (\n <div ref={tableRootRef}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n onExpand={onExpand}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: {\n type: Boolean as PropType<TableProps[\"defaultExpandAllRows\"]>,\n default: () => true\n }\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n const isInit = ref(false);\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n isInit.value = true;\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n if (isInit.value) {\n playHeight(props.height);\n } else {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n playHeight(props.height);\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n }, 1);\n }\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page: page === 0 ? 1 : page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any, index: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n /**\n * 展开行事件\n * @param expanded\n * @param record\n */\n const onExpand = (expanded: any, record: any) => {\n props.config.onExpand && props.config.onExpand({ expanded, record });\n };\n\n return () => (\n <div ref={tableRootRef}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n onExpand={onExpand}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","isInit","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
@@ -268,10 +268,10 @@ export default {
268
268
  </script>
269
269
  <template>
270
270
  <d-list-layout>
271
- <!-- <template #form>-->
272
- <!-- <d-query-form :value="formState" :scheme="scheme" @query="onQuery">-->
273
- <!-- </d-query-form>-->
274
- <!-- </template>-->
271
+ <template #form>
272
+ <d-query-form :value="formState" :scheme="scheme" @query="onQuery">
273
+ </d-query-form>
274
+ </template>
275
275
  <template #table="{ height }">
276
276
  <d-table
277
277
  v-model:keys="selectedRowKeys"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/bsui",
3
- "version": "1.1.30",
3
+ "version": "1.1.31",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "",
@@ -99,15 +99,15 @@ window.addEventListener(
99
99
  // 动态计算高度
100
100
  function calcHeight() {
101
101
  show.value = false;
102
- setTimeout(() => {
102
+ nextTick(() => {
103
103
  height.value = tableRef?.value?.offsetHeight;
104
104
  show.value = true;
105
- }, 10);
105
+ });
106
106
  }
107
107
 
108
- nextTick(() => {
109
- calcHeight();
110
- });
108
+ // nextTick(() => {
109
+ // calcHeight();
110
+ // });
111
111
  </script>
112
112
  <template>
113
113
  <div class="ditari-list-layout">
@@ -131,7 +131,7 @@ const DXTable = defineComponent({
131
131
  } = props.config;
132
132
 
133
133
  const selection = props.config.selection ?? "N";
134
-
134
+ const isInit = ref(false);
135
135
  // 表格根div
136
136
  const tableRootRef = ref<HTMLElement>();
137
137
  // 表格组件对象
@@ -144,10 +144,10 @@ const DXTable = defineComponent({
144
144
  const playHeight = (height: number) => {
145
145
  try {
146
146
  const tableEl = tableRef?.value?.$el;
147
-
148
147
  const headerHeight = useEleHeight(
149
148
  tableEl.getElementsByClassName("ant-table-header")[0]
150
149
  );
150
+ isInit.value = true;
151
151
  // 获取分页组件高度
152
152
  let paginationHeight = 0;
153
153
  if (props.config.pagination) {
@@ -171,11 +171,15 @@ const DXTable = defineComponent({
171
171
  watchEffect(() => {
172
172
  if (props.height !== 0) {
173
173
  nextTick(() => {
174
- // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度
175
- setTimeout(() => {
176
- // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法
174
+ if (isInit.value) {
177
175
  playHeight(props.height);
178
- }, 100);
176
+ } else {
177
+ // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度
178
+ setTimeout(() => {
179
+ playHeight(props.height);
180
+ // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法
181
+ }, 100);
182
+ }
179
183
  });
180
184
  }
181
185
  });