giime 0.2.2 → 0.3.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 (176) hide show
  1. package/dist/index.css +48 -39
  2. package/es/api/basic/controller/Common/postCommonV1CountryList.mjs.map +1 -1
  3. package/es/api/basic/controller/Common/postCommonV1CurrencyList.mjs.map +1 -1
  4. package/es/api/basic/controller/Common/postCommonV1ExchangeRateList.mjs.map +1 -1
  5. package/es/api/basic/controller/Common/postCommonV1SystemList.mjs.map +1 -1
  6. package/es/api/basic/controller/Common/usePostCommonV1CountryList.mjs.map +1 -1
  7. package/es/api/basic/controller/Common/usePostCommonV1CurrencyList.mjs.map +1 -1
  8. package/es/api/basic/controller/Common/usePostCommonV1ExchangeRateList.mjs.map +1 -1
  9. package/es/api/basic/controller/Common/usePostCommonV1SystemList.mjs.map +1 -1
  10. package/es/api/basic/controller/UserCenter/postUserCenterV1AreaList.mjs.map +1 -1
  11. package/es/api/basic/controller/UserCenter/postUserCenterV1EmployeeList.mjs.map +1 -1
  12. package/es/api/basic/controller/UserCenter/postUserCenterV1MenuList.mjs.map +1 -1
  13. package/es/api/basic/controller/UserCenter/postUserCenterV1OrgList.mjs.map +1 -1
  14. package/es/api/basic/controller/UserCenter/postUserCenterV1OrgTreeList.mjs.map +1 -1
  15. package/es/api/basic/controller/UserCenter/postUserCenterV1RoleList.mjs.map +1 -1
  16. package/es/api/basic/controller/UserCenter/usePostUserCenterV1AreaList.mjs.map +1 -1
  17. package/es/api/basic/controller/UserCenter/usePostUserCenterV1EmployeeList.mjs.map +1 -1
  18. package/es/api/basic/controller/UserCenter/usePostUserCenterV1MenuList.mjs.map +1 -1
  19. package/es/api/basic/controller/UserCenter/usePostUserCenterV1OrgList.mjs.map +1 -1
  20. package/es/api/basic/controller/UserCenter/usePostUserCenterV1OrgTreeList.mjs.map +1 -1
  21. package/es/api/basic/controller/UserCenter/usePostUserCenterV1RoleList.mjs.map +1 -1
  22. package/es/components/index.mjs +2 -2
  23. package/es/components/src/base/table/Table.vue.d.ts +6 -0
  24. package/es/components/src/base/table/Table.vue2.mjs +7 -2
  25. package/es/components/src/base/table/Table.vue2.mjs.map +1 -1
  26. package/es/components/src/base/table/index.d.ts +12 -0
  27. package/es/components/src/base/table/table.d.ts +3 -0
  28. package/es/components/src/base/table/table.mjs +4 -1
  29. package/es/components/src/base/table/table.mjs.map +1 -1
  30. package/es/components/src/base/tableV2/TableV2.vue.d.ts +6 -0
  31. package/es/components/src/base/tableV2/TableV2.vue2.mjs +7 -2
  32. package/es/components/src/base/tableV2/TableV2.vue2.mjs.map +1 -1
  33. package/es/components/src/base/tableV2/index.d.ts +12 -0
  34. package/es/components/src/base/tableV2/tableV2.d.ts +3 -0
  35. package/es/components/src/base/tableV2/tableV2.mjs +4 -1
  36. package/es/components/src/base/tableV2/tableV2.mjs.map +1 -1
  37. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs +51 -37
  38. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs.map +1 -1
  39. package/es/components/src/composite/index.d.ts +0 -1
  40. package/es/components/src/composite/index.mjs +2 -2
  41. package/es/components/src/composite/memoryForm/MemoryForm.vue.mjs +1 -1
  42. package/es/components/src/composite/memoryForm/MemoryForm.vue2.mjs +4 -1
  43. package/es/components/src/composite/memoryForm/MemoryForm.vue2.mjs.map +1 -1
  44. package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
  45. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +7 -1
  46. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs.map +1 -1
  47. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +3 -3
  48. package/es/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +3 -3
  49. package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +3 -1
  50. package/es/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.mjs.map +1 -1
  51. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +6 -0
  52. package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
  53. package/es/components/src/composite/tablePro/TablePro.vue2.mjs +8 -3
  54. package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
  55. package/es/components/src/composite/tablePro/index.d.ts +13 -0
  56. package/es/components/src/composite/tablePro/index.mjs +2 -0
  57. package/es/components/src/composite/tablePro/index.mjs.map +1 -1
  58. package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.d.ts +19 -0
  59. package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.mjs +7 -0
  60. package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue.mjs.map +1 -0
  61. package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue2.mjs +25 -0
  62. package/es/components/src/composite/tablePro/tableCtx/TableCtx.vue2.mjs.map +1 -0
  63. package/es/components/src/composite/tablePro/tableCtx/index.d.ts +41 -0
  64. package/es/components/src/composite/tablePro/tableCtx/index.mjs +9 -0
  65. package/es/components/src/composite/tablePro/tableCtx/index.mjs.map +1 -0
  66. package/es/components/src/composite/tablePro/tableCtx/tableCtx.d.ts +9 -0
  67. package/es/components/src/composite/tablePro/tableCtx/tableCtx.mjs +12 -0
  68. package/es/components/src/composite/tablePro/tableCtx/tableCtx.mjs.map +1 -0
  69. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
  70. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs +7 -1
  71. package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
  72. package/es/components/src/composite/tablePro/tablePro.d.ts +3 -0
  73. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs +5 -1
  74. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs.map +1 -1
  75. package/es/constants/table.d.ts +8 -0
  76. package/es/constants/table.mjs +4 -0
  77. package/es/constants/table.mjs.map +1 -0
  78. package/es/giime/component.mjs +2 -0
  79. package/es/giime/component.mjs.map +1 -1
  80. package/es/giime/index.mjs +2 -2
  81. package/es/giime/version.d.ts +1 -1
  82. package/es/giime/version.mjs +1 -1
  83. package/es/giime/version.mjs.map +1 -1
  84. package/es/hooks/base/useDownload/index.mjs +1 -0
  85. package/es/hooks/base/useDownload/index.mjs.map +1 -1
  86. package/es/index.css +48 -39
  87. package/global.d.ts +1 -0
  88. package/lib/api/basic/controller/Common/postCommonV1CountryList.js.map +1 -1
  89. package/lib/api/basic/controller/Common/postCommonV1CurrencyList.js.map +1 -1
  90. package/lib/api/basic/controller/Common/postCommonV1ExchangeRateList.js.map +1 -1
  91. package/lib/api/basic/controller/Common/postCommonV1SystemList.js.map +1 -1
  92. package/lib/api/basic/controller/Common/usePostCommonV1CountryList.js.map +1 -1
  93. package/lib/api/basic/controller/Common/usePostCommonV1CurrencyList.js.map +1 -1
  94. package/lib/api/basic/controller/Common/usePostCommonV1ExchangeRateList.js.map +1 -1
  95. package/lib/api/basic/controller/Common/usePostCommonV1SystemList.js.map +1 -1
  96. package/lib/api/basic/controller/UserCenter/postUserCenterV1AreaList.js.map +1 -1
  97. package/lib/api/basic/controller/UserCenter/postUserCenterV1EmployeeList.js.map +1 -1
  98. package/lib/api/basic/controller/UserCenter/postUserCenterV1MenuList.js.map +1 -1
  99. package/lib/api/basic/controller/UserCenter/postUserCenterV1OrgList.js.map +1 -1
  100. package/lib/api/basic/controller/UserCenter/postUserCenterV1OrgTreeList.js.map +1 -1
  101. package/lib/api/basic/controller/UserCenter/postUserCenterV1RoleList.js.map +1 -1
  102. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1AreaList.js.map +1 -1
  103. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1EmployeeList.js.map +1 -1
  104. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1MenuList.js.map +1 -1
  105. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1OrgList.js.map +1 -1
  106. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1OrgTreeList.js.map +1 -1
  107. package/lib/api/basic/controller/UserCenter/usePostUserCenterV1RoleList.js.map +1 -1
  108. package/lib/components/index.js +34 -37
  109. package/lib/components/index.js.map +1 -1
  110. package/lib/components/src/base/table/Table.vue.d.ts +6 -0
  111. package/lib/components/src/base/table/Table.vue2.js +6 -1
  112. package/lib/components/src/base/table/Table.vue2.js.map +1 -1
  113. package/lib/components/src/base/table/index.d.ts +12 -0
  114. package/lib/components/src/base/table/table.d.ts +3 -0
  115. package/lib/components/src/base/table/table.js +4 -1
  116. package/lib/components/src/base/table/table.js.map +1 -1
  117. package/lib/components/src/base/tableV2/TableV2.vue.d.ts +6 -0
  118. package/lib/components/src/base/tableV2/TableV2.vue2.js +6 -1
  119. package/lib/components/src/base/tableV2/TableV2.vue2.js.map +1 -1
  120. package/lib/components/src/base/tableV2/index.d.ts +12 -0
  121. package/lib/components/src/base/tableV2/tableV2.d.ts +3 -0
  122. package/lib/components/src/base/tableV2/tableV2.js +4 -1
  123. package/lib/components/src/base/tableV2/tableV2.js.map +1 -1
  124. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js +50 -36
  125. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js.map +1 -1
  126. package/lib/components/src/composite/index.d.ts +0 -1
  127. package/lib/components/src/composite/index.js +34 -37
  128. package/lib/components/src/composite/index.js.map +1 -1
  129. package/lib/components/src/composite/memoryForm/MemoryForm.vue.js +1 -1
  130. package/lib/components/src/composite/memoryForm/MemoryForm.vue2.js +6 -3
  131. package/lib/components/src/composite/memoryForm/MemoryForm.vue2.js.map +1 -1
  132. package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
  133. package/lib/components/src/composite/searchForm/SearchForm.vue2.js +6 -0
  134. package/lib/components/src/composite/searchForm/SearchForm.vue2.js.map +1 -1
  135. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue.d.ts +3 -3
  136. package/lib/components/src/composite/searchForm/searchFormItems/cascader/index.d.ts +3 -3
  137. package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.d.ts +3 -1
  138. package/lib/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.js.map +1 -1
  139. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +6 -0
  140. package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
  141. package/lib/components/src/composite/tablePro/TablePro.vue2.js +7 -2
  142. package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
  143. package/lib/components/src/composite/tablePro/index.d.ts +13 -0
  144. package/lib/components/src/composite/tablePro/index.js +4 -0
  145. package/lib/components/src/composite/tablePro/index.js.map +1 -1
  146. package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.d.ts +19 -0
  147. package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.js +11 -0
  148. package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue.js.map +1 -0
  149. package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue2.js +29 -0
  150. package/lib/components/src/composite/tablePro/tableCtx/TableCtx.vue2.js.map +1 -0
  151. package/lib/components/src/composite/tablePro/tableCtx/index.d.ts +41 -0
  152. package/lib/components/src/composite/tablePro/tableCtx/index.js +15 -0
  153. package/lib/components/src/composite/tablePro/tableCtx/index.js.map +1 -0
  154. package/lib/components/src/composite/tablePro/tableCtx/tableCtx.d.ts +9 -0
  155. package/lib/components/src/composite/tablePro/tableCtx/tableCtx.js +14 -0
  156. package/lib/components/src/composite/tablePro/tableCtx/tableCtx.js.map +1 -0
  157. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
  158. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js +6 -0
  159. package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
  160. package/lib/components/src/composite/tablePro/tablePro.d.ts +3 -0
  161. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +4 -0
  162. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
  163. package/lib/constants/table.d.ts +8 -0
  164. package/lib/constants/table.js +6 -0
  165. package/lib/constants/table.js.map +1 -0
  166. package/lib/giime/component.js +10 -8
  167. package/lib/giime/component.js.map +1 -1
  168. package/lib/giime/index.js +34 -37
  169. package/lib/giime/index.js.map +1 -1
  170. package/lib/giime/version.d.ts +1 -1
  171. package/lib/giime/version.js +1 -1
  172. package/lib/giime/version.js.map +1 -1
  173. package/lib/hooks/base/useDownload/index.js +2 -1
  174. package/lib/hooks/base/useDownload/index.js.map +1 -1
  175. package/lib/index.css +48 -39
  176. package/package.json +1 -1
