workdesktop-ai 1.0.2 → 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 (223) hide show
  1. package/CHANGELOG.md +155 -93
  2. package/README.md +123 -25
  3. package/dist/api-button/index.mjs +7 -0
  4. package/dist/api-button/index.mjs.map +1 -0
  5. package/dist/assets/Select-CNzSyvlZ.css +1 -0
  6. package/dist/auto-complete/index.mjs +7 -0
  7. package/dist/auto-complete/index.mjs.map +1 -0
  8. package/dist/auto-complete/style.css +1 -0
  9. package/dist/base.css +1 -0
  10. package/dist/checkbox-list/index.mjs +7 -0
  11. package/dist/checkbox-list/index.mjs.map +1 -0
  12. package/dist/checkbox-list/style.css +1 -0
  13. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-CweWFfDE.mjs +80 -0
  14. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-CweWFfDE.mjs.map +1 -0
  15. package/dist/chunks/AutoComplete-B_L169hU.mjs +80 -0
  16. package/dist/chunks/AutoComplete-B_L169hU.mjs.map +1 -0
  17. package/dist/chunks/CheckboxList-bPqpbd8d.mjs +129 -0
  18. package/dist/chunks/CheckboxList-bPqpbd8d.mjs.map +1 -0
  19. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-DpdMPkka.mjs +99 -0
  20. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-DpdMPkka.mjs.map +1 -0
  21. package/dist/chunks/DataForm-C6UW92Ds.mjs +305 -0
  22. package/dist/chunks/DataForm-C6UW92Ds.mjs.map +1 -0
  23. package/dist/chunks/DataGrid-BhgND4G_.mjs +1124 -0
  24. package/dist/chunks/DataGrid-BhgND4G_.mjs.map +1 -0
  25. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs +117 -0
  26. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs.map +1 -0
  27. package/dist/chunks/Drawer-ucXKUecL.mjs +259 -0
  28. package/dist/chunks/Drawer-ucXKUecL.mjs.map +1 -0
  29. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs +125 -0
  30. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs.map +1 -0
  31. package/dist/chunks/EditableGrid-Cx7ScWkW.mjs +1783 -0
  32. package/dist/chunks/EditableGrid-Cx7ScWkW.mjs.map +1 -0
  33. package/dist/chunks/FormItem-C1q0opnk.mjs +79 -0
  34. package/dist/chunks/FormItem-C1q0opnk.mjs.map +1 -0
  35. package/dist/chunks/Iframe-CeSiMnvR.mjs +65 -0
  36. package/dist/chunks/Iframe-CeSiMnvR.mjs.map +1 -0
  37. package/dist/chunks/ImageUpload-D3JGJjVO.mjs +193 -0
  38. package/dist/chunks/ImageUpload-D3JGJjVO.mjs.map +1 -0
  39. package/dist/chunks/Panel-d4chdlTA.mjs +113 -0
  40. package/dist/chunks/Panel-d4chdlTA.mjs.map +1 -0
  41. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-BqoNAUoo.mjs +118 -0
  42. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-BqoNAUoo.mjs.map +1 -0
  43. package/dist/chunks/RadioList-DT-8WSN2.mjs +129 -0
  44. package/dist/chunks/RadioList-DT-8WSN2.mjs.map +1 -0
  45. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-5B1V-53c.mjs +80 -0
  46. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-5B1V-53c.mjs.map +1 -0
  47. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs +73 -0
  48. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs.map +1 -0
  49. package/dist/chunks/SearchItem-pFO57lEO.mjs +79 -0
  50. package/dist/chunks/SearchItem-pFO57lEO.mjs.map +1 -0
  51. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs +158 -0
  52. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs.map +1 -0
  53. package/dist/chunks/Select-CMw-tWYm.mjs +114 -0
  54. package/dist/chunks/Select-CMw-tWYm.mjs.map +1 -0
  55. package/dist/chunks/Station-BF_QlQ8c.mjs +796 -0
  56. package/dist/chunks/Station-BF_QlQ8c.mjs.map +1 -0
  57. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CCU_d3jW.mjs +71 -0
  58. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CCU_d3jW.mjs.map +1 -0
  59. package/dist/chunks/Tips-IWCZcR1K.mjs +63 -0
  60. package/dist/chunks/Tips-IWCZcR1K.mjs.map +1 -0
  61. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs +51 -0
  62. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs.map +1 -0
  63. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-CkxGO85H.mjs +200 -0
  64. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-CkxGO85H.mjs.map +1 -0
  65. package/dist/chunks/Viewer-COLbtcgF.mjs +381 -0
  66. package/dist/chunks/Viewer-COLbtcgF.mjs.map +1 -0
  67. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +10 -0
  68. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs.map +1 -0
  69. package/dist/chunks/containerContext-BgphFDeH.mjs +13 -0
  70. package/dist/chunks/containerContext-BgphFDeH.mjs.map +1 -0
  71. package/dist/chunks/http-DUPsbs2K.mjs +2951 -0
  72. package/dist/chunks/http-DUPsbs2K.mjs.map +1 -0
  73. package/dist/chunks/linkage-FbL1mcz3.mjs +66 -0
  74. package/dist/chunks/linkage-FbL1mcz3.mjs.map +1 -0
  75. package/dist/chunks/props-DAytpx7D.mjs +65 -0
  76. package/dist/chunks/props-DAytpx7D.mjs.map +1 -0
  77. package/dist/chunks/useApiAction-C1CdKGjt.mjs +30 -0
  78. package/dist/chunks/useApiAction-C1CdKGjt.mjs.map +1 -0
  79. package/dist/chunks/useColumnSettings-BDtF5-8R.mjs +216 -0
  80. package/dist/chunks/useColumnSettings-BDtF5-8R.mjs.map +1 -0
  81. package/dist/chunks/useOptionsLoader-D0RTB_ar.mjs +64 -0
  82. package/dist/chunks/useOptionsLoader-D0RTB_ar.mjs.map +1 -0
  83. package/dist/confirm-button/index.mjs +7 -0
  84. package/dist/confirm-button/index.mjs.map +1 -0
  85. package/dist/data-form/index.mjs +7 -0
  86. package/dist/data-form/index.mjs.map +1 -0
  87. package/dist/data-form/style.css +1 -0
  88. package/dist/data-grid/index.mjs +7 -0
  89. package/dist/data-grid/index.mjs.map +1 -0
  90. package/dist/data-grid/style.css +1 -0
  91. package/dist/dialog-button/index.mjs +7 -0
  92. package/dist/dialog-button/index.mjs.map +1 -0
  93. package/dist/drawer/index.mjs +7 -0
  94. package/dist/drawer/index.mjs.map +1 -0
  95. package/dist/drawer/style.css +1 -0
  96. package/dist/drawer-button/index.mjs +7 -0
  97. package/dist/drawer-button/index.mjs.map +1 -0
  98. package/dist/editable-grid/index.mjs +7 -0
  99. package/dist/editable-grid/index.mjs.map +1 -0
  100. package/dist/editable-grid/style.css +1 -0
  101. package/dist/form-item/index.mjs +7 -0
  102. package/dist/form-item/index.mjs.map +1 -0
  103. package/dist/form-item/style.css +1 -0
  104. package/dist/iframe/index.mjs +7 -0
  105. package/dist/iframe/index.mjs.map +1 -0
  106. package/dist/iframe/style.css +1 -0
  107. package/dist/image-upload/index.mjs +7 -0
  108. package/dist/image-upload/index.mjs.map +1 -0
  109. package/dist/image-upload/style.css +1 -0
  110. package/dist/index.esm.js +318 -6495
  111. package/dist/index.esm.js.map +1 -1
  112. package/dist/index.umd.js +20 -9
  113. package/dist/index.umd.js.map +1 -1
  114. package/dist/panel/index.mjs +7 -0
  115. package/dist/panel/index.mjs.map +1 -0
  116. package/dist/panel/style.css +1 -0
  117. package/dist/prompt-button/index.mjs +7 -0
  118. package/dist/prompt-button/index.mjs.map +1 -0
  119. package/dist/radio-list/index.mjs +7 -0
  120. package/dist/radio-list/index.mjs.map +1 -0
  121. package/dist/radio-list/style.css +1 -0
  122. package/dist/requester/index.mjs +7 -0
  123. package/dist/requester/index.mjs.map +1 -0
  124. package/dist/route-button/index.mjs +7 -0
  125. package/dist/route-button/index.mjs.map +1 -0
  126. package/dist/search-item/index.mjs +7 -0
  127. package/dist/search-item/index.mjs.map +1 -0
  128. package/dist/search-item/style.css +1 -0
  129. package/dist/search-panel/index.mjs +7 -0
  130. package/dist/search-panel/index.mjs.map +1 -0
  131. package/dist/search-panel/style.css +1 -0
  132. package/dist/select/index.mjs +7 -0
  133. package/dist/select/index.mjs.map +1 -0
  134. package/dist/station/index.mjs +7 -0
  135. package/dist/station/index.mjs.map +1 -0
  136. package/dist/station/style.css +1 -0
  137. package/dist/style.css +1 -1
  138. package/dist/switch/index.mjs +7 -0
  139. package/dist/switch/index.mjs.map +1 -0
  140. package/dist/tips/index.mjs +7 -0
  141. package/dist/tips/index.mjs.map +1 -0
  142. package/dist/tips/style.css +1 -0
  143. package/dist/tips-button/index.mjs +7 -0
  144. package/dist/tips-button/index.mjs.map +1 -0
  145. package/dist/types/src/components/buttons/ApiButton.vue.d.ts +35 -6
  146. package/dist/types/src/components/buttons/ConfirmButton.vue.d.ts +37 -8
  147. package/dist/types/src/components/buttons/DialogButton.vue.d.ts +89 -29
  148. package/dist/types/src/components/buttons/DrawerButton.vue.d.ts +99 -31
  149. package/dist/types/src/components/buttons/PopconfirmButton.vue.d.ts +317 -0
  150. package/dist/types/src/components/buttons/PromptButton.vue.d.ts +45 -14
  151. package/dist/types/src/components/buttons/RouteButton.vue.d.ts +34 -5
  152. package/dist/types/src/components/buttons/TipsButton.vue.d.ts +8 -15
  153. package/dist/types/src/components/common/props.d.ts +32 -2
  154. package/dist/types/src/components/containers/Drawer.vue.d.ts +61 -8
  155. package/dist/types/src/components/containers/Iframe.vue.d.ts +39 -2
  156. package/dist/types/src/components/containers/containerContext.d.ts +1 -1
  157. package/dist/types/src/components/containers/useContainerController.d.ts +5 -0
  158. package/dist/types/src/components/containers/useIframeContainer.d.ts +20 -0
  159. package/dist/types/src/components/core/Requester.vue.d.ts +41 -0
  160. package/dist/types/src/components/data/datagrid/DataGrid.vue.d.ts +212 -5
  161. package/dist/types/src/components/data/datagrid/useColumnSettings.d.ts +14 -0
  162. package/dist/types/src/components/data/editable-grid/EditableGrid.vue.d.ts +586 -0
  163. package/dist/types/src/components/data/viewer/Viewer.vue.d.ts +187 -0
  164. package/dist/types/src/components/form/FormItem.vue.d.ts +62 -0
  165. package/dist/types/src/components/form/SearchItem.vue.d.ts +62 -0
  166. package/dist/types/src/components/{containers → form}/SearchPanel.vue.d.ts +17 -2
  167. package/dist/types/src/components/form/data-form/DataForm.vue.d.ts +6 -6
  168. package/dist/types/src/components/index.d.ts +10 -6
  169. package/dist/types/src/components/inputs/AutoComplete.vue.d.ts +10 -1
  170. package/dist/types/src/components/inputs/CheckboxList.vue.d.ts +28 -3
  171. package/dist/types/src/components/inputs/RadioList.vue.d.ts +28 -3
  172. package/dist/types/src/components/inputs/Select.vue.d.ts +11 -1
  173. package/dist/types/src/components/inputs/Switch.vue.d.ts +2 -2
  174. package/dist/types/src/components/inputs/useOptionsLoader.d.ts +3 -0
  175. package/dist/types/src/components/layout/Station.vue.d.ts +302 -0
  176. package/dist/types/src/components/layout/StationMenuNode.vue.d.ts +20 -0
  177. package/dist/types/src/components/layout/types.d.ts +54 -0
  178. package/dist/types/src/components/styles/Panel.vue.d.ts +47 -5
  179. package/dist/types/src/components/upload/ImageUpload.vue.d.ts +4 -4
  180. package/dist/types/src/components/upload/Upload.vue.d.ts +1 -1
  181. package/dist/types/src/entries/api-button.d.ts +9 -0
  182. package/dist/types/src/entries/auto-complete.d.ts +9 -0
  183. package/dist/types/src/entries/checkbox-list.d.ts +9 -0
  184. package/dist/types/src/entries/components-map.d.ts +8 -0
  185. package/dist/types/src/entries/confirm-button.d.ts +9 -0
  186. package/dist/types/src/entries/data-form.d.ts +9 -0
  187. package/dist/types/src/entries/data-grid.d.ts +9 -0
  188. package/dist/types/src/entries/dialog-button.d.ts +9 -0
  189. package/dist/types/src/entries/drawer-button.d.ts +9 -0
  190. package/dist/types/src/entries/drawer.d.ts +9 -0
  191. package/dist/types/src/entries/editable-grid.d.ts +9 -0
  192. package/dist/types/src/entries/form-item.d.ts +9 -0
  193. package/dist/types/src/entries/iframe.d.ts +9 -0
  194. package/dist/types/src/entries/image-upload.d.ts +9 -0
  195. package/dist/types/src/entries/panel.d.ts +9 -0
  196. package/dist/types/src/entries/prompt-button.d.ts +9 -0
  197. package/dist/types/src/entries/radio-list.d.ts +9 -0
  198. package/dist/types/src/entries/requester.d.ts +9 -0
  199. package/dist/types/src/entries/route-button.d.ts +9 -0
  200. package/dist/types/src/entries/search-item.d.ts +9 -0
  201. package/dist/types/src/entries/search-panel.d.ts +9 -0
  202. package/dist/types/src/entries/select.d.ts +9 -0
  203. package/dist/types/src/entries/station.d.ts +9 -0
  204. package/dist/types/src/entries/switch.d.ts +9 -0
  205. package/dist/types/src/entries/tips-button.d.ts +9 -0
  206. package/dist/types/src/entries/tips.d.ts +9 -0
  207. package/dist/types/src/entries/upload.d.ts +9 -0
  208. package/dist/types/src/entries/viewer.d.ts +9 -0
  209. package/dist/types/src/index.d.ts +2 -1
  210. package/dist/types/src/lib/composables/useDataGrid.d.ts +15 -0
  211. package/dist/types/src/lib/core/http.d.ts +21 -4
  212. package/dist/types/src/lib/core/station-linkage.d.ts +41 -0
  213. package/dist/types/src/types/config.d.ts +20 -3
  214. package/dist/types/vite.config.d.ts +6 -1
  215. package/dist/upload/index.mjs +7 -0
  216. package/dist/upload/index.mjs.map +1 -0
  217. package/dist/viewer/index.mjs +7 -0
  218. package/dist/viewer/index.mjs.map +1 -0
  219. package/dist/viewer/style.css +1 -0
  220. package/package.json +199 -68
  221. package/dist/types/src/components/containers/Dialog.vue.d.ts +0 -112
  222. package/dist/types/src/components/data/editable-table/EditableTable.vue.d.ts +0 -306
  223. package/dist/types/src/components/utils/Viewer.vue.d.ts +0 -131
