@dinert/element-plus 1.0.7 → 1.1.0

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 (130) hide show
  1. package/dist/element-plus.umd.js +1 -1
  2. package/dist/element-plus.umd.js.map +1 -1
  3. package/dist/style.css +1 -1
  4. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +82 -22
  5. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
  6. package/es/packages/assets/scss/dinert-form.scss.mjs +1 -4
  7. package/es/packages/assets/scss/dinert-form.scss.mjs.map +1 -1
  8. package/es/packages/assets/scss/dinert-table-page.scss.mjs +1 -4
  9. package/es/packages/assets/scss/dinert-table-page.scss.mjs.map +1 -1
  10. package/es/packages/assets/scss/dinert-table.scss.mjs +1 -4
  11. package/es/packages/assets/scss/dinert-table.scss.mjs.map +1 -1
  12. package/es/packages/assets/scss/dinert-tooltip.scss.mjs +1 -4
  13. package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +1 -1
  14. package/es/packages/components/form/index.mjs +6 -6
  15. package/es/packages/components/form/index.mjs.map +1 -1
  16. package/es/packages/components/form/src/cascader.mjs +10 -16
  17. package/es/packages/components/form/src/cascader.mjs.map +1 -1
  18. package/es/packages/components/form/src/checkbox.mjs +17 -15
  19. package/es/packages/components/form/src/checkbox.mjs.map +1 -1
  20. package/es/packages/components/form/src/date.mjs +6 -8
  21. package/es/packages/components/form/src/date.mjs.map +1 -1
  22. package/es/packages/components/form/src/index.mjs +140 -149
  23. package/es/packages/components/form/src/index.mjs.map +1 -1
  24. package/es/packages/components/form/src/input-autocomplete.mjs +5 -7
  25. package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
  26. package/es/packages/components/form/src/input-number.mjs +9 -16
  27. package/es/packages/components/form/src/input-number.mjs.map +1 -1
  28. package/es/packages/components/form/src/input.mjs +12 -19
  29. package/es/packages/components/form/src/input.mjs.map +1 -1
  30. package/es/packages/components/form/src/radio.mjs +14 -16
  31. package/es/packages/components/form/src/radio.mjs.map +1 -1
  32. package/es/packages/components/form/src/rate.mjs +7 -13
  33. package/es/packages/components/form/src/rate.mjs.map +1 -1
  34. package/es/packages/components/form/src/select.mjs +7 -8
  35. package/es/packages/components/form/src/select.mjs.map +1 -1
  36. package/es/packages/components/form/src/switch.mjs +5 -12
  37. package/es/packages/components/form/src/switch.mjs.map +1 -1
  38. package/es/packages/components/form/src/tree-select.mjs +5 -6
  39. package/es/packages/components/form/src/tree-select.mjs.map +1 -1
  40. package/es/packages/components/form/utils/index.mjs +52 -30
  41. package/es/packages/components/form/utils/index.mjs.map +1 -1
  42. package/es/packages/components/index.mjs +8 -8
  43. package/es/packages/components/table/hooks/index.mjs +14 -14
  44. package/es/packages/components/table/hooks/index.mjs.map +1 -1
  45. package/es/packages/components/table/index.mjs +6 -6
  46. package/es/packages/components/table/index.mjs.map +1 -1
  47. package/es/packages/components/table/src/index.mjs +116 -89
  48. package/es/packages/components/table/src/index.mjs.map +1 -1
  49. package/es/packages/components/table/src/recuve-table-column.mjs +148 -133
  50. package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
  51. package/es/packages/components/table-page/index.mjs +7 -7
  52. package/es/packages/components/table-page/index.mjs.map +1 -1
  53. package/es/packages/components/table-page/src/index.mjs +2 -2
  54. package/es/packages/components/table-page/src/index.mjs.map +1 -1
  55. package/es/packages/components/tooltip/index.mjs +5 -5
  56. package/es/packages/components/tooltip/index.mjs.map +1 -1
  57. package/es/packages/components/tooltip/src/index.mjs +16 -14
  58. package/es/packages/components/tooltip/src/index.mjs.map +1 -1
  59. package/es/packages/hooks/{useTablePage → TablePage}/index.mjs +24 -18
  60. package/es/packages/hooks/TablePage/index.mjs.map +1 -0
  61. package/es/packages/index.mjs +16 -16
  62. package/es/packages/index.mjs.map +1 -1
  63. package/es/packages/utils/tools.mjs +26 -41
  64. package/es/packages/utils/tools.mjs.map +1 -1
  65. package/es/src/components/dialog/index.d.ts +2 -0
  66. package/es/src/components/dialog/src/drag.d.ts +5 -0
  67. package/es/src/components/dialog/src/type.d.ts +15 -0
  68. package/es/src/components/form/index.d.ts +6 -5
  69. package/es/src/components/form/src/cascader.d.ts +7 -9
  70. package/es/src/components/form/src/checkbox.d.ts +7 -8
  71. package/es/src/components/form/src/date.d.ts +245 -8
  72. package/es/src/components/form/src/index.d.ts +4 -3
  73. package/es/src/components/form/src/input-autocomplete.d.ts +7 -8
  74. package/es/src/components/form/src/input-number.d.ts +7 -8
  75. package/es/src/components/form/src/input.d.ts +7 -8
  76. package/es/src/components/form/src/radio.d.ts +7 -8
  77. package/es/src/components/form/src/rate.d.ts +6 -7
  78. package/es/src/components/form/src/select.d.ts +7 -9
  79. package/es/src/components/form/src/switch.d.ts +7 -8
  80. package/es/src/components/form/src/tree-select.d.ts +7 -19
  81. package/es/src/components/form/types/components.d.ts +40 -0
  82. package/es/src/components/form/types/index.d.ts +45 -21
  83. package/es/src/components/form/types/utils.d.ts +5 -0
  84. package/es/src/components/form/utils/index.d.ts +1 -0
  85. package/es/src/components/table/index.d.ts +339 -328
  86. package/es/src/components/table/src/index.d.ts +338 -327
  87. package/es/src/components/table/src/recuve-table-column.d.ts +1 -1
  88. package/es/src/components/table/types/index.d.ts +24 -33
  89. package/es/src/components/tooltip/index.d.ts +2 -2
  90. package/{lib/src/hooks/useTablePage → es/src/hooks/TablePage}/index.d.ts +14 -17
  91. package/{lib/src/hooks/useTablePage → es/src/hooks/TablePage}/types/index.d.ts +1 -2
  92. package/es/src/index.d.ts +3 -3
  93. package/es/src/utils/tools.d.ts +1 -1
  94. package/es/src/views/test-table-page/types/index.d.ts +24 -0
  95. package/es/style.css +1 -1
  96. package/lib/index.js +1 -1
  97. package/lib/index.js.map +1 -1
  98. package/lib/src/components/dialog/index.d.ts +2 -0
  99. package/lib/src/components/dialog/src/drag.d.ts +5 -0
  100. package/lib/src/components/dialog/src/type.d.ts +15 -0
  101. package/lib/src/components/form/index.d.ts +6 -5
  102. package/lib/src/components/form/src/cascader.d.ts +7 -9
  103. package/lib/src/components/form/src/checkbox.d.ts +7 -8
  104. package/lib/src/components/form/src/date.d.ts +245 -8
  105. package/lib/src/components/form/src/index.d.ts +4 -3
  106. package/lib/src/components/form/src/input-autocomplete.d.ts +7 -8
  107. package/lib/src/components/form/src/input-number.d.ts +7 -8
  108. package/lib/src/components/form/src/input.d.ts +7 -8
  109. package/lib/src/components/form/src/radio.d.ts +7 -8
  110. package/lib/src/components/form/src/rate.d.ts +6 -7
  111. package/lib/src/components/form/src/select.d.ts +7 -9
  112. package/lib/src/components/form/src/switch.d.ts +7 -8
  113. package/lib/src/components/form/src/tree-select.d.ts +7 -19
  114. package/lib/src/components/form/types/components.d.ts +40 -0
  115. package/lib/src/components/form/types/index.d.ts +45 -21
  116. package/lib/src/components/form/types/utils.d.ts +5 -0
  117. package/lib/src/components/form/utils/index.d.ts +1 -0
  118. package/lib/src/components/table/index.d.ts +339 -328
  119. package/lib/src/components/table/src/index.d.ts +338 -327
  120. package/lib/src/components/table/src/recuve-table-column.d.ts +1 -1
  121. package/lib/src/components/table/types/index.d.ts +24 -33
  122. package/lib/src/components/tooltip/index.d.ts +2 -2
  123. package/{es/src/hooks/useTablePage → lib/src/hooks/TablePage}/index.d.ts +14 -17
  124. package/{es/src/hooks/useTablePage → lib/src/hooks/TablePage}/types/index.d.ts +1 -2
  125. package/lib/src/index.d.ts +3 -3
  126. package/lib/src/utils/tools.d.ts +1 -1
  127. package/lib/src/views/test-table-page/types/index.d.ts +24 -0
  128. package/lib/style.css +1 -1
  129. package/package.json +87 -89
  130. package/es/packages/hooks/useTablePage/index.mjs.map +0 -1