@@ -1,41 +1,41 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./memoryForm/index.js');
4
- var index$1 = require('./searchForm/index.js');
5
- var index$8 = require('./dialogForm/index.js');
6
- var index$9 = require('./drawerForm/index.js');
7
- var index$a = require('./formItemModule/index.js');
8
- var index$b = require('./tablePro/index.js');
3
+ var index = require('./searchForm/index.js');
4
+ var index$7 = require('./dialogForm/index.js');
5
+ var index$8 = require('./drawerForm/index.js');
6
+ var index$9 = require('./formItemModule/index.js');
7
+ var index$a = require('./tablePro/index.js');
9
8
  var index$g = require('./operateButton/index.js');
10
9
  var index$i = require('./numberInterval/index.js');
11
10
  var index$j = require('./selectOptions/index.js');
12
11
  var index$k = require('./importDialog/index.js');
13
- var memoryForm = require('./memoryForm/memoryForm.js');
14
12
  var searchForm = require('./searchForm/searchForm.js');
15
13
  var common = require('./searchForm/searchFormItems/common.js');
16
14
  var searchFormInput = require('./searchForm/searchFormItems/input/searchFormInput.js');
17
- var index$2 = require('./searchForm/searchFormItems/input/index.js');
15
+ var index$1 = require('./searchForm/searchFormItems/input/index.js');
18
16
  var searchFormSelect = require('./searchForm/searchFormItems/select/searchFormSelect.js');
19
- var index$3 = require('./searchForm/searchFormItems/select/index.js');
17
+ var index$2 = require('./searchForm/searchFormItems/select/index.js');
20
18
  var searchFormCascader = require('./searchForm/searchFormItems/cascader/searchFormCascader.js');
21
- var index$4 = require('./searchForm/searchFormItems/cascader/index.js');
19
+ var index$3 = require('./searchForm/searchFormItems/cascader/index.js');
22
20
  var searchFormDatePicker = require('./searchForm/searchFormItems/datePicker/searchFormDatePicker.js');
23
- var index$5 = require('./searchForm/searchFormItems/datePicker/index.js');
21
+ var index$4 = require('./searchForm/searchFormItems/datePicker/index.js');
24
22
  var searchFormSelectV2 = require('./searchForm/searchFormItems/selectV2/searchFormSelectV2.js');
25
- var index$6 = require('./searchForm/searchFormItems/selectV2/index.js');
23
+ var index$5 = require('./searchForm/searchFormItems/selectV2/index.js');
26
24
  var searchFormNumberInterval = require('./searchForm/searchFormItems/numberInterval/searchFormNumberInterval.js');
27
- var index$7 = require('./searchForm/searchFormItems/numberInterval/index.js');
25
+ var index$6 = require('./searchForm/searchFormItems/numberInterval/index.js');
28
26
  var dialogForm = require('./dialogForm/dialogForm.js');
29
27
  var drawerForm = require('./drawerForm/drawerForm.js');
30
28
  var tablePro = require('./tablePro/tablePro.js');
31
29
  var tableColumnPro = require('./tablePro/tableColumnPro/tableColumnPro.js');
32
- var index$c = require('./tablePro/tableColumnPro/index.js');
30
+ var index$b = require('./tablePro/tableColumnPro/index.js');
33
31
  var tableHeaderForm = require('./tablePro/tableHeaderForm/tableHeaderForm.js');
34
- var index$d = require('./tablePro/tableHeaderForm/index.js');
32
+ var index$c = require('./tablePro/tableHeaderForm/index.js');
35
33
  var tablePagination = require('./tablePro/tablePagination/tablePagination.js');
36
- var index$e = require('./tablePro/tablePagination/index.js');
34
+ var index$d = require('./tablePro/tablePagination/index.js');
37
35
  var tableToolbar = require('./tablePro/tableToolbar/tableToolbar.js');
38
- var index$f = require('./tablePro/tableToolbar/index.js');
36
+ var index$e = require('./tablePro/tableToolbar/index.js');
37
+ var tableCtx = require('./tablePro/tableCtx/tableCtx.js');
38
+ var index$f = require('./tablePro/tableCtx/index.js');
39
39
  var operateButton = require('./operateButton/operateButton.js');
