el-plus 0.0.101 → 0.0.102

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.
@@ -1,4 +1,4 @@
1
- /*! ElPlus v0.0.101 */
1
+ /*! ElPlus v0.0.102 */
2
2
 
3
3
  import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, reactive, onBeforeUpdate, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, useSlots, watch, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
4
4
  import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1, ElSkeleton } from 'element-plus';
@@ -2477,8 +2477,9 @@ var _sfc_main$9 = /* @__PURE__ */ defineComponent({
2477
2477
  width: "55",
2478
2478
  align: _ctx.align,
2479
2479
  selectable: _ctx.selectable,
2480
+ "reserve-selection": _ctx.reserveSelection,
2480
2481
  fixed: ""
2481
- }, null, 8, ["align", "selectable"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
2482
+ }, null, 8, ["align", "selectable", "reserve-selection"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
2482
2483
  key: 1,
2483
2484
  width: "55",
2484
2485
  align: _ctx.align,
@@ -2832,6 +2833,9 @@ const useButtons$1 = (props, { validate, resetFields, tableRef }) => {
2832
2833
  };
2833
2834
  });
2834
2835
  const search = async (isInitSearch = false) => {
2836
+ if (isInitSearch && props.tableProps?.reserveSelection) {
2837
+ tableRef.value.elTableRef.clearSelection();
2838
+ }
2835
2839
  tableRef.value.search(isInitSearch);
2836
2840
  };