@@ -36,8 +36,8 @@ declare const _default: import("vue").DefineComponent<{
36
36
  default: () => never[];
37
37
  };
38
38
  }>>, {
39
+ tableColumns: RewriteTableColumnCtx<any>[];
39
40
  onlyClass: string;
40
41
  popoverValue: boolean;
41
- tableColumns: RewriteTableColumnCtx<any>[];
42
42
  }, {}>;
43
43
  export default _default;
@@ -1,4 +1,7 @@
1
- import type { TableProps, TableColumnCtx, ElTable, ElPagination } from 'element-plus';
1
+ import type { TableProps, TableColumnCtx, ElTable, ElPagination, PaginationProps, ButtonProps } from 'element-plus';
2
+ export type Mutable<T> = {
3
+ -readonly [K in keyof T]: T[K];
4
+ };
2
5
  export interface ScopeProps<T = any> {
3
6
  $index: number;
4
7
  cellIndex: number;
@@ -7,32 +10,20 @@ export interface ScopeProps<T = any> {
7
10
  store: typeof ElTable;
8
11
  _self: any;
9
12
  }
10
- export interface FunctionsProps<T = any> {
11
- message?: string | ((scope: ScopeProps<T>, column: RewriteTableColumnCtx<T>, item: FunctionsProps<T>) => void);
12
- value?: string;
13
- click?: (scope: ScopeProps<T>, column: RewriteTableColumnCtx<T>, item: FunctionsProps<T>) => void;
13
+ export interface OperationsProps<T = any> extends Partial<ButtonProps> {
14
+ message?: string | ((scope: ScopeProps<T>, column: RewriteTableColumnCtx<T>, item: OperationsProps<T>) => void);
15
+ show?: boolean | ((scope: ScopeProps<T>, column: RewriteTableColumnCtx<T>, item: OperationsProps<T>) => boolean);
16
+ click?: (scope: ScopeProps<T>, column: RewriteTableColumnCtx<T>, item: OperationsProps<T>) => void;
14
17
  sort?: number;
15
- type?: string;
16
- key?: any;
17
18
  }
18
19
  export interface RewriteTableColumnCtx<T = any> extends Omit<Partial<TableColumnCtx<T>>, 'children'> {
19
- type?: string;
20
+ type?: 'default' | 'selection' | 'index' | 'expand';
20
21
  checked?: boolean;
21
22
  show?: boolean | ((column: RewriteTableColumnCtx<T>) => boolean);
22
23
  setting?: boolean;
23
24
  maxOperations?: number;
24
- functions?: {
25
- [key: string]: FunctionsProps<T>;
26
- };
25
+ operations?: Record<string, OperationsProps<T>>;
27
26
  sort?: number;
28
- disabled?: boolean;
29
- key?: any;
30
- class?: any;
31
- custom?: boolean;
32
- prop?: string;
33
- label?: string;
34
- width?: string | number;
35
- align?: string;
36
27
  children?: Array<RewriteTableColumnCtx<T>>;
37
28
  }
38
29
  export interface RecuveTableColumnProps<T = any> {
@@ -41,29 +32,28 @@ export interface RecuveTableColumnProps<T = any> {
41
32
  table: RewriteTableProps;
42
33
  children?: Array<RewriteTableColumnCtx<T>>;
43
34
  }
44
- export interface RewriteTableProps<T = any> extends TableProps<T> {
45
- on?: Partial<InstanceType<typeof ElTable>>;
35
+ type TableFnProps = Partial<Pick<InstanceType<typeof ElTable>, 'onSelect' | 'onExpand-change' | 'onCurrent-change' | 'onSelect-all' | 'onSelection-change' | 'onCell-mouse-enter' | 'onCell-mouse-leave' | 'onCell-contextmenu' | 'onCell-click' | 'onCell-dblclick' | 'onRow-click' | 'onRow-contextmenu' | 'onRow-dblclick' | 'onHeader-click' | 'onHeader-contextmenu' | 'onSort-change' | 'onFilter-change' | 'onHeader-dragend'>>;
36
+ export interface RewriteTableProps<T = any> extends TableProps<T>, TableFnProps {
46
37
  tableColumns: Array<RewriteTableColumnCtx<T>>;
47
38
  errData?: string;
48
- tableSlot?: boolean;
49
39
  setting?: boolean;
50
40
  key?: any;
51
41
  class?: string;
52
42
  pagination: RewritePaginationProps;
53
43
  }
54
- export interface RewritePaginationProps {
55
- on?: Partial<InstanceType<typeof ElPagination>>;
56
- pageSize?: number;
57
- pageSizes?: number[];
58
- defaultPageSize?: number;
59
- total?: number;
60
- pageCount?: number;
61
- pagerCount?: number;
62
- currentPage?: number;
63
- defaultCurrentPage?: number;
44
+ type PaginationPropsFn = Partial<Pick<InstanceType<typeof ElPagination>, 'onChange' | 'onUpdate:current-page' | 'onUpdate:page-size' | 'onSize-change' | 'onCurrent-change' | 'onPrev-click' | 'onNext-click'>>;
45
+ export interface RewritePaginationProps extends PaginationPropsFn, Partial<Mutable<PaginationProps>> {
46
+ }
47
+ export interface HeaderListProps extends Partial<ButtonProps> {
48
+ message?: string;
49
+ click?: (item: HeaderListProps) => void;
50
+ sort?: number;
51
+ show?: boolean | ((item: HeaderListProps) => boolean);
64
52
  }
65
53
  export interface TablePageProps<T = any> {
66
- header?: boolean;
54
+ header?: boolean | {
55
+ [key: string]: HeaderListProps;
56
+ };
67
57
  table: RewriteTableProps<T>;
68
58
  footer?: boolean;
69
59
  tableSlot?: boolean;
@@ -79,3 +69,4 @@ export interface CtxType {
79
69
  'header-footer'?: () => void;
80
70
  };
81
71
  }
72
+ export {};
@@ -1,6 +1,6 @@
1
1
  import type { Plugin } from 'vue';
2
2
  type SFCWithInstall<T> = T & Plugin;
3
- export declare const Tooltip: SFCWithInstall<import("vue").DefineComponent<{
3
+ export declare const DinertTooltip: SFCWithInstall<import("vue").DefineComponent<{
4
4
  options: {
5
5
  type: ObjectConstructor;
6
6
  default: () => {};
@@ -57,4 +57,4 @@ export declare const Tooltip: SFCWithInstall<import("vue").DefineComponent<{
57
57
  } | undefined;
58
58
  } | undefined;
59
59
  }, {}>>;
60
- export default Tooltip;
60
+ export default DinertTooltip;
@@ -1,49 +1,46 @@
1
1
  import { Ref } from 'vue';
2
- import type { RewriteFormProps } from '../../components/form/types';
3
- import type { RewriteTableProps } from '../../components/table/types';
4
- import type { DinertTablePageProps, AjaxTableProps, ScopeFn } from './types';
2
+ import type { DinertTablePageProps, AjaxTableProps } from './types';
5
3
  import TablePageCom from '../../components/table-page/index';
4
+ import { MergeProp } from '../../components/form/types/utils';
6
5
  /**
7
6
  * T 表格data数据格式
8
7
  * D 表单model的数据格式
8
+ * FI 表单formItem的数据格式
9
9
  * P 发起请求的数据格式
10
10
  * R 请求回来的数据格式
11
11
  */
12
- declare class TablePage<T, D = any, P = any, R = any> {
12
+ declare class TablePage<T, D = any, FI = any, P = object, R = any> {
13
13
  showSearch: Ref<DinertTablePageProps['search']>;
14
- table: Ref<RewriteTableProps<T>>;
15
- form: Ref<RewriteFormProps<D>>;
14
+ table: Ref<DinertTablePageProps<T, D, FI>['table']>;
15
+ form: Ref<DinertTablePageProps<T, D, FI>['form']>;
16
16
  footer: Ref<DinertTablePageProps['footer']>;
17
+ header: Ref<DinertTablePageProps['header']>;
17
18
  selecTableDatas: Ref<T[]>;
18
19
  lastSelectDatas: Ref<T[]>;
19
- options: DinertTablePageProps<T, D>;
20
+ options: DinertTablePageProps<T, D, FI>;
20
21
  ids: Ref<string[]>;
21
22
  params: P | any;
22
23
  oldParams: P | any;
23
24
  tablePageRef: Ref<InstanceType<typeof TablePageCom> | null>;
24
25
  private readonly defaultOptions;
25
26
  private readonly firstOptions;
26
- constructor(options: DinertTablePageProps<T, D>);
27
+ constructor(options: DinertTablePageProps<T, D, FI>);
27
28
  getTableParams: (params: P) => (Partial<P>);
28
29
  ajaxTableDataAfter: (res: R) => void;
29
- lookOperations: ScopeFn<T>;
30
- editOperations: ScopeFn<T>;
31
- addOperations: ScopeFn<T>;
32
- deleteOperations: ScopeFn<T>;
33
- importOperations: ScopeFn<T>;
34
30
  sizeChange(size: number): void;
35
31
  currentChange(currentPage: number): void;
36
- getTableData(options: (P & AjaxTableProps) | any): Promise<any>;
32
+ getTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R>;
33
+ getAjaxTableDataParams(options: MergeProp<P, AjaxTableProps> | any): MergeProp<P, AjaxTableProps>;
34
+ ajaxTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R>;
37
35
  changeTableData(res: R | any): void;
38
- getAjaxTableDataParams(options: (P & AjaxTableProps) | any): any;
39
- ajaxTableData(options: (P & AjaxTableProps)): Promise<R | any>;
40
- search(options?: (P & AjaxTableProps) | any): Promise<any>;
36
+ search(options?: (P & AjaxTableProps) | any): Promise<R>;
41
37
  resetSearch(options?: (P & AjaxTableProps) | any): void;
42
38
  resetPagination(): void;
43
39
  resetParams(): void;
44
40
  clearParams(): void;
45
41
  getTableDataKeys(key?: string): string[];
46
42
  echoOperations(): void;
43
+ lazyAddKey<T = any>(arr?: any, children?: string): T;
47
44
  tableSelectEvent(): void;
48
45
  }
49
46
  export default TablePage;
@@ -1,8 +1,7 @@
1
1
  import type { DinertFormProps } from '../../../components/form/types';
2
2
  import type { TableInstance } from 'element-plus';
3
3
  import type { TablePageProps, RewriteTableColumnCtx } from '../../../components/table/types/index';
4
- export interface DinertTablePageProps<T = any, D = any> extends DinertFormProps<D>, TablePageProps<T> {
5
- search?: boolean;
4
+ export interface DinertTablePageProps<T = any, D = any, FI = any> extends DinertFormProps<D, FI>, TablePageProps<T> {
6
5
  }
7
6
  export interface TableParams<T = any> {
8
7
  data: T[];
@@ -1,7 +1,7 @@
1
1
  import { Plugin } from 'vue';
2
- import TablePage from './hooks/useTablePage/index';
2
+ import TablePage2 from './hooks/TablePage/index';
3
3
  export * from './components/index';
4
- export declare const UseTablePage: typeof TablePage;
5
- export * from './hooks/useTablePage/types/index';
4
+ export declare const TablePage: typeof TablePage2;
5
+ export * from './hooks/TablePage/types/index';
6
6
  declare const myPlugin: Plugin;
7
7
  export default myPlugin;
@@ -15,5 +15,5 @@ export declare function convertToFlat<T = any>(data: T[], children?: string, par
15
15
  export declare function formatPhone(value: string): string;
16
16
  export declare const downFile: (response: any) => any;
17
17
  export declare const formatterArray: (cellValue: any) => any;
18
- export declare const escapeHTML: (str: any) => string;
19
18
  export declare const columnProp: (prop: string) => string;
19
+ export declare const headerProp: (prop: string) => string;
@@ -16,6 +16,30 @@ export interface TableData {
16
16
  userId: string;
17
17
  userName: string;
18
18
  }
19
+ export interface FormItemData {
20
+ name: string;
21
+ showLabel: string;
22
+ input: string;
23
+ textarea: string;
24
+ inputNumber: string;
25
+ autoInput: string;
26
+ select: string;
27
+ switch: string;
28
+ selectTree: string;
29
+ datetime: string;
30
+ date: string;
31
+ week: string;
32
+ month: string;
33
+ year: string;
34
+ datetimerange: string;
35
+ daterange: string;
36
+ monthrange: string;
37
+ rate: string;
38
+ checkbox: string;
39
+ radio: string;
40
+ radioButton: string;
41
+ cascader: string;
42
+ }
19
43
  interface OperationType {
20
44
  code: string;
21
45
  name: string;
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .tree-item{width:100%}.tree-item .el-tooltip__trigger{display:block;overflow:hidden;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-popover-classify,.el-popover-classify li{margin:0;padding:0;list-style:none}.el-popover-classify li:first-child{border-bottom:1px solid var(--el-fill-color);line-height:32px}.el-popover-classify .el-tree-node .el-tree-node__expand-icon.is-leaf{display:none}.dinert-table{display:flex;padding:20px;height:100%;border-radius:var(--el-bg-radius);background-color:var(--el-bg-color);flex-direction:column;box-sizing:border-box}.dinert-table .dinert-table-header{display:flex;justify-content:space-between;margin-bottom:12px;text-align:right}.dinert-table .dinert-table-header .el-popover-classify li .el-checkbox{width:100%;line-height:24px;height:24px}.dinert-table .dinert-table-header .dinert-table-header-left{text-align:left}.dinert-table .dinert-table-header .dinert-table-header-right .el-tree-node__expand-icon.is-leaf{display:none}.dinert-table .dinert-table-body{flex:1;height:0}.dinert-table .dinert-table-body .el-table{--el-table-header-bg-color: #f4f4f4;--el-border-color-lighter: #e4e4e4}.dinert-table .dinert-table-body .el-table .el-popper{max-width:50%}.dinert-table .dinert-table-body .el-table .el-table__header .cell{color:var(--zp-color-secondary-text-title)}.dinert-table .dinert-table-body .el-table .el-table__header .cell .setting-icon{vertical-align:-1px;margin-left:4px;cursor:pointer}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper td{color:var(--zp-color-secondary-text-title)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper td .cell.el-tooltip>.cell-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .el-dropdown{vertical-align:-2px}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell{display:flex;justify-content:center;align-items:center}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-link{margin-right:12px}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-svg-icon{font-size:14px;color:var(--el-color-primary);cursor:pointer;flex:1}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-svg-icon.delete{color:var(--el-color-danger)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .svg-icon{width:16px;height:16px;vertical-align:-2px;flex:1;color:var(--el-color-primary);cursor:pointer;fill:var(--el-color-primary)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .svg-icon.f-14{width:14px;height:14px}.dinert-table .dinert-table-footer{display:flex;margin-top:16px}.dinert-table .dinert-table-footer .el-pagination{display:flex;flex-wrap:wrap}.el-form{display:flex;overflow:hidden;padding:0;min-height:50px;border-radius:4px;background-color:var(--el-color-white);transition:all .3s cubic-bezier(.645,.045,.355,1);box-sizing:content-box}.el-form.dinert-form.packUp{max-height:50px}.el-form.near .el-form-left{flex:unset}.el-form.near .el-form-left .el-col{width:auto}.el-form.near .el-form-right{min-width:auto}.el-form .el-form-left{flex:1}.el-form .el-form-left .el-col .label-text .el-date-editor{width:210px}.el-form .el-form-left .el-col .label-text .el-date-editor--daterange{width:260px}.el-form .el-form-left .el-col .label-text>.el-input{width:210px}.el-form .el-form-left .el-col .label-text>.el-select{width:210px}.el-form .el-form-left .el-col .label-text .el-date-editor--datetimerange{width:400px}.el-form .el-form-right{display:flex;margin-left:24px;min-width:230px}.el-form .el-form-right .el-form-right-operation{padding:0}.el-form .el-form-right .el-form-right-operation.el-button.is-text{padding-right:0;background-color:unset}.el-form div.el-form-item{position:relative;display:flex;margin-right:0;margin-bottom:18px;width:100%}.el-form div.el-form-item.show-label .label-text{overflow:unset;text-overflow:unset;white-space:unset}.el-form div.el-form-item.label-wrap .el-form-item__label{height:auto}.el-form div.el-form-item.label-wrap .el-form-item__label .label-text{display:inline;text-align:left;white-space:normal}.el-form .el-form-item__content{flex:1;margin-left:0}.el-form .el-form-item__content .el-tooltip__trigger,.el-form .el-form-item__content .el-input-number{width:100%}.el-form .el-form-item__content .el-input-number .el-input__inner{text-align:center}.el-form .el-form-item__content .el-date-editor,.el-form .el-form-item__content .el-date-editor .el-input__wrapper{width:100%;box-sizing:border-box}.el-form .el-form-item__content .el-input__inner{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-form .el-form-item__content .el-form-item__label{overflow:hidden;width:80px;max-width:80px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.el-form .el-form-item__content .el-form-item__label .el-tooltip,.el-form .el-form-item__content .el-form-item__label .el-tooltip .label-text{display:inline}.el-form .el-select{width:100%}.dinert-table-page{display:flex;flex-direction:column;box-sizing:border-box}.dinert-table-page.text-wrap .el-table__header .cell{white-space:pre-wrap}.dinert-table-page.text-wrap .el-table__body .el-table__row td>.cell,.dinert-table-page.text-wrap .el-table__body .el-table__row td>.cell>.cell-item,.dinert-table-page.text-wrap .el-table__body .el-table__row td .cell.el-tooltip>.cell-item{white-space:pre-wrap}.dinert-table-page.text-wrap .el-table__body .el-table__row .el-button>span{text-align:left}.dinert-table-page.text-wrap .el-table__body .el-table__row span{white-space:pre-wrap;line-height:23px}.dinert-table-page.header-center .el-table__header .el-table__cell{text-align:center}.dinert-table-page.near .el-form-left{flex:unset}.dinert-table-page.near .el-form-left .el-col{margin-right:16px;width:auto;max-width:unset;flex:unset}.dinert-table-page.near .dinert-table-footer .el-pagination{margin-left:auto}.dinert-table-page.maxWidthAuto .el-form .el-form-item .el-form-item__label{max-width:unset}.dinert-table-page .dinert-form{padding:20px 20px 0;max-height:300px}.dinert-table-page .dinert-table{padding-top:0;height:0;flex:1}.el-tooltip__trigger{display:block;height:100%}.el-tooltip__trigger .text-tooltip{position:absolute;left:-999999999999px}.el-tooltip__trigger .label-text{display:block;overflow:hidden;width:100%;height:100%;text-overflow:ellipsis;white-space:nowrap}
1
+ .tree-item{width:100%}.tree-item .el-tooltip__trigger{display:block;overflow:hidden;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-popover-classify{overflow-y:auto;margin:0;padding:0;list-style:none}.el-popover-classify li{margin:0;padding:0;list-style:none}.el-popover-classify li:first-child{border-bottom:1px solid var(--el-fill-color);line-height:32px}.el-popover-classify>.el-tree>.el-tree-node>.el-tree-node__content>.el-tree-node__expand-icon.is-leaf{display:none}.el-popover-classify .el-tree-node__children{overflow:unset}.dinert-table{display:flex;padding:20px;height:100%;border-radius:var(--el-bg-radius);background-color:var(--el-bg-color);flex-direction:column;box-sizing:border-box}.dinert-table .dinert-table-header{display:flex;justify-content:space-between;margin-bottom:12px;text-align:right}.dinert-table .dinert-table-header .el-popover-classify li .el-checkbox{width:100%;line-height:24px;height:24px}.dinert-table .dinert-table-header .dinert-table-header-left{text-align:left}.dinert-table .dinert-table-body{flex:1;height:0}.dinert-table .dinert-table-body .el-table .el-popper{max-width:50%}.dinert-table .dinert-table-body .el-table .el-table__header .el-table__cell.setting .setting-icon{display:inline-block}.dinert-table .dinert-table-body .el-table .el-table__header .el-table__cell .cell{color:var(--zp-color-secondary-text-title)}.dinert-table .dinert-table-body .el-table .el-table__header .el-table__cell .cell .setting-icon{vertical-align:-1px;margin-left:4px;cursor:pointer}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper td{color:var(--zp-color-secondary-text-title)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper td .cell.el-tooltip>.cell-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper td .cell.el-tooltip>.cell-item .cell-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .el-dropdown{vertical-align:-2px}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell{display:flex;justify-content:center;align-items:center}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-button{margin-right:8px;margin-left:0}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-button:focus-visible{outline:none}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-svg-icon{font-size:14px;color:var(--el-color-primary);cursor:pointer;flex:1}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .el-svg-icon.delete{color:var(--el-color-danger)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .svg-icon{width:16px;height:16px;vertical-align:-2px;flex:1;color:var(--el-color-primary);cursor:pointer;fill:var(--el-color-primary)}.dinert-table .dinert-table-body .el-table .el-table__body-wrapper .operations .cell .svg-icon.f-14{width:14px;height:14px}.dinert-table .dinert-table-footer{display:flex;margin-top:16px}.dinert-table .dinert-table-footer .el-pagination{display:flex;flex-wrap:wrap}.el-form{display:flex;overflow:hidden;padding:0;min-height:50px;border-radius:4px;background-color:var(--el-bg-color);transition:all .3s cubic-bezier(.645,.045,.355,1);box-sizing:content-box}.el-form.dinert-form.packUp{max-height:50px}.el-form.near .el-form-left .el-col{display:flex;align-items:center;margin-right:10px;width:auto;max-width:unset;flex:unset}.el-form.near .el-form-right{min-width:auto}.el-form.dialog .el-form-left{flex:1}.el-form.dialog .el-form-left .el-col .label-text>div{width:100%}.el-form .el-form-left{flex:1}.el-form .el-form-left .el-col .label-text .el-radio.is-bordered,.el-form .el-form-left .el-col .label-text .el-checkbox.is-bordered{margin-right:16px}.el-form .el-form-left .el-col .label-text .el-date-editor{width:210px}.el-form .el-form-left .el-col .label-text .el-date-editor--daterange{width:260px}.el-form .el-form-left .el-col .label-text>.el-input{width:210px}.el-form .el-form-left .el-col .label-text>.el-select{width:210px}.el-form .el-form-left .el-col .label-text .el-date-editor--datetimerange{width:400px}.el-form .el-form-right{display:flex;margin-left:24px;min-width:230px}.el-form .el-form-right .el-form-right-operation{padding:0}.el-form .el-form-right .el-form-right-operation.el-button.is-text{padding-right:0;background-color:unset}.el-form div.el-form-item{position:relative;display:flex;margin-right:0;margin-bottom:18px;width:100%}.el-form div.el-form-item.show-label .label-text{overflow:unset;text-overflow:unset;white-space:unset}.el-form div.el-form-item.label-wrap .el-form-item__label{height:auto}.el-form div.el-form-item.label-wrap .el-form-item__label .label-text{display:inline;text-align:left;white-space:normal}.el-form .el-form-item__content{flex:1;margin-left:0}.el-form .el-form-item__content .el-tooltip__trigger,.el-form .el-form-item__content .el-input-number{width:100%}.el-form .el-form-item__content .el-input-number .el-input__inner{text-align:center}.el-form .el-form-item__content .el-date-editor,.el-form .el-form-item__content .el-date-editor .el-input__wrapper{width:100%;box-sizing:border-box}.el-form .el-form-item__content .el-input__inner{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-form .el-form-item__content .el-form-item__label{overflow:hidden;width:80px;max-width:80px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.el-form .el-form-item__content .el-form-item__label .el-tooltip,.el-form .el-form-item__content .el-form-item__label .el-tooltip .label-text{display:inline}.el-form .el-select{width:100%}.dinert-table-page{display:flex;flex-direction:column;box-sizing:border-box}.dinert-table-page.text-wrap .el-table__header .cell{white-space:pre-wrap}.dinert-table-page.text-wrap .el-table__body .el-table__row td>.cell,.dinert-table-page.text-wrap .el-table__body .el-table__row td>.cell>.cell-item,.dinert-table-page.text-wrap .el-table__body .el-table__row td .cell.el-tooltip>.cell-item{white-space:pre-wrap}.dinert-table-page.text-wrap .el-table__body .el-table__row .el-button>span{text-align:left}.dinert-table-page.text-wrap .el-table__body .el-table__row span{white-space:pre-wrap;line-height:23px}.dinert-table-page.header-center .el-table__header .el-table__cell{text-align:center}.dinert-table-page.near .el-form-left{flex:unset}.dinert-table-page.near .el-form-left .el-col{margin-right:16px;width:auto;max-width:unset;flex:unset}.dinert-table-page.near .dinert-table-footer .el-pagination{margin-left:auto}.dinert-table-page.maxWidthAuto .el-form .el-form-item .el-form-item__label{max-width:unset}.dinert-table-page .dinert-form{padding:20px 20px 0;max-height:300px}.dinert-table-page .dinert-table{padding-top:0;height:0;flex:1}.dinert-tooltip.el-tooltip__trigger{display:block;height:100%}.dinert-tooltip.el-tooltip__trigger .text-tooltip{position:absolute;left:-999999999999px}.dinert-tooltip.el-tooltip__trigger .label-text{display:block;overflow:hidden;width:100%;height:100%;text-overflow:ellipsis;white-space:nowrap}
package/package.json CHANGED
@@ -1,93 +1,91 @@
1
1
  {
2
- "name": "@dinert/element-plus",
3
- "version": "1.0.7",
4
- "description": "基于vue3封装的element-plus包",
5
- "scripts": {
6
- "dev": "vite",
7
- "build": "vite build",
8
- "prepare": "husky install",
9
- "docs:dev": "vuepress dev docs --port 8060",
10
- "docs:build": "vuepress build docs",
11
- "deploy": "bash deploy.sh"
2
+ "name": "@dinert/element-plus",
3
+ "version": "1.1.0",
4
+ "description": "基于vue3封装的element-plus包",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vite build",
8
+ "docs:dev": "cd docs && yarn dev",
9
+ "docs:build": "cd docs && yarn build",
10
+ "docs:preview": "cd docs && yarn preview"
11
+ },
12
+ "keywords": [
13
+ "@dinert/element-plus",
14
+ "element-plus",
15
+ "@dinert"
16
+ ],
17
+ "files": [
18
+ "dist",
19
+ "es",
20
+ "lib"
21
+ ],
22
+ "main": "lib/index.js",
23
+ "module": "es/packages/index.mjs",
24
+ "browser": "dist/element-plus.umd.js",
25
+ "types": "es/src/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./es/src/index.d.ts",
29
+ "import": "./es/packages/index.mjs",
30
+ "require": "./lib/index.js"
12
31
  },
13
- "keywords": [
14
- "@dinert/element-plus",
15
- "element-plus",
16
- "@dinert"
32
+ "./style": {
33
+ "import": "./es/style.css"
34
+ }
35
+ },
36
+ "author": "dinert",
37
+ "license": "MIT",
38
+ "devDependencies": {
39
+ "@babel/core": "^7.23.2",
40
+ "@babel/eslint-parser": "^7.22.15",
41
+ "@babel/eslint-plugin": "^7.22.10",
42
+ "@babel/preset-typescript": "^7.23.3",
43
+ "@element-plus/icons-vue": "^2.1.0",
44
+ "@rollup/plugin-commonjs": "^25.0.7",
45
+ "@types/node": "^20.9.0",
46
+ "@typescript-eslint/eslint-plugin": "^6.10.0",
47
+ "@typescript-eslint/parser": "^6.10.0",
48
+ "@vitejs/plugin-vue": "^4.4.0",
49
+ "@vitejs/plugin-vue-jsx": "^3.0.2",
50
+ "@vue/runtime-core": "^3.3.8",
51
+ "@vuepress/client": "^2.0.0-rc.0",
52
+ "element-plus": "^2.7.0",
53
+ "eslint": "^8.53.0",
54
+ "eslint-plugin-vue": "^9.18.1",
55
+ "husky": "^8.0.3",
56
+ "lint-staged": "12.5.0",
57
+ "lodash": "^4.17.21",
58
+ "postcss": "^8.4.31",
59
+ "postcss-html": "^1.5.0",
60
+ "postcss-scss": "^4.0.9",
61
+ "sass": "^1.69.5",
62
+ "stylelint": "^15.11.0",
63
+ "stylelint-config-recommended-vue": "^1.5.0",
64
+ "stylelint-config-standard": "^34.0.0",
65
+ "stylelint-order": "^6.0.3",
66
+ "stylelint-scss": "^5.3.1",
67
+ "typescript": "^5.2.2",
68
+ "validate-commit-msg": "^2.14.0",
69
+ "vite": "5.1.6",
70
+ "vite-plugin-dts": "^3.6.3",
71
+ "vue": "^3.3.8",
72
+ "vue-dompurify-html": "^5.0.1",
73
+ "vue-eslint-parser": "^9.3.2"
74
+ },
75
+ "lint-staged": {
76
+ "*.{tsx, ts}": [
77
+ "eslint --fix",
78
+ "git add"
17
79
  ],
18
- "files": [
19
- "dist",
20
- "es",
21
- "lib"
80
+ "*.{css,scss,sass}": [
81
+ "stylelint --fix",
82
+ "git add"
22
83
  ],
23
- "main": "lib/index.js",
24
- "module": "es/packages/index.mjs",
25
- "browser": "dist/element-plus.umd.js",
26
- "types": "es/src/index.d.ts",
27
- "exports": {
28
- ".": {
29
- "types": "./es/src/index.d.ts",
30
- "import": "./es/packages/index.mjs",
31
- "require": "./lib/index.js"
32
- },
33
- "./style": {
34
- "import": "./es/style.css"
35
- }
36
- },
37
- "author": "dinert",
38
- "license": "MIT",
39
- "devDependencies": {
40
- "@babel/core": "^7.23.2",
41
- "@babel/eslint-parser": "^7.22.15",
42
- "@babel/eslint-plugin": "^7.22.10",
43
- "@babel/preset-typescript": "^7.23.3",
44
- "@element-plus/icons-vue": "^2.1.0",
45
- "@rollup/plugin-commonjs": "^25.0.7",
46
- "@types/node": "^20.9.0",
47
- "@typescript-eslint/eslint-plugin": "^6.10.0",
48
- "@typescript-eslint/parser": "^6.10.0",
49
- "@vitejs/plugin-vue": "^4.4.0",
50
- "@vitejs/plugin-vue-jsx": "^3.0.2",
51
- "@vue/runtime-core": "^3.3.8",
52
- "@vuepress/client": "^2.0.0-rc.0",
53
- "element-plus": "^2.4.2",
54
- "eslint": "^8.53.0",
55
- "eslint-plugin-vue": "^9.18.1",
56
- "husky": "^8.0.3",
57
- "lint-staged": "12.5.0",
58
- "lodash": "^4.17.21",
59
- "postcss": "^8.4.31",
60
- "postcss-html": "^1.5.0",
61
- "postcss-scss": "^4.0.9",
62
- "sass": "^1.69.5",
63
- "stylelint": "^15.11.0",
64
- "stylelint-config-recommended-vue": "^1.5.0",
65
- "stylelint-config-standard": "^34.0.0",
66
- "stylelint-order": "^6.0.3",
67
- "stylelint-scss": "^5.3.1",
68
- "typescript": "^5.2.2",
69
- "validate-commit-msg": "^2.14.0",
70
- "vite": "^4.5.0",
71
- "vite-plugin-dts": "^3.6.3",
72
- "vue": "^3.3.8",
73
- "vue-eslint-parser": "^9.3.2"
74
- },
75
- "lint-staged": {
76
- "*.{tsx, ts}": [
77
- "eslint --fix",
78
- "git add"
79
- ],
80
- "*.{css,scss,sass}": [
81
- "stylelint --fix",
82
- "git add"
83
- ],
84
- "*.{html,vue}": [
85
- "eslint --fix",
86
- "stylelint --fix",
87
- "git add"
88
- ]
89
- },
90
- "dependencies": {
91
- "vuepress": "^2.0.0-rc.0"
92
- }
93
- }
84
+ "*.{html,vue}": [
85
+ "eslint --fix",
86
+ "stylelint --fix",
87
+ "git add"
88
+ ]
89
+ },
90
+ "dependencies": {}
91
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/useTablePage/index.ts"],"sourcesContent":["\nimport {Ref, ref} from 'vue'\n\nimport type {RewriteFormProps} from '@packages/components/form/types'\nimport type {RewriteTableProps} from '@packages/components/table/types'\n\nimport type {DinertTablePageProps, AjaxTableProps, ScopeFn} from '@packages/hooks/useTablePage/types'\n\nimport TablePageCom from '@packages/components/table-page/index'\nimport {getUuid} from '@packages/utils/tools'\nimport lodash from 'lodash'\n\n/**\n * T 表格data数据格式\n * D 表单model的数据格式\n * P 发起请求的数据格式\n * R 请求回来的数据格式\n */\n\n\nclass TablePage<T, D = any, P = any, R = any> {\n showSearch: Ref<DinertTablePageProps['search']>\n table: Ref<RewriteTableProps<T>>\n form: Ref<RewriteFormProps<D>>\n footer: Ref<DinertTablePageProps['footer']>\n\n selecTableDatas: Ref<T[]> = ref([])\n lastSelectDatas: Ref<T[]> = ref([])\n\n options: DinertTablePageProps<T, D>\n\n ids: Ref<string[]> = ref([])\n\n params: P | any\n oldParams: P | any\n\n tablePageRef: Ref<InstanceType<typeof TablePageCom> | null> = ref(null)\n\n private readonly defaultOptions: DinertTablePageProps<T, D> = {\n table: {\n rowKey: 'id',\n className: 'table_page' + getUuid(),\n tableColumns: [],\n data: [],\n key: true,\n border: true,\n tableSlot: true,\n pagination: {\n total: 0,\n currentPage: 1,\n pageSize: 10,\n pageSizes: [10, 20, 30, 50, 100],\n },\n on: {\n }\n },\n form: {\n model: {},\n formItem: {}\n },\n footer: false,\n search: false\n }\n\n\n private readonly firstOptions: DinertTablePageProps<T, D> = {\n table: {\n tableColumns: [],\n data: [],\n key: true,\n pagination: {}\n },\n form: {model: {}, formItem: {}}\n }\n\n\n constructor(options: DinertTablePageProps<T, D>) {\n\n this.options = lodash.defaultsDeep(lodash.cloneDeep(options), this.defaultOptions)\n\n this.firstOptions = lodash.cloneDeep(this.options)\n\n this.table = ref<DinertTablePageProps['table'] | any>(this.options.table)\n\n this.form = ref<RewriteFormProps<D | any>>(this.options.form)\n\n this.footer = ref<DinertTablePageProps['footer']>(this.options.footer)\n\n this.showSearch = ref<DinertTablePageProps['search']>(this.options.search)\n\n this.params = {}\n this.oldParams = {}\n\n // 监听表格选择的方法,方便表格数据回显\n this.tableSelectEvent()\n }\n\n // 获取请求参数\n getTableParams: (params: P) => (Partial<P>) = () => ({} as any)\n ajaxTableDataAfter: (res: R) => void = () => ({})\n\n lookOperations: ScopeFn<T> = () => ({}) // 查看\n editOperations: ScopeFn<T> = () => ({}) // 编辑\n addOperations: ScopeFn<T> = () => ({}) // 添加\n deleteOperations: ScopeFn<T> = () => ({}) // 删除\n importOperations: ScopeFn<T> = () => ({}) // 导入\n\n sizeChange(size: number) {\n\n const pageSize = this.table.value.pagination.pageSize\n this.table.value.pagination.pageSize = size\n const pagination = this.table.value.pagination\n if ((pageSize as any) > size\n || (pagination.currentPage as any) <= Math.ceil((pagination.total as any) / (pagination.pageSize as any))) {\n this.search({name: 'size', pageSize: size})\n }\n\n }\n\n currentChange(currentPage: number) {\n this.table.value.pagination.currentPage = currentPage\n this.search({name: 'current', currentPage})\n }\n\n async getTableData(options: (P & AjaxTableProps) | any) {\n const res = await this.ajaxTableData(options)\n this.changeTableData(res.data as R)\n\n typeof this.ajaxTableDataAfter === 'function' && this.ajaxTableDataAfter(res)\n\n this.table.value.key = !this.table.value.key\n return res\n }\n\n changeTableData(res: R | any) {\n if (res && res.data && res.data.length) {\n for (let i = 0; i < res.data.length; i++) {\n res.data[i].index = i + 1 + (res.pageNum as number) * (res.pageSize as number)\n }\n }\n this.table.value.data = res.data\n this.table.value.pagination.total = res.total\n }\n\n // 获取请求的所有参数\n getAjaxTableDataParams(options: (P & AjaxTableProps) | any) {\n this.params = this.getTableParams(options)\n\n const isSame = lodash.isEqual(this.params, this.oldParams) // 判断当前提交的参数和上一次提交的参数是否相同\n\n if (options.name === 'search') {\n if (!isSame) {\n this.table.value.pagination.currentPage = 1\n this.params = this.getTableParams(options)\n }\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'reset') {\n this.resetPagination()\n this.params = this.getTableParams(options)\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'delete') {\n if (this.table.value.data && this.table.value.data.length) {\n if (this.table.value.data.length === 1 && (this.table.value as any).pagination.currentPage > 1) {\n this.table.value.pagination.currentPage = 2\n\n this.params = this.getTableParams(options)\n }\n }\n } else if (options.name === 'current') {\n if (this.oldParams.data && this.oldParams.data.pageNum) {\n this.oldParams.data.pageNum = options.currentPage\n } else if (this.oldParams.data && this.oldParams.data.page) {\n this.oldParams.data.page = options.currentPage\n } else if (this.oldParams.params && this.oldParams.params.page) {\n this.oldParams.params.page = options.currentPage\n } else if (this.oldParams.params && this.oldParams.params.pageNum) {\n this.oldParams.params.pageNum = options.currentPage\n }\n\n if (this.oldParams.data && this.oldParams.data.pageSize) {\n this.oldParams.data.pageSize = this.table.value.pagination.pageSize\n } else if (this.oldParams.params && this.oldParams.params.pageSize) {\n this.oldParams.params.pageSize = this.table.value.pagination.pageSize\n }\n\n this.params = lodash.cloneDeep(this.oldParams)\n } else if (options.name === 'size') {\n if (this.oldParams.data && this.oldParams.data.pageSize) {\n this.oldParams.data.pageSize = options.pageSize\n } else if (this.oldParams.params && this.oldParams.params.pageSize) {\n this.oldParams.params.pageSize = options.pageSize\n }\n\n this.params = lodash.cloneDeep(this.oldParams)\n }\n if (!['size', 'current'].includes(options.name || '') || !this.table.value.rowKey) {\n this.selecTableDatas.value = []\n }\n\n return this.params\n }\n\n // 请求\n ajaxTableData(options: (P & AjaxTableProps)): Promise<R | any> {\n return new Promise(resolve => {\n resolve(this.getAjaxTableDataParams(options))\n })\n }\n\n\n // 查询\n search(options: (P & AjaxTableProps) | any = {name: 'search'}) {\n\n for (const prop in this.form.value?.model) {\n if ([null, undefined, ''].includes((this.form.value.model as any)[prop])) {\n delete this.form.value?.model[prop]\n }\n }\n return this.getTableData(options)\n }\n\n // 重置查询\n resetSearch(options: (P & AjaxTableProps) | any = {name: 'reset'}) {\n this.resetParams()\n this.search(options)\n }\n\n\n // 重置分页参数\n resetPagination() {\n this.table.value.pagination = this.defaultOptions.table.pagination\n }\n\n // 重置表格请求参数\n resetParams() {\n if (lodash.isEmpty(this.firstOptions.form?.model)) { // 判断查询的默认参数是否为空\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n } else {\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n for (const prop in this.firstOptions.form?.model) {\n this.form.value.model[prop] = this.firstOptions.form?.model[prop]\n }\n }\n }\n\n // 清空参数\n clearParams() {\n for (const prop in this.form.value?.model) {\n delete this.form.value.model[prop]\n }\n }\n\n // 根据key获取表格中的数据\n getTableDataKeys(key: string = 'id') {\n this.ids.value = lodash.map(this.table.value.data || [], key)\n return this.ids.value\n }\n\n // 回显选中\n echoOperations() {\n const rowKey = this.table.value.rowKey as any\n const keys = (this.selecTableDatas.value || []).map((item: any) => item[rowKey])\n if (this.tablePageRef.value) {\n (this.table.value.data || []).forEach((item: any) => {\n if (keys.includes(item[rowKey])) {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, true)\n } else {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, false)\n }\n })\n }\n\n }\n\n // 监听表格选择事件,包括全选和单选\n tableSelectEvent() {\n const rowKey: any = this.table.value.rowKey\n if (this.table.value.on) {\n if (!this.table.value.on.onSelect) {\n this.table.value.on.onSelect = (selection: T[]) => {\n if (rowKey) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i]as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n if (!this.table.value.on['onSelect-all']) {\n this.table.value.on['onSelect-all'] = (selection: T[]) => {\n if (rowKey) {\n if (selection.length === 0) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i] as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n } else {\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n }\n\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n }\n }\n}\n\n\nexport default TablePage\n"],"names":["TablePage","options","ref","getUuid","lodash","size","pageSize","pagination","currentPage","res","i","isSame","resolve","prop","_a","_b","_c","_d","_e","_f","_g","key","rowKey","keys","item","selection"],"mappings":"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"}