@@ -1,4 +1,10 @@
1
1
  import { type PropType } from 'vue';
2
+ /** 移除购物车中某行;若该行在当前页,同时取消勾选(经 selection 同步移除) */
3
+ declare function removeCartRow(row: any): void;
4
+ /** 清空购物车(计数归零,面板同步;当前页勾选一并清空) */
5
+ declare function clearCart(): void;
6
+ /** 获取购物车暂存数组(跨页累计、已去重) */
7
+ declare function getCartList(): any[];
2
8
  declare function onChangeCurrentpage(val: number): void;
3
9
  declare function onChangePagesize(val: number): void;
4
10
  declare function requestApi(options?: {
@@ -14,16 +20,27 @@ declare function resetSearch(): Promise<import("../../../lib/composables/useData
14
20
  declare var __VLS_1: {
15
21
  selection: any[];
16
22
  list: any[];
17
- }, __VLS_141: {}, __VLS_151: {
23
+ }, __VLS_198: {}, __VLS_208: {
18
24
  row: any;
19
25
  index: number;
26
+ }, __VLS_210: {
27
+ selection: any[];
28
+ list: any[];
29
+ }, __VLS_421: {
30
+ list: any[];
31
+ remove: typeof removeCartRow;
32
+ clear: typeof clearCart;
20
33
  };
21
34
  type __VLS_Slots = {} & {
22
35
  toolbar?: (props: typeof __VLS_1) => any;
23
36
  } & {
24
- empty?: (props: typeof __VLS_141) => any;
37
+ empty?: (props: typeof __VLS_198) => any;
38
+ } & {
39
+ 'card-item'?: (props: typeof __VLS_208) => any;
25
40
  } & {
26
- 'card-item'?: (props: typeof __VLS_151) => any;
41
+ toolbar?: (props: typeof __VLS_210) => any;
42
+ } & {
43
+ 'cart-content'?: (props: typeof __VLS_421) => any;
27
44
  };
28
45
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
46
  api: {
@@ -79,6 +96,16 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
79
96
  type: BooleanConstructor;
80
97
  default: boolean;
81
98
  };
99
+ /**
100
+ * 高度模式:缺省内容自适应(数据多少就多高);
101
+ * 'fix' —— 贴合最近一个有确定高度 / 可滚动的祖先容器(顶部取自身位置、底部贴其内容区底),
102
+ * 数据超出在行区内滚动、表头固定;祖先无定高 / 滚动约束时退化为内容自适应;
103
+ * 数字 / CSS 长度(如 '520px')—— 表格固定高度,行区内滚动。
104
+ */
105
+ height: {
106
+ type: PropType<string | number>;
107
+ default: undefined;
108
+ };
82
109
  autoHeight: {
83
110
  type: BooleanConstructor;
84
111
  default: boolean;
@@ -95,6 +122,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
95
122
  type: PropType<"simple" | "normal" | "full">;
96
123
  default: string;
97
124
  };
125
+ /** 分页在底栏的水平位置:left/center/right;缺省走全局配置 page.pager.position(默认 right) */
126
+ pagerPosition: {
127
+ type: PropType<"left" | "center" | "right">;
128
+ default: string;
129
+ };
98
130
  withIndex: {
99
131
  type: BooleanConstructor;
100
132
  default: boolean;
@@ -122,15 +154,50 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
122
154
  type: BooleanConstructor;
123
155
  default: boolean;
124
156
  };
157
+ modelValue: {
158
+ type: PropType<any[]>;
159
+ default: () => never[];
160
+ };
161
+ /**
162
+ * 选中项返回:默认返回完整行对象数组;如果设置 selectionKey,则返回对应字段值数组
163
+ */
164
+ selectionKey: {
165
+ type: StringConstructor;
166
+ default: string;
167
+ };
125
168
  tools: {
126
169
  type: PropType<{
127
170
  refresh?: boolean;
128
171
  columnSetting?: boolean;
129
172
  modeSwitch?: boolean;
130
173
  size?: boolean;
174
+ /** 显示内置「新增」按钮(点击 emit add) */
175
+ add?: boolean;
176
+ /** 显示内置「导出」按钮(点击 emit export) */
177
+ export?: boolean;
178
+ /** 右侧工具按钮形态:round 圆角(默认)/ square 方角 / group 按钮组 */
179
+ mode?: "round" | "square" | "group";
180
+ /** 工具按钮尺寸:large / default(默认)/ small,与 el-button 一致 */
181
+ buttonSize?: "large" | "default" | "small";
131
182
  }>;
132
183
  default: () => {};
133
184
  };
185
+ /**
186
+ * 内置工具按钮组(刷新 / 大小 / 模式切换 / 列设置 / 购物车)位置:
187
+ * left 右上左区 / right 右上右区(默认)/ bottom 底栏(与分页同一行)
188
+ */
189
+ toolsPosition: {
190
+ type: PropType<"left" | "right" | "bottom">;
191
+ default: string;
192
+ };
193
+ /**
194
+ * 自定义工具栏(toolbar 插槽 + 新增/导出按钮)位置:
195
+ * left 左上左区(默认)/ right 左上右区 / bottom 底栏(与分页同一行)
196
+ */
197
+ toolbarPosition: {
198
+ type: PropType<"left" | "right" | "bottom">;
199
+ default: string;
200
+ };
134
201
  /** 内置操作列配置(渲染行操作按钮,点击 emit row-action) */
135
202
  rowActions: {
136
203
  type: PropType<Array<{
@@ -140,6 +207,34 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
140
207
  }>>;
141
208
  default: () => never[];
142
209
  };
210
+ withSelectionCart: {
211
+ type: BooleanConstructor;
212
+ default: boolean;
213
+ };
214
+ /** 购物车去重/自动回勾的唯一键字段,缺省复用 rowKey,均未配置时退化为按行对象引用比较 */
215
+ cartRowKey: {
216
+ type: StringConstructor;
217
+ default: string;
218
+ };
219
+ /** 购物车按钮与查看面板配置 */
220
+ cartConfig: {
221
+ type: PropType<{
222
+ type?: "dialog" | "drawer";
223
+ title?: string;
224
+ buttonText?: string;
225
+ size?: number | string;
226
+ showClear?: boolean;
227
+ showRemove?: boolean;
228
+ }>;
229
+ default: () => {
230
+ type: string;
231
+ title: string;
232
+ buttonText: string;
233
+ size: number;
234
+ showClear: boolean;
235
+ showRemove: boolean;
236
+ };
237
+ };
143
238
  filter: {
144
239
  type: StringConstructor;
145
240
  default: string;
@@ -153,15 +248,21 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
153
248
  clearSelection: typeof clearSelection;
154
249
  search: typeof search;
155
250
  resetSearch: typeof resetSearch;
251
+ getCartList: typeof getCartList;
252
+ clearCart: typeof clearCart;
156
253
  tableRef: import("vue").Ref<any, any>;
157
254
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
158
255
  apiBefore: (...args: any[]) => void;
159
256
  apiAfter: (...args: any[]) => void;
257
+ add: (...args: any[]) => void;
258
+ export: (...args: any[]) => void;
160
259
  "row-action": (...args: any[]) => void;
161
260
  "page-change": (...args: any[]) => void;
162
261
  "selection-change": (...args: any[]) => void;
163
262
  "mode-change": (...args: any[]) => void;
164
263
  loaded: (...args: any[]) => void;
264
+ "update:modelValue": (...args: any[]) => void;
265
+ "cart-change": (...args: any[]) => void;
165
266
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
166
267
  api: {
167
268
  type: StringConstructor;
@@ -216,6 +317,16 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
216
317
  type: BooleanConstructor;
217
318
  default: boolean;
218
319
  };
320
+ /**
321
+ * 高度模式:缺省内容自适应(数据多少就多高);
322
+ * 'fix' —— 贴合最近一个有确定高度 / 可滚动的祖先容器(顶部取自身位置、底部贴其内容区底),
323
+ * 数据超出在行区内滚动、表头固定;祖先无定高 / 滚动约束时退化为内容自适应;
324
+ * 数字 / CSS 长度(如 '520px')—— 表格固定高度,行区内滚动。
325
+ */
326
+ height: {
327
+ type: PropType<string | number>;
328
+ default: undefined;
329
+ };
219
330
  autoHeight: {
220
331
  type: BooleanConstructor;
221
332
  default: boolean;
@@ -232,6 +343,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
232
343
  type: PropType<"simple" | "normal" | "full">;
233
344
  default: string;
234
345
  };
346
+ /** 分页在底栏的水平位置:left/center/right;缺省走全局配置 page.pager.position(默认 right) */
347
+ pagerPosition: {
348
+ type: PropType<"left" | "center" | "right">;
349
+ default: string;
350
+ };
235
351
  withIndex: {
236
352
  type: BooleanConstructor;
237
353
  default: boolean;
@@ -259,15 +375,50 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
259
375
  type: BooleanConstructor;
260
376
  default: boolean;
261
377
  };
378
+ modelValue: {
379
+ type: PropType<any[]>;
380
+ default: () => never[];
381
+ };
382
+ /**
383
+ * 选中项返回:默认返回完整行对象数组;如果设置 selectionKey,则返回对应字段值数组
384
+ */
385
+ selectionKey: {
386
+ type: StringConstructor;
387
+ default: string;
388
+ };
262
389
  tools: {
263
390
  type: PropType<{
264
391
  refresh?: boolean;
265
392
  columnSetting?: boolean;
266
393
  modeSwitch?: boolean;
267
394
  size?: boolean;
395
+ /** 显示内置「新增」按钮(点击 emit add) */
396
+ add?: boolean;
397
+ /** 显示内置「导出」按钮(点击 emit export) */
398
+ export?: boolean;
399
+ /** 右侧工具按钮形态:round 圆角(默认)/ square 方角 / group 按钮组 */
400
+ mode?: "round" | "square" | "group";
401
+ /** 工具按钮尺寸:large / default(默认)/ small,与 el-button 一致 */
402
+ buttonSize?: "large" | "default" | "small";
268
403
  }>;
269
404
  default: () => {};
270
405
  };
406
+ /**
407
+ * 内置工具按钮组(刷新 / 大小 / 模式切换 / 列设置 / 购物车)位置:
408
+ * left 右上左区 / right 右上右区(默认)/ bottom 底栏(与分页同一行)
409
+ */
410
+ toolsPosition: {
411
+ type: PropType<"left" | "right" | "bottom">;
412
+ default: string;
413
+ };
414
+ /**
415
+ * 自定义工具栏(toolbar 插槽 + 新增/导出按钮)位置:
416
+ * left 左上左区(默认)/ right 左上右区 / bottom 底栏(与分页同一行)
417
+ */
418
+ toolbarPosition: {
419
+ type: PropType<"left" | "right" | "bottom">;
420
+ default: string;
421
+ };
271
422
  /** 内置操作列配置(渲染行操作按钮,点击 emit row-action) */
272
423
  rowActions: {
273
424
  type: PropType<Array<{
@@ -277,6 +428,34 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
277
428
  }>>;
278
429
  default: () => never[];
279
430
  };
431
+ withSelectionCart: {
432
+ type: BooleanConstructor;
433
+ default: boolean;
434
+ };
435
+ /** 购物车去重/自动回勾的唯一键字段,缺省复用 rowKey,均未配置时退化为按行对象引用比较 */
436
+ cartRowKey: {
437
+ type: StringConstructor;
438
+ default: string;
439
+ };
440
+ /** 购物车按钮与查看面板配置 */
441
+ cartConfig: {
442
+ type: PropType<{
443
+ type?: "dialog" | "drawer";
444
+ title?: string;
445
+ buttonText?: string;
446
+ size?: number | string;
447
+ showClear?: boolean;
448
+ showRemove?: boolean;
449
+ }>;
450
+ default: () => {
451
+ type: string;
452
+ title: string;
453
+ buttonText: string;
454
+ size: number;
455
+ showClear: boolean;
456
+ showRemove: boolean;
457
+ };
458
+ };
280
459
  filter: {
281
460
  type: StringConstructor;
282
461
  default: string;
@@ -284,15 +463,19 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
284
463
  }>> & Readonly<{
285
464
  onApiBefore?: ((...args: any[]) => any) | undefined;
286
465
  onApiAfter?: ((...args: any[]) => any) | undefined;
466
+ onAdd?: ((...args: any[]) => any) | undefined;
467
+ onExport?: ((...args: any[]) => any) | undefined;
287
468
  "onRow-action"?: ((...args: any[]) => any) | undefined;
288
469
  "onPage-change"?: ((...args: any[]) => any) | undefined;
289
470
  "onSelection-change"?: ((...args: any[]) => any) | undefined;
290
471
  "onMode-change"?: ((...args: any[]) => any) | undefined;
291
472
  onLoaded?: ((...args: any[]) => any) | undefined;
473
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
474
+ "onCart-change"?: ((...args: any[]) => any) | undefined;
292
475
  }>, {
293
476
  filter: string;
294
477
  api: string;
295
- apiMethod: "delete" | "get" | "post" | "put";
478
+ apiMethod: "post" | "delete" | "get" | "put";
296
479
  apiParam: Record<string, any>;
297
480
  active: boolean;
298
481
  dataSource: any;
@@ -304,27 +487,51 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
304
487
  fix: boolean;
305
488
  border: boolean;
306
489
  stripe: boolean;
490
+ height: string | number;
307
491
  autoHeight: boolean;
308
492
  rowKey: string;
309
493
  tableSize: "default" | "small" | "large";
310
494
  pagerStyle: "simple" | "normal" | "full";
495
+ pagerPosition: "left" | "center" | "right";
311
496
  withIndex: boolean;
312
497
  withSelection: boolean;
313
498
  rowspanKey: string;
314
499
  rowspanColumn: string[];
315
500
  treeProps: Record<string, any>;
316
501
  defaultExpandAll: boolean;
502
+ modelValue: any[];
503
+ selectionKey: string;
317
504
  tools: {
318
505
  refresh?: boolean;
319
506
  columnSetting?: boolean;
320
507
  modeSwitch?: boolean;
321
508
  size?: boolean;
322
- };
509
+ /** 显示内置「新增」按钮(点击 emit add) */
510
+ add?: boolean;
511
+ /** 显示内置「导出」按钮(点击 emit export) */
512
+ export?: boolean;
513
+ /** 右侧工具按钮形态:round 圆角(默认)/ square 方角 / group 按钮组 */
514
+ mode?: "round" | "square" | "group";
515
+ /** 工具按钮尺寸:large / default(默认)/ small,与 el-button 一致 */
516
+ buttonSize?: "large" | "default" | "small";
517
+ };
518
+ toolsPosition: "left" | "right" | "bottom";
519
+ toolbarPosition: "left" | "right" | "bottom";
323
520
  rowActions: {
324
521
  text: string;
325
522
  command?: string;
326
523
  type?: string;
327
524
  }[];
525
+ withSelectionCart: boolean;
526
+ cartRowKey: string;
527
+ cartConfig: {
528
+ type?: "dialog" | "drawer";
529
+ title?: string;
530
+ buttonText?: string;
531
+ size?: number | string;
532
+ showClear?: boolean;
533
+ showRemove?: boolean;
534
+ };
328
535
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
329
536
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
330
537
  export default _default;
@@ -17,6 +17,12 @@ export interface ColumnMeta {
17
17
  * 从插槽 vnode 数组中解析列
18
18
  */
19
19
  export declare function extractColumns(vnodes: VNode[]): ColumnMeta[];
20
+ /**
21
+ * 按列设置中的 order 重排业务列 vnode。
22
+ * key 解析规则必须与 extractColumns 完全一致(含自动编号计数),
23
+ * 未匹配到列设置的 vnode 保持原相对顺序排在末尾。
24
+ */
25
+ export declare function orderColumnVnodes(vnodes: VNode[], orderMap: Map<string, number>): VNode[];
20
26
  export declare function useColumnSettings(storageKey?: string): {
21
27
  columns: import("vue").Ref<{
22
28
  key: string;
@@ -39,10 +45,18 @@ export declare function useColumnSettings(storageKey?: string): {
39
45
  order: number;
40
46
  }[]>;
41
47
  hiddenKeys: import("vue").ComputedRef<Set<string>>;
48
+ columnOrderMap: import("vue").ComputedRef<Map<string, number>>;
42
49
  settingVisible: import("vue").Ref<boolean, boolean>;
43
50
  init: (vnodes: VNode[]) => void;
51
+ initMetas: (metas: Array<{
52
+ key: string;
53
+ label: string;
54
+ controllable?: boolean;
55
+ visible?: boolean;
56
+ }>) => void;
44
57
  setVisible: (key: string, visible: boolean) => void;
45
58
  move: (key: string, direction: -1 | 1) => void;
59
+ reorder: (fromKey: string, toKey: string, position?: "before" | "after") => void;
46
60
  reset: () => void;
47
61
  nextTick: typeof nextTick;
48
62
  };