el-plus 0.0.82 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +201 -49
  4. package/dist/index.full.min.js +4 -4
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +4 -4
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +200 -51
  9. package/es/components/attachment/src/attachment.vue2.mjs +12 -2
  10. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  11. package/es/components/footer-info/index.d.ts +66 -0
  12. package/es/components/footer-info/index.mjs +8 -0
  13. package/es/components/footer-info/index.mjs.map +1 -0
  14. package/es/components/footer-info/src/footer-info.d.ts +28 -0
  15. package/es/components/footer-info/src/footer-info.mjs +43 -0
  16. package/es/components/footer-info/src/footer-info.mjs.map +1 -0
  17. package/es/components/footer-info/src/footer-info.vue.d.ts +34 -0
  18. package/es/components/footer-info/src/footer-info.vue.mjs +6 -0
  19. package/es/components/footer-info/src/footer-info.vue.mjs.map +1 -0
  20. package/es/components/footer-info/src/footer-info.vue2.mjs +65 -0
  21. package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -0
  22. package/es/components/footer-info/style/css.d.ts +2 -0
  23. package/es/components/footer-info/style/css.mjs +5 -0
  24. package/es/components/footer-info/style/css.mjs.map +1 -0
  25. package/es/components/footer-info/style/index.d.ts +2 -0
  26. package/es/components/footer-info/style/index.mjs +5 -0
  27. package/es/components/footer-info/style/index.mjs.map +1 -0
  28. package/es/components/form/index.d.ts +3 -0
  29. package/es/components/form/src/form-item-vue.mjs +1 -1
  30. package/es/components/form/src/form-item-vue.mjs.map +1 -1
  31. package/es/components/form/src/form.vue.d.ts +1 -0
  32. package/es/components/form/src/form.vue2.mjs +14 -3
  33. package/es/components/form/src/form.vue2.mjs.map +1 -1
  34. package/es/components/form/src/hooks/use-form-item.d.ts +1 -1
  35. package/es/components/form/src/hooks/use-form-item.mjs +7 -2
  36. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  37. package/es/components/form/src/hooks/use-form.d.ts +2 -0
  38. package/es/components/form/src/hooks/use-form.mjs +16 -2
  39. package/es/components/form/src/hooks/use-form.mjs.map +1 -1
  40. package/es/components/index.d.ts +1 -0
  41. package/es/components/index.mjs +2 -0
  42. package/es/components/index.mjs.map +1 -1
  43. package/es/components/search-list-page/index.d.ts +18 -6
  44. package/es/components/search-list-page/src/search-list-page.vue.d.ts +6 -2
  45. package/es/components/search-list-page/src/use-search-list-page.d.ts +6 -2
  46. package/es/components/table/index.d.ts +3 -0
  47. package/es/components/table/src/table.vue.d.ts +1 -0
  48. package/es/components/table/src/table.vue2.mjs +2 -0
  49. package/es/components/table/src/table.vue2.mjs.map +1 -1
  50. package/es/components/table/src/use-table.d.ts +1 -0
  51. package/es/components/table/src/use-table.mjs +4 -0
  52. package/es/components/table/src/use-table.mjs.map +1 -1
  53. package/es/components.mjs +3 -1
  54. package/es/components.mjs.map +1 -1
  55. package/es/hooks/dialog/use-dialog.d.ts +1 -0
  56. package/es/hooks/dialog/use-dialog.mjs +3 -0
  57. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  58. package/es/hooks/use-template-promise.d.ts +1 -0
  59. package/es/hooks/use-template-promise.mjs +1 -1
  60. package/es/hooks/use-template-promise.mjs.map +1 -1
  61. package/es/index.mjs +2 -0
  62. package/es/index.mjs.map +1 -1
  63. package/es/package.json.mjs +1 -1
  64. package/lib/components/attachment/src/attachment.vue2.js +12 -2
  65. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  66. package/lib/components/footer-info/index.d.ts +66 -0
  67. package/lib/components/footer-info/index.js +15 -0
  68. package/lib/components/footer-info/index.js.map +1 -0
  69. package/lib/components/footer-info/src/footer-info.d.ts +28 -0
  70. package/lib/components/footer-info/src/footer-info.js +46 -0
  71. package/lib/components/footer-info/src/footer-info.js.map +1 -0
  72. package/lib/components/footer-info/src/footer-info.vue.d.ts +34 -0
  73. package/lib/components/footer-info/src/footer-info.vue.js +10 -0
  74. package/lib/components/footer-info/src/footer-info.vue.js.map +1 -0
  75. package/lib/components/footer-info/src/footer-info.vue2.js +69 -0
  76. package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -0
  77. package/lib/components/footer-info/style/css.d.ts +2 -0
  78. package/lib/components/footer-info/style/css.js +7 -0
  79. package/lib/components/footer-info/style/css.js.map +1 -0
  80. package/lib/components/footer-info/style/index.d.ts +2 -0
  81. package/lib/components/footer-info/style/index.js +7 -0
  82. package/lib/components/footer-info/style/index.js.map +1 -0
  83. package/lib/components/form/index.d.ts +3 -0
  84. package/lib/components/form/src/form-item-vue.js +1 -1
  85. package/lib/components/form/src/form-item-vue.js.map +1 -1
  86. package/lib/components/form/src/form.vue.d.ts +1 -0
  87. package/lib/components/form/src/form.vue2.js +14 -3
  88. package/lib/components/form/src/form.vue2.js.map +1 -1
  89. package/lib/components/form/src/hooks/use-form-item.d.ts +1 -1
  90. package/lib/components/form/src/hooks/use-form-item.js +7 -2
  91. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  92. package/lib/components/form/src/hooks/use-form.d.ts +2 -0
  93. package/lib/components/form/src/hooks/use-form.js +15 -1
  94. package/lib/components/form/src/hooks/use-form.js.map +1 -1
  95. package/lib/components/index.d.ts +1 -0
  96. package/lib/components/index.js +5 -0
  97. package/lib/components/index.js.map +1 -1
  98. package/lib/components/search-list-page/index.d.ts +18 -6
  99. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +6 -2
  100. package/lib/components/search-list-page/src/use-search-list-page.d.ts +6 -2
  101. package/lib/components/table/index.d.ts +3 -0
  102. package/lib/components/table/src/table.vue.d.ts +1 -0
  103. package/lib/components/table/src/table.vue2.js +2 -0
  104. package/lib/components/table/src/table.vue2.js.map +1 -1
  105. package/lib/components/table/src/use-table.d.ts +1 -0
  106. package/lib/components/table/src/use-table.js +4 -0
  107. package/lib/components/table/src/use-table.js.map +1 -1
  108. package/lib/components.js +3 -1
  109. package/lib/components.js.map +1 -1
  110. package/lib/hooks/dialog/use-dialog.d.ts +1 -0
  111. package/lib/hooks/dialog/use-dialog.js +3 -0
  112. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  113. package/lib/hooks/use-template-promise.d.ts +1 -0
  114. package/lib/hooks/use-template-promise.js +1 -1
  115. package/lib/hooks/use-template-promise.js.map +1 -1
  116. package/lib/index.js +11 -6
  117. package/lib/index.js.map +1 -1
  118. package/lib/package.json.js +1 -1
  119. package/package.json +1 -1
  120. package/theme-chalk/attachment.css +1 -1
  121. package/theme-chalk/footer-info.css +1 -0
  122. package/theme-chalk/header.css +1 -1
  123. package/theme-chalk/index.css +1 -1
  124. package/theme-chalk/src/attachment.scss +3 -0
  125. package/theme-chalk/src/footer-info.scss +18 -0
  126. package/theme-chalk/src/header.scss +1 -1
  127. package/theme-chalk/src/index.scss +1 -0
  128. package/theme-chalk/src/table.scss +1 -0
  129. package/theme-chalk/src/title.scss +41 -43
  130. package/theme-chalk/table.css +1 -1
  131. package/theme-chalk/title.css +1 -1