40
40
  var operateButtonForm = require('./operateButton/operateButtonForm/operateButtonForm.js');
41
41
  var index$h = require('./operateButton/operateButtonForm/index.js');
@@ -45,20 +45,15 @@ var importDialog = require('./importDialog/importDialog.js');
45
45
 
46
46
 
47
47
 
48
- exports.GmMemoryForm = index.GmMemoryForm;
49
- exports.GmSearchForm = index$1.GmSearchForm;
50
- exports.GmDialogForm = index$8.GmDialogForm;
51
- exports.GmDrawerForm = index$9.GmDrawerForm;
52
- exports.GmFormItemModule = index$a.GmFormItemModule;
53
- exports.GmTablePro = index$b.GmTablePro;
48
+ exports.GmSearchForm = index.GmSearchForm;
49
+ exports.GmDialogForm = index$7.GmDialogForm;
50
+ exports.GmDrawerForm = index$8.GmDrawerForm;
51
+ exports.GmFormItemModule = index$9.GmFormItemModule;
52
+ exports.GmTablePro = index$a.GmTablePro;
54
53
  exports.GmOperateButton = index$g.GmOperateButton;
55
54
  exports.GmNumberInterval = index$i.GmNumberInterval;
56
55
  exports.GmSelectOptions = index$j.GmSelectOptions;
57
56
  exports.GmImportDialog = index$k.GmImportDialog;
58
- exports.MemoryHistoryExt = memoryForm.MemoryHistoryExt;
59
- exports.MemoryHistoryType = memoryForm.MemoryHistoryType;
60
- exports.memoryFormEmits = memoryForm.memoryFormEmits;
61
- exports.memoryFormProps = memoryForm.memoryFormProps;
62
57
  exports.searchFormEmits = searchForm.searchFormEmits;
63
58
  exports.searchFormItemList = searchForm.searchFormItemList;
64
59
  exports.searchFormProps = searchForm.searchFormProps;
@@ -66,27 +61,27 @@ exports.searchFormCommonProps = common.searchFormCommonProps;
66
61
  exports.SearchFormInputName = searchFormInput.SearchFormInputName;
67
62
  exports.searchFormInputEmits = searchFormInput.searchFormInputEmits;
68
63
  exports.searchFormInputProps = searchFormInput.searchFormInputProps;
69
- exports.GmSearchFormInput = index$2.GmSearchFormInput;
64
+ exports.GmSearchFormInput = index$1.GmSearchFormInput;
70
65
  exports.SearchFormSelectName = searchFormSelect.SearchFormSelectName;
71
66
  exports.searchFormSelectEmits = searchFormSelect.searchFormSelectEmits;
72
67
  exports.searchFormSelectProps = searchFormSelect.searchFormSelectProps;
73
- exports.GmSearchFormSelect = index$3.GmSearchFormSelect;
68
+ exports.GmSearchFormSelect = index$2.GmSearchFormSelect;
74
69
  exports.SearchFormCascaderName = searchFormCascader.SearchFormCascaderName;
75
70
  exports.searchFormCascaderEmits = searchFormCascader.searchFormCascaderEmits;
76
71
  exports.searchFormCascaderProps = searchFormCascader.searchFormCascaderProps;
77
- exports.GmSearchFormCascader = index$4.GmSearchFormCascader;
72
+ exports.GmSearchFormCascader = index$3.GmSearchFormCascader;
78
73
  exports.SearchFormDatePickerName = searchFormDatePicker.SearchFormDatePickerName;
79
74
  exports.searchFormDatePickerEmits = searchFormDatePicker.searchFormDatePickerEmits;
80
75
  exports.searchFormDatePickerProps = searchFormDatePicker.searchFormDatePickerProps;
81
- exports.GmSearchFormDatePicker = index$5.GmSearchFormDatePicker;
76
+ exports.GmSearchFormDatePicker = index$4.GmSearchFormDatePicker;
82
77
  exports.SearchFormSelectV2Name = searchFormSelectV2.SearchFormSelectV2Name;
83
78
  exports.searchFormSelectV2Emits = searchFormSelectV2.searchFormSelectV2Emits;
84
79
  exports.searchFormSelectV2Props = searchFormSelectV2.searchFormSelectV2Props;
85
- exports.GmSearchFormSelectV2 = index$6.GmSearchFormSelectV2;
80
+ exports.GmSearchFormSelectV2 = index$5.GmSearchFormSelectV2;
86
81
  exports.SearchFormNumberIntervalName = searchFormNumberInterval.SearchFormNumberIntervalName;
87
82
  exports.searchFormNumberIntervalEmits = searchFormNumberInterval.searchFormNumberIntervalEmits;
88
83
  exports.searchFormNumberIntervalProps = searchFormNumberInterval.searchFormNumberIntervalProps;
89
- exports.GmSearchFormNumberInterval = index$7.GmSearchFormNumberInterval;
84
+ exports.GmSearchFormNumberInterval = index$6.GmSearchFormNumberInterval;
90
85
  exports.dialogFormEmits = dialogForm.dialogFormEmits;
91
86
  exports.dialogFormProps = dialogForm.dialogFormProps;
92
87
  exports.drawerFormEmits = drawerForm.drawerFormEmits;
@@ -95,14 +90,16 @@ exports.tableProEmits = tablePro.tableProEmits;
95
90
  exports.tableProProps = tablePro.tableProProps;
96
91
  exports.TableColumnProName = tableColumnPro.TableColumnProName;
97
92
  exports.tableColumnProProps = tableColumnPro.tableColumnProProps;
98
- exports.GmTableColumnPro = index$c.GmTableColumnPro;
93
+ exports.GmTableColumnPro = index$b.GmTableColumnPro;
99
94
  exports.tableHeaderFormProps = tableHeaderForm.tableHeaderFormProps;
100
- exports.GmTableHeaderForm = index$d.GmTableHeaderForm;
95
+ exports.GmTableHeaderForm = index$c.GmTableHeaderForm;
101
96
  exports.tablePaginationProps = tablePagination.tablePaginationProps;
102
- exports.GmTablePagination = index$e.GmTablePagination;
97
+ exports.GmTablePagination = index$d.GmTablePagination;
103
98
  exports.tableToolbarEmits = tableToolbar.tableToolbarEmits;
104
99
  exports.tableToolbarProps = tableToolbar.tableToolbarProps;
105
- exports.GmTableToolbar = index$f.GmTableToolbar;
100
+ exports.GmTableToolbar = index$e.GmTableToolbar;
101
+ exports.tableCtxProps = tableCtx.tableCtxProps;
102
+ exports.GmTableCtx = index$f.GmTableCtx;
106
103
  exports.operateButtonProps = operateButton.operateButtonProps;
107
104
  exports.operateButtonFormProps = operateButtonForm.operateButtonFormProps;