2837
2841
  const reset = async () => {
@@ -4505,7 +4509,7 @@ var components = [
4505
4509
  EpFooterInfo
4506
4510
  ];
4507
4511
 
4508
- var version = "0.0.101";
4512
+ var version = "0.0.102";
4509
4513
 
4510
4514
  var globalProperties = {
4511
4515
  install(app) {
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="handleChoose">选择用户</el-button>
10
- <ChooseDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="handleConfirm">审批</el-button>
10
- <ConfirmDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -7,7 +7,6 @@
7
7
  ```vue
8
8
  <template>
9
9
  <el-button @click="openDialog">打开表单对话框</el-button>
10
- <FormDialog />
11
10
  </template>
12
11
 
13
12
  <script setup lang="tsx">
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, mergeModels, computed, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createVNode, createCommentVNode, mergeProps, withCtx, renderSlot, Fragment, renderList, withDirectives, createBlock, vShow, toDisplayString, reactive } from 'vue';
2
2
  import { createNameSpace } from '../../../utils/bem.mjs';
3
- import { expandFormPropsKeys, formEmits, formProps, formEmitsKeys } from './form.mjs';
3
+ import { formEmitsKeys, expandFormPropsKeys, formEmits, formProps } from './form.mjs';
4
4
  import { prepareEvents, prepareProps, prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
5
5
  import { ElForm, ElRow, ElCol } from 'element-plus';
6
6
  import { useForm, useCollapse } from './hooks/use-form.mjs';
@@ -192,6 +192,9 @@ const useButtons = (props, { validate, resetFields, tableRef }) => {
192
192
  };
193
193
  });
194
194
  const search = async (isInitSearch = false) => {
195
+ if (isInitSearch && props.tableProps?.reserveSelection) {
196
+ tableRef.value.elTableRef.clearSelection();
197
+ }
195
198
  tableRef.value.search(isInitSearch);
196
199
  };
197
200
  const reset = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nconst getAvailableHeight = (el: HTMLElement): number => {\n const elRect = el.getBoundingClientRect()\n let parent = el.parentElement\n while (parent) {\n const style = getComputedStyle(parent)\n const height = style.height\n if (height && height !== 'auto' && !height.endsWith('%')) {\n const parentRect = parent.getBoundingClientRect()\n return parentRect.bottom - elRect.top\n }\n if (parent === document.documentElement || parent === document.body) {\n break\n }\n parent = parent.parentElement\n }\n return window.innerHeight - elRect.top\n}\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: async () => {\n if (!formRef.value) {\n await nextTick()\n }\n await validate()\n }\n }\n}\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(0)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqAfter: props.reqAfter,\n reqBefore: props.reqBefore,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n customColumnApi: props.customColumnApi,\n customColumnSaveApi: props.customColumnSaveApi,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const containerHeight = rootRef.value\n ? getAvailableHeight(rootRef.value)\n : window.innerHeight\n\n tableHeight.value =\n containerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n 20 -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonProps<any[]>[] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item: ButtonProps<any[]>) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n if (item.confirmBefore) {\n const confirmBeforeFn = item.confirmBefore\n item.confirmBefore = async () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n await confirmBeforeFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["props"],"mappings":"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"}
1
+ {"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nconst getAvailableHeight = (el: HTMLElement): number => {\n const elRect = el.getBoundingClientRect()\n let parent = el.parentElement\n while (parent) {\n const style = getComputedStyle(parent)\n const height = style.height\n if (height && height !== 'auto' && !height.endsWith('%')) {\n const parentRect = parent.getBoundingClientRect()\n return parentRect.bottom - elRect.top\n }\n if (parent === document.documentElement || parent === document.body) {\n break\n }\n parent = parent.parentElement\n }\n return window.innerHeight - elRect.top\n}\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: async () => {\n if (!formRef.value) {\n await nextTick()\n }\n await validate()\n }\n }\n}\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(0)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqAfter: props.reqAfter,\n reqBefore: props.reqBefore,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n customColumnApi: props.customColumnApi,\n customColumnSaveApi: props.customColumnSaveApi,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const containerHeight = rootRef.value\n ? getAvailableHeight(rootRef.value)\n : window.innerHeight\n\n tableHeight.value =\n containerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n 20 -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonProps<any[]>[] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item: ButtonProps<any[]>) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n if (item.confirmBefore) {\n const confirmBeforeFn = item.confirmBefore\n item.confirmBefore = async () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n await confirmBeforeFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n // 如果isInitSearch为true+reserveSelection为true,清空选中状态\n if (isInitSearch && props.tableProps?.reserveSelection) {\n tableRef.value.elTableRef.clearSelection()\n }\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["props"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, useSlots, useTemplateRef, resolveComponent, resolveDirective, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createVNode, createBlock, createCommentVNode, withCtx, withDirectives, mergeProps, createSlots, createTextVNode, toDisplayString, createElementVNode, Fragment, renderList, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { createNameSpace } from '../../../utils/bem.mjs';
3
- import { tableEmits, tableProps, tableEmitsKeys, expandTablePropsKeys } from './table.mjs';
3
+ import { tableEmits, tableProps, expandTablePropsKeys, tableEmitsKeys } from './table.mjs';
4
4
  import { prepareEvents, prepareProps, prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
5
5
  import '../../form/index.mjs';
6
6
  import { EpCustomColumn } from '../../custom-column/index.mjs';
@@ -112,8 +112,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
112
112
  width: "55",
113
113
  align: _ctx.align,
114
114
  selectable: _ctx.selectable,
115
+ "reserve-selection": _ctx.reserveSelection,
115
116
  fixed: ""
116
- }, null, 8, ["align", "selectable"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
117
+ }, null, 8, ["align", "selectable", "reserve-selection"])) : createCommentVNode("", true), _ctx.showSingleSelectionCol ? (openBlock(), createBlock(_component_el_table_column, {
117
118
  key: 1,
118
119
  width: "55",
119
120
  align: _ctx.align,
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
1
+ {"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n :reserve-selection=\"reserveSelection\"\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","reserveSelection","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var version = "0.0.101";
1
+ var version = "0.0.102";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -194,6 +194,9 @@ const useButtons = (props, { validate, resetFields, tableRef }) => {
194
194
  };
195
195
  });
196
196
  const search = async (isInitSearch = false) => {
197
+ if (isInitSearch && props.tableProps?.reserveSelection) {
198
+ tableRef.value.elTableRef.clearSelection();
199
+ }
197
200
  tableRef.value.search(isInitSearch);
198
201
  };
199
202
  const reset = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nconst getAvailableHeight = (el: HTMLElement): number => {\n const elRect = el.getBoundingClientRect()\n let parent = el.parentElement\n while (parent) {\n const style = getComputedStyle(parent)\n const height = style.height\n if (height && height !== 'auto' && !height.endsWith('%')) {\n const parentRect = parent.getBoundingClientRect()\n return parentRect.bottom - elRect.top\n }\n if (parent === document.documentElement || parent === document.body) {\n break\n }\n parent = parent.parentElement\n }\n return window.innerHeight - elRect.top\n}\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: async () => {\n if (!formRef.value) {\n await nextTick()\n }\n await validate()\n }\n }\n}\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(0)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqAfter: props.reqAfter,\n reqBefore: props.reqBefore,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n customColumnApi: props.customColumnApi,\n customColumnSaveApi: props.customColumnSaveApi,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const containerHeight = rootRef.value\n ? getAvailableHeight(rootRef.value)\n : window.innerHeight\n\n tableHeight.value =\n containerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n 20 -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonProps<any[]>[] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item: ButtonProps<any[]>) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n if (item.confirmBefore) {\n const confirmBeforeFn = item.confirmBefore\n item.confirmBefore = async () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n await confirmBeforeFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["useTemplateRef","nextTick","ref","computed","onMounted","props","useLocale","mergeListByKey"],"mappings":";;;;;;AASA,MAAM,kBAAA,GAAqB,CAAC,EAAA,KAA4B;AACtD,EAAA,MAAM,MAAA,GAAS,GAAG,qBAAA,EAAsB;AACxC,EAAA,IAAI,SAAS,EAAA,CAAG,aAAA;AAChB,EAAA,OAAO,MAAA,EAAQ;AACb,IAAA,MAAM,KAAA,GAAQ,iBAAiB,MAAM,CAAA;AACrC,IAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,IAAA,IAAI,UAAU,MAAA,KAAW,MAAA,IAAU,CAAC,MAAA,CAAO,QAAA,CAAS,GAAG,CAAA,EAAG;AACxD,MAAA,MAAM,UAAA,GAAa,OAAO,qBAAA,EAAsB;AAChD,MAAA,OAAO,UAAA,CAAW,SAAS,MAAA,CAAO,GAAA;AAAA,IACpC;AACA,IAAA,IAAI,MAAA,KAAW,QAAA,CAAS,eAAA,IAAmB,MAAA,KAAW,SAAS,IAAA,EAAM;AACnE,MAAA;AAAA,IACF;AACA,IAAA,MAAA,GAAS,MAAA,CAAO,aAAA;AAAA,EAClB;AACA,EAAA,OAAO,MAAA,CAAO,cAAc,MAAA,CAAO,GAAA;AACrC,CAAA;AAEO,MAAM,iBAAA,GAAoB,CAAC,KAAA,EAA4B,MAAA,GAAS,EAAC,KAAM;AAC5E,EAAA,MAAM,OAAA,GAAUA,mBAA+B,SAAS,CAAA;AACxD,EAAA,MAAM,EAAE,iBAAiB,UAAA,EAAY,QAAA,KAAa,QAAA,CAAS,KAAA,EAAO,QAAQ,OAAO,CAAA;AACjF,EAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,aAAa,OAAA,EAAQ,GAAI,QAAQ,KAAA,EAAO;AAAA,IACnE;AAAA,GACD,CAAA;AACD,EAAA,MAAM,EAAE,YAAA,EAAc,aAAA,EAAe,QAAQ,KAAA,EAAM,GAAI,WAAW,KAAA,EAAO;AAAA,IACvE,QAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAA,OAAO;AAAA,IACL,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAc,YAAY;AACxB,MAAA,IAAI,CAAC,QAAQ,KAAA,EAAO;AAClB,QAAA,MAAMC,YAAA,EAAS;AAAA,MACjB;AACA,MAAA,MAAM,QAAA,EAAS;AAAA,IACjB;AAAA,GACF;AACF;AACA,MAAM,QAAA,GAAW,CAAC,KAAA,EAA4B,MAAA,EAAQ,OAAA,KAA+D;AACnH,EAAA,MAAM,YAAA,GAAe,UAAA;AACrB,EAAA,MAAM,QAAA,GAAWD,mBAA8B,YAAY,CAAA;AAC3D,EAAA,MAAM,WAAA,GAAcE,QAAI,CAAC,CAAA;AACzB,EAAA,MAAM,UAAA,GAAaC,aAAS,MAAM;AAChC,IAAA,OAAO;AAAA,MACL,GAAA,EAAK,YAAA;AAAA,MACL,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,cAAA,EAAgB,IAAA;AAAA,MAChB,QAAQ,WAAA,CAAY,KAAA;AAAA,MACpB,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,kBAAkB,KAAA,CAAM,gBAAA;AAAA,MACxB,wBAAwB,KAAA,CAAM,sBAAA;AAAA,MAC9B,eAAe,KAAA,CAAM,aAAA;AAAA,MACrB,eAAe,KAAA,CAAM,aAAA;AAAA,MACrB,KAAK,KAAA,CAAM,GAAA;AAAA,MACX,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,WAAW,KAAA,CAAM,SAAA;AAAA,MACjB,SAAS,KAAA,CAAM,QAAA;AAAA,MACf,oBAAoB,KAAA,CAAM,kBAAA;AAAA,MAC1B,iBAAiB,KAAA,CAAM,eAAA;AAAA,MACvB,qBAAqB,KAAA,CAAM,mBAAA;AAAA,MAC3B,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,gBAAgB,KAAA,CAAM,cAAA;AAAA,MACtB,GAAG,KAAA,CAAM;AAAA,KACX;AAAA,EACF,CAAC,CAAA;AACD,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,MAAM,SAAA,GAAa,QAAA,CAAS,cAAA,CAAe,KAAK,CAAA,CAC7C,YAAA;AACH,MAAA,MAAM,YAAA,GAAgB,QAAA,CAAS,cAAA,CAAe,QAAQ,CAAA,CACnD,YAAA;AACH,MAAA,IAAI,gBAAA,GAAmB,CAAA;AACvB,MAAA,IAAI,UAAA,CAAW,MAAM,cAAA,EAAgB;AACnC,QAAA,gBAAA,GACG,QAAA,CAAS,aAAA,CAAc,gBAAgB,CAAA,CACrC,YAAA,GAAe,EAAA;AAAA,MACtB;AACA,MAAA,MAAM,kBAAkB,OAAA,CAAQ,KAAA,GAC5B,mBAAmB,OAAA,CAAQ,KAAK,IAChC,MAAA,CAAO,WAAA;AAEX,MAAA,WAAA,CAAY,QACV,eAAA,GACA,SAAA,GACA,YAAA,GACA,gBAAA,GACA,KACA,KAAA,CAAM,SAAA;AAAA,IACV,GAAG,CAAC,CAAA;AAAA,EACN,CAAA;AAEA,EAAAC,aAAA,CAAU,eAAe,CAAA;AACzB,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;AACA,MAAM,OAAA,GAAU,CAAC,KAAA,EAA4B,EAAE,iBAAgB,KAAM;AACnE,EAAA,MAAM,YAAA,GAAe,SAAA;AACrB,EAAA,MAAM,OAAA,GAAUJ,mBAA6B,YAAY,CAAA;AACzD,EAAA,MAAM,SAAA,GAAYG,aAAS,MAAM;AAC/B,IAAA,OAAO;AAAA,MACL,GAAA,EAAK,YAAA;AAAA,MACL,cAAc,KAAA,CAAM,YAAA;AAAA,MACpB,UAAA,EAAY,IAAA;AAAA,MACZ,YAAY,KAAA,CAAM,QAAA;AAAA,MAClB,GAAG,KAAA,CAAM,SAAA;AAAA,MACT,gBAAgB,MAAM;AACpB,QAAA,eAAA,EAAgB;AAAA,MAClB;AAAA,KACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,WAAW,MAAM;AACrB,IAAA,OAAO,OAAA,CAAQ,MAAO,QAAA,EAAS;AAAA,EACjC,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAACE,MAAAA,KAAwB;AAC3C,IAAA,OAAO,OAAA,CAAQ,KAAA,CAAO,WAAA,CAAYA,MAAK,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAACA,MAAAA,KAAwB;AAC7C,IAAA,OAAO,OAAA,CAAQ,KAAA,CAAO,aAAA,CAAcA,MAAK,CAAA;AAAA,EAC3C,CAAA;AACA,EAAA,OAAO;AAAA,IACL,SAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;AACA,MAAM,aAAa,CACjB,KAAA,EACA,EAAE,QAAA,EAAU,WAAA,EAAa,UAAS,KAC/B;AACH,EAAA,MAAM,EAAE,CAAA,EAAE,GAAIC,mBAAA,EAAU;AACxB,EAAA,MAAM,cAAA,GAAuC;AAAA,IAC3C;AAAA,MACE,IAAA,EAAM,EAAE,uBAAuB,CAAA;AAAA,MAC/B,IAAA,EAAM,KAAA;AAAA,MACN,YAAY,KAAA,CAAM,IAAA,GAAO,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,IAAA,CAAA,GAAS,EAAA;AAAA,MAC/C,MAAM,MAAM;AACV,QAAA,OAAO,CAAC,CAAC,KAAA,CAAM,GAAA;AAAA,MACjB,CAAA;AAAA,MACA,SAAS,MAAM;AACb,QAAA,KAAA,CAAM,GAAA,IAAM;AAAA,MACd;AAAA;AACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmBF;AACA,EAAA,MAAM,IAAA,GAAOC,oBAAA,CAAe,cAAA,EAAgB,KAAA,CAAM,WAAW,CAAA;AAC7D,EAAA,IAAI,MAAM,kBAAA,EAAoB;AAC5B,IAAA,IAAA,CAAK,IAAA,CAAK;AAAA,MACR,IAAA,EAAM,EAAE,gCAAgC,CAAA;AAAA,MACxC,IAAA,EAAM,cAAA;AAAA,MACN,IAAA,EAAM,SAAA;AAAA,MACN,SAAS,MAAM;AACb,QAAA,QAAA,CAAS,MAAM,sBAAA,EAAuB;AAAA,MACxC;AAAA,KACD,CAAA;AAAA,EACH;AACA,EAAA,IAAA,CAAK,OAAA,CAAQ,CAAC,IAAA,KAA6B;AACzC,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,UAAU,IAAA,CAAK,OAAA;AACrB,MAAA,IAAA,CAAK,UAAU,MAAM;AACnB,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,UAAA,CAAW,gBAAA,EAAiB;AACxD,QAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,MACd,CAAA;AAAA,IACF;AACA,IAAA,IAAI,KAAK,aAAA,EAAe;AACtB,MAAA,MAAM,kBAAkB,IAAA,CAAK,aAAA;AAC7B,MAAA,IAAA,CAAK,gBAAgB,YAAY;AAC/B,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,UAAA,CAAW,gBAAA,EAAiB;AACxD,QAAA,MAAM,gBAAgB,IAAI,CAAA;AAAA,MAC5B,CAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,YAAA,GAAeJ,aAAS,MAAM;AAClC,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA,GAAG,KAAA,CAAM;AAAA,KACX;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,MAAA,GAAS,OAAO,YAAA,GAAe,KAAA,KAAU;AAE7C,IAAA,QAAA,CAAS,KAAA,CAAM,OAAO,YAAY,CAAA;AAAA,EACpC,CAAA;AAEA,EAAA,MAAM,QAAQ,YAAY;AACxB,IAAA,WAAA,EAAY;AACZ,IAAA,MAAA,CAAO,IAAI,CAAA;AAAA,EACb,CAAA;AACA,EAAA,MAAM,aAAA,GAAsC;AAAA,IAC1C;AAAA,MACE,IAAA,EAAM,EAAE,0BAA0B,CAAA;AAAA,MAClC,IAAA,EAAM,SAAA;AAAA,MACN,OAAA,EAAS,MAAA,CAAO,IAAA,CAAK,IAAA,EAAM,IAAI;AAAA,KACjC;AAAA,IACA;AAAA,MACE,IAAA,EAAM,EAAE,yBAAyB,CAAA;AAAA,MACjC,OAAA,EAAS;AAAA;AACX,GACF;AACA,EAAA,OAAO;AAAA,IACL,YAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"use-search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef, nextTick } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps, ButtonProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nconst getAvailableHeight = (el: HTMLElement): number => {\n const elRect = el.getBoundingClientRect()\n let parent = el.parentElement\n while (parent) {\n const style = getComputedStyle(parent)\n const height = style.height\n if (height && height !== 'auto' && !height.endsWith('%')) {\n const parentRect = parent.getBoundingClientRect()\n return parentRect.bottom - elRect.top\n }\n if (parent === document.documentElement || parent === document.body) {\n break\n }\n parent = parent.parentElement\n }\n return window.innerHeight - elRect.top\n}\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const rootRef = useTemplateRef<HTMLDivElement>('rootRef')\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config, rootRef)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: async () => {\n if (!formRef.value) {\n await nextTick()\n }\n await validate()\n }\n }\n}\nconst useTable = (props: SearchListPageProps, config, rootRef: ReturnType<typeof useTemplateRef<HTMLDivElement>>) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(0)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqAfter: props.reqAfter,\n reqBefore: props.reqBefore,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n customColumnApi: props.customColumnApi,\n customColumnSaveApi: props.customColumnSaveApi,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const containerHeight = rootRef.value\n ? getAvailableHeight(rootRef.value)\n : window.innerHeight\n\n tableHeight.value =\n containerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n 20 -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonProps<any[]>[] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item: ButtonProps<any[]>) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n if (item.confirmBefore) {\n const confirmBeforeFn = item.confirmBefore\n item.confirmBefore = async () => {\n const rows = tableRef.value.elTableRef.getSelectionRows()\n await confirmBeforeFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n // 如果isInitSearch为true+reserveSelection为true,清空选中状态\n if (isInitSearch && props.tableProps?.reserveSelection) {\n tableRef.value.elTableRef.clearSelection()\n }\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["useTemplateRef","nextTick","ref","computed","onMounted","props","useLocale","mergeListByKey"],"mappings":"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"}
@@ -116,8 +116,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
116
116
  width: "55",
117
117
  align: _ctx.align,
118
118
  selectable: _ctx.selectable,
119
+ "reserve-selection": _ctx.reserveSelection,
119
120
  fixed: ""
120
- }, null, 8, ["align", "selectable"])) : vue.createCommentVNode("", true), _ctx.showSingleSelectionCol ? (vue.openBlock(), vue.createBlock(_component_el_table_column, {
121
+ }, null, 8, ["align", "selectable", "reserve-selection"])) : vue.createCommentVNode("", true), _ctx.showSingleSelectionCol ? (vue.openBlock(), vue.createBlock(_component_el_table_column, {
121
122
  key: 1,
122
123
  width: "55",
123
124
  align: _ctx.align,
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n :reserve-selection=\"reserveSelection\"\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n getSelectionRows,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","reserveSelection","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.101";
3
+ var version = "0.0.102";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "el-plus",
3
- "version": "0.0.101",
3
+ "version": "0.0.102",
4
4
  "description": "pro base on element-plus",
5
5
  "module": "./es/index.mjs",
6
6
  "keywords": [