@@ -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 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 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","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 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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"}
@@ -47,6 +47,7 @@ export declare const useTable: (props: TableProps) => {
47
47
  clearSelection: () => void;
48
48
  resetFields: (props: FormItemProp) => void;
49
49
  clearValidate: (props: FormItemProp) => void;
50
+ getSelectionRows: () => any[];
50
51
  elFormRef: Readonly<import("vue").ShallowRef<FormInstance | null>>;
51
52
  elTableRef: Readonly<import("vue").ShallowRef<TableInstance | null>>;
52
53
  formatActionButtons: (list: ButtonProps[], scope: TableScope) => Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
@@ -123,6 +123,9 @@ const useTable = (props) => {
123
123
  const clearValidate = (props2) => {
124
124
  return elFormRef.value.clearValidate(props2);
125
125
  };
126
+ const getSelectionRows = () => {
127
+ return elTableRef.value.getSelectionRows();
128
+ };
126
129
  const formatActionButtons = (list, scope) => {
127
130
  return list.map((item) => {
128
131
  if (item.onClick) {
@@ -144,6 +147,7 @@ const useTable = (props) => {
144
147
  clearSelection,
145
148
  resetFields,
146
149
  clearValidate,
150
+ getSelectionRows,
147
151
  elFormRef,
148
152
  elTableRef,
149
153
  formatActionButtons,
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const allData = ref<Record<string, unknown>[]>([]) // 所有数据\n const customData = ref<Record<string, unknown>[]>([]) // 当前展示数据\n const apiTotal = ref(0) // 后端分页total\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n allData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n allData.value = rawData?.list || rawData?.data || []\n } else {\n allData.value = []\n }\n if (props.isFrontPage) {\n frontPaginationHandler()\n }else{\n customData.value = allData.value\n apiTotal.value = (data as { total: number }).total || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页+点击分页/切换页码\n if (isPagination && props.isFrontPage) {\n frontPaginationHandler()\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } \n }\n }\n const { pagination, paginationProps } = usePagination(\n props,\n search,\n allData,\n apiTotal,\n )\n // 前端分页\n const frontPaginationHandler = () => {\n const { pageNo, pageSize } = pagination\n const data = allData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n allData.value = newValue as Record<string, any>[]\n if (props.isFrontPage) {\n frontPaginationHandler()\n } else {\n customData.value = allData.value\n }\n },\n {\n deep: true,\n immediate: true,\n },\n )\n }\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理选择,用于多选表格,清空用户的选择\n const clearSelection = () => {\n return elTableRef.value!.clearSelection()\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n return {\n ...item,\n onClick: item.onClick.bind(null, scope),\n }\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n clearSelection,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (\n props: TableProps,\n search: ISearch,\n allData: Ref<Record<string, any>[]>,\n apiTotal: Ref<number>,\n) {\n const defaultPaginationProps = props.paginationProps || {}\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\n const pagination = reactive({\n total: computed(() => {\n return !props.isFrontPage && props.api ? apiTotal.value : allData.value.length\n }),\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n layout: 'total, sizes, prev, pager, next, jumper',\n ...defaultPaginationProps,\n pageSizes,\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","allData","ref","customData","apiTotal","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","isFrontPage","frontPaginationHandler","total","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","pagination","pageNo","pageSize","pageNum","paginationProps","usePagination","filter","item","index","watch","newValue","deep","immediate","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","length","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
1
+ {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const allData = ref<Record<string, unknown>[]>([]) // 所有数据\n const customData = ref<Record<string, unknown>[]>([]) // 当前展示数据\n const apiTotal = ref(0) // 后端分页total\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n allData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n allData.value = rawData?.list || rawData?.data || []\n } else {\n allData.value = []\n }\n if (props.isFrontPage) {\n frontPaginationHandler()\n }else{\n customData.value = allData.value\n apiTotal.value = (data as { total: number }).total || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页+点击分页/切换页码\n if (isPagination && props.isFrontPage) {\n frontPaginationHandler()\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } \n }\n }\n const { pagination, paginationProps } = usePagination(\n props,\n search,\n allData,\n apiTotal,\n )\n // 前端分页\n const frontPaginationHandler = () => {\n const { pageNo, pageSize } = pagination\n const data = allData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n allData.value = newValue as Record<string, any>[]\n if (props.isFrontPage) {\n frontPaginationHandler()\n } else {\n customData.value = allData.value\n }\n },\n {\n deep: true,\n immediate: true,\n },\n )\n }\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理选择,用于多选表格,清空用户的选择\n const clearSelection = () => {\n return elTableRef.value!.clearSelection()\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 获取选中数据\n const getSelectionRows = () => {\n return elTableRef.value!.getSelectionRows()\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n return {\n ...item,\n onClick: item.onClick.bind(null, scope),\n }\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n clearSelection,\n resetFields,\n clearValidate,\n getSelectionRows,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (\n props: TableProps,\n search: ISearch,\n allData: Ref<Record<string, any>[]>,\n apiTotal: Ref<number>,\n) {\n const defaultPaginationProps = props.paginationProps || {}\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\n const pagination = reactive({\n total: computed(() => {\n return !props.isFrontPage && props.api ? apiTotal.value : allData.value.length\n }),\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n layout: 'total, sizes, prev, pager, next, jumper',\n ...defaultPaginationProps,\n pageSizes,\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","allData","ref","customData","apiTotal","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","isFrontPage","frontPaginationHandler","total","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","pagination","pageNo","pageSize","pageNum","paginationProps","usePagination","filter","item","index","watch","newValue","deep","immediate","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","getSelectionRows","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","length","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
package/lib/components.js CHANGED
@@ -15,6 +15,7 @@ var index$9 = require('./components/custom-column/index.js');
15
15
  var index$a = require('./components/link/index.js');
16
16
  var index$b = require('./components/attachment/index.js');
17
17
  var index$c = require('./components/uni-vue/index.js');
18
+ var index$d = require('./components/footer-info/index.js');
18
19
 
19
20
  var components = [
20
21
  index.EpButtons,
@@ -29,7 +30,8 @@ var components = [
29
30
  index$9.EpCustomColumn,
30
31
  index$a.EpLink,
31
32
  index$b.EpAttachment,
32
- index$c.EpUniVue
33
+ index$c.EpUniVue,
34
+ index$d.EpFooterInfo
33
35
  ];
34
36
 
35
37
  exports.default = components;
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\nimport Buttons from '@el-plus/components/buttons'\nimport Form from '@el-plus/components/form'\nimport Input from '@el-plus/components/input'\nimport SearchListPage from '@el-plus/components/search-list-page'\nimport Select from '@el-plus/components/select'\nimport Table from '@el-plus/components/table'\nimport Title from '@el-plus/components/title'\nimport Header from '@el-plus/components/header'\nimport DatePickerRange from '@el-plus/components/date-picker-range'\nimport CustomColumn from '@el-plus/components/custom-column'\nimport Link from '@el-plus/components/link'\nimport Attachment from '@el-plus/components/attachment'\nimport UniVue from '@el-plus/components/uni-vue'\n\nexport default [\n Buttons,\n Form,\n Input,\n SearchListPage,\n Select,\n Table,\n Title,\n Header,\n DatePickerRange,\n CustomColumn,\n Link,\n Attachment,\n UniVue,\n] as Plugin[]\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link","Attachment","UniVue"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,iBAAe;AAAA,EACbA,eAAA;AAAA,EACAC,cAAA;AAAA,EACAC,eAAA;AAAA,EACAC,wBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,yBAAA;AAAA,EACAC,sBAAA;AAAA,EACAC,cAAA;AAAA,EACAC,oBAAA;AAAA,EACAC;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"components.js","sources":["../../../packages/el-plus/components.ts"],"sourcesContent":["import type { Plugin } from 'vue'\nimport Buttons from '@el-plus/components/buttons'\nimport Form from '@el-plus/components/form'\nimport Input from '@el-plus/components/input'\nimport SearchListPage from '@el-plus/components/search-list-page'\nimport Select from '@el-plus/components/select'\nimport Table from '@el-plus/components/table'\nimport Title from '@el-plus/components/title'\nimport Header from '@el-plus/components/header'\nimport DatePickerRange from '@el-plus/components/date-picker-range'\nimport CustomColumn from '@el-plus/components/custom-column'\nimport Link from '@el-plus/components/link'\nimport Attachment from '@el-plus/components/attachment'\nimport UniVue from '@el-plus/components/uni-vue'\nimport FooterInfo from '@el-plus/components/footer-info'\n\nexport default [\n Buttons,\n Form,\n Input,\n SearchListPage,\n Select,\n Table,\n Title,\n Header,\n DatePickerRange,\n CustomColumn,\n Link,\n Attachment,\n UniVue,\n FooterInfo,\n] as Plugin[]\n"],"names":["Buttons","Form","Input","SearchListPage","Select","Table","Title","Header","DatePickerRange","CustomColumn","Link","Attachment","UniVue","FooterInfo"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,iBAAe;AAAA,EACbA,eAAA;AAAA,EACAC,cAAA;AAAA,EACAC,eAAA;AAAA,EACAC,wBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA,EACAC,yBAAA;AAAA,EACAC,sBAAA;AAAA,EACAC,cAAA;AAAA,EACAC,oBAAA;AAAA,EACAC,gBAAA;AAAA,EACAC;AACF,CAAA;;;;"}
@@ -6,6 +6,7 @@ export type DialogOptions = Partial<DialogProps & {
6
6
  render: (props: any) => VNode;
7
7
  scopedSlots: Record<string, (props: any) => VNode>;
8
8
  class: string;
9
+ templatePromiseClass: string;
9
10
  onCancel: (reject: any) => void;
10
11
  onBeforeCancel: (reject: any) => void;
11
12
  cancelText?: string;
@@ -24,10 +24,12 @@ const useDialog = (options = {}) => {
24
24
  onBeforeCancel,
25
25
  cancelText,
26
26
  showFooter = true,
27
+ templatePromiseClass,
27
28
  ...dialogProps
28
29
  } = options;
29
30
  const Dialog = useTemplatePromise.useTemplatePromise({
30
31
  destroy: destroyOnClose,
32
+ class: templatePromiseClass,
31
33
  render: (promiseOptions, ctx) => {
32
34
  for (const key in scopedSlots) {
33
35
  scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions);
@@ -61,6 +63,7 @@ const useDialog = (options = {}) => {
61
63
  }), scopedSlots.footerInner?.(promiseOptions), vue.createVNode(elementPlus.ElButton, {
62
64
  "type": "primary",
63
65
  "onClick": async () => {
66
+ console.log(111);
64
67
  if (onBeforeConfirm) {
65
68
  await onBeforeConfirm(resolve);
66
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport { h, getCurrentInstance, render as vRender, inject, nextTick } from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareProps } from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n onCancel: (reject) => void\n onBeforeCancel: (reject) => void\n cancelText?: string\n onConfirm: (resolve) => void\n onBeforeConfirm: (resolve) => void\n confirmText?: string\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onBeforeConfirm,\n confirmText,\n onCancel,\n onBeforeCancel,\n cancelText,\n showFooter = true,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise<any>({\n destroy: destroyOnClose,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={async () => {\n if (onBeforeCancel) {\n await onBeforeCancel(reject)\n }\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {cancelText || t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n if (onBeforeConfirm) {\n await onBeforeConfirm(resolve)\n }\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {confirmText || t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n nextTick(() => {\n vRender(vnode, container)\n document.body.appendChild(container)\n })\n }\n\n return Dialog\n}\n"],"names":["bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onBeforeConfirm","confirmText","onCancel","onBeforeCancel","cancelText","showFooter","dialogProps","Dialog","useTemplatePromise","destroy","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_createVNode","e","footerPrepend","ElButton","footerInner","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","nextTick","vRender","body","appendChild"],"mappings":";;;;;;;;;AAkCA,MAAMA,GAAAA,GAAMC,sBAAgB,QAAQ,CAAA;AAE7B,MAAMC,SAAAA,GAAYA,CAACC,OAAAA,GAAyB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,mBAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IACJC,cAAc,EAAC;AAAA,IACfC,QAAAA;AAAAA,IACAC,MAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,UAAAA,GAAa,IAAA;AAAA,IACb,GAAGC;AAAAA,GACL,GAAId,OAAAA;AAEJ,EAAA,MAAMe,SAASC,qCAAAA,CAAwB;AAAA,IACrCC,OAAAA,EAASX,cAAAA;AAAAA,IACTD,MAAAA,EAAQA,CAACa,cAAAA,EAAgBC,GAAAA,KAAQ;AAE/B,MAAA,KAAA,MAAWC,OAAOjB,WAAAA,EAAa;AAC7BA,QAAAA,WAAAA,CAAYiB,GAAG,CAAA,GAAIjB,WAAAA,CAAYiB,GAAG,CAAA,CAAEC,IAAAA,CAAK,MAAMH,cAAc,CAAA;AAAA,MAC/D;AACA,MAAA,MAAM;AAAA,QAAEI,OAAAA;AAAAA,QAASC,MAAAA;AAAAA,QAAQC;AAAAA,OAAY,GAAIN,cAAAA;AACzC,MAAA,MAAMO,aAAaA,MAAM;AACvB,QAAA,OAAOpB,SACHA,MAAAA,CAAOa,cAAc,IACrBC,GAAAA,CAAIO,KAAAA,CAAMC,UAAUT,cAAc,CAAA;AAAA,MACxC,CAAA;AACA,MAAA,MAAMQ,QAAsC,EAAC;AAC7C,MAAA,IAAIb,UAAAA,EAAY;AACda,QAAAA,KAAAA,CAAME,MAAAA,GAAS,MAAAC,eAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACDhC,GAAAA,CAAIiC,CAAAA,CAAE,QAAQ;AAAA,WAAC,CACxB3B,WAAAA,CAAY4B,gBAAgBb,cAAc,CAAA,EAACW,gBAAAG,oBAAAA,EAAA;AAAA,UAAA,MAAA,EAAA,SAAA;AAAA,UAAA,WAGjC,YAAY;AACnB,YAAA,IAAIrB,cAAAA,EAAgB;AAClB,cAAA,MAAMA,eAAeY,MAAM,CAAA;AAAA,YAC7B;AACA,YAAA,IAAIb,QAAAA,EAAU;AACZA,cAAAA,QAAAA,CAASa,MAAM,CAAA;AAAA,YACjB,CAAA,MAAO;AACLA,cAAAA,MAAAA,CAAO,QAAQ,CAAA;AAAA,YACjB;AAAA,UACF;AAAA,SAAC,EAAA;AAAA,UAAAI,SAAAA,MAAA,CAEAf,UAAAA,IAAcX,CAAAA,CAAE,kBAAkB,CAAC;AAAA,SAAA,CAAA,EAErCE,WAAAA,CAAY8B,cAAcf,cAAc,CAAA,EAACW,gBAAAG,oBAAAA,EAAA;AAAA,UAAA,MAAA,EAAA,SAAA;AAAA,UAAA,WAG/B,YAAY;AACnB,YAAA,IAAIxB,eAAAA,EAAiB;AACnB,cAAA,MAAMA,gBAAgBc,OAAO,CAAA;AAAA,YAC/B;AACA,YAAA,IAAIf,SAAAA,EAAW;AACbA,cAAAA,SAAAA,CAAUe,OAAO,CAAA;AAAA,YACnB,CAAA,MAAO;AACLA,cAAAA,OAAAA,CAAQ,SAAS,CAAA;AAAA,YACnB;AAAA,UACF,CAAA;AAAA,UAAC,SAAA,EACQE;AAAAA,SAAW,EAAA;AAAA,UAAAG,SAAAA,MAAA,CAEnBlB,WAAAA,IAAeR,CAAAA,CAAE,mBAAmB,CAAC;AAAA,SAAA,CAAA,EAEvCE,WAAAA,CAAY+B,YAAAA,GAAehB,cAAc,CAAC,CAAA,CAAA;AAAA,MAGjD;AACA,MAAA,OAAAW,eAAAA,CAAAM,sBAAAC,cAAAA,CAAA;AAAA,QAAA,OAAA,EAEWvC,IAAIwC,CAAAA,EAAE;AAAA,QAAC,YAAA,EACF;AAAA,OAAI,EAAA;AAAA,QAEdC,iBAAAA,EAAmB,KAAA;AAAA,QACnBC,kBAAAA,EAAoB,KAAA;AAAA,QACpBC,KAAAA,EAAOvC,EAAE,iBAAiB,CAAA;AAAA,QAC1BwC,MAAAA,EAAQ,KAAA;AAAA;AAAA,QAERC,aAAaA,MAAM;AACjBnB,UAAAA,MAAAA,CAAO,QAAQ,CAAA;AAAA,QACjB,CAAA;AAAA,QACA,GAAGoB,kBAAAA,CAAa7B,WAAAA,EAAa,CAAC,YAAY,CAAC;AAAA,OAAC,CAAA,EAAA;AAAA,QAAAa,OAAAA,EAAAA,MAAA,CAO7CF,UAAAA,EAAY,CAAA;AAAA,QAJX,GAAGC,KAAAA;AAAAA,QACH,GAAGvB;AAAAA,OAAW,CAAA;AAAA,IAMtB;AAAA,GACD,CAAA;AACD,EAAA,IAAIE,MAAAA,EAAQ;AAIV,IAAA,MAAMuC,SAAAA,GAAYC,QAAAA,CAASC,aAAAA,CAAc,KAAK,CAAA;AAE9C,IAAA,MAAMC,WAAAA,GAAc3C,YAAY4C,sBAAAA,EAAmB;AACnD,IAAA,MAAMC,MAAAA,GAASC,WAAOC,oCAAwB,CAAA;AAK9C,IAAA,MAAMC,KAAAA,GAAQC,MACZC,4BAAAA,EACA;AAAA,MAAEC,QAAQN,MAAAA,EAAQM;AAAAA,KAAO,EACzB;AAAA,MAAE5B,OAAAA,EAASA,MAAM0B,KAAAA,CAAEtC,MAAM;AAAA,KAC3B,CAAA;AACA,IAAA,IAAIgC,WAAAA,IAAeA,YAAYS,UAAAA,EAAY;AAEzCJ,MAAAA,KAAAA,CAAMI,aAAaT,WAAAA,CAAYS,UAAAA;AAAAA,IACjC;AACAC,IAAAA,YAAAA,CAAS,MAAM;AACbC,MAAAA,UAAAA,CAAQN,OAAOR,SAAS,CAAA;AACxBC,MAAAA,QAAAA,CAASc,IAAAA,CAAKC,YAAYhB,SAAS,CAAA;AAAA,IACrC,CAAC,CAAA;AAAA,EACH;AAEA,EAAA,OAAO7B,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"use-dialog.js","sources":["../../../../../packages/hooks/dialog/use-dialog.tsx"],"sourcesContent":["import { useTemplatePromise } from '../use-template-promise'\nimport { h, getCurrentInstance, render as vRender, inject, nextTick } from 'vue'\nimport type { ComponentInternalInstance } from 'vue'\nimport {\n ElDialog,\n ElButton,\n configProviderContextKey,\n ElConfigProvider,\n} from 'element-plus'\nimport type { VNode } from 'vue'\nimport type { DialogProps } from 'element-plus'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { prepareProps } from '@el-plus/utils/props'\nimport { useLocale } from '../use-locale'\n\nexport type DialogOptions = Partial<\n DialogProps & {\n instance: ComponentInternalInstance | null\n render: (props) => VNode\n scopedSlots: Record<string, (props) => VNode>\n class: string\n templatePromiseClass: string\n onCancel: (reject) => void\n onBeforeCancel: (reject) => void\n cancelText?: string\n onConfirm: (resolve) => void\n onBeforeConfirm: (resolve) => void\n confirmText?: string\n showFooter: boolean\n }\n>\nexport type ExpandDialogOptions = {\n title?: string\n dialogProps?: DialogOptions\n}\nconst bem = createNameSpace('dialog')\n\nexport const useDialog = (options: DialogOptions = {}) => {\n const { t } = useLocale()\n const {\n scopedSlots = {},\n instance,\n render,\n destroyOnClose,\n onConfirm,\n onBeforeConfirm,\n confirmText,\n onCancel,\n onBeforeCancel,\n cancelText,\n showFooter = true,\n templatePromiseClass,\n ...dialogProps\n } = options\n\n const Dialog = useTemplatePromise<any>({\n destroy: destroyOnClose,\n class: templatePromiseClass,\n render: (promiseOptions, ctx) => {\n // 插槽参数增加promiseOptions\n for (const key in scopedSlots) {\n scopedSlots[key] = scopedSlots[key].bind(null, promiseOptions)\n }\n const { resolve, reject, isResolving } = promiseOptions\n const renderFunc = () => {\n return render\n ? render(promiseOptions)\n : ctx.slots.default?.(promiseOptions)\n }\n const slots: DialogOptions['scopedSlots'] = {}\n if (showFooter) {\n slots.footer = () => (\n <div class={bem.e('footer')}>\n {scopedSlots.footerPrepend?.(promiseOptions)}\n <ElButton\n size=\"default\"\n onClick={async () => {\n if (onBeforeCancel) {\n await onBeforeCancel(reject)\n }\n if (onCancel) {\n onCancel(reject)\n } else {\n reject('cancel')\n }\n }}\n >\n {cancelText || t('ep.dialog.cancel')}\n </ElButton>\n {scopedSlots.footerInner?.(promiseOptions)}\n <ElButton\n type=\"primary\"\n onClick={async () => {\n console.log(111);\n \n if (onBeforeConfirm) {\n await onBeforeConfirm(resolve)\n }\n if (onConfirm) {\n onConfirm(resolve)\n } else {\n resolve('confirm')\n }\n }}\n loading={isResolving}\n >\n {confirmText || t('ep.dialog.confirm')}\n </ElButton>\n {scopedSlots.footerAppend?.(promiseOptions)}\n </div>\n )\n }\n return (\n <ElDialog\n class={bem.b()}\n modelValue={true}\n {...{\n closeOnClickModal: false,\n closeOnPressEscape: false,\n title: t('ep.dialog.title'),\n center: false,\n // 'append-to-body': true,\n beforeClose: () => {\n reject('cancel')\n },\n ...prepareProps(dialogProps, ['modelValue']),\n }}\n v-slots={{\n ...slots,\n ...scopedSlots,\n }}\n >\n {renderFunc()}\n </ElDialog>\n )\n },\n })\n if (render) {\n // const app = createApp(component)\n // Object.assign(app._context, parentInstance.appContext)\n // app.mount(container)\n const container = document.createElement('div')\n // container.setAttribute('id', 'ep-dialog-container')\n const newInstance = instance || getCurrentInstance()\n const config = inject(configProviderContextKey) as any\n // const parentConfig =\n // newInstance?.provides[configProviderContextKey] ||\n // newInstance?.appContext?.provides[configProviderContextKey]\n // const vnode = h(Dialog)\n const vnode = h(\n ElConfigProvider,\n { locale: config?.locale },\n { default: () => h(Dialog) },\n )\n if (newInstance && newInstance.appContext) {\n // 强制继承父应用的全局组件、指令和插件\n vnode.appContext = newInstance.appContext\n }\n nextTick(() => {\n vRender(vnode, container)\n document.body.appendChild(container)\n })\n }\n\n return Dialog\n}\n"],"names":["bem","createNameSpace","useDialog","options","t","useLocale","scopedSlots","instance","render","destroyOnClose","onConfirm","onBeforeConfirm","confirmText","onCancel","onBeforeCancel","cancelText","showFooter","templatePromiseClass","dialogProps","Dialog","useTemplatePromise","destroy","class","promiseOptions","ctx","key","bind","resolve","reject","isResolving","renderFunc","slots","default","footer","_createVNode","e","footerPrepend","ElButton","footerInner","console","log","footerAppend","ElDialog","_mergeProps","b","closeOnClickModal","closeOnPressEscape","title","center","beforeClose","prepareProps","container","document","createElement","newInstance","getCurrentInstance","config","inject","configProviderContextKey","vnode","h","ElConfigProvider","locale","appContext","nextTick","vRender","body","appendChild"],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface TemplatePromiseOptions {
3
3
  transition?: TransitionProps;
4
4
  destroy?: boolean;
5
5
  render?: (props: any, ctx: SetupContext) => VNode;
6
+ class?: string;
6
7
  }
7
8
  export type TemplatePromise<Return, Args extends any[] = []> = DefineComponent<object> & {} & {
8
9
  open: (...args: Args) => Promise<Return>;
@@ -71,7 +71,7 @@ const useTemplatePromise = (options = {}) => {
71
71
  const renderList = () => instances.value.map((props) => {
72
72
  return vue.withDirectives(vue.h("div", {
73
73
  // key: props.key,
74
- class: "ep-template-promise is-init"
74
+ class: `ep-template-promise is-init ${options.class || ""}`
75
75
  }, render ? render(props, ctx) : slots.default?.(props)), [[vue.vShow, props.isVisible]]);
76
76
  });
77
77
  if (transition) return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-template-promise.js","sources":["../../../../packages/hooks/use-template-promise.tsx"],"sourcesContent":["// 参考 https://github.com/vueuse/vueuse/blob/main/packages/core/createTemplatePromise/index.ts\n\nimport type {\n DefineComponent,\n Ref,\n TransitionProps,\n VNode,\n SetupContext,\n} from 'vue'\nimport {\n defineComponent,\n ref,\n shallowReactive,\n Transition,\n Fragment,\n h,\n createApp,\n getCurrentInstance,\n render as vRender,\n markRaw,\n withDirectives,\n vShow,\n nextTick,\n} from 'vue'\n\nexport interface TemplatePromiseOptions {\n // 过渡\n transition?: TransitionProps\n // 是否销毁\n destroy?: boolean\n // 自定义渲染\n render?: (props, ctx: SetupContext) => VNode\n}\nexport type TemplatePromise<\n Return,\n Args extends any[] = [],\n> = DefineComponent<object> & {\n // new (): {\n // $slots: {\n // default: (_: TemplatePromiseProps<Return, Args>) => any\n // }\n // }\n} & {\n open: (...args: Args) => Promise<Return>\n}\nexport interface TemplatePromiseProps<Return, Args extends any[] = []> {\n promise: Promise<Return> | undefined\n resolve: (v: Return) => void\n reject: (v: any) => void\n args: Args\n options: TemplatePromiseOptions\n isResolving: boolean\n isVisible: boolean\n key: number\n}\nexport const useTemplatePromise = <Return, Args extends any[] = []>(\n options: TemplatePromiseOptions = {},\n): TemplatePromise<Return, Args> => {\n const {\n destroy = false,\n render,\n transition = {\n name: 'fade',\n appear: true,\n },\n } = options\n const instances = ref([]) as Ref<TemplatePromiseProps<Return, Args>[]>\n let index = 0\n\n const create = (...args: Args) => {\n const key = index++\n const props = shallowReactive<TemplatePromiseProps<Return, Args>>({\n key,\n args,\n promise: undefined,\n resolve: () => {},\n reject: () => {},\n isResolving: false,\n isVisible: true,\n options,\n })\n instances.value.push(props)\n props.promise = new Promise<Return>((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true\n return _resolve(v)\n }\n props.reject = _reject\n }).finally(() => {\n if (destroy) {\n props.promise = undefined\n const index = instances.value.indexOf(props)\n if (index !== -1) instances.value.splice(index, 1)\n } else {\n props.isVisible = false\n // const wrapper = document.querySelector(\n // '.ep-template-promise',\n // ) as HTMLElement\n // if (wrapper.style['zIndex']) {\n // return\n // }\n // const dialog = wrapper?.querySelector('.el-modal-dialog') as HTMLElement\n // const zIndex = dialog ? dialog.style['z-index'] : ''\n // if (zIndex && wrapper) {\n // wrapper.style.zIndex = zIndex\n // }\n }\n })\n return props.promise\n }\n const open = (...args: Args) => {\n instances.value = []\n const com = create(...args)\n nextTick(() => {\n const wrapper = document.querySelector(\n '.ep-template-promise.is-init',\n ) as HTMLElement\n if (wrapper) {\n const dialog = wrapper?.querySelector('.el-modal-dialog') as HTMLElement\n const zIndex = dialog ? dialog.style['z-index'] : ''\n if (zIndex && wrapper) {\n wrapper.style.zIndex = zIndex\n }\n // 删除is-init的class\n wrapper.classList.remove('is-init')\n }\n })\n return com\n }\n const component = defineComponent((_, ctx) => {\n const { slots } = ctx\n const renderList = () =>\n instances.value.map((props) => {\n return withDirectives(\n h(\n 'div',\n {\n // key: props.key,\n class: 'ep-template-promise is-init',\n },\n render ? render(props, ctx) : slots.default?.(props),\n ),\n [[vShow, props.isVisible]],\n )\n })\n if (transition)\n return () => <Transition {...transition}>{renderList()}</Transition>\n\n return renderList\n })\n // @ts-expect-error There's a breaking type change in Vue 3.3 <https://github.com/vuejs/core/pull/7963>\n component.open = open\n return markRaw(component as TemplatePromise<Return, Args>)\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","useTemplatePromise","options","destroy","render","transition","name","appear","instances","ref","index","create","args","key","props","shallowReactive","promise","undefined","resolve","reject","isResolving","isVisible","value","push","Promise","_resolve","_reject","v","finally","indexOf","splice","open","com","nextTick","wrapper","document","querySelector","dialog","zIndex","style","classList","remove","component","defineComponent","_","ctx","slots","renderList","map","withDirectives","h","class","default","vShow","_slot","_createVNode","Transition","markRaw"],"mappings":"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"}
1
+ {"version":3,"file":"use-template-promise.js","sources":["../../../../packages/hooks/use-template-promise.tsx"],"sourcesContent":["// 参考 https://github.com/vueuse/vueuse/blob/main/packages/core/createTemplatePromise/index.ts\n\nimport type {\n DefineComponent,\n Ref,\n TransitionProps,\n VNode,\n SetupContext,\n} from 'vue'\nimport {\n defineComponent,\n ref,\n shallowReactive,\n Transition,\n Fragment,\n h,\n createApp,\n getCurrentInstance,\n render as vRender,\n markRaw,\n withDirectives,\n vShow,\n nextTick,\n} from 'vue'\n\nexport interface TemplatePromiseOptions {\n // 过渡\n transition?: TransitionProps\n // 是否销毁\n destroy?: boolean\n // 自定义渲染\n render?: (props, ctx: SetupContext) => VNode\n // class 名\n class?: string\n}\nexport type TemplatePromise<\n Return,\n Args extends any[] = [],\n> = DefineComponent<object> & {\n // new (): {\n // $slots: {\n // default: (_: TemplatePromiseProps<Return, Args>) => any\n // }\n // }\n} & {\n open: (...args: Args) => Promise<Return>\n}\nexport interface TemplatePromiseProps<Return, Args extends any[] = []> {\n promise: Promise<Return> | undefined\n resolve: (v: Return) => void\n reject: (v: any) => void\n args: Args\n options: TemplatePromiseOptions\n isResolving: boolean\n isVisible: boolean\n key: number\n}\nexport const useTemplatePromise = <Return, Args extends any[] = []>(\n options: TemplatePromiseOptions = {},\n): TemplatePromise<Return, Args> => {\n const {\n destroy = false,\n render,\n transition = {\n name: 'fade',\n appear: true,\n },\n } = options\n const instances = ref([]) as Ref<TemplatePromiseProps<Return, Args>[]>\n let index = 0\n\n const create = (...args: Args) => {\n const key = index++\n const props = shallowReactive<TemplatePromiseProps<Return, Args>>({\n key,\n args,\n promise: undefined,\n resolve: () => {},\n reject: () => {},\n isResolving: false,\n isVisible: true,\n options,\n })\n instances.value.push(props)\n props.promise = new Promise<Return>((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true\n return _resolve(v)\n }\n props.reject = _reject\n }).finally(() => {\n if (destroy) {\n props.promise = undefined\n const index = instances.value.indexOf(props)\n if (index !== -1) instances.value.splice(index, 1)\n } else {\n props.isVisible = false\n // const wrapper = document.querySelector(\n // '.ep-template-promise',\n // ) as HTMLElement\n // if (wrapper.style['zIndex']) {\n // return\n // }\n // const dialog = wrapper?.querySelector('.el-modal-dialog') as HTMLElement\n // const zIndex = dialog ? dialog.style['z-index'] : ''\n // if (zIndex && wrapper) {\n // wrapper.style.zIndex = zIndex\n // }\n }\n })\n return props.promise\n }\n const open = (...args: Args) => {\n instances.value = []\n const com = create(...args)\n nextTick(() => {\n const wrapper = document.querySelector(\n '.ep-template-promise.is-init',\n ) as HTMLElement\n if (wrapper) {\n const dialog = wrapper?.querySelector('.el-modal-dialog') as HTMLElement\n const zIndex = dialog ? dialog.style['z-index'] : ''\n if (zIndex && wrapper) {\n wrapper.style.zIndex = zIndex\n }\n // 删除is-init的class\n wrapper.classList.remove('is-init')\n }\n })\n return com\n }\n const component = defineComponent((_, ctx) => {\n const { slots } = ctx\n const renderList = () =>\n instances.value.map((props) => {\n return withDirectives(\n h(\n 'div',\n {\n // key: props.key,\n class: `ep-template-promise is-init ${options.class || ''}`,\n },\n render ? render(props, ctx) : slots.default?.(props),\n ),\n [[vShow, props.isVisible]],\n )\n })\n if (transition)\n return () => <Transition {...transition}>{renderList()}</Transition>\n\n return renderList\n })\n // @ts-expect-error There's a breaking type change in Vue 3.3 <https://github.com/vuejs/core/pull/7963>\n component.open = open\n return markRaw(component as TemplatePromise<Return, Args>)\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","useTemplatePromise","options","destroy","render","transition","name","appear","instances","ref","index","create","args","key","props","shallowReactive","promise","undefined","resolve","reject","isResolving","isVisible","value","push","Promise","_resolve","_reject","v","finally","indexOf","splice","open","com","nextTick","wrapper","document","querySelector","dialog","zIndex","style","classList","remove","component","defineComponent","_","ctx","slots","renderList","map","withDirectives","h","class","default","vShow","_slot","_createVNode","Transition","markRaw"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var components = require('./components.js');
6
6
  var _package = require('./package.json.js');
7
- var index$f = require('./plugins/index.js');
8
- var index$d = require('./directives/repeat-click/index.js');
9
- var index$e = require('./directives/permission/index.js');
7
+ var index$g = require('./plugins/index.js');
8
+ var index$e = require('./directives/repeat-click/index.js');
9
+ var index$f = require('./directives/permission/index.js');
10
10
  var buttons = require('./components/buttons/src/buttons.js');
11
11
  var index = require('./components/buttons/index.js');
12
12
  var form = require('./components/form/src/form.js');
@@ -35,6 +35,8 @@ var attachment = require('./components/attachment/src/attachment.js');
35
35
  var index$b = require('./components/attachment/index.js');
36
36
  var uniVue = require('./components/uni-vue/src/uni-vue.js');
37
37
  var index$c = require('./components/uni-vue/index.js');
38
+ var footerInfo = require('./components/footer-info/src/footer-info.js');
39
+ var index$d = require('./components/footer-info/index.js');
38
40
  var useRequest = require('./hooks/use-request.js');
39
41
  var useTemplatePromise = require('./hooks/use-template-promise.js');
40
42
  var useDialog = require('./hooks/dialog/use-dialog.js');
@@ -50,15 +52,15 @@ const install = (app, options) => {
50
52
  if (app[INSTALLED_KEY]) return;
51
53
  app[INSTALLED_KEY] = true;
52
54
  components.default.forEach((c) => app.use(c));
53
- Object.values(index$f).forEach((p) => app.use(p));
55
+ Object.values(index$g).forEach((p) => app.use(p));
54
56
  };
55
57
  const plugin = {
56
58
  install,
57
59
  version: _package.version
58
60
  };
59
61
 
60
- exports.vRepeatClick = index$d.default;
61
- exports.vPermission = index$e.default;
62
+ exports.vRepeatClick = index$e.default;
63
+ exports.vPermission = index$f.default;
62
64
  exports.buttonsProps = buttons.buttonsProps;
63
65
  exports.EpButtons = index.EpButtons;
64
66
  exports.expandFormPropsKeys = form.expandFormPropsKeys;
@@ -105,6 +107,9 @@ exports.EpAttachment = index$b.EpAttachment;
105
107
  exports.componentType = uniVue.componentType;
106
108
  exports.uniVueProps = uniVue.uniVueProps;
107
109
  exports.EpUniVue = index$c.EpUniVue;
110
+ exports.defaultFields = footerInfo.defaultFields;
111
+ exports.footerInfoProps = footerInfo.footerInfoProps;
112
+ exports.EpFooterInfo = index$d.EpFooterInfo;
108
113
  exports.useRequest = useRequest.useRequest;
109
114
  exports.useTemplatePromise = useTemplatePromise.useTemplatePromise;
110
115
  exports.useDialog = useDialog.useDialog;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../packages/el-plus/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport components from './components'\nimport { version } from './package.json'\nimport * as plugins from './plugins'\n// import type { RouteRecordRaw } from 'vue-router'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\nconst provideGlobalConfig = (config, app) => {}\nexport type EpOptions = {\n // routes?: RouteRecordRaw\n}\nexport const install = (app: App, options?: EpOptions) => {\n if (app[INSTALLED_KEY]) return // 防止多次use导致重复安装注册,控制台警告\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n Object.values(plugins).forEach((p) => app.use(p))\n if (options) {\n provideGlobalConfig(options, app)\n }\n}\n\nconst plugin: Plugin & { version: string } = {\n install,\n version,\n}\nexport default plugin\nexport * from '@el-plus/components/index'\nexport * from '@el-plus/hooks'\nexport * from '@el-plus/directives'\n"],"names":["components","plugins","version"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,aAAA,0BAAuB,eAAe,CAAA;AAKrC,MAAM,OAAA,GAAU,CAAC,GAAA,EAAU,OAAA,KAAwB;AACxD,EAAA,IAAI,GAAA,CAAI,aAAa,CAAA,EAAG;AACxB,EAAA,GAAA,CAAI,aAAa,CAAA,GAAI,IAAA;AACrB,EAAAA,kBAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AACpC,EAAA,MAAA,CAAO,MAAA,CAAOC,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AAIlD;AAEA,MAAM,MAAA,GAAuC;AAAA,EAC3C,OAAA;AAAA,WACAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../packages/el-plus/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport components from './components'\nimport { version } from './package.json'\nimport * as plugins from './plugins'\n// import type { RouteRecordRaw } from 'vue-router'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\nconst provideGlobalConfig = (config, app) => {}\nexport type EpOptions = {\n // routes?: RouteRecordRaw\n}\nexport const install = (app: App, options?: EpOptions) => {\n if (app[INSTALLED_KEY]) return // 防止多次use导致重复安装注册,控制台警告\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n Object.values(plugins).forEach((p) => app.use(p))\n if (options) {\n provideGlobalConfig(options, app)\n }\n}\n\nconst plugin: Plugin & { version: string } = {\n install,\n version,\n}\nexport default plugin\nexport * from '@el-plus/components/index'\nexport * from '@el-plus/hooks'\nexport * from '@el-plus/directives'\n"],"names":["components","plugins","version"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,aAAA,0BAAuB,eAAe,CAAA;AAKrC,MAAM,OAAA,GAAU,CAAC,GAAA,EAAU,OAAA,KAAwB;AACxD,EAAA,IAAI,GAAA,CAAI,aAAa,CAAA,EAAG;AACxB,EAAA,GAAA,CAAI,aAAa,CAAA,GAAI,IAAA;AACrB,EAAAA,kBAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AACpC,EAAA,MAAA,CAAO,MAAA,CAAOC,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAA,CAAI,GAAA,CAAI,CAAC,CAAC,CAAA;AAIlD;AAEA,MAAM,MAAA,GAAuC;AAAA,EAC3C,OAAA;AAAA,WACAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.82";
3
+ var version = "0.0.84";
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.82",
3
+ "version": "0.0.84",
4
4
  "description": "pro base on element-plus",
5
5
  "module": "./es/index.mjs",
6
6
  "keywords": [
@@ -1 +1 @@
1
- .ep-attachment__dialog--normal{background:none;position:static!important}.ep-attachment__dialog--normal .el-overlay-dialog{position:static}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog{margin:0;padding:0;width:auto!important}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__header{display:none}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__body{padding:0}.ep-attachment__handler{height:32px;padding:9px 15px}.ep-attachment__handler.el-button--text{padding:0}
1
+ .ep-attachment__promise{width:100%}.ep-attachment__dialog--normal{background:none;position:static!important}.ep-attachment__dialog--normal .el-overlay-dialog{position:static}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog{margin:0;padding:0;width:auto!important}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__header{display:none}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__body{padding:0}.ep-attachment__handler{height:32px;padding:9px 15px}.ep-attachment__handler.el-button--text{padding:0}
@@ -0,0 +1 @@
1
+ .ep-footer-info{color:#999;display:flex;font-size:12px;line-height:20px;margin-top:16px;padding-bottom:20px;width:100%}.ep-footer-info__item{margin-right:20px}
@@ -1 +1 @@
1
- .ep-header{display:flex;lex-wrap:wrap}.ep-header>.el-button{margin-bottom:10px}.ep-header .el-page-header .el-page-header__left{margin-right:-10px;margin-top:4px}.ep-header .el-page-header .el-page-header__title{white-space:nowrap}
1
+ .ep-header{display:flex;flex-wrap:wrap}.ep-header>.el-button{margin-bottom:10px}.ep-header .el-page-header .el-page-header__left{margin-right:-10px;margin-top:4px}.ep-header .el-page-header .el-page-header__title{white-space:nowrap}
@@ -1 +1 @@
1
- .fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ep-form{position:relative}.ep-form__fold{bottom:23px;color:#367ef5;cursor:pointer;font-size:14px;position:absolute;right:0;text-align:center;width:70px}.ep-form__fold:hover{text-decoration:underline}.ep-form.is-fold{padding-right:70px}.ep-form .el-form-item--small{margin-bottom:18px}.ep-form .el-form-item--small.is-hide-label .el-form-item__label{display:none}.ep-form .el-form-item--small .el-form-item__label{display:block;height:32px;line-height:32px;overflow:hidden;padding-left:18px;padding-right:6px;text-overflow:ellipsis;white-space:nowrap}.ep-form .el-form-item--small .el-form-item__content{font-size:13px;line-height:32px}.ep-form .el-form-item--small .el-form-item__content .el-input{font-size:13px;height:32px}.ep-form .el-form-item--small .el-form-item__content .el-textarea__inner{font-size:13px!important}.ep-form .el-form-item--small .el-form-item__content .el-select__wrapper{font-size:13px;line-height:32px;min-height:32px}.ep-form .el-form-item--small .el-form-item__content .el-date-editor .el-range-input{font-size:13px}.ep-table__action-buttons{white-space:nowrap}.ep-table .el-table{font-size:13px}.ep-table .el-table .el-table__cell .is-edit{cursor:pointer}.ep-table .el-table .el-table__cell .is-edit:hover{color:#409eff}.ep-table .el-table .el-table__cell .is-edit .el-icon{vertical-align:-2px}.ep-table .el-table .el-table__cell.is-center .el-link{margin:0 auto;text-align:center}.ep-table .el-table .cell{line-height:30px}.ep-table .el-table thead tr th{height:42px}.ep-table .el-table thead tr th .cell{line-height:20px}.ep-table .el-table thead tr th .el-checkbox__inner{height:14px;width:14px}.ep-table .el-table td,.ep-table .el-table th{padding:3px 0}.ep-table .el-form-item__error{position:unset;text-align:left}.ep-table .el-form-item{margin-bottom:0}.ep-table .el-form-item .el-form-item__label{padding:0}.ep-table .el-pagination{margin-top:12px;--el-pagination-font-size:13px}.ep-table .el-pagination .el-select{--el-select-font-size:13px}.ep-table .el-pagination .el-select .el-select__wrapper{font-size:13px}.ep-button{height:32px;padding:9px 15px}.ep-button.el-button--text{padding:0}.ep-button.el-button+.el-button{margin-left:10px}.ep-search-list-page #middle{overflow:hidden}.ep-search-list-page__middle-left{float:left}.ep-search-list-page__middle-left>.el-button{margin:16px 0}.ep-search-list-page__middle-right{float:right}.ep-search-list-page__middle-right .el-button{margin:16px 0}.ep-title__header{line-height:50px;overflow:hidden}.ep-title__title{float:left;font-size:15px;font-weight:500}.ep-title__toggle{color:#409eff;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;margin-left:10px;white-space:nowrap}.ep-title__toggle .el-icon{transition:transform .3s;vertical-align:-2px}.ep-title.is-expanded .ep-title__toggle .el-icon{transform:rotate(-180deg)}.ep-title__buttons{float:right}.ep-title__content{overflow:hidden;transition:max-height .3s ease-in-out}.ep-header{display:flex;lex-wrap:wrap}.ep-header>.el-button{margin-bottom:10px}.ep-header .el-page-header .el-page-header__left{margin-right:-10px;margin-top:4px}.ep-header .el-page-header .el-page-header__title{white-space:nowrap}.ep-template-promise{position:relative;z-index:8888888888888888}.ep-dialog{padding:20px 25px 30px}.ep-dialog .el-dialog__headerbtn{height:56px}.ep-dialog .el-dialog__headerbtn .el-dialog__close{transform:scale(1.3)}.ep-dialog .el-dialog__header{text-align:center}.ep-dialog .el-dialog__header .el-dialog__title{color:#505050;font-size:16px;font-weight:600;line-height:24px;margin:4px}.ep-dialog .el-dialog__body{padding:25px 0 0}.ep-dialog__footer button{font-size:12px}.ep-choose-dialog__selected-count{color:#409eff;float:left;font-size:16px;line-height:32px}.ep-confirm-dialog{padding-bottom:20px}.ep-confirm-dialog .ep-dialog__footer{padding-top:0}.ep-custom-column__dialog .el-dialog__body{text-align:center}.ep-custom-column__dialog .el-transfer{display:inline-block}.ep-custom-column__dialog .el-transfer-panel__footer{border-bottom:0;height:0}.ep-custom-column__dialog .el-transfer-panel{overflow:visible}.ep-custom-column__dialog .el-transfer__buttons button{width:100px}.ep-custom-column__dialog .el-transfer__buttons button span{font-size:13px}.ep-custom-column__operate{position:absolute;right:-100%;top:50%;transform:translate(calc(25% - 12px),32px)}.ep-custom-column__operate button{width:100px}.ep-custom-column__operate button span{font-size:13px}.no-cn__operate{transform:translate(calc(25% - 520px),32px)}.ep-link{font-size:13px}.ep-uni-vue{background:#fff}.ep-uni-vue__skeleton .el-skeleton__item{margin-top:10px}.ep-attachment__dialog--normal{background:none;position:static!important}.ep-attachment__dialog--normal .el-overlay-dialog{position:static}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog{margin:0;padding:0;width:auto!important}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__header{display:none}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__body{padding:0}.ep-attachment__handler{height:32px;padding:9px 15px}.ep-attachment__handler.el-button--text{padding:0}
1
+ .fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ep-form{position:relative}.ep-form__fold{bottom:23px;color:#367ef5;cursor:pointer;font-size:14px;position:absolute;right:0;text-align:center;width:70px}.ep-form__fold:hover{text-decoration:underline}.ep-form.is-fold{padding-right:70px}.ep-form .el-form-item--small{margin-bottom:18px}.ep-form .el-form-item--small.is-hide-label .el-form-item__label{display:none}.ep-form .el-form-item--small .el-form-item__label{display:block;height:32px;line-height:32px;overflow:hidden;padding-left:18px;padding-right:6px;text-overflow:ellipsis;white-space:nowrap}.ep-form .el-form-item--small .el-form-item__content{font-size:13px;line-height:32px}.ep-form .el-form-item--small .el-form-item__content .el-input{font-size:13px;height:32px}.ep-form .el-form-item--small .el-form-item__content .el-textarea__inner{font-size:13px!important}.ep-form .el-form-item--small .el-form-item__content .el-select__wrapper{font-size:13px;line-height:32px;min-height:32px}.ep-form .el-form-item--small .el-form-item__content .el-date-editor .el-range-input{font-size:13px}.ep-table{width:100%}.ep-table__action-buttons{white-space:nowrap}.ep-table .el-table{font-size:13px}.ep-table .el-table .el-table__cell .is-edit{cursor:pointer}.ep-table .el-table .el-table__cell .is-edit:hover{color:#409eff}.ep-table .el-table .el-table__cell .is-edit .el-icon{vertical-align:-2px}.ep-table .el-table .el-table__cell.is-center .el-link{margin:0 auto;text-align:center}.ep-table .el-table .cell{line-height:30px}.ep-table .el-table thead tr th{height:42px}.ep-table .el-table thead tr th .cell{line-height:20px}.ep-table .el-table thead tr th .el-checkbox__inner{height:14px;width:14px}.ep-table .el-table td,.ep-table .el-table th{padding:3px 0}.ep-table .el-form-item__error{position:unset;text-align:left}.ep-table .el-form-item{margin-bottom:0}.ep-table .el-form-item .el-form-item__label{padding:0}.ep-table .el-pagination{margin-top:12px;--el-pagination-font-size:13px}.ep-table .el-pagination .el-select{--el-select-font-size:13px}.ep-table .el-pagination .el-select .el-select__wrapper{font-size:13px}.ep-button{height:32px;padding:9px 15px}.ep-button.el-button--text{padding:0}.ep-button.el-button+.el-button{margin-left:10px}.ep-search-list-page #middle{overflow:hidden}.ep-search-list-page__middle-left{float:left}.ep-search-list-page__middle-left>.el-button{margin:16px 0}.ep-search-list-page__middle-right{float:right}.ep-search-list-page__middle-right .el-button{margin:16px 0}.ep-title{width:100%}.ep-title__header{line-height:50px;overflow:hidden}.ep-title__title{float:left;font-size:15px;font-weight:500}.ep-title__toggle{color:#409eff;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;margin-left:10px;white-space:nowrap}.ep-title__toggle .el-icon{transition:transform .3s;vertical-align:-2px}.ep-title.is-expanded .ep-title__toggle .el-icon{transform:rotate(-180deg)}.ep-title__buttons{float:right}.ep-title__content{overflow:hidden;transition:max-height .3s ease-in-out}.ep-header{display:flex;flex-wrap:wrap}.ep-header>.el-button{margin-bottom:10px}.ep-header .el-page-header .el-page-header__left{margin-right:-10px;margin-top:4px}.ep-header .el-page-header .el-page-header__title{white-space:nowrap}.ep-template-promise{position:relative;z-index:8888888888888888}.ep-dialog{padding:20px 25px 30px}.ep-dialog .el-dialog__headerbtn{height:56px}.ep-dialog .el-dialog__headerbtn .el-dialog__close{transform:scale(1.3)}.ep-dialog .el-dialog__header{text-align:center}.ep-dialog .el-dialog__header .el-dialog__title{color:#505050;font-size:16px;font-weight:600;line-height:24px;margin:4px}.ep-dialog .el-dialog__body{padding:25px 0 0}.ep-dialog__footer button{font-size:12px}.ep-choose-dialog__selected-count{color:#409eff;float:left;font-size:16px;line-height:32px}.ep-confirm-dialog{padding-bottom:20px}.ep-confirm-dialog .ep-dialog__footer{padding-top:0}.ep-custom-column__dialog .el-dialog__body{text-align:center}.ep-custom-column__dialog .el-transfer{display:inline-block}.ep-custom-column__dialog .el-transfer-panel__footer{border-bottom:0;height:0}.ep-custom-column__dialog .el-transfer-panel{overflow:visible}.ep-custom-column__dialog .el-transfer__buttons button{width:100px}.ep-custom-column__dialog .el-transfer__buttons button span{font-size:13px}.ep-custom-column__operate{position:absolute;right:-100%;top:50%;transform:translate(calc(25% - 12px),32px)}.ep-custom-column__operate button{width:100px}.ep-custom-column__operate button span{font-size:13px}.no-cn__operate{transform:translate(calc(25% - 520px),32px)}.ep-link{font-size:13px}.ep-uni-vue{background:#fff}.ep-uni-vue__skeleton .el-skeleton__item{margin-top:10px}.ep-attachment__promise{width:100%}.ep-attachment__dialog--normal{background:none;position:static!important}.ep-attachment__dialog--normal .el-overlay-dialog{position:static}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog{margin:0;padding:0;width:auto!important}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__header{display:none}.ep-attachment__dialog--normal .el-overlay-dialog .el-dialog .el-dialog__body{padding:0}.ep-attachment__handler{height:32px;padding:9px 15px}.ep-attachment__handler.el-button--text{padding:0}.ep-footer-info{color:#999;display:flex;font-size:12px;line-height:20px;margin-top:16px;padding-bottom:20px;width:100%}.ep-footer-info__item{margin-right:20px}
@@ -2,6 +2,9 @@
2
2
  @use 'common/var.scss' as *;
3
3
 
4
4
  @include b(attachment) {
5
+ @include e(promise) {
6
+ width:100%;
7
+ }
5
8
  @include e(dialog) {
6
9
  @include m(normal) {
7
10
  background: none;
@@ -0,0 +1,18 @@
1
+ @use 'mixins/mixins.scss' as *;
2
+ @use 'common/var.scss' as *;
3
+
4
+ @include b(footer-info) {
5
+ display: flex;
6
+ width: 100%;
7
+ margin-top: 16px;
8
+ padding-bottom: 20px;
9
+ color: #999;
10
+ font-size: 12px;
11
+ line-height: 20px;
12
+
13
+ @include e(item) {
14
+ margin-right: 20px;
15
+ }
16
+
17
+
18
+ }
@@ -4,7 +4,7 @@
4
4
  @include b(header) {
5
5
  display: flex;
6
6
  // margin-bottom: 10px;
7
- lex-wrap: wrap;
7
+ flex-wrap: wrap;
8
8
  >.el-button{
9
9
  margin-bottom: 10px;
10
10
  }
@@ -10,3 +10,4 @@
10
10
  @use './link.scss';
11
11
  @use './uni-vue.scss';
12
12
  @use './attachment.scss';
13
+ @use './footer-info.scss';
@@ -2,6 +2,7 @@
2
2
  @use 'common/var.scss' as *;
3
3
 
4
4
  @include b(table) {
5
+ width: 100%;
5
6
  @include e(action-buttons) {
6
7
  white-space: nowrap;
7
8
  }