108
105
  exports.GmOperateButtonForm = index$h.GmOperateButtonForm;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,7 +6,7 @@ var MemoryForm_vue_vue_type_script_setup_true_lang = require('./MemoryForm.vue2.
6
6
  require('./MemoryForm.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var MemoryForm = /* @__PURE__ */ _pluginVue_exportHelper.default(MemoryForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-d1c6dac0"], ["__file", "MemoryForm.vue"]]);
9
+ var MemoryForm = /* @__PURE__ */ _pluginVue_exportHelper.default(MemoryForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-6829dac1"], ["__file", "MemoryForm.vue"]]);
10
10
 
11
11
  exports.default = MemoryForm;
12
12
  //# sourceMappingURL=MemoryForm.vue.js.map
@@ -7,13 +7,16 @@ var core = require('@vueuse/core');
7
7
  require('../../../../utils/index.js');
8
8
  require('../../base/form/index.js');
9
9
  require('../../../../hooks/index.js');
10
+ require('../../../index.js');
10
11
  var memoryForm = require('./memoryForm.js');
11
12
  var event = require('../../../../utils/src/elementPlus/event.js');
12
13
  var form = require('../../base/form/form.js');
13
14
  var exports$1 = require('../../../../utils/src/elementPlus/exports.js');
14
15
  var index = require('../../../../hooks/store/useCustomSettings/index.js');
16
+ var index$1 = require('../../plugins/messageBox/index.js');
17
+ var index$2 = require('../../plugins/message/index.js');
15
18
 
16
- const _withScopeId = (n) => (vue.pushScopeId("data-v-d1c6dac0"), n = n(), vue.popScopeId(), n);
19
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-6829dac1"), n = n(), vue.popScopeId(), n);
17
20
  const _hoisted_1 = { class: "gm-flex-center gm-flex-justify-between gm-mr-2 gm-flex gm-flex-1" };
18
21
  const _hoisted_2 = { class: "gm-flex gm-gap-2" };
19
22
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -54,7 +57,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
57
  const saveModel = () => {
55
58
  elRef.value?.validate((valid) => {
56
59
  if (valid) {
57
- GmMessageBox.prompt("\u8BF7\u8F93\u5165\u4FDD\u5B58\u7684\u540D\u79F0", "\u4FDD\u5B58\u67E5\u8BE2\u6761\u4EF6", {
60
+ index$1.GmMessageBox.prompt("\u8BF7\u8F93\u5165\u4FDD\u5B58\u7684\u540D\u79F0", "\u4FDD\u5B58\u67E5\u8BE2\u6761\u4EF6", {
58
61
  confirmButtonText: "\u786E\u5B9A",
59
62
  cancelButtonText: "\u53D6\u6D88",
60
63
  inputPattern: /^.{1,}$/,
@@ -72,7 +75,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
72
75
  value: JSON.stringify(searchHistoryList.value),
73
76
  type: memoryForm.MemoryHistoryType
74
77
  });
75
- GmMessage({
78
+ index$2.GmMessage({
76
79
  message: "\u67E5\u8BE2\u6761\u4EF6\u4FDD\u5B58\u6210\u529F",
77
80
  type: "success"
78
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/memoryForm/MemoryForm.vue"],"sourcesContent":["<template>\r\n <gm-form :id=\"$attrs.id\" ref=\"elRef\" :class=\"$attrs.class\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n <slot name=\"buttons\">\r\n <gm-form-item>\r\n <gm-button type=\"primary\" @click=\"submit\">\r\n {{ props.submitText || '提交' }}\r\n </gm-button>\r\n <gm-button @click=\"reset\">\r\n {{ props.resetText || '重置' }}\r\n </gm-button>\r\n </gm-form-item>\r\n </slot>\r\n <gm-form-item>\r\n <gm-button type=\"primary\" @click=\"saveModel\"> 保存查询条件 </gm-button>\r\n <gm-button v-if=\"searchHistoryList.length\" @click=\"viewModels\"> 我的查询条件 </gm-button>\r\n <gm-tooltip v-else class=\"box-item\" effect=\"dark\" content=\"还没有保存查询条件\" placement=\"bottom\">\r\n <el-button disabled>我的查询条件</el-button>\r\n </gm-tooltip>\r\n </gm-form-item>\r\n </template>\r\n </gm-form>\r\n <gm-dialog v-model=\"showModels\" title=\"我的查询条件\" width=\"30%\">\r\n <gm-collapse accordion>\r\n <gm-collapse-item v-for=\"item in searchHistoryList\" :key=\"item.label\" :title=\"item.label\" :name=\"item.label\">\r\n <template #title>\r\n <div class=\"gm-flex-center gm-flex-justify-between gm-mr-2 gm-flex gm-flex-1\">\r\n <span>{{ item.label }}</span> <gm-button type=\"primary\" size=\"small\" @click=\"useModel(item.value)\"> 使用 </gm-button>\r\n </div>\r\n </template>\r\n <div class=\"gm-flex gm-gap-2\">\r\n <el-tag v-for=\"(value, i) in getValues(item.value)\" :key=\"i\" type=\"info\" effect=\"dark\">\r\n {{ value }}\r\n </el-tag>\r\n </div>\r\n </gm-collapse-item>\r\n </gm-collapse>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { onMounted, ref } from 'vue';\r\nimport { useCloned } from '@vueuse/core';\r\n\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { formEmits as elFormEmits } from '@giime/components/src/base/form';\r\nimport { useCustomSettingsStore } from '@giime/hooks';\r\n\r\nimport { MemoryHistoryExt, type MemoryHistoryItemType, MemoryHistoryType, memoryFormEmits, memoryFormProps } from './memoryForm';\r\nimport type { FormInstance } from '@giime/components/src/base/form';\r\n\r\ndefineOptions({\r\n name: 'GmMemoryForm',\r\n});\r\nconst props = defineProps(memoryFormProps);\r\n\r\nconst emit = defineEmits(memoryFormEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elFormEmits, emit);\r\n\r\nconst elRef = ref<FormInstance>();\r\nconst exposeNames = ['validate', 'validateField', 'resetFields', 'clearValidate', 'scrollToField'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\n// 提交form表单\r\nconst submit = () => {\r\n elRef.value?.validate(valid => {\r\n if (valid) {\r\n emit('submit', props.model);\r\n }\r\n });\r\n};\r\n// 重置form\r\nconst reset = () => {\r\n elRef.value?.resetFields();\r\n emit('reset', props.model);\r\n};\r\n\r\n// 历史查询条件\r\nconst customSettingsStore = useCustomSettingsStore();\r\n\r\nconst searchHistoryList = ref<MemoryHistoryItemType[]>([]);\r\nconst getSearchHistoryList = async () => {\r\n const data = await customSettingsStore.getCustomSettings(\r\n { key_word: props.pageName + MemoryHistoryExt, type: MemoryHistoryType },\r\n { defaultValue: [] },\r\n );\r\n const { cloned: result } = useCloned(data || []);\r\n searchHistoryList.value = result.value;\r\n};\r\n\r\n// 保存查询条件\r\nconst saveModel = () => {\r\n elRef.value?.validate(valid => {\r\n if (valid) {\r\n // emit('save', props.model);\r\n GmMessageBox.prompt('请输入保存的名称', '保存查询条件', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n inputPattern: /^.{1,}$/,\r\n inputErrorMessage: '名称不能为空',\r\n })\r\n .then(async ({ value }) => {\r\n const list = searchHistoryList.value;\r\n const item = {\r\n label: value,\r\n value: JSON.stringify(props.model),\r\n };\r\n list.unshift(item);\r\n searchHistoryList.value = list.slice(0, 10);\r\n customSettingsStore.addCustomSettings({\r\n key_word: props.pageName + MemoryHistoryExt,\r\n value: JSON.stringify(searchHistoryList.value),\r\n type: MemoryHistoryType,\r\n });\r\n GmMessage({\r\n message: '查询条件保存成功',\r\n type: 'success',\r\n });\r\n getSearchHistoryList();\r\n })\r\n .catch(() => {});\r\n }\r\n });\r\n};\r\n\r\n// 使用查询条件\r\nconst showModels = ref(false);\r\nconst viewModels = () => {\r\n showModels.value = true;\r\n};\r\nconst useModel = (value: string) => {\r\n const model = JSON.parse(value);\r\n emit('useHistory', model);\r\n emit('update:model', model);\r\n emit('submit', model);\r\n showModels.value = false;\r\n};\r\n\r\nconst getValues = (value: string) => {\r\n if (!value) return [];\r\n const model = JSON.parse(value);\r\n return Object.values(model).filter(val => !!val || val === 0 || val === false);\r\n};\r\n\r\nonMounted(() => {\r\n getSearchHistoryList();\r\n});\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.gm-flex-center {\r\n align-items: center;\r\n}\r\n.gm-flex-justify-between {\r\n justify-content: space-between;\r\n}\r\n</style>\r\n"],"names":["getGmEvent","elFormEmits","ref","getGmExports","useCustomSettingsStore","MemoryHistoryExt","MemoryHistoryType","useCloned","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"MemoryForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/memoryForm/MemoryForm.vue"],"sourcesContent":["<template>\r\n <gm-form :id=\"$attrs.id\" ref=\"elRef\" :class=\"$attrs.class\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n <slot name=\"buttons\">\r\n <gm-form-item>\r\n <gm-button type=\"primary\" @click=\"submit\">\r\n {{ props.submitText || '提交' }}\r\n </gm-button>\r\n <gm-button @click=\"reset\">\r\n {{ props.resetText || '重置' }}\r\n </gm-button>\r\n </gm-form-item>\r\n </slot>\r\n <gm-form-item>\r\n <gm-button type=\"primary\" @click=\"saveModel\"> 保存查询条件 </gm-button>\r\n <gm-button v-if=\"searchHistoryList.length\" @click=\"viewModels\"> 我的查询条件 </gm-button>\r\n <gm-tooltip v-else class=\"box-item\" effect=\"dark\" content=\"还没有保存查询条件\" placement=\"bottom\">\r\n <el-button disabled>我的查询条件</el-button>\r\n </gm-tooltip>\r\n </gm-form-item>\r\n </template>\r\n </gm-form>\r\n <gm-dialog v-model=\"showModels\" title=\"我的查询条件\" width=\"30%\">\r\n <gm-collapse accordion>\r\n <gm-collapse-item v-for=\"item in searchHistoryList\" :key=\"item.label\" :title=\"item.label\" :name=\"item.label\">\r\n <template #title>\r\n <div class=\"gm-flex-center gm-flex-justify-between gm-mr-2 gm-flex gm-flex-1\">\r\n <span>{{ item.label }}</span> <gm-button type=\"primary\" size=\"small\" @click=\"useModel(item.value)\"> 使用 </gm-button>\r\n </div>\r\n </template>\r\n <div class=\"gm-flex gm-gap-2\">\r\n <el-tag v-for=\"(value, i) in getValues(item.value)\" :key=\"i\" type=\"info\" effect=\"dark\">\r\n {{ value }}\r\n </el-tag>\r\n </div>\r\n </gm-collapse-item>\r\n </gm-collapse>\r\n </gm-dialog>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { onMounted, ref } from 'vue';\r\nimport { useCloned } from '@vueuse/core';\r\n\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { formEmits as elFormEmits } from '@giime/components/src/base/form';\r\nimport { useCustomSettingsStore } from '@giime/hooks';\r\n\r\nimport { GmMessage, GmMessageBox } from '@giime/components';\r\nimport { MemoryHistoryExt, type MemoryHistoryItemType, MemoryHistoryType, memoryFormEmits, memoryFormProps } from './memoryForm';\r\nimport type { FormInstance } from '@giime/components/src/base/form';\r\n\r\ndefineOptions({\r\n name: 'GmMemoryForm',\r\n});\r\nconst props = defineProps(memoryFormProps);\r\n\r\nconst emit = defineEmits(memoryFormEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elFormEmits, emit);\r\n\r\nconst elRef = ref<FormInstance>();\r\nconst exposeNames = ['validate', 'validateField', 'resetFields', 'clearValidate', 'scrollToField'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\n// 提交form表单\r\nconst submit = () => {\r\n elRef.value?.validate(valid => {\r\n if (valid) {\r\n emit('submit', props.model);\r\n }\r\n });\r\n};\r\n// 重置form\r\nconst reset = () => {\r\n elRef.value?.resetFields();\r\n emit('reset', props.model);\r\n};\r\n\r\n// 历史查询条件\r\nconst customSettingsStore = useCustomSettingsStore();\r\n\r\nconst searchHistoryList = ref<MemoryHistoryItemType[]>([]);\r\nconst getSearchHistoryList = async () => {\r\n const data = await customSettingsStore.getCustomSettings(\r\n { key_word: props.pageName + MemoryHistoryExt, type: MemoryHistoryType },\r\n { defaultValue: [] },\r\n );\r\n const { cloned: result } = useCloned(data || []);\r\n searchHistoryList.value = result.value;\r\n};\r\n\r\n// 保存查询条件\r\nconst saveModel = () => {\r\n elRef.value?.validate(valid => {\r\n if (valid) {\r\n // emit('save', props.model);\r\n GmMessageBox.prompt('请输入保存的名称', '保存查询条件', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n inputPattern: /^.{1,}$/,\r\n inputErrorMessage: '名称不能为空',\r\n })\r\n .then(async ({ value }) => {\r\n const list = searchHistoryList.value;\r\n const item = {\r\n label: value,\r\n value: JSON.stringify(props.model),\r\n };\r\n list.unshift(item);\r\n searchHistoryList.value = list.slice(0, 10);\r\n customSettingsStore.addCustomSettings({\r\n key_word: props.pageName + MemoryHistoryExt,\r\n value: JSON.stringify(searchHistoryList.value),\r\n type: MemoryHistoryType,\r\n });\r\n GmMessage({\r\n message: '查询条件保存成功',\r\n type: 'success',\r\n });\r\n getSearchHistoryList();\r\n })\r\n .catch(() => {});\r\n }\r\n });\r\n};\r\n\r\n// 使用查询条件\r\nconst showModels = ref(false);\r\nconst viewModels = () => {\r\n showModels.value = true;\r\n};\r\nconst useModel = (value: string) => {\r\n const model = JSON.parse(value);\r\n emit('useHistory', model);\r\n emit('update:model', model);\r\n emit('submit', model);\r\n showModels.value = false;\r\n};\r\n\r\nconst getValues = (value: string) => {\r\n if (!value) return [];\r\n const model = JSON.parse(value);\r\n return Object.values(model).filter(val => !!val || val === 0 || val === false);\r\n};\r\n\r\nonMounted(() => {\r\n getSearchHistoryList();\r\n});\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.gm-flex-center {\r\n align-items: center;\r\n}\r\n.gm-flex-justify-between {\r\n justify-content: space-between;\r\n}\r\n</style>\r\n"],"names":["getGmEvent","elFormEmits","ref","getGmExports","useCustomSettingsStore","MemoryHistoryExt","MemoryHistoryType","useCloned","GmMessageBox","GmMessage","onMounted"],"mappings":"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"}
@@ -6,7 +6,7 @@ var SearchForm_vue_vue_type_script_setup_true_lang = require('./SearchForm.vue2.
6
6
  require('./SearchForm.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var SearchForm = /* @__PURE__ */ _pluginVue_exportHelper.default(SearchForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-08f2c6ca"], ["__file", "SearchForm.vue"]]);
9
+ var SearchForm = /* @__PURE__ */ _pluginVue_exportHelper.default(SearchForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-cdbd0818"], ["__file", "SearchForm.vue"]]);
10
10
 
11
11
  exports.default = SearchForm;
12
12
  //# sourceMappingURL=SearchForm.vue.js.map
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var core = require('@vueuse/core');
7
+ var table = require('../../../../constants/table.js');
7
8
  var iconsVue = require('@element-plus/icons-vue');
8
9
  var searchForm = require('./searchForm.js');
9
10
  var constants = require('./constants.js');
@@ -22,6 +23,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
23
  }),
23
24
  emits: /* @__PURE__ */ vue.mergeModels(searchForm.searchFormEmits, ["update:showSearch", "update:queryParams"]),
24
25
  setup(__props, { emit: __emit }) {
26
+ const tableCtx = vue.inject(table.TableCtxKey, {});
25
27
  const showSearch = vue.useModel(__props, "showSearch");
26
28
  const queryParams = vue.useModel(__props, "queryParams");
27
29
  vue.provide(constants.queryParamsKey, queryParams);
@@ -61,11 +63,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
61
63
  const queryRef = vue.ref();
62
64
  const handleQuery = (...args) => {
63
65
  emit("handleQuery", ...args);
66
+ tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
67
+ tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
64
68
  };
65
69
  vue.provide(constants.searchFormHandleQueryKey, handleQuery);
66
70
  const resetQuery = () => {
67
71
  queryRef.value?.resetFields();
68
72
  emit("resetQuery");
73
+ tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
74
+ tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
69
75
  };
70
76
  return (_ctx, _cache) => {
71
77
  const _component_gm_button = vue.resolveComponent("gm-button");
@@ -1 +1 @@
1
- {"version":3,"file":"SearchForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize, useElementVisibility } from '@vueuse/core';\r\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\r\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\r\nimport type { CSSProperties } from 'vue';\r\nimport type { FormInstance } from '../../base/form';\r\ndefineOptions({\r\n name: 'GmSearchForm',\r\n});\r\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\r\n\r\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\r\n\r\nprovide(queryParamsKey, queryParams);\r\n\r\nconst props = defineProps(searchFormProps);\r\nconst emit = defineEmits(searchFormEmits);\r\n\r\nconst queryDivRef = ref<HTMLDivElement>();\r\nconst visibilityMarkRef = ref<HTMLDivElement>();\r\nconst markIsVisibility = useElementVisibility(visibilityMarkRef);\r\n\r\nconst { width: queryDivWidth } = useElementSize(queryDivRef);\r\n// 列个数\r\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\r\nconst showMore = ref(false);\r\n// 当 showMore展开 为 false 时,标注为可见 则不显示展开按钮\r\nconst notShowMore = computed(() => showMore.value === false && markIsVisibility.value === true);\r\n\r\n/**搜索重置按钮组样式 */\r\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\r\n if (notShowMore.value) {\r\n return {};\r\n }\r\n return {\r\n gridColumn: colsCount.value,\r\n gridRow: showMore.value ? undefined : 1,\r\n };\r\n});\r\nconst handleShowMoreChange = async () => {\r\n showMore.value = !showMore.value;\r\n // 手动触发 scroll 事件\r\n const scrollEvent = new Event('resize');\r\n await nextTick();\r\n // 手动触发事件\r\n window.dispatchEvent(scrollEvent);\r\n};\r\n\r\n// 通过json渲染组件\r\nconst optionsList = computed(() => {\r\n return props.options.map(it => {\r\n const findComponent = searchFormItemList.find(item => item.type === it.type);\r\n if (findComponent) {\r\n it.component = findComponent.component;\r\n }\r\n return it;\r\n });\r\n});\r\n\r\nconst queryRef = ref<FormInstance>();\r\n\r\nconst handleQuery = (...args: any[]) => {\r\n emit('handleQuery', ...args);\r\n};\r\nprovide(searchFormHandleQueryKey, handleQuery);\r\n\r\nconst resetQuery = () => {\r\n queryRef.value?.resetFields();\r\n emit('resetQuery');\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmSearchForm .el-form-item) {\r\n margin-right: 0;\r\n margin-bottom: 4px;\r\n}\r\n</style>\r\n"],"names":["_useModel","provide","queryParamsKey","ref","useElementVisibility","useElementSize","computed","nextTick","searchFormItemList","searchFormHandleQueryKey"],"mappings":"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"}
1
+ {"version":3,"file":"SearchForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize, useElementVisibility } from '@vueuse/core';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\r\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\r\nimport type { CSSProperties } from 'vue';\r\nimport type { FormInstance } from '../../base/form';\r\ndefineOptions({\r\n name: 'GmSearchForm',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\r\n\r\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\r\n\r\nprovide(queryParamsKey, queryParams);\r\n\r\nconst props = defineProps(searchFormProps);\r\nconst emit = defineEmits(searchFormEmits);\r\n\r\nconst queryDivRef = ref<HTMLDivElement>();\r\nconst visibilityMarkRef = ref<HTMLDivElement>();\r\nconst markIsVisibility = useElementVisibility(visibilityMarkRef);\r\n\r\nconst { width: queryDivWidth } = useElementSize(queryDivRef);\r\n// 列个数\r\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\r\nconst showMore = ref(false);\r\n// 当 showMore展开 为 false 时,标注为可见 则不显示展开按钮\r\nconst notShowMore = computed(() => showMore.value === false && markIsVisibility.value === true);\r\n\r\n/**搜索重置按钮组样式 */\r\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\r\n if (notShowMore.value) {\r\n return {};\r\n }\r\n return {\r\n gridColumn: colsCount.value,\r\n gridRow: showMore.value ? undefined : 1,\r\n };\r\n});\r\nconst handleShowMoreChange = async () => {\r\n showMore.value = !showMore.value;\r\n // 手动触发 scroll 事件\r\n const scrollEvent = new Event('resize');\r\n await nextTick();\r\n // 手动触发事件\r\n window.dispatchEvent(scrollEvent);\r\n};\r\n\r\n// 通过json渲染组件\r\nconst optionsList = computed(() => {\r\n return props.options.map(it => {\r\n const findComponent = searchFormItemList.find(item => item.type === it.type);\r\n if (findComponent) {\r\n it.component = findComponent.component;\r\n }\r\n return it;\r\n });\r\n});\r\n\r\nconst queryRef = ref<FormInstance>();\r\n\r\nconst handleQuery = (...args: any[]) => {\r\n emit('handleQuery', ...args);\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\nprovide(searchFormHandleQueryKey, handleQuery);\r\n\r\nconst resetQuery = () => {\r\n queryRef.value?.resetFields();\r\n emit('resetQuery');\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmSearchForm .el-form-item) {\r\n margin-right: 0;\r\n margin-bottom: 4px;\r\n}\r\n</style>\r\n"],"names":["inject","TableCtxKey","_useModel","provide","queryParamsKey","ref","useElementVisibility","useElementSize","computed","nextTick","searchFormItemList","searchFormHandleQueryKey"],"mappings":"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"}
@@ -9,7 +9,7 @@ declare const _default: import("vue").DefineComponent<{
9
9
  required: true;
10
10
  };
11
11
  cascaderProps: {
12
- type: import("vue").PropType<import("./searchFormCascader").SearchFormCascaderPropsProps>;
12
+ type: import("vue").PropType<import("element-plus").CascaderProps>;
13
13
  default: () => {};
14
14
  };
15
15
  options: {
@@ -34,7 +34,7 @@ declare const _default: import("vue").DefineComponent<{
34
34
  required: true;
35
35
  };
36
36
  cascaderProps: {
37
- type: import("vue").PropType<import("./searchFormCascader").SearchFormCascaderPropsProps>;
37
+ type: import("vue").PropType<import("element-plus").CascaderProps>;
38
38
  default: () => {};
39
39
  };
40
40
  options: {
@@ -52,6 +52,6 @@ declare const _default: import("vue").DefineComponent<{
52
52
  options: import("./searchFormCascader").SearchFormCascaderPropsOption[];
53
53
  label: string;
54
54
  disabled: boolean;
55
- cascaderProps: import("./searchFormCascader").SearchFormCascaderPropsProps;
55
+ cascaderProps: import("element-plus").CascaderProps;
56
56
  }, {}>;
57
57
  export default _default;
@@ -10,7 +10,7 @@ export declare const GmSearchFormCascader: import("../../../../../../utils").SFC
10
10
  required: true;
11
11
  };
12
12
  cascaderProps: {
13
- type: import("vue").PropType<import("./searchFormCascader").SearchFormCascaderPropsProps>;
13
+ type: import("vue").PropType<import("element-plus").CascaderProps>;
14
14
  default: () => {};
15
15
  };
16
16
  options: {
@@ -35,7 +35,7 @@ export declare const GmSearchFormCascader: import("../../../../../../utils").SFC
35
35
  required: true;
36
36
  };
37
37
  cascaderProps: {
38
- type: import("vue").PropType<import("./searchFormCascader").SearchFormCascaderPropsProps>;
38
+ type: import("vue").PropType<import("element-plus").CascaderProps>;
39
39
  default: () => {};
40
40
  };
41
41
  options: {
@@ -53,7 +53,7 @@ export declare const GmSearchFormCascader: import("../../../../../../utils").SFC
53
53
  options: import("./searchFormCascader").SearchFormCascaderPropsOption[];
54
54
  label: string;
55
55
  disabled: boolean;
56
- cascaderProps: import("./searchFormCascader").SearchFormCascaderPropsProps;
56
+ cascaderProps: import("element-plus").CascaderProps;
57
57
  }, {}>> & Record<string, any>;
58
58
  export type SearchFormCascaderInstance = InstanceType<typeof SearchFormCascader>;
59
59
  export * from './searchFormCascader';
@@ -1,3 +1,4 @@
1
+ import type { CascaderProps } from 'element-plus';
1
2
  import type { PropType } from 'vue';
2
3
  export interface SearchFormCascaderPropsOption extends Record<string, any> {
3
4
  label?: any;
@@ -9,6 +10,7 @@ export interface SearchFormCascaderPropsProps {
9
10
  value?: string;
10
11
  label?: string;
11
12
  children?: string;
13
+ checkStrictly?: boolean;
12
14
  }
13
15
  export declare const searchFormCascaderProps: {
14
16
  label: {
@@ -20,7 +22,7 @@ export declare const searchFormCascaderProps: {
20
22
  required: true;
21
23
  };
22
24
  cascaderProps: {
23
- type: PropType<SearchFormCascaderPropsProps>;
25
+ type: PropType<CascaderProps>;
24
26
  default: () => {};
25
27
  };
26
28
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"searchFormCascader.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.ts"],"sourcesContent":["import { searchFormCommonProps } from '../common';\r\nimport type { PropType } from 'vue';\r\nexport interface SearchFormCascaderPropsOption extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: SearchFormCascaderPropsOption[];\r\n}\r\nexport interface SearchFormCascaderPropsProps {\r\n multiple?: boolean;\r\n value?: string;\r\n label?: string;\r\n children?: string;\r\n}\r\nexport const searchFormCascaderProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n cascaderProps: {\r\n type: Object as PropType<SearchFormCascaderPropsProps>, // 配置选项\r\n default: () => ({}),\r\n },\r\n options: {\r\n type: Array as PropType<SearchFormCascaderPropsOption[]>,\r\n default: () => [],\r\n },\r\n};\r\n\r\nexport const searchFormCascaderEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormCascaderName = 'GmSearchFormCascader';\r\n"],"names":["searchFormCommonProps"],"mappings":";;;;AAaO,MAAM,uBAA0B,GAAA;AAAA,EACrC,GAAGA,4BAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,EAAA;AAEO,MAAM,uBAA0B,GAAA;AAAA,EACrC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,sBAAyB,GAAA;;;;;;"}
1
+ {"version":3,"file":"searchFormCascader.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/cascader/searchFormCascader.ts"],"sourcesContent":["import { searchFormCommonProps } from '../common';\r\nimport type { CascaderProps } from 'element-plus';\r\nimport type { PropType } from 'vue';\r\nexport interface SearchFormCascaderPropsOption extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: SearchFormCascaderPropsOption[];\r\n}\r\nexport interface SearchFormCascaderPropsProps {\r\n multiple?: boolean;\r\n value?: string;\r\n label?: string;\r\n children?: string;\r\n checkStrictly?: boolean;\r\n}\r\nexport const searchFormCascaderProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n cascaderProps: {\r\n type: Object as PropType<CascaderProps>, // 配置选项\r\n default: () => ({}),\r\n },\r\n options: {\r\n type: Array as PropType<SearchFormCascaderPropsOption[]>,\r\n default: () => [],\r\n },\r\n};\r\n\r\nexport const searchFormCascaderEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormCascaderName = 'GmSearchFormCascader';\r\n"],"names":["searchFormCommonProps"],"mappings":";;;;AAeO,MAAM,uBAA0B,GAAA;AAAA,EACrC,GAAGA,4BAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,EAAA;AAEO,MAAM,uBAA0B,GAAA;AAAA,EACrC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,sBAAyB,GAAA;;;;;;"}
@@ -37,6 +37,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
37
37
  type: StringConstructor;
38
38
  required: true;
39
39
  };
40
+ tableId: {
41
+ type: StringConstructor;
42
+ };
40
43
  size: {
41
44
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
42
45
  readonly required: false;
@@ -349,6 +352,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
349
352
  type: StringConstructor;
350
353
  required: true;
351
354
  };
355
+ tableId: {
356
+ type: StringConstructor;
357
+ };
352
358
  size: {
353
359
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
354
360
  readonly required: false;
@@ -6,7 +6,7 @@ var TablePro_vue_vue_type_script_setup_true_lang = require('./TablePro.vue2.js')
6
6
  require('./TablePro.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var TablePro = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePro_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-06213d16"], ["__file", "TablePro.vue"]]);
9
+ var TablePro = /* @__PURE__ */ _pluginVue_exportHelper.default(TablePro_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-2f3b2b52"], ["__file", "TablePro.vue"]]);
10
10
 
11
11
  exports.default = TablePro;
12
12
  //# sourceMappingURL=TablePro.vue.js.map
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var objects = require('../../../../utils/src/objects.js');
7
7
  var exports$1 = require('../../../../utils/src/elementPlus/exports.js');
8
8
  var event = require('../../../../utils/src/elementPlus/event.js');
9
+ var table = require('../../../../constants/table.js');
9
10
  var operateButton = require('../operateButton/operateButton.js');
10
11
  var TableOperateVNodeRenderer = require('./TableOperateVNodeRenderer.js');
11
12
  var TableColumnVNodeRenderer = require('./TableColumnVNodeRenderer.js');
@@ -13,7 +14,7 @@ var tablePro = require('./tablePro.js');
13
14
  var tableHelper = require('./tableHelper.js');
14
15
  var tableColumnPro = require('./tableColumnPro/tableColumnPro.js');
15
16
 
16
- const _withScopeId = (n) => (vue.pushScopeId("data-v-06213d16"), n = n(), vue.popScopeId(), n);
17
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-2f3b2b52"), n = n(), vue.popScopeId(), n);
17
18
  const _hoisted_1 = { class: "gm-text-center" };
18
19
  const _hoisted_2 = {
19
20
  key: 0,
@@ -30,7 +31,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
31
  }),
31
32
  emits: /* @__PURE__ */ vue.mergeModels(tablePro.tableProEmits, ["update:sortValue"]),
32
33
  setup(__props, { expose: __expose, emit: __emit }) {
34
+ const tableCtx = vue.inject(table.TableCtxKey);
35
+ const props = __props;
33
36
  const GmTbaleRef = vue.ref();
37
+ if (tableCtx && tableCtx.tableId === props.page) {
38
+ tableCtx.tableRef = GmTbaleRef;
39
+ }
34
40
  const gmCustomOperationsRef = vue.ref();
35
41
  const gmTableHeaderRef = vue.ref();
36
42
  const emit = __emit;
@@ -38,7 +44,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
38
44
  const resendEvent = { ...tablePro.tableProEmits };
39
45
  notResendEvents.forEach((it) => Reflect.deleteProperty(resendEvent, it));
40
46
  const elEvents = event.getGmEvent(resendEvent, emit);
41
- const props = __props;
42
47
  const slots = vue.useSlots();
43
48
  const tableColumnVnode = vue.computed(() => {
44
49
  const vNodes = slots.default?.() || [];
@@ -1 +1 @@
1
- {"version":3,"file":"TablePro.vue2.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst GmTbaleRef = ref<TableInstance>();\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst props = defineProps(tableProProps);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["ref","tableProEmits","getGmEvent","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"mappings":"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"}
1
+ {"version":3,"file":"TablePro.vue2.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\n\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["inject","TableCtxKey","ref","tableProEmits","getGmEvent","_useSlots","computed","getVnodesByGmName","TableColumnProName","tableColumnProProps","hasOwn","operateButtonProps","nextTick","_useModel","getGmExports"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsHA,IAAM,MAAA,QAAA,GAAWA,WAAOC,iBAAW,CAAA,CAAA;AACnC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,aAAaC,OAAmB,EAAA,CAAA;AACtC,IAAA,IAAI,QAAY,IAAA,QAAA,CAAS,OAAY,KAAA,KAAA,CAAM,IAAM,EAAA;AAC/C,MAAA,QAAA,CAAS,QAAW,GAAA,UAAA,CAAA;AAAA,KACtB;AACA,IAAA,MAAM,wBAAwBA,OAA+B,EAAA,CAAA;AAC7D,IAAA,MAAM,mBAAmBA,OAA6B,EAAA,CAAA;AAEtD,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,eAAkB,GAAA,CAAC,aAAe,EAAA,gBAAA,EAAkB,kBAAkB,CAAA,CAAA;AAC5E,IAAM,MAAA,WAAA,GAAc,EAAE,GAAGC,sBAAc,EAAA,CAAA;AACvC,IAAA,eAAA,CAAgB,QAAQ,CAAM,EAAA,KAAA,OAAA,CAAQ,cAAe,CAAA,WAAA,EAAa,EAAE,CAAC,CAAA,CAAA;AAErE,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAA,WAAA,EAAa,IAAI,CAAA,CAAA;AAC7C,IAAA,MAAM,QAAQC,YAAA,EAAA,CAAA;AAId,IAAM,MAAA,gBAAA,GAAmBC,aAAS,MAAM;AACtC,MAAA,MAAM,MAAS,GAAA,KAAA,CAAM,OAAU,IAAA,IAAK,EAAC,CAAA;AAErC,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,mBAAA,GAAsBA,aAAS,MAAM;AACzC,MAAA,MAAM,MAAS,GAAA,KAAA,CAAM,OAAU,IAAA,IAAK,EAAC,CAAA;AACrC,MAAM,MAAA,QAAA,GAAWC,6BAAkB,CAAA,MAAA,EAAQC,iCAAkB,CAAA,CAAA;AAG7D,MAAM,MAAA,QAAA,GAAkC,SAAS,GAAI,CAAA,CAAC,UAA0B,KAAM,CAAA,KAAK,KAAK,EAAC,CAAA;AAEjG,MAAA,QAAA,CAAS,QAAQ,CAAM,EAAA,KAAA;AACrB,QAAA,KAAA,MAAW,OAAOC,kCAAqB,EAAA;AAErC,UAAI,IAAAC,cAAA,CAAO,EAAI,EAAA,GAAG,CAAG,EAAA;AACnB,YAAA,SAAA;AAAA,WACF;AACA,UAAI,IAAAA,cAAA,CAAOD,kCAAqB,EAAA,GAAG,CAAG,EAAA;AACpC,YAAM,MAAA,OAAA,GAAUA,mCAAoB,GAAgC,CAAA,CAAA;AAEpE,YAAI,IAAAC,cAAA,CAAO,OAAS,EAAA,SAAS,CAAG,EAAA;AAC9B,cAAA,OAAA,CAAQ,IAAI,EAAI,EAAA,GAAA,EAAK,QAAQ,GAAI,CAAA,OAAA,EAAS,SAAS,CAAC,CAAA,CAAA;AAAA,aACtD;AAAA,WACF;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeR,OAA2B,CAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AACzE,IAAM,MAAA,SAAA,GAAYI,YAAS,CAAA,MAAM,YAAa,CAAA,KAAA,CAAM,KAAK,CAAM,EAAA,KAAA,EAAA,CAAG,IAAS,KAAA,MAAM,CAAC,CAAA,CAAA;AAGlF,IAAM,MAAA,iBAAA,GAAoBA,aAAS,MAAM;AACvC,MAAA,MAAM,MAAS,GAAA,KAAA,CAAM,OAAU,IAAA,IAAK,EAAC,CAAA;AACrC,MAAM,MAAA,KAAA,GAAQ,OAAO,IAAK,CAAA,CAAA,KAAA,KAAS,MAAM,KAAS,IAAA,KAAA,CAAM,KAAM,CAAA,IAAA,KAAS,MAAM,CAAA,CAAA;AAC7E,MAAO,OAAA,KAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,sBAAA,GAAyBA,aAAS,MAAM;AAC5C,MAAM,MAAA,aAAA,GAAgB,kBAAkB,KAAO,EAAA,QAAA,EAAU,UAAU,EAAE,GAAA,EAAK,EAAC,EAAG,CAAA,CAAA;AAC9E,MAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,aAAa,CAAK,IAAA,aAAA,CAAc,KAAK,CAAM,EAAA,KAAA,EAAA,EAAI,QAAa,KAAA,MAAM,CAAG,EAAA;AACrF,QAAA,OAAA,CAAQ,KAAM,CAAA,CAAA,oIAAA,EAAyB,KAAM,CAAA,IAAI,CAA0B,+EAAA,CAAA,CAAA,CAAA;AAAA,OAC7E;AACA,MAAM,MAAA,QAAA,GAAWC,6BAAkB,CAAA,aAAA,EAAe,iBAAiB,CAAA,CAAA;AACnE,MAAM,MAAA,QAAA,GAAiC,SAAS,GAAI,CAAA,CAAC,UAA0B,KAAM,CAAA,KAAK,KAAK,EAAC,CAAA;AAGhG,MAAA,QAAA,CAAS,QAAQ,CAAM,EAAA,KAAA;AACrB,QAAA,KAAA,MAAW,OAAOI,gCAAoB,EAAA;AAEpC,UAAI,IAAAD,cAAA,CAAO,EAAI,EAAA,GAAG,CAAG,EAAA;AACnB,YAAA,SAAA;AAAA,WACF;AACA,UAAI,IAAAA,cAAA,CAAOC,gCAAoB,EAAA,GAAG,CAAG,EAAA;AACnC,YAAM,MAAA,OAAA,GAAUA,iCAAmB,GAA+B,CAAA,CAAA;AAElE,YAAI,IAAAD,cAAA,CAAO,OAAS,EAAA,SAAS,CAAG,EAAA;AAC9B,cAAA,OAAA,CAAQ,IAAI,EAAI,EAAA,GAAA,EAAK,QAAQ,GAAI,CAAA,OAAA,EAAS,SAAS,CAAC,CAAA,CAAA;AAAA,aACtD;AAAA,WACF;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AAED,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAGD,IAAM,MAAA,kBAAA,GAAqBR,OAA0B,CAAA,sBAAA,CAAuB,KAAK,CAAA,CAAA;AAGjF,IAAM,MAAA,mBAAA,GAAsBA,QAAI,KAAK,CAAA,CAAA;AACrC,IAAM,MAAA,oBAAA,GAAuBA,QAAI,KAAK,CAAA,CAAA;AACtC,IAAM,MAAA,QAAA,GAAW,CAAC,KAAkB,KAAA;AAClC,MAAA,IAAI,UAAU,QAAU,EAAA;AACtB,QAAA,mBAAA,CAAoB,KAAQ,GAAA,IAAA,CAAA;AAAA,OAC9B;AACA,MAAA,IAAI,UAAU,SAAW,EAAA;AACvB,QAAA,oBAAA,CAAqB,KAAQ,GAAA,IAAA,CAAA;AAAA,OAC/B;AAAA,KACF,CAAA;AAKA,IAAA,MAAM,aAAgB,GAAA,OAAO,QAAkB,EAAA,QAAA,EAAkB,MAAgB,KAAA;AAC/E,MAAM,MAAA,QAAA,GAAW,aAAa,KAAM,CAAA,IAAA,CAAK,QAAM,EAAG,CAAA,IAAA,KAAS,OAAO,QAAQ,CAAA,CAAA;AAC1E,MAAM,MAAA,QAAA,GAAW,MAAO,CAAA,QAAA,KAAa,QAAW,GAAA,YAAA,CAAa,KAAM,CAAA,IAAA,CAAK,CAAM,EAAA,KAAA,EAAA,CAAG,IAAS,KAAA,MAAM,CAAI,GAAA,IAAA,CAAA;AACpG,MAAI,IAAA,CAAC,QAAY,IAAA,CAAC,QAAU,EAAA;AAC1B,QAAA,OAAA;AAAA,OACF;AACA,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,KAAQ,GAAA,QAAA,CAAA;AAAA,OACnB;AACA,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,KAAQ,GAAA,QAAA,CAAA;AAAA,OACnB;AAEA,MAAA,MAAMU,YAAS,EAAA,CAAA;AACf,MAAA,gBAAA,CAAiB,KAAO,EAAA,cAAA,CAAe,EAAE,aAAA,EAAe,MAAM,CAAA,CAAA;AAAA,KAChE,CAAA;AAIA,IAAM,MAAA,SAAA,GAAYC,YAAgC,CAAA,OAAA,EAAC,WAAW,CAAA,CAAA;AAE9D,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAe,KAAA;AACvC,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,SAAA,CAAU,MAAM,MAAS,GAAA,CAAA,CAAA;AACzB,QAAA,QAAQ,KAAK,KAAO;AAAA,UAClB,KAAK,WAAA;AACH,YAAU,SAAA,CAAA,KAAA,CAAM,KAAK,EAAE,KAAA,EAAO,KAAK,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AACvD,YAAA,MAAA;AAAA,UACF,KAAK,YAAA;AACH,YAAU,SAAA,CAAA,KAAA,CAAM,KAAK,EAAE,KAAA,EAAO,KAAK,IAAM,EAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AACxD,YAAA,MAAA;AAAA,SACJ;AAAA,OACF;AAEA,MAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA;AAAA,KAC1B,CAAA;AACA,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,gBAAA;AAAA,MACA,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,eAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,KACF,CAAA;AACA,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,YAAY,YAAY,CAAA,CAAA;AAC3D,IAAa,QAAA,CAAA;AAAA,MACX,YAAA;AAAA,MACA,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}