@robot-admin/naive-ui-components 0.22.1 → 0.23.1

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 (306) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +7 -5
  3. package/README_EN.md +7 -5
  4. package/dist/C_ActionBar.d.cts +2 -1
  5. package/dist/C_ActionBar.d.ts +2 -1
  6. package/dist/C_AntV2.cjs +3 -3
  7. package/dist/C_AntV2.js +3 -3
  8. package/dist/C_BatchResult.cjs +1 -0
  9. package/dist/C_BatchResult.css +32 -0
  10. package/dist/C_BatchResult.d.cts +2 -0
  11. package/dist/C_BatchResult.d.ts +2 -0
  12. package/dist/C_BatchResult.js +1 -0
  13. package/dist/C_BatchResult2.cjs +1 -0
  14. package/dist/C_BatchResult2.js +1 -0
  15. package/dist/C_Breadcrumb.d.cts +2 -2
  16. package/dist/C_Breadcrumb.d.ts +1 -1
  17. package/dist/C_Cascade.d.cts +1 -1
  18. package/dist/C_Cascade.d.ts +1 -1
  19. package/dist/C_Chat.d.cts +1 -1
  20. package/dist/C_Chat.d.ts +1 -1
  21. package/dist/C_City.d.cts +1 -1
  22. package/dist/C_City.d.ts +1 -1
  23. package/dist/C_Code.d.cts +1 -1
  24. package/dist/C_Code.d.ts +1 -1
  25. package/dist/C_ContextMenu.d.cts +1 -1
  26. package/dist/C_ContextMenu.d.ts +1 -1
  27. package/dist/C_DataPicker.cjs +1 -0
  28. package/dist/C_DataPicker.css +55 -0
  29. package/dist/C_DataPicker.d.cts +2 -0
  30. package/dist/C_DataPicker.d.ts +5 -0
  31. package/dist/C_DataPicker.js +1 -0
  32. package/dist/C_DataPicker2.cjs +1 -0
  33. package/dist/C_DataPicker2.js +1 -0
  34. package/dist/C_Date.d.cts +1 -1
  35. package/dist/C_Date.d.ts +1 -1
  36. package/dist/C_Density.cjs +1 -0
  37. package/dist/C_Density.css +1 -0
  38. package/dist/C_Density.d.cts +3 -0
  39. package/dist/C_Density.d.ts +3 -0
  40. package/dist/C_Density.js +1 -0
  41. package/dist/C_Density2.cjs +1 -0
  42. package/dist/C_Density2.js +1 -0
  43. package/dist/C_Editor.d.cts +1 -1
  44. package/dist/C_Editor.d.ts +1 -1
  45. package/dist/C_ErrorSummary.cjs +1 -0
  46. package/dist/C_ErrorSummary.css +29 -0
  47. package/dist/C_ErrorSummary.d.cts +3 -0
  48. package/dist/C_ErrorSummary.d.ts +3 -0
  49. package/dist/C_ErrorSummary.js +1 -0
  50. package/dist/C_ErrorSummary2.cjs +1 -0
  51. package/dist/C_ErrorSummary2.js +1 -0
  52. package/dist/C_Form.base.css +150 -148
  53. package/dist/C_Form.css +151 -253
  54. package/dist/C_Form.d.cts +1 -1
  55. package/dist/C_Form.d.ts +19 -2
  56. package/dist/C_FormModal.css +1 -2
  57. package/dist/C_FormModal.d.cts +1 -1
  58. package/dist/C_FormModal.d.ts +17 -2
  59. package/dist/C_FormSearch.cjs +1 -1
  60. package/dist/C_FormSearch.css +124 -52
  61. package/dist/C_FormSearch.d.cts +3 -3
  62. package/dist/C_FormSearch.d.ts +5 -4
  63. package/dist/C_FormSearch.js +1 -1
  64. package/dist/C_FormulaEditor.d.cts +1 -1
  65. package/dist/C_FormulaEditor.d.ts +1 -1
  66. package/dist/C_Guide.d.cts +1 -1
  67. package/dist/C_Guide.d.ts +1 -1
  68. package/dist/C_Icon.d.cts +1 -1
  69. package/dist/C_Icon.d.ts +1 -1
  70. package/dist/C_Language.d.cts +1 -1
  71. package/dist/C_Language.d.ts +1 -1
  72. package/dist/C_Loading.d.cts +1 -1
  73. package/dist/C_Loading.d.ts +1 -1
  74. package/dist/C_Login.d.cts +1 -1
  75. package/dist/C_Login.d.ts +1 -1
  76. package/dist/C_Markdown.d.cts +1 -1
  77. package/dist/C_Markdown.d.ts +1 -1
  78. package/dist/C_Menu.d.cts +2 -2
  79. package/dist/C_Menu.d.ts +1 -1
  80. package/dist/C_OrgChart.d.cts +1 -1
  81. package/dist/C_OrgChart.d.ts +1 -1
  82. package/dist/C_Progress.d.cts +1 -1
  83. package/dist/C_Progress.d.ts +1 -1
  84. package/dist/C_SectionNav.cjs +1 -0
  85. package/dist/C_SectionNav.css +46 -0
  86. package/dist/C_SectionNav.d.cts +2 -0
  87. package/dist/C_SectionNav.d.ts +2 -0
  88. package/dist/C_SectionNav.js +1 -0
  89. package/dist/C_SectionNav2.cjs +1 -0
  90. package/dist/C_SectionNav2.js +1 -0
  91. package/dist/C_Skeleton.d.cts +1 -1
  92. package/dist/C_Skeleton.d.ts +1 -1
  93. package/dist/C_SplitPane2.cjs +1 -1
  94. package/dist/C_SplitPane2.js +1 -1
  95. package/dist/C_Steps.d.cts +1 -1
  96. package/dist/C_Steps.d.ts +1 -1
  97. package/dist/C_Table.base.css +258 -256
  98. package/dist/C_Table.cjs +1 -1
  99. package/dist/C_Table.css +109 -1283
  100. package/dist/C_Table.d.cts +2 -1
  101. package/dist/C_Table.d.ts +9 -8
  102. package/dist/C_Table.js +1 -1
  103. package/dist/C_Table2.cjs +3 -0
  104. package/dist/C_Table2.js +3 -0
  105. package/dist/C_Tabs.cjs +1 -1
  106. package/dist/C_Tabs.d.cts +1 -1
  107. package/dist/C_Tabs.d.ts +1 -1
  108. package/dist/C_Tabs.js +1 -1
  109. package/dist/C_TagsView.d.cts +1 -1
  110. package/dist/C_Theme.d.cts +1 -1
  111. package/dist/C_Theme.d.ts +1 -1
  112. package/dist/C_Timeline.d.cts +1 -1
  113. package/dist/C_Timeline.d.ts +1 -1
  114. package/dist/C_Transfer.d.cts +1 -1
  115. package/dist/C_Transfer.d.ts +1 -1
  116. package/dist/C_Tree.d.cts +1 -1
  117. package/dist/C_Tree.d.ts +9 -8
  118. package/dist/C_Upload.d.cts +1 -1
  119. package/dist/C_Upload.d.ts +1 -1
  120. package/dist/C_WorkFlow2.cjs +1 -1
  121. package/dist/C_WorkFlow2.js +1 -1
  122. package/dist/Card.cjs +1 -1
  123. package/dist/Card.js +1 -1
  124. package/dist/Steps.cjs +1 -1
  125. package/dist/Steps.js +1 -1
  126. package/dist/Tabs.cjs +1 -1
  127. package/dist/Tabs.js +1 -1
  128. package/dist/batchPatch.cjs +1 -0
  129. package/dist/batchPatch.d.cts +26 -0
  130. package/dist/batchPatch.d.ts +26 -0
  131. package/dist/batchPatch.js +1 -0
  132. package/dist/config.cjs +1 -1
  133. package/dist/config.d.cts +4 -1
  134. package/dist/config.d.ts +6 -2
  135. package/dist/config.js +1 -1
  136. package/dist/config2.d.ts +1 -1
  137. package/dist/constants.d.cts +1 -1
  138. package/dist/constants.d.ts +1 -1
  139. package/dist/constants2.d.cts +402 -173
  140. package/dist/constants2.d.ts +402 -173
  141. package/dist/constants3.d.cts +3 -3
  142. package/dist/constants3.d.ts +3 -3
  143. package/dist/constants4.d.cts +173 -402
  144. package/dist/constants4.d.ts +173 -402
  145. package/dist/contracts.d.ts +24 -0
  146. package/dist/data.cjs +1 -1
  147. package/dist/data.d.cts +5 -108
  148. package/dist/data.d.ts +5 -108
  149. package/dist/data.js +1 -1
  150. package/dist/data2.cjs +1 -1
  151. package/dist/data2.d.cts +108 -0
  152. package/dist/data2.d.ts +108 -0
  153. package/dist/data2.js +1 -1
  154. package/dist/data3.cjs +1 -0
  155. package/dist/data3.js +1 -0
  156. package/dist/dateRange.d.cts +108 -13
  157. package/dist/dateRange.d.ts +110 -14
  158. package/dist/density.d.ts +15 -0
  159. package/dist/dictionary.cjs +1 -0
  160. package/dist/dictionary.d.cts +38 -0
  161. package/dist/dictionary.d.ts +38 -0
  162. package/dist/dictionary.js +1 -0
  163. package/dist/helpers.cjs +1 -1
  164. package/dist/helpers.js +1 -1
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.d.cts +63 -52
  167. package/dist/index.d.ts +71 -57
  168. package/dist/index.js +1 -1
  169. package/dist/index.vue.d.cts +4 -4
  170. package/dist/index.vue.d.ts +4 -4
  171. package/dist/index10.vue.d.cts +37 -80
  172. package/dist/index10.vue.d.ts +77 -53
  173. package/dist/index11.vue.d.cts +77 -53
  174. package/dist/index11.vue.d.ts +1117 -45
  175. package/dist/index12.vue.d.cts +1117 -45
  176. package/dist/index12.vue.d.ts +17 -128
  177. package/dist/index13.vue.d.cts +17 -128
  178. package/dist/index13.vue.d.ts +57 -53
  179. package/dist/index14.vue.d.cts +57 -53
  180. package/dist/index14.vue.d.ts +16 -25
  181. package/dist/index15.vue.d.cts +16 -25
  182. package/dist/index15.vue.d.ts +52 -12
  183. package/dist/index16.vue.d.cts +52 -12
  184. package/dist/index16.vue.d.ts +13 -129
  185. package/dist/index17.vue.d.cts +13 -129
  186. package/dist/index17.vue.d.ts +123 -74
  187. package/dist/index18.vue.d.cts +123 -74
  188. package/dist/index18.vue.d.ts +48 -71
  189. package/dist/index19.vue.d.cts +40 -91
  190. package/dist/index19.vue.d.ts +36 -96
  191. package/dist/index2.vue.d.cts +2 -2
  192. package/dist/index2.vue.d.ts +2 -2
  193. package/dist/index20.vue.d.cts +38 -47
  194. package/dist/index20.vue.d.ts +13 -48
  195. package/dist/index21.vue.d.cts +12 -96
  196. package/dist/index21.vue.d.ts +25 -95
  197. package/dist/index22.vue.d.cts +20 -32
  198. package/dist/index22.vue.d.ts +75 -37
  199. package/dist/index23.vue.d.cts +77 -13
  200. package/dist/index23.vue.d.ts +71 -13
  201. package/dist/index24.vue.d.cts +1 -1
  202. package/dist/index25.vue.d.cts +116 -90
  203. package/dist/index25.vue.d.ts +116 -90
  204. package/dist/index26.vue.d.cts +94 -59
  205. package/dist/index26.vue.d.ts +94 -59
  206. package/dist/index27.vue.d.cts +75 -0
  207. package/dist/index27.vue.d.ts +75 -0
  208. package/dist/index28.vue.d.cts +103 -0
  209. package/dist/index28.vue.d.ts +103 -0
  210. package/dist/index29.vue.d.cts +105 -0
  211. package/dist/index29.vue.d.ts +105 -0
  212. package/dist/index3.vue.d.cts +4 -4
  213. package/dist/index3.vue.d.ts +4 -4
  214. package/dist/index30.vue.d.cts +28 -0
  215. package/dist/index30.vue.d.ts +28 -0
  216. package/dist/index4.vue.d.cts +19 -128
  217. package/dist/index4.vue.d.ts +17 -34
  218. package/dist/index5.vue.d.cts +127 -35
  219. package/dist/index5.vue.d.ts +30 -19
  220. package/dist/index6.vue.d.cts +30 -19
  221. package/dist/index6.vue.d.ts +22 -118
  222. package/dist/index7.vue.d.cts +22 -118
  223. package/dist/index7.vue.d.ts +112 -18
  224. package/dist/index8.vue.d.cts +112 -18
  225. package/dist/index8.vue.d.ts +24 -35
  226. package/dist/index9.vue.d.cts +24 -35
  227. package/dist/index9.vue.d.ts +37 -80
  228. package/dist/numberCodec.cjs +1 -0
  229. package/dist/numberCodec.d.cts +25 -0
  230. package/dist/numberCodec.d.ts +25 -0
  231. package/dist/numberCodec.js +1 -0
  232. package/dist/observer.cjs +1 -0
  233. package/dist/observer.js +1 -0
  234. package/dist/presets.d.cts +2 -65
  235. package/dist/presets.d.ts +2 -65
  236. package/dist/resolver.cjs +1 -1
  237. package/dist/resolver.d.cts +1 -1
  238. package/dist/resolver.d.ts +1 -1
  239. package/dist/resolver.js +1 -1
  240. package/dist/serializeSearch.cjs +1 -0
  241. package/dist/serializeSearch.js +1 -0
  242. package/dist/style.css +548 -308
  243. package/dist/types.d.cts +60 -103
  244. package/dist/types.d.ts +62 -52
  245. package/dist/types2.d.cts +104 -51
  246. package/dist/types2.d.ts +56 -0
  247. package/dist/types3.d.cts +56 -0
  248. package/dist/useCollapsePanel.d.cts +3 -3
  249. package/dist/useCollapsePanel.d.ts +3 -3
  250. package/dist/useComponentLocale.cjs +1 -1
  251. package/dist/useComponentLocale.js +1 -1
  252. package/dist/useCropperCore.d.cts +7 -7
  253. package/dist/useCropperCore.d.ts +7 -7
  254. package/dist/useDataResource.cjs +1 -0
  255. package/dist/useDataResource.js +1 -0
  256. package/dist/useDictionary.cjs +1 -0
  257. package/dist/useDictionary.js +1 -0
  258. package/dist/useDynamicFormState.d.cts +960 -10
  259. package/dist/useDynamicFormState.d.ts +951 -11
  260. package/dist/useEdgeInteraction.d.cts +2 -2
  261. package/dist/useEdgeInteraction.d.ts +2 -2
  262. package/dist/useFormArray.cjs +1 -0
  263. package/dist/useFormArray.d.cts +69 -0
  264. package/dist/useFormArray.d.ts +69 -0
  265. package/dist/useFormArray.js +1 -0
  266. package/dist/useFormConfig.d.cts +14 -0
  267. package/dist/useFormConfig.d.ts +17 -38
  268. package/dist/useGridWidth.cjs +1 -0
  269. package/dist/useGridWidth.js +1 -0
  270. package/dist/useInfiniteScroll.d.cts +1 -1
  271. package/dist/useInfiniteScroll.d.ts +1 -1
  272. package/dist/useQRCode.d.cts +4 -4
  273. package/dist/useQRCode.d.ts +4 -4
  274. package/dist/useSignatureHistory.d.cts +4 -4
  275. package/dist/useSignatureHistory.d.ts +4 -4
  276. package/dist/useSplitResize.d.cts +4 -4
  277. package/dist/useSplitResize.d.ts +4 -4
  278. package/dist/useTableGlobalConfig.cjs +1 -0
  279. package/dist/useTableGlobalConfig.js +1 -0
  280. package/dist/useTableQuery.cjs +1 -3
  281. package/dist/useTableQuery.js +1 -3
  282. package/dist/useWorkflowValidation.d.cts +2 -2
  283. package/dist/useWorkflowValidation.d.ts +2 -2
  284. package/dist/validation.cjs +1 -0
  285. package/dist/validation.d.cts +18 -0
  286. package/dist/validation.d.ts +18 -0
  287. package/dist/validation.js +1 -0
  288. package/dist/verification.d.cts +2 -2
  289. package/dist/verification.d.ts +3 -3
  290. package/dist/workflows.cjs +1 -0
  291. package/dist/workflows.d.cts +2 -0
  292. package/dist/workflows.d.ts +2 -0
  293. package/dist/workflows.js +1 -0
  294. package/docs/components.en.md +13 -1
  295. package/docs/components.md +13 -1
  296. package/docs/guides/batch-results.md +47 -0
  297. package/docs/guides/data-picker.md +65 -0
  298. package/docs/guides/data-workflows.md +123 -0
  299. package/docs/guides/form-density.en.md +39 -0
  300. package/docs/guides/form-density.md +39 -0
  301. package/docs/guides/search-workflows.md +164 -0
  302. package/package.json +21 -1
  303. package/dist/C_FormSearch2.cjs +0 -1
  304. package/dist/C_FormSearch2.js +0 -1
  305. package/dist/useTableQuery.d.cts +0 -1957
  306. package/dist/useTableQuery.d.ts +0 -1946
@@ -1,3 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./C_Icon2.cjs`),i=require(`./export-helper.cjs`),a=require(`./C_Loading2.cjs`),o=require(`./useActionTask.cjs`),s=require(`./C_ActionBar2.cjs`),c=require(`./data.cjs`),l=require(`./formValidation.cjs`);let u=require(`vue`),d=require(`naive-ui`);const f={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},p=e=>{if(e===!1||e===void 0)return f;if(typeof e==`string`)return p({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},m=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},h=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},g=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e.t(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},_=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},v={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function y(t,n){let{size:r}=e.t(n);return t?{striped:t.striped??v.striped,bordered:t.bordered??v.bordered,singleLine:t.singleLine??v.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??v.columnWidth}:{...v,size:r}}const b=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e.t(n).size,compact:n===`compact`}:{},...t?.actionBar}}),x=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},S=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},C=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},w=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},T=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},E=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function D(t={}){return{density:t.density,controlSize:t.density?e.t(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...p(t.edit),...m(t.expand),...h(t.selection),...g(t.pagination,t.density),..._(t.dynamicRows),...y(t.display,t.density),...b(t.toolbar,t.density),...x(t.virtualScroll),...S(t.summary),...C(t.columnDrag),...w(t.tree),...T(t.rowDrag),...E(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const O=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function k(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function A(e,t){if(!k(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(l.t(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function j(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function M(e){let t=0,n=(0,u.ref)(null),r=(0,u.ref)({}),i=(0,u.ref)(!1),a=(0,u.ref)([]),o=()=>{t++,n.value=null,r.value={},a.value=[]},s=e=>n.value===e,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},d=e=>{let t=l(e);return!t||i.value?!1:(n.value=e,r.value={[String(e)]:c.t(t)},a.value=[],!0)},f=async()=>{if(n.value===null||i.value)return;let t=e.data();if(!t||!Array.isArray(t))return;let a=t.findIndex(t=>e.rowKey(t)===n.value);i.value=!0;try{a>-1&&await e.onCancel?.(t[a],a),n.value=null,r.value={}}finally{i.value=!1}},p=async(r,i)=>{let o=t,s=(e.columns?.()||[]).filter(k).map(async e=>{let t=String(e.key);if(!t)return null;let n=(await Promise.all(A(e).map(n=>j(n,r[t],e.title||t,r,t)))).find(Boolean);return n?{field:t,message:n}:null}),c=(await Promise.all(s)).filter(Boolean);return t===o?(n.value===i&&(a.value=c),c.length===0):!1},m=async()=>{let e=n.value;if(e===null)return!0;let t=r.value[String(e)];return t?p(c.t(t),e):!0},h=async()=>{let a=n.value;if(a===null||i.value)return;let o=r.value[String(a)];if(!o)return;let s=c.t(o),u=t,d=l(a);i.value=!0;try{if(!await p(s,a)||t!==u)return;let i=e.data(),o=i.findIndex(t=>e.rowKey(t)===a);return o===-1||i[o]!==d||(await e.onSave?.(s,o,a),t!==u)?void 0:(n.value=null,r.value={},{updatedData:s,rowIndex:o})}finally{i.value=!1}},g=e=>{if(n.value===e)return r.value[String(e)]};return{editingRowKey:n,editingData:r,isSaving:i,isEditingRow:s,startEditRow:d,cancelEditRow:f,saveEditRow:h,validateRow:m,validationErrors:a,getEditingRowData:g,updateEditingRowData:(e,t,n)=>{let r=g(e);!r||i.value||(r[t]=c.t(n))},findRowData:l,invalidate:o}}function N(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function P(e){let t=0,n=(0,u.ref)({rowKey:null,columnKey:null}),r=(0,u.ref)({}),i=(0,u.ref)(!1),a=(0,u.ref)(null),o=()=>{t++,n.value={rowKey:null,columnKey:null},r.value={},a.value=null},s=(e,t)=>n.value.rowKey===e&&n.value.columnKey===t,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},d=(e,t)=>{let o=l(e);return!o||!t||i.value?!1:(n.value={rowKey:e,columnKey:t},r.value={[N(e,t)]:c.t(o[t])},a.value=null,!0)},f=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),p=async()=>{let e=t;a.value=null;let{rowKey:i,columnKey:o}=n.value;if(i===null||o===null)return!0;let s=f(o);if(!s)return!0;let c=N(i,o),u=r.value[c],d=s.title||o,p={...l(i),[o]:u},m=await Promise.all(A(s).map(e=>j(e,u,d,p,o)));if(t!==e)return!1;let h=m.find(Boolean);return h?(a.value=h,!1):!0};return{editingCell:n,editingData:r,isSaving:i,isEditingCell:s,startEditCell:d,saveEditCell:async()=>{let{rowKey:a,columnKey:o}=n.value;if(a===null||o===null||i.value)return;let s=N(a,o),u=c.t(r.value[s]),d=t,f=l(a);i.value=!0;try{if(!await p()||t!==d)return;let i=e.data(),s=i.findIndex(t=>e.rowKey(t)===a);if(s===-1||i[s]!==f)return;let l={...i[s],[o]:u};return await e.onSave?.(c.t(l),s,o,a),t===d?(n.value={rowKey:null,columnKey:null},r.value={},{updatedData:l,rowIndex:s,columnKey:o}):void 0}finally{i.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:t}=n.value;i.value||(e!==null&&t!==null&&delete r.value[N(e,t)],n.value={rowKey:null,columnKey:null},a.value=null)},validateCell:p,cellValidationError:a,getEditingCellValue:(e,t)=>r.value[N(e,t)],updateEditingCellValue:(e,t,n)=>{!s(e,t)||i.value||(r.value[N(e,t)]=c.t(n))},findRowData:l,invalidate:o}}function F(e){let t=0,n=(0,u.ref)(!1),r=(0,u.ref)(!1),i=(0,u.ref)(null),a=(0,u.ref)({}),o=()=>{t++,n.value=!1,i.value=null,a.value={}},s=(0,u.computed)(()=>{if(i.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===i.value):-1});return{isModalVisible:n,isSaving:r,editingData:a,editingRowKey:i,editingRowIndex:s,startEdit:(o,s)=>{if(r.value)return!1;let l=e.data();if(!Array.isArray(l))return!1;let u=l.findIndex(t=>e.rowKey(t)===o);return u===-1?!1:(t++,i.value=o,a.value=c.t(s??l[u]),n.value=!0,!0)},saveEdit:async o=>{if(r.value||i.value===null)return;let l=s.value;if(l===-1)return;let u=i.value,d=t,f=c.t(o??a.value);r.value=!0;try{return await e.onSave?.(f,l,u),t===d?(n.value=!1,i.value=null,a.value={},{updatedData:f,rowIndex:l}):void 0}finally{r.value=!1}},cancelEdit:async()=>{if(r.value)return!1;let o=t,c=s.value;try{if(i.value!==null&&c>-1){let t=e.data();t[c]&&await e.onCancel?.(t[c],c)}}finally{t===o&&(n.value=!1,i.value=null,a.value={})}return!0},updateEditingData:e=>r.value?!1:(a.value=c.t(e),!0),resetEditingState:()=>r.value?!1:(i.value=null,a.value={},!0),isEditingRow:e=>i.value===e&&n.value,getEditingRowData:e=>i.value===e?a.value:null,invalidate:o}}function ee(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function I(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function te(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function ne(e){return e}function L(e){return e}function re(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function ie(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const ae=e=>({expandedKeys:(0,u.ref)([...e.defaultExpandedKeys||[]]),expandDataMap:(0,u.ref)(new Map),loadingMap:(0,u.ref)(new Map),errorMap:(0,u.ref)(new Map),checkedKeys:e.enableSelection?(0,u.ref)([...e.defaultCheckedKeys||[]]):(0,u.ref)([]),childSelections:(e.enableChildSelection,(0,u.ref)(new Map))}),oe=e=>{let t=(0,u.computed)(()=>I((0,u.unref)(e.data),e.childrenKey)),n=e.rowKey,r=(0,u.computed)(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},se=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return(0,u.watch)(t.data,n=>{if(o+=1,i.size===0&&e.expandedKeys.value.length===0&&s.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}s=new Set([...s].filter(e=>r.has(e))),e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),(0,u.getCurrentScope)()&&(0,u.onScopeDispose)(()=>{a=!0,o+=1,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let c=t.getRowKey(r);if(o+=1,i){if(s.add(c),e.expandedKeys.value.includes(c)||(e.expandedKeys.value=[...e.expandedKeys.value,c]),await l(r),a||t.findRow(c)!==r||!s.has(c))return}else s.delete(c),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==c);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{if(a)return;let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),!(a||r!==o)&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let c=new Set(e.expandedKeys.value),u=new Set(r),d=[...u].filter(e=>!c.has(e)),f=e.expandedKeys.value.filter(e=>!u.has(e));for(let t of f)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(d.map(async e=>{let n=t.findRow(e);n&&await l(n)})),!(a||i!==o)&&n.onExpandChange?.(r)}}},ce=(e,t,n)=>{let r=[],i=[],a=(t,a,o=!1)=>{let s=t.length===r.length&&t.every((e,t)=>e===r[t]),c=a.length===i.length&&a.every((e,t)=>e===i[t]);!o&&s&&c||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=(0,u.computed)(()=>t.data.value.filter(t.isRowCheckable)),s=(0,u.computed)(()=>e.checkedKeys.value.length),c=(r,i=!1)=>{let s=new Set(o.value.map(e=>t.getRowKey(e))),c=[...new Set(r)].filter(e=>s.has(e)),l=n.maxSelection?c.slice(0,Math.max(0,n.maxSelection)):c;e.checkedKeys.value=l;let u=new Set(l);a(l,t.data.value.filter(e=>u.has(t.getRowKey(e))),i)},l=(e,t=!1)=>{n.enableSelection&&c(e,t)};return{commitSelection:c,selectAll:()=>{n.enableSelection&&l(o.value.map(t.getRowKey))},clearSelection:()=>{l([])},handleSelectionChange:l,selectedRowsCount:s,selectableRows:o}},le=(e,t,n)=>{let r=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(i,a,o)=>{if(!r())return;let s=t.parentChildLinkMode===`strict`?a.length===o&&o>0:a.length>0,c=[...e.checkedKeys.value],l=c.includes(i),u=s&&!l?[...c,i]:!s&&l?c.filter(e=>e!==i):c;n.handleSelectionChange(u,!0)},isLinkEnabled:r}},ue=(e,t,n,r,i)=>({totalChildSelections:(0,u.computed)(()=>i.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.childSelections.value.clear(),r.commitSelection([],!0)},handleChildSelectionChange:(r,a)=>{if(!i.enableChildSelection)return;let o=t.findRow(r);if(!o)return;let s=(e.expandDataMap.value.get(r)||[]).filter(e=>t.isChildRowCheckable(e,o)),c=new Set(s.map(t.getChildRowKey)),l=[...new Set(a)].filter(e=>c.has(e)),u=e.childSelections.value.get(r)??[];if(u.length===l.length&&u.every((e,t)=>e===l[t]))return;e.childSelections.value.set(r,l);let d=new Set(l),f=s.filter(e=>d.has(t.getChildRowKey(e)));n.isLinkEnabled()&&n.handleParentChildLink(r,l,s.length),i.onChildSelectionChange?.(r,l,f)}}),de=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},fe=e=>(0,u.h)(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[(0,u.h)(d.NSpin,{size:`small`}),(0,u.h)(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),pe=()=>(0,u.h)(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),me=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},R=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0,disabled:t=>{let n=r.findRow(e);return!n||!r.isChildRowCheckable(t,n)}}),o.push(...me(t)),(0,u.h)(`div`,{class:`p-4 bg-gray-50`},[(0,u.h)(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),(0,u.h)(d.NDataTable,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},z=(e,n,r,i,a)=>{let{t:o}=t.t(()=>a.locale),s=t=>{let s=n.getRowKey(t),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,f=de(s,e,n,r,a);return a.renderContent?a.renderContent(t,c,l,f):l?fe(a.renderLoading):e.errorMap.value.has(s)?(0,u.h)(`div`,{class:`c-table-expand-error`,role:`alert`},[(0,u.h)(`span`,o(`table.loadFailed`)),(0,u.h)(d.NButton,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?R(s,c,f,n,r,a):pe()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let t=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!t?.(e)||!n.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:t=>n.isRowExpandable(t)&&(!(`expandable`in e)||e.expandable?.(t)!==!1),renderExpand:s}:e})}};function he(e){let t=ae(e),n=oe(e),r=se(t,n,e),i=ce(t,n,e),a=ue(t,n,le(t,e,i),i,e),o=z(t,n,a,r,e);return(0,u.watch)(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&(0,u.nextTick)(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ge={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},_e={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},ve={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function ye(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function be(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function xe(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function Se(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function B(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ge,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:ye,corner:be,diagonal:xe,repeat:Se};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function V(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={..._e,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function Ce(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function we(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Ce(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function Te(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...ve,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function Ee(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function De(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function Oe(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function ke(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>V(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=Ee(s,i,a);return r(60),De(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Ae(e,t,n,r,i){r(70),t.watermark&&B(e,t.watermark),r(90),await Te(Ce(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function je(){let e=n.t(),t=(0,u.ref)(!1),r=(0,u.ref)(0),i=e=>{r.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{i(0),i(30);let n=await V(e,t.capture);i(60),t.watermark&&B(n,t.watermark),i(90);let r=Ce(n,t.capture?.format||`png`,t.capture?.quality||.92);return i(100),r}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,r={})=>{t.value=!0,i(0);try{await(0,u.nextTick)();let t=await a(n,r);i(95),await Te(t,r.print),i(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,i(0)}},s=async(n,r,i={})=>{t.value=!0;try{await(0,u.nextTick)();let t=await V(n,i.capture);i.watermark&&B(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;we(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;i(10);let r=e.map(async(e,r)=>{let o=await a(e,t);return i(10+(r+1)/n*70),o});return Promise.all(r)},d=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await Te(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:r,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,r={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{i(0);let t=await l(n,r);i(80),await d(t,r.print),i(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,i(0)}},mergePrint:async(n,r={},a={})=>{let o=Oe(n,a,e);if(o){t.value=!0;try{await Ae(await ke(n,r,o,i),r,n.length,i,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,i(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:i,utils:{captureElement:V,drawWatermark:B,canvasToDataURL:Ce,downloadCanvas:we,printImage:Te}}}const H={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function U(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function W(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function Me(e,t,n){if(e){let r=e(n===void 0?void 0:c.t(n));if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=c.t(r);return n&&typeof t==`string`?{...c.t(n),[t]:Reflect.get(i,t)}:i}return typeof t==`string`?{...n?c.t(n):{},[t]:U()}:null}function Ne(e,...i){let a=i[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=(0,u.reactive)({...o,...(0,u.toValue)(a)});(0,u.watch)(()=>(0,u.toValue)(a),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=n.t(()=>s.feedback),{t:l}=t.t(()=>s.locale),f=`c-table-radio-${U()}`,p=(0,u.ref)(null),m=(0,u.ref)(!1),h=(0,u.computed)(()=>p.value===null?null:e.value.find(e=>W(e,s.rowKey)===p.value)||null),g=(0,u.computed)(()=>h.value?e.value.findIndex(e=>e===h.value):-1),_=(0,u.computed)(()=>g.value>0),v=(0,u.computed)(()=>g.value>=0&&g.value<e.value.length-1),{loading:y,progress:b,printWithWatermark:x,downloadScreenshot:S,quickPrint:C}=je(),w=()=>{if(s.printOptions)return s.printOptions;let e=H[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},T=e=>{s.onRowChange?.(e)},E=t=>{let n=W(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>W(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},D=e=>{try{let t=Me(s.defaultRowData,s.rowKey,e);if(t)return E(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},O=()=>{if(!s.enabled||!s.enableAdd)return;let t=D();t&&(T([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},k=()=>{if(!s.enabled||!s.enableInsert||!h.value){c.warning(l(`table.selectRowFirst`));return}let t=D();if(!t)return;let n=[...e.value];n.splice(g.value+1,0,t),T(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},A=()=>{if(!s.enabled||!s.enableDelete||!h.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?m.value=!0:j()},j=()=>{if(!h.value)return;let t=h.value,n=g.value;T(e.value.filter((e,t)=>t!==n)),p.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),m.value=!1},M=()=>{if(!s.enabled||!s.enableCopy||!h.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=h.value,n=D(t);n&&(T([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},N=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],T(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},P=()=>{if(!s.enabled||!s.enableMove||!v.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],T(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},F=t=>{if(!s.enabled)return;let n=e.value.find(e=>W(e,s.rowKey)===t);n&&(p.value=t,s.onSelectionChange?.(t,n))},ee=()=>{p.value=null,s.onSelectionChange?.(null,null)},I=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=w();await x(e.value,t)};return(0,u.getCurrentScope)()&&(0,u.onScopeDispose)(()=>{p.value=null,m.value=!1}),{selectedRowKey:p,selectedRowData:h,selectedRowIndex:g,canMoveUp:_,canMoveDown:v,deleteConfirmVisible:m,printLoading:y,printProgress:b,addRow:O,insertRow:k,deleteRow:A,confirmDelete:j,copyRow:M,moveRowUp:N,moveRowDown:P,selectRow:F,clearSelection:ee,handlePrint:I,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=w();await S(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await C(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=W(e,s.rowKey);return(0,u.h)(`div`,{class:`flex justify-center`},[(0,u.h)(`input`,{type:`radio`,name:f,"aria-label":l(`common.select`),checked:p.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&F(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push((0,u.h)(d.NButton,{loading:y.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await I((0,u.shallowRef)(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>(0,u.h)(r.t,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push((0,u.h)(d.NButton,{onClick:O,type:`primary`},{icon:()=>(0,u.h)(r.t,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push((0,u.h)(d.NTooltip,{disabled:!!h.value},{trigger:()=>(0,u.h)(d.NButton,{onClick:k,disabled:!h.value,type:`primary`,ghost:!0},{icon:()=>(0,u.h)(r.t,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push((0,u.h)(d.NTooltip,{disabled:!!h.value},{trigger:()=>(0,u.h)(d.NButton,{onClick:A,disabled:!h.value,type:`error`,ghost:!0},{icon:()=>(0,u.h)(r.t,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push((0,u.h)(d.NTooltip,{disabled:!!h.value},{trigger:()=>(0,u.h)(d.NButton,{onClick:M,disabled:!h.value,type:`info`,ghost:!0},{icon:()=>(0,u.h)(r.t,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push((0,u.h)(d.NTooltip,{disabled:_.value},{trigger:()=>(0,u.h)(d.NButton,{onClick:N,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>(0,u.h)(r.t,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>h.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),(0,u.h)(d.NTooltip,{disabled:v.value},{trigger:()=>(0,u.h)(d.NButton,{onClick:P,disabled:!v.value,type:`warning`,ghost:!0},{icon:()=>(0,u.h)(r.t,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>h.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push((0,u.h)(d.NButtonGroup,{},()=>n)),(0,u.h)(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[(0,u.h)(d.NSpace,{},()=>t)])},renderConfirmModal:()=>(0,u.h)(d.NModal,{show:m.value,"onUpdate:show":e=>{m.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:j})}}function Pe(e){let r=0,{data:i,rowKey:a,emit:o}=e,s=()=>(0,u.toValue)(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=(0,u.computed)(()=>I(i(),c())),d=()=>l.value,f=n.t(()=>s().feedback),{t:p}=t.t(()=>s().locale),m=(e,t,n)=>i()===e&&l.value.find(e=>a(e)===t)===n,h={onSave:async(e,t,n,u)=>{let d=i(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=r;if(s().editable)try{if(await s().onEditSave?.(g,h,n),r!==_||(await o(`save`,g,h,n),r!==_)||!m(d,f,p))return;o(`update:data`,te(i(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,t)=>{let n=r;try{if(await s().onEditCancel?.(e,t),r!==n)return;await o(`cancel`,e,t)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:M({data:d,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:P({data:d,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:F({data:d,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>he({data:(0,u.computed)(()=>i()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):f.error(p(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Ne((0,u.computed)(()=>i()),(0,u.computed)(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??(0,u.toValue)(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();(0,u.watch)(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&f.error(e[0].message)}),(0,u.watch)(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&f.error(e)});let b=()=>{r++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};(0,u.watch)([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),(0,u.getCurrentScope)()&&(0,u.onScopeDispose)(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint((0,u.shallowRef)(e))},async download(e,t){S&&e&&await S.handleDownload((0,u.shallowRef)(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:(0,u.computed)(()=>x?.expandedKeys.value??[]),checkedKeys:(0,u.computed)(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const G={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function K(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Fe(e){let{data:t,config:n,emit:r}=e,i=(0,u.ref)(G.page),a=(0,u.ref)(G.pageSize),o=(0,u.computed)(()=>{let e=typeof t==`function`?t():(0,u.unref)(t);return Array.isArray(e)?e:[]}),s=(0,u.computed)(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(K(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},d=e=>l(e,!0),f=e=>{let t=K(e,G.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},p=()=>l(1,!0),m=(0,u.computed)(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=(0,u.computed)(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??G.showSizePicker,showQuickJumper:e.showQuickJumper??G.showQuickJumper,pageSizes:e.pageSizes??G.pageSizes,simple:e.simple??G.simple,size:e.size??G.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":d,"onUpdate:pageSize":f}:null});return(0,u.watch)(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=K(t,G.pageSize),i.value=Math.min(K(e,G.page),c())},{immediate:!0}),(0,u.watch)([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:d,handlePageSizeChange:f,resetToFirstPage:p,getTotalPages:c}}function q(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?q(e.children):`type`in e&&e.type?[]:[e])}function J(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function Ie(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?J(t[e.key],n[e.key]):0}function Le(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Re(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function ze(e){let t=(0,u.shallowRef)(),n=(0,u.shallowRef)({}),r=(0,u.computed)(()=>q((0,u.toValue)(e.columns))),i=(0,u.computed)(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Re(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=(0,u.computed)(()=>{let t=(0,u.toValue)(e.data);if((0,u.toValue)(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>Le(t,n,e))):t}),o=(0,u.computed)(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:(0,u.computed)(()=>{if((0,u.toValue)(e.remote))return(0,u.toValue)(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=Ie(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const Y=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function Be(e){let{actions:i,config:a,tableManager:s,rowKey:c,onRowDeleted:l,onViewDetail:f,isDeleteFeedbackHandled:p}=e,m=o.t(),h=!0;(0,u.getCurrentScope)()&&(0,u.onScopeDispose)(()=>{h=!1});let g=(e,t)=>JSON.stringify([typeof e,e,t]),_=n.t(()=>a.value.feedback),{t:v}=t.t(()=>a.value.locale),y=e=>e===`edit`?a.value.editable&&i.value?.edit!==!1:typeof i.value?.[e]==`function`,b=e=>e!==!1&&typeof e==`function`,x=e=>e&&typeof e==`object`&&`data`in e?e.data:e,S=(e,t,n=`primary`,i,o,s=!1)=>(0,u.h)(d.NButton,{size:a.value.controlSize??`small`,type:n,quaternary:!0,onClick:i,loading:s||(o?m.isRunning(o):!1),disabled:o?m.isRunning(o):!1},()=>[(0,u.h)(r.t,{name:e,size:14,title:t})]),C=async(e,t)=>{let n=c(e),r=i.value?.edit;if(b(r)){try{await r(e,t)}catch(e){_.error(v(`table.actionFailed`,{action:v(`common.edit`)}),e)}return}a.value.editMode===`modal`?s.editStates.modalEdit.startEdit(n,{...e}):s.editStates.rowEdit.startEditRow(n)},w=(e,t)=>{h&&!t&&_.error(v(`table.deleteFailed`),e)},T=async(e,t,n)=>{let r=p?.(e)===!0;try{let i=await e(t,n);if(!h)return;let a=Y(i);if(a!=null){w(a,r);return}r||_.success(v(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw w(e,r),e}},E=async(e,t)=>{let n=i.value?.delete;b(n)&&await _.confirm({title:v(`table.deleteTitle`),content:v(`table.deleteContent`),positiveText:v(`common.confirm`),negativeText:v(`common.cancel`),type:`warning`})&&h&&await T(n,e,t)},D=async(e,t)=>{let n=i.value?.detail;if(!b(n)){f?.(e);return}try{let r=await n(e,t);if(!h)return;let i=x(r);f?.(i||e)}catch(t){if(!h)return;_.error(v(`table.detailFailed`),t),f?.(e)}},O=(e,t)=>m.run(g(c(e),`edit`),()=>C(e,t)),k=(e,t)=>m.run(g(c(e),`delete`),()=>E(e,t)),A=(e,t)=>m.run(g(c(e),`detail`),()=>D(e,t)),j=e=>s.editStates.rowEdit.isEditingRow(e)?[S(`mdi:check`,v(`common.save`),`primary`,()=>void m.run(g(e,`save`),()=>s.editStates.rowEdit.saveEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.save`)}),e)),g(e,`save`)),S(`mdi:close`,v(`common.cancel`),`default`,()=>void m.run(g(e,`cancel`),()=>s.editStates.rowEdit.cancelEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.cancel`)}),e)),g(e,`cancel`))]:[S(`mdi:pencil`,v(`common.edit`),`warning`,()=>s.editStates.rowEdit.startEditRow(e))],M=(e,t)=>{let n=[];return y(`detail`)&&n.push(S(`mdi:eye`,v(`common.detail`),`info`,()=>void A(e,t),g(c(e),`detail`))),y(`edit`)&&(a.value.editMode===`modal`||b(i.value?.edit))&&n.push(S(`mdi:pencil`,v(`common.edit`),`warning`,()=>void O(e,t),g(c(e),`edit`))),y(`delete`)&&n.push(S(`mdi:delete`,v(`common.delete`),`error`,()=>void k(e,t).catch(()=>void 0),g(c(e),`delete`))),n},N=(e,t)=>{let n=i.value?.custom;if(!n?.length)return null;let a=n.filter(n=>n.show?n.show(e,t):!0);return a.length?(0,u.h)(d.NDropdown,{options:a.map(n=>{let i=typeof n.label==`function`?n.label(e,t):n.label,a=typeof n.icon==`function`?n.icon(e,t):n.icon;return{label:i,key:n.key,icon:()=>(0,u.h)(r.t,{name:a,size:14}),disabled:n.disabled?.(e,t)||m.isRunning(g(c(e),`custom:${n.key}`))}}),onSelect:n=>{let r=a.find(e=>e.key===n);if(!r)return;let i=typeof r.label==`function`?r.label(e,t):r.label;m.run(g(c(e),`custom:${r.key}`),()=>r.onClick(e,t),()=>!r.disabled?.(e,t)).catch(e=>_.error(v(`table.actionFailed`,{action:i}),e))}},()=>S(`mdi:dots-horizontal`,v(`table.moreActions`),`default`,()=>{},void 0,a.some(t=>m.isRunning(g(c(e),`custom:${t.key}`))))):null};return{renderActions:(e,t)=>{if(i.value?.render)return i.value.render(e,t);let n=c(e),r=a.value.editable&&[`row`,`both`].includes(a.value.editMode);if(r&&s.editStates.rowEdit.isEditingRow(n))return(0,u.h)(d.NSpace,{size:2,wrap:!1},()=>j(n));let o=b(i.value?.edit),l=[...r&&!o?j(n):[],...M(e,t)],f=N(e,t);return f&&l.push(f),(0,u.h)(d.NSpace,{size:2,wrap:!1},()=>l)},isActionEnabled:y}}const Ve=Symbol(`C_TABLE_GLOBAL_CONFIG`),He={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function Ue(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function X(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const Z={date:(e,t)=>Ue(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>Ue(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=X(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>X(e,t.precision??0)};function Q(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&Z[n.type];return i?i(e,{...{...He,...r}[n.type],...n.config}):String(e??`-`)}function We(){return(0,u.getCurrentInstance)()?(0,u.inject)(Ve,{}):{}}const $=(e,t)=>t===void 0?e:t&&e&&typeof t==`object`&&typeof e==`object`&&!Array.isArray(t)&&!Array.isArray(e)?{...e,...t}:t;function Ge(e,t){let n=t.defaults??{},r={...n,...e};if([`edit`,`pagination`,`expand`,`selection`,`dynamicRows`,`toolbar`,`display`,`virtualScroll`,`summary`,`columnDrag`,`tree`,`rowDrag`,`crossPageSelection`,`export`,`formatterConfig`,`error`,`batchActions`].forEach(t=>{let i=e=>t===`edit`&&typeof e==`string`?{mode:e}:e,a=$(i(n[t]),i(e[t]));a!==void 0&&(r[t]=a)}),t.display){let e=typeof r.display==`object`?r.display:{};r.display={...t.display,...e}}if(t.pageSize&&r.pagination!==!1){let e=typeof r.pagination==`object`?r.pagination:{};e.pageSize||(r.pagination={...e,pageSize:t.pageSize})}return r}const Ke=(0,u.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),qe={number:d.NInputNumber,switch:d.NSwitch,input:d.NInput,email:d.NInput,mobile:d.NInput,date:e=>(0,u.h)(Ke,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>(0,u.h)(d.NSelect,{...e,options:e.options||[]}),textarea:e=>(0,u.h)(d.NInput,{...e,type:`textarea`,rows:3})},Je={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Ye=(e,t)=>e.filter(k).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Je[e.editType??`input`]??`input`,placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:A(e,t),attrs:n,layout:{span:1},show:!0}});function Xe(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=e,c={value:t,"onUpdate:value":n,placeholder:`请输入${s.title??``}`,style:{width:`100%`},...a?{size:a}:{},...e.editProps,...o?{disabled:!0}:{}};return(0,u.h)(qe[e.editType||`input`]||qe.input,c)}function Ze(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Q(r,t,e.formatter,i):String(r??``)}function Qe(e,t,n,i,a,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>(0,u.h)(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[(0,u.h)(r.t,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return(0,u.h)(`div`,{class:`cell-editing-container`},[(0,u.h)(`div`,{class:`cell-editing-input`},[Xe(e,t,n,o.rowData,o.rowIndex,o.size,o.busy)]),(0,u.h)(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,i),s(`cancel`,`取消`,a)])])}function $e(e,t,n,i,a,o){let s;return s=e.render?e.render(t,n)??String(i??``):e.formatter?Q(i,t,e.formatter,o):String(i??``),(0,u.h)(`div`,{class:`cell-edit-wrapper`},[(0,u.h)(`span`,{class:`cell-value`},s),(0,u.h)(r.t,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function et(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=(0,u.ref)([]),l=(0,u.ref)(!1),d=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};(0,u.watch)([t,s],([e])=>{e?.length?d(e):c.value=[]},{deep:!0,immediate:!0});let f=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Qe(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0}):$e(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},p=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Ze(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Xe(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,n.value.density?n.value.controlSize:void 0,i.editStates.rowEdit.isSaving?.value)}return u.isCellEditMode()?f(e,t,a,l):Ze(e,t,a,c,n.value.formatterConfig)},m=t=>t.width===void 0?t.type===`selection`||t.type===`expand`?40:t.type===`index`?50:e.columnWidth??180:t.width,h=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:m(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=t=>{let n=t,r=!n.fixed&&n.width===void 0&&n.maxWidth===void 0&&e.columnWidthExplicit===!1,i={...n,width:r?void 0:m(t),minWidth:n.minWidth??(r?e.columnWidth:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,n)=>p(t,e,n)};return t.fixed&&(i.fixed=t.fixed),t.resizable&&typeof i.width==`number`&&(i.resizable=!0,i.minWidth=t.minWidth??80,i.maxWidth=t.maxWidth??500),i},_=(0,u.computed)(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?h(e):e.type===`selection`||e.type===`expand`?{...t,width:m(e)}:g(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:t?.width??180,className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:_,computedScrollX:(0,u.computed)(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=_.value.some(e=>e.fixed),n=_.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`),r=_.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0);if(!(!t&&!(n&&r)))return _.value.reduce((e,t)=>{let n=t.width;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?m(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function tt(e){let{data:t,onReorder:n,onSort:r}=e,i=(0,u.ref)(!1),a=null,o=0,s=!1,c,l=null,d,f,p=null,m,h=t=>t.map(t=>ee(t,e.rowKey)),g=()=>{m?.parentNode!==l||!l||p&&p.parentNode!==l||l.insertBefore(m,p)},_=()=>{a?.destroy(),a=null,l=null,d=void 0,f=void 0,m=void 0,p=null,i.value=!1},v=(e,t,n)=>{if(!d||d.length!==e.length||d.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==f?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},y=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=h(s),u=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],_=a===m&&v(s,c,u);if(g(),d=void 0,f=void 0,m=void 0,p=null,!_||!o)return;let y=c.indexOf(o),b=u.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},b=async n=>{let r=++o;c?.disconnect(),c=void 0,_();let g=(0,u.toValue)(e.config);if(!(!g||g.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let u=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(_(),c&&(l=c,a=new e(c,{animation:g.animationDuration??150,handle:g.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:g.ghostClass??`row-drag-ghost`,chosenClass:g.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{d=[...t.value],f=h(d),m=e.item,p=e.item.nextSibling,i.value=!0},onEnd:y})))};c=new MutationObserver(u),c.observe(n,{childList:!0,subtree:!0}),u()}catch{}},x=()=>{o+=1,c?.disconnect(),c=void 0,_()};return(0,u.onBeforeUnmount)(()=>{s=!0,x()}),{initRowDrag:b,destroyRowDrag:x,isDragging:i}}function nt(e){let t=(0,u.ref)(new Set),n=(0,u.shallowReactive)(new Map),r=()=>(0,u.toValue)(e.config)?.enabled===!0,i=(t=e.allData.value)=>I(t,(0,u.toValue)(e.childrenKey)),a=(0,u.computed)(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=(0,u.toValue)(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=(0,u.computed)(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),d=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},f=(r,i=[])=>{let a=d(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},p=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),f(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);f((0,u.toValue)(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(f([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),f(n)},v=()=>f([]);return(0,u.watch)(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if((0,u.toValue)(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));f([...t.value].filter(e=>s.has(e)),o)}),(0,u.watch)(()=>[r(),s()],([e])=>{e?f(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:p,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function rt(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function it(e,t,n){let r=e[t.key];return t.formatter?Q(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function at(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
2
- `)||r.includes(`\r`)?`"${r.replace(/"/g,`""`)}"`:r}function ot(e){return[...e||`export`].map(e=>e.charCodeAt(0)<32||`<>:"/\\|?*`.includes(e)?`_`:e).join(``).trim()||`export`}function st(e,t,n){let r=n.csvSeparator??`,`,i=n.preventFormulaInjection!==!1,a=rt(t,n.columnKeys),o=[];n.includeHeader!==!1&&o.push(a.map(e=>at(e.title??``,r,i)).join(r));for(let t of e){let e=a.map(e=>at(it(t,e,n.formatterConfig),r,i));o.push(e.join(r))}lt(new Blob([``+o.join(`
3
- `)],{type:`text/csv;charset=utf-8;`}),`${ot(n.filename)}.csv`)}async function ct(e,t,n){let r=rt(t,n.columnKeys),i;try{i=await Promise.resolve().then(()=>require(`./xlsx2.cjs`)).then(e=>e.r)}catch(r){n.onFallback?.(`xlsx`,`csv`,r),st(e,t,{...n,format:`csv`});return}let a=r.map(e=>e.title??e.key??``),o=e.map(e=>r.map(t=>it(e,t,n.formatterConfig))),s=n.includeHeader===!1?o:[a,...o],c=i.utils.aoa_to_sheet(s),l=i.utils.book_new();i.utils.book_append_sheet(l,c,`Sheet1`),i.writeFile(l,`${ot(n.filename)}.xlsx`)}function lt(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}async function ut(e,t,n={}){n.format===`xlsx`?await ct(e,t,n):st(e,t,n)}const dt=e=>[{label:e.fixed?`✓ 取消固定`:`不固定`,key:`none`,disabled:!e.fixed},{label:e.fixed===`left`?`✓ 固定左侧`:`固定左侧`,key:`left`,disabled:!1},{label:e.fixed===`right`?`✓ 固定右侧`:`固定右侧`,key:`right`,disabled:!1}],ft=[`_actions`],pt=[`selection`,`expand`],mt=e=>ft.includes(e.key)||pt.includes(e.type),ht=e=>typeof e==`string`||typeof e==`number`&&Number.isFinite(e),gt=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0||typeof e==`string`&&e.trim().length>0&&e.length<=128,_t=e=>e.map(e=>({...e})),vt=e=>{let t;try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.flatMap((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let n=e;return ht(n.key)?[{key:n.key,order:t,...typeof n.visible==`boolean`&&{visible:n.visible},...gt(n.width)&&{width:n.width},...(n.fixed===`left`||n.fixed===`right`)&&{fixed:n.fixed}}]:[]}):[]},yt=(e,t)=>{let n=new Map(vt(t).map(e=>[e.key,e]));return _t(e).map(e=>{let t=ht(e.key)?n.get(e.key):void 0;return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:e}).sort((e,t)=>{let r=ht(e.key)?n.get(e.key)?.order:void 0,i=ht(t.key)?n.get(t.key)?.order:void 0;return(r??1/0)-(i??1/0)})},bt=e=>JSON.stringify(e.filter(e=>ht(e.key)).map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}))),xt={class:`column-management-tab`},St={class:`search-row`},Ct={class:`resizable-control`},wt={class:`top-actions-bar`},Tt={class:`stats-info`},Et={class:`quick-actions`},Dt=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],Ot={class:`column-info`},kt={class:`column-controls`},At={class:`column-details`},jt={class:`column-actions`},Mt={class:`drag-controls`},Nt=(0,u.defineComponent)({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(e,{emit:t}){let n=e,i=t,a=e=>{if(!n.persistKey)return _t(e);try{let t=localStorage.getItem(`c_table_cols_${n.persistKey}`);return t?yt(e,t):_t(e)}catch{return _t(e)}},o=e=>{if(n.persistKey)try{localStorage.setItem(`c_table_cols_${n.persistKey}`,bt(e))}catch{}},s=(0,u.ref)(a(n.columns)),c=(0,u.ref)(``),l=(0,u.ref)(),f=(0,u.ref)(null),p=(0,u.ref)(null),m=(0,u.ref)(!1);(0,u.onMounted)(()=>{m.value=s.value.some(e=>e.resizable===!0),n.persistKey&&i(`change`,[...s.value])}),(0,u.watch)(()=>n.columns,e=>{s.value=a(e),m.value=s.value.some(e=>e.resizable===!0)},{deep:!0});let h=(0,u.computed)(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>String(t.title??``).toLowerCase().includes(e)||String(t.key??``).toLowerCase().includes(e))}),g=(0,u.computed)(()=>s.value.filter(e=>e.visible!==!1).length),_=(0,u.computed)(()=>s.value.length),v=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),T()},y=()=>v(!0),b=()=>v(!1),x=e=>{let t=h.value[e];return s.value.findIndex(e=>e.key===t.key)},S=(e,t)=>{let n=x(e);n!==-1&&(t(s.value[n]),T())},C=(e,t)=>{S(e,e=>{e.visible=t})},w=(e,t)=>{S(e,e=>{e.fixed=t===`none`?void 0:t})},T=()=>{o(s.value),i(`change`,[...s.value])},E=()=>{s.value=_t(n.columns),T()},D=e=>{s.value.forEach(t=>{mt(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),T()},O=(e,t)=>{let n=x(e),r=x(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),T()}},k=(e,t)=>{if(h.value[e].key===`_actions`){t.preventDefault();return}f.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},A=(e,t)=>{t.preventDefault(),!(f.value===null||h.value[e].key===`_actions`)&&(p.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},j=e=>{f.value===null||h.value[e].key===`_actions`||(O(f.value,e),f.value=null,p.value=null)},M=()=>{f.value=null,p.value=null};return(e,t)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,xt,[(0,u.createCommentVNode)(` 搜索框和列宽调整开关 `),(0,u.createElementVNode)(`div`,St,[(0,u.createVNode)((0,u.unref)(d.NInput),{value:c.value,"onUpdate:value":t[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:(0,u.withCtx)(()=>[(0,u.createVNode)(r.t,{name:`mdi:magnify`})]),_:1},8,[`value`]),(0,u.createElementVNode)(`div`,Ct,[(0,u.createVNode)(r.t,{name:`mdi:arrow-split-vertical`,size:`14`,title:m.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),(0,u.createVNode)((0,u.unref)(d.NText),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:(0,u.withCtx)(()=>[...t[2]||=[(0,u.createTextVNode)(` 列宽调整 `,-1)]]),_:1}),(0,u.createVNode)((0,u.unref)(d.NSwitch),{value:m.value,"onUpdate:value":[t[1]||=e=>m.value=e,D],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),(0,u.createCommentVNode)(` 顶部操作栏:统计信息和快捷操作按钮 `),(0,u.createElementVNode)(`div`,wt,[(0,u.createElementVNode)(`div`,Tt,[(0,u.createVNode)((0,u.unref)(d.NText),{depth:`3`,style:{fontSize:`13px`}},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)(` 已选 `+(0,u.toDisplayString)(g.value)+` / 总共 `+(0,u.toDisplayString)(_.value)+` 列 `,1)]),_:1})]),(0,u.createElementVNode)(`div`,Et,[(0,u.createVNode)((0,u.unref)(d.NSpace),{size:6},{default:(0,u.withCtx)(()=>[(0,u.createVNode)((0,u.unref)(d.NButton),{size:`tiny`,onClick:y},{default:(0,u.withCtx)(()=>[...t[3]||=[(0,u.createTextVNode)(` 全选 `,-1)]]),_:1}),(0,u.createVNode)((0,u.unref)(d.NButton),{size:`tiny`,onClick:b},{default:(0,u.withCtx)(()=>[...t[4]||=[(0,u.createTextVNode)(` 全不选 `,-1)]]),_:1}),(0,u.createVNode)((0,u.unref)(d.NButton),{size:`tiny`,onClick:E},{default:(0,u.withCtx)(()=>[...t[5]||=[(0,u.createTextVNode)(` 重置 `,-1)]]),_:1})]),_:1})])]),(0,u.createCommentVNode)(` 列列表 `),(0,u.createElementVNode)(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(h.value,(e,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:e.key,class:(0,u.normalizeClass)([`column-item`,{disabled:e.key===`_actions`,"fixed-left":e.fixed===`left`,"fixed-right":e.fixed===`right`}]),draggable:e.key!==`_actions`,onDragstart:e=>k(n,e),onDragover:e=>A(n,e),onDragend:M,onDrop:e=>j(n)},[(0,u.createElementVNode)(`div`,Ot,[(0,u.createElementVNode)(`div`,kt,[(0,u.createVNode)(r.t,{name:`mdi:drag`,size:`16`,class:(0,u.normalizeClass)([`drag-handle`,{disabled:e.key===`_actions`}])},null,8,[`class`]),(0,u.createVNode)((0,u.unref)(d.NCheckbox),{checked:e.visible!==!1,disabled:e.key===`_actions`,"onUpdate:checked":e=>C(n,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),(0,u.createElementVNode)(`div`,At,[(0,u.createVNode)((0,u.unref)(d.NSpace),{align:`center`,size:6},{default:(0,u.withCtx)(()=>[(0,u.createVNode)((0,u.unref)(d.NText),{strong:``,style:{fontSize:`13px`}},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)(e.title||e.key),1)]),_:2},1024),e.fixed===`left`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NTag),{key:0,size:`tiny`,type:`info`},{default:(0,u.withCtx)(()=>[...t[6]||=[(0,u.createTextVNode)(` 左固定 `,-1)]]),_:1})):(0,u.createCommentVNode)(`v-if`,!0),e.fixed===`right`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NTag),{key:1,size:`tiny`,type:`warning`},{default:(0,u.withCtx)(()=>[...t[7]||=[(0,u.createTextVNode)(` 右固定 `,-1)]]),_:1})):(0,u.createCommentVNode)(`v-if`,!0)]),_:2},1024),(0,u.createVNode)((0,u.unref)(d.NText),{depth:`3`,style:{fontSize:`11px`}},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)(e.key),1)]),_:2},1024)])]),(0,u.createElementVNode)(`div`,jt,[(0,u.createElementVNode)(`div`,Mt,[(0,u.createVNode)(r.t,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:n!==0,class:(0,u.normalizeClass)({disabled:n===0}),onClick:e=>n!==0&&O(n,n-1)},null,8,[`clickable`,`class`,`onClick`]),(0,u.createVNode)(r.t,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:n!==h.value.length-1,class:(0,u.normalizeClass)({disabled:n===h.value.length-1}),onClick:e=>n!==h.value.length-1&&O(n,n+1)},null,8,[`clickable`,`class`,`onClick`])]),(0,u.createVNode)((0,u.unref)(d.NDropdown),{options:(0,u.unref)(dt)(e),onSelect:e=>w(n,e)},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(r.t,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:(0,u.normalizeStyle)({color:e.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,Dt))),128))],512)]))}});var Pt=i.t(Nt,[[`__scopeId`,`data-v-92119048`]]);const Ft=[`aria-busy`],It={key:1,class:`table-toolbar`},Lt={class:`toolbar-left`},Rt={class:`toolbar-right`},zt={key:2,class:`batch-actions-bar`},Bt={class:`batch-info`},Vt={key:3,class:`table-error-state`},Ht={class:`error-content`},Ut={class:`error-message`},Wt=(0,u.defineComponent)({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{},config:{default:()=>({})},crud:{},pagination:{type:[Object,Boolean],default:void 0},remote:{type:Boolean,default:void 0},virtualScrollX:{type:Boolean},wrapperClass:{},flexHeight:{type:Boolean}},emits:[`pagination-change`,`row-delete`,`batch-action-error`,`row-key-error`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`edit-error`],setup(e,{expose:i,emit:l}){let f=(0,u.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Form.cjs`)).then(e=>e.C_Form)),p=e,m=l,h=(0,u.ref)(null),g=(...e)=>{m(...e);let{crud:t}=p;if(t)switch(e[0]){case`save`:return t.save?.(e[1],e[2],e[3]);case`cancel`:return t.handleCancel?.();case`pagination-change`:return t.handlePaginationChange?.(e[1],e[2]);case`row-delete`:return t.handleRowDelete?.(e[1],e[2]);case`view-detail`:return t.detail?.show(e[1])}},_=We(),v=e=>{let t=p.rowKey??`id`;return typeof t==`function`?t(e):e[t]},y=(0,u.computed)(()=>{let e=p.config||{};if(p.crud){let t={};if(p.crud.actions){let e=p.crud.actions.value;t.actions={...e,...p.crud.save&&typeof e.edit==`function`?{edit:void 0}:{}}}p.crud.pagination&&(t.pagination=p.crud.pagination.value??void 0),e={...t,...e}}return Ge(e,_)}),b=(0,u.computed)(()=>p.columns??p.crud?.columns.value??[]),x=(0,u.computed)(()=>D(y.value)),S=n.t(()=>x.value.feedback),{t:C}=t.t(()=>x.value.locale),w=(0,u.computed)(()=>O(x.value)),T=e=>e&&typeof e==`object`&&`value`in e?e.value:e,E=(0,u.computed)(()=>T(p.data)??p.crud?.data.value??[]),k=(0,u.computed)(()=>T(p.loading)??p.crud?.loading.value??!1),A=(0,u.computed)(()=>x.value.treeEnabled&&x.value.treeDefaultExpandAll?ie(E.value,x.value.treeChildrenKey,v):[]),j=(0,u.computed)(()=>({...x.value,defaultExpandedKeys:[...new Set([...x.value.defaultExpandedKeys??[],...A.value])]})),M=``;(0,u.watch)(()=>y.value.validateRowKeys===!1?[]:E.value.map(e=>{try{return v(e)}catch{return}}),()=>{if(y.value.validateRowKeys===!1){M=``;return}let e=re(E.value,v);if(e.length===0){M=``;return}let t=e.map(e=>[e.type,e.index,e.firstIndex,String(e.key)].join(`:`)).join(`|`);t!==M&&(M=t,S.warning(C(`table.invalidRowKeys`,{count:e.length})),m(`row-key-error`,e))},{immediate:!0});let N=(0,u.computed)(()=>p.pagination!==void 0),P=(0,u.computed)(()=>p.remote??x.value.pagination?.remote??!1),F=(0,u.ref)((e=>{if(!e)return 10;if(e.defaultPageSize!==void 0)return e.defaultPageSize;let t=e.pageSizes?.[0];return typeof t==`number`?t:t?.value||10})(p.pagination)),I=(0,u.ref)(p.pagination?p.pagination.defaultPage??1:1),te=e=>{I.value=e},ne=e=>{F.value=e},L=Pe({config:j,data:()=>E.value,rowKey:v,rowKeyField:()=>typeof p.rowKey==`function`?void 0:p.rowKey??`id`,emit:g,columns:()=>b.value,renderLoading:()=>(0,u.h)(a.t,{size:32,label:C(`table.loading`)})}),ae=new Set;(0,u.watch)(A,e=>{if(!x.value.treeEnabled||!x.value.treeDefaultExpandAll){ae.clear();return}let t=e.filter(e=>!ae.has(e));e.forEach(e=>ae.add(e));let n=L.expandedKeys.value,r=t.filter(e=>!n.includes(e));r.length&&L.expandState?.handleExpandChange([...n,...r])},{immediate:!0});let oe=Be({actions:(0,u.computed)(()=>y.value.actions||{}),config:x,tableManager:L,rowKey:v,onRowDeleted:(e,t)=>m(`row-delete`,e,t),isDeleteFeedbackHandled:e=>p.crud?.actions?.value.delete===e,onViewDetail:e=>g(`view-detail`,e)}),se=(0,u.computed)(()=>{let{actions:e}=y.value;return!!(x.value.showRowActions||e?.delete||e?.detail||e?.custom?.length||e?.render)}),ce=et({rawColumns:b,config:x,get columnWidth(){return x.value.columnWidth},get columnWidthExplicit(){return p.virtualScrollX===!0||y.value.display?.columnWidth!==void 0},get scrollX(){return x.value.scrollX},rowKey:v,tableManager:L,actionsRenderer:oe.renderActions,editModeChecker:w,showActionsColumn:se}),{showSettingsPanel:le,reactiveColumns:ue,computedColumns:de,computedScrollX:fe}=ce,pe=ze({data:E,columns:ue,remote:()=>N.value||x.value.pagination?.remote===!0}),me=ze({data:E,columns:ue,remote:P}),R=Fe({data:pe.processedData,config:(0,u.computed)(()=>N.value?null:x.value.pagination),emit:g}),z=(0,u.computed)(()=>{if(N.value){let e=h.value?.getCurrentPageData?.();if(e)return e;let t=me.processedData.value;if(!p.pagination||P.value)return t;let n=p.pagination.pageSize??F.value,r=Math.max(1,Math.min(p.pagination.page??I.value,Math.ceil(t.length/Math.max(1,n))));return t.slice((r-1)*n,r*n)}return R.paginatedData.value}),he=e=>{pe.setSorter(e),me.setSorter(e)},ge=e=>{pe.setFilters(e),me.setFilters(e),!N.value&&!x.value.pagination?.remote&&R.resetToFirstPage()},_e=(0,u.useAttrs)(),ve=(0,u.computed)(()=>x.value.rowDrag!==void 0&&x.value.rowDrag.enabled!==!1&&!x.value.virtualScroll&&p.virtualScrollX!==!0),ye=(0,u.computed)(()=>{let e=z.value,t=e.map(e=>[ee(e,v),e]),n=new Set(t.map(([e])=>e));return t.some(([e])=>e===void 0)||n.size!==e.length?new Map:new Map(t)}),be=(e,t)=>{let n=_e.rowProps??_e[`row-props`],r=typeof n==`function`?n(e,t):void 0;if(!ve.value)return r;let i=ee(e,v);return{...r,"data-c-table-row-key":i!==void 0&&ye.value.get(i)===e?i:void 0}},xe,Se=tt({data:z,rowKey:v,config:(0,u.computed)(()=>ve.value?x.value.rowDrag:void 0),onReorder:e=>{let t=new Map(E.value.map((e,t)=>[v(e),t]));if(xe=z.value.map(e=>t.get(v(e))),N.value?P.value:x.value.pagination?.remote===!0){g(`update:data`,e);return}let n=[...E.value];xe.forEach((t,r)=>{t!==void 0&&(n[t]=e[r])}),g(`update:data`,n)},onSort:(e,t,n)=>{let r=xe?.[t]??t,i=xe?.[n]??n;xe=void 0,m(`row-move`,e,r,i)}}),B=nt({allData:E,rowKey:v,config:(0,u.computed)(()=>x.value.crossPageSelection),remote:()=>N.value?P.value:x.value.pagination?.remote===!0,childrenKey:()=>x.value.treeEnabled?x.value.treeChildrenKey:void 0,rowCheckable:e=>x.value.rowCheckable?.(e)??!0,onSelectionChange:(e,t)=>m(`selection-change`,e,t,new Map)}),V=(0,u.computed)(()=>x.value.crossPageSelection?.enabled===!0),Ce=(0,u.computed)(()=>V.value?B.selectedCount.value:L.checkedKeys?.value?.length??0),we=o.t(),Te=async e=>{if(we.isRunning(e.key))return;let t=V.value?[...B.selectedKeys.value]:L.checkedKeys?.value??[],n=new Set(t),r=V.value?B.getSelectedRows():E.value.filter(e=>n.has(v(e)));try{if(!(await we.run(e.key,()=>e.onClick(t,r))).executed)return;x.value.batchActions?.clearSelectionOnSuccess&&Ee()}catch(t){x.value.batchActions?.onError?.(t,e.key),m(`batch-action-error`,t,e.key)}},Ee=()=>{V.value?B.clearAll():L.stateManager.selection.clear()},De=(0,u.computed)(()=>V.value?B.getPageCheckedKeys(z.value):null),Oe=e=>{if(V.value){B.handlePageSelectionChange(e,z.value);return}L.expandState?.handleSelectionChange?.(e)},ke=o.t(),Ae=async()=>{let e=x.value.exportConfig??{};await ke.run(`export`,async()=>{let t=()=>V.value?B.getSelectedRows():L.stateManager.selection.getSelected(),n=e.scope===`page`?z.value:E.value;await ut(e.requestData?await e.requestData():e.scope===`selected`?t():n,e.scope&&e.scope!==`source`?ue.value:b.value,{...e,formatterConfig:x.value.formatterConfig})})},je=(0,u.computed)(()=>x.value.summaryRender),H=(0,u.ref)(),U=null,W=0,Me=()=>{W+=1,U?.destroy(),U=null},Ne=async()=>{let e=++W;if(U?.destroy(),U=null,!(!x.value.enableColumnDrag||!H.value))try{let{default:t}=await import(`sortablejs`);if(e!==W||!H.value)return;let n=H.value.querySelector(`.n-data-table-thead tr`);if(!n)return;U=new t(n,{animation:x.value.columnDragAnimationDuration,handle:x.value.columnDragHandleClass?`.${x.value.columnDragHandleClass}`:void 0,filter:`.c-table-actions-column`,preventOnFilter:!0,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...ue.value],n=t.filter(e=>e.visible!==!1&&e.key!==`_actions`),r=n[e.oldIndex],i=n[e.newIndex];if(!r||!i||r===i)return;let a=t.indexOf(r),o=t.indexOf(i);t.splice(a,1),t.splice(o,0,r),ce.handleColumnChange(t),m(`column-change`,t)}})}catch{}},G=(0,u.computed)(()=>({striped:x.value.striped,bordered:x.value.bordered,singleLine:x.value.singleLine,size:x.value.size,maxHeight:x.value.maxHeight,tableLayout:de.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`)&&de.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0)?`fixed`:void 0})),K=(0,u.ref)(),q=(0,u.ref)(!1),J=(0,u.ref)({}),Ie=(0,u.computed)({get:()=>L.editStates.modalEdit.isModalVisible.value,set:e=>{L.editStates.modalEdit.isModalVisible.value=e}}),Le=(0,u.computed)(()=>`edit-form-${L.editStates.modalEdit.editingRowKey.value??`new`}`),Re=(0,u.computed)(()=>Ye(b.value,()=>J.value));(0,u.watch)(()=>L.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(J.value=c.t(e))},{immediate:!0,deep:!0});let Y=null;(0,u.watch)(Ie,e=>{e&&Y&&(clearTimeout(Y),Y=null),e||(Y&&clearTimeout(Y),Y=setTimeout(()=>{J.value={},Y=null},300))});let Ve=async()=>{if(!K.value||q.value)return;let e=L.editStates.modalEdit.editingRowKey.value,t=c.t(J.value);q.value=!0;try{try{await K.value.validate()}catch{return}if(e!==L.editStates.modalEdit.editingRowKey.value||!c.a(t,J.value))return;await L.editStates.modalEdit.saveEdit(t)}finally{q.value=!1}},He=()=>{J.value={},L.editStates.modalEdit.cancelEdit()},Ue=e=>{ce.handleColumnChange(e),m(`column-change`,ce.reactiveColumns.value)},{edit:X,expand:Z,selection:Q,dynamicRows:$}=L.stateManager,Ke=()=>h.value?.getFilteredAndSortedData?.().length??me.processedData.value.length,qe={startEdit:X.start,cancelEdit:X.cancel,saveEdit:()=>L.editStates.modalEdit.isModalVisible.value?Ve():X.save(),expandRow:Z.row,collapseRow:Z.collapse,toggleExpand:Z.toggle,retryExpand:e=>L.expandState.retryExpand(e),invalidateExpand:e=>L.expandState.invalidateExpand(e),expandAll:Z.all,collapseAll:Z.collapseAll,selectRow:e=>V.value?B.select(e):(Q.select(e),Q.isSelected(e)),unselectRow:e=>{V.value?B.unselect(e):Q.unselect(e)},selectAll:()=>{V.value?B.selectAll():Q.all()},clearSelection:Ee,isRowSelected:e=>V.value?B.isSelected(e):Q.isSelected(e),clearAllSelections:()=>{B.clearAll(),L.stateManager.clearAllSelections()},selectChildRow:L.stateManager.childSelection.select,unselectChildRow:L.stateManager.childSelection.unselect,selectAllChildren:L.stateManager.childSelection.selectAll,clearChildrenSelection:L.stateManager.childSelection.clear,getChildSelectedRows:L.stateManager.childSelection.getSelected,addRow:$.add,insertRow:$.insert,deleteRow:$.delete,copyRow:$.copy,moveRowUp:$.moveUp,moveRowDown:$.moveDown,clearRowSelection:$?.clearSelection,getSelectedRowData:$.getSelected,printTable:e=>$.print(e??H.value),downloadTableScreenshot:(e,t)=>$.download(e??H.value,t),resetToFirstPage:()=>{N.value?(I.value=1,h.value?.page(1)):R.resetToFirstPage()},getTotalPages:()=>{if(!N.value)return R.getTotalPages();let e=p.pagination;if(!e)return 1;if(P.value&&e.itemCount===void 0&&e.pageCount!==void 0)return Math.max(1,e.pageCount);let t=P.value?e.itemCount??E.value.length:Ke(),n=e.pageSize??F.value;return Math.max(1,Math.ceil(t/Math.max(1,n)))},getSelectedRows:()=>V.value?B.getSelectedRows():Q.getSelected(),getEditingData:()=>X.getEditingData()??null,isEditing:X.isEditing,isExpanded:Z.isExpanded,getManager:()=>L.stateManager,exportData:Ae,crossPageSelection:{enabled:V,selectedKeys:B.selectedKeys,selectedCount:B.selectedCount,select:B.select,unselect:B.unselect,selectAll:B.selectAll,clearAll:B.clearAll,getSelectedRows:B.getSelectedRows}};return i(qe),(0,u.onMounted)(()=>{let e=p.crud?.tableRef;e&&(e.value=qe),Ne(),H.value&&Se.initRowDrag(H.value)}),(0,u.watch)([()=>x.value.enableColumnDrag,()=>x.value.columnDragHandleClass,()=>k.value,()=>de.value.length],async()=>{await(0,u.nextTick)(),await Ne()},{immediate:!0,flush:`post`}),(0,u.watch)([()=>x.value.rowDrag,ve,()=>k.value,()=>z.value.length,()=>R.currentPage.value],async()=>{await(0,u.nextTick)(),H.value&&await Se.initRowDrag(H.value)},{immediate:!0,deep:!0,flush:`post`}),(0,u.onBeforeUnmount)(()=>{Y&&clearTimeout(Y),Me(),Se.destroyRowDrag()}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{ref_key:`tableWrapperRef`,ref:H,class:(0,u.normalizeClass)([`c-table-wrapper`,[e.wrapperClass,{"c-table-wrapper--flex":e.flexHeight},x.value.density&&`c-table-wrapper--${x.value.density}`]]),"aria-busy":k.value},[(0,u.createCommentVNode)(` 动态行工具栏 `),x.value.dynamicRows&&(0,u.unref)(L).dynamicRowsState?((0,u.openBlock)(),(0,u.createBlock)((0,u.resolveDynamicComponent)((0,u.unref)(L).dynamicRowsState.renderToolbar(H.value)),{key:0})):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 表格工具栏 `),x.value.showToolbar?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,It,[(0,u.createElementVNode)(`div`,Lt,[(0,u.renderSlot)(t.$slots,`toolbar-left`,{},void 0,!0),x.value.toolbarActions.length?((0,u.openBlock)(),(0,u.createBlock)(s.t,{key:0,actions:x.value.toolbarActions,config:{...x.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,u.createCommentVNode)(`v-if`,!0)]),(0,u.createElementVNode)(`div`,Rt,[(0,u.renderSlot)(t.$slots,`toolbar-right`,{},void 0,!0),x.value.toolbarRightActions.length?((0,u.openBlock)(),(0,u.createBlock)(s.t,{key:0,actions:x.value.toolbarRightActions,config:{align:`right`,...x.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,u.createCommentVNode)(`v-if`,!0),x.value.exportConfig?((0,u.openBlock)(),(0,u.createBlock)(r.t,{key:1,name:`mdi:download`,size:`18`,title:(0,u.unref)(C)(`table.export`),clickable:``,class:`column-settings-btn`,onClick:n[0]||=e=>Ae()},null,8,[`title`])):(0,u.createCommentVNode)(`v-if`,!0),x.value.enableColumnSettings?((0,u.openBlock)(),(0,u.createBlock)(r.t,{key:2,name:`mdi:cog`,size:`18`,title:(0,u.unref)(C)(`table.settings`),clickable:``,class:`column-settings-btn`,onClick:n[1]||=e=>le.value=!0},null,8,[`title`])):(0,u.createCommentVNode)(`v-if`,!0)])])):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 批量操作栏 `),x.value.batchActions?.enabled&&Ce.value>0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,zt,[(0,u.createElementVNode)(`span`,Bt,(0,u.toDisplayString)((0,u.unref)(C)(`table.selectedCount`,{count:Ce.value})),1),(0,u.createVNode)((0,u.unref)(d.NSpace),{size:8},{default:(0,u.withCtx)(()=>[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(x.value.batchActions.actions||[],e=>((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NButton),{key:e.key,type:e.type||`default`,size:x.value.controlSize,loading:(0,u.unref)(we).isRunning(e.key),disabled:(0,u.unref)(we).isRunning(e.key),onClick:t=>Te(e)},(0,u.createSlots)({default:(0,u.withCtx)(()=>[(0,u.createTextVNode)(` `+(0,u.toDisplayString)(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:(0,u.withCtx)(()=>[(0,u.createVNode)(r.t,{name:e.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`size`,`loading`,`disabled`,`onClick`]))),128)),(0,u.createVNode)((0,u.unref)(d.NButton),{size:x.value.controlSize,onClick:Ee},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)((0,u.unref)(C)(`table.cancelSelection`)),1)]),_:1},8,[`size`])]),_:1})])):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 错误状态 `),x.value.error?.show?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Vt,[(0,u.renderSlot)(t.$slots,`error`,{error:x.value.error},()=>[(0,u.createElementVNode)(`div`,Ht,[(0,u.createVNode)(r.t,{name:`mdi:alert-circle-outline`,size:`48`}),(0,u.createElementVNode)(`p`,Ut,(0,u.toDisplayString)(x.value.error.message||(0,u.unref)(C)(`table.loadFailed`)),1),x.value.error.onRetry?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NButton),{key:0,type:`primary`,size:x.value.controlSize,onClick:x.value.error.onRetry},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)((0,u.unref)(C)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])):(0,u.createCommentVNode)(`v-if`,!0)])],!0)])):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 表格主体 `),x.value.error?.show?(0,u.createCommentVNode)(`v-if`,!0):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NDataTable),(0,u.mergeProps)({key:4,ref_key:`tableRef`,ref:h},{...G.value,...t.$attrs},{"flex-height":e.flexHeight,columns:(0,u.unref)(de),data:N.value?E.value:(0,u.unref)(R).paginatedData.value,pagination:N.value?p.pagination:!1,remote:N.value?P.value:!0,"onUpdate:sorter":he,"onUpdate:filters":ge,"onUpdate:pageSize":ne,"onUpdate:page":te,loading:k.value,"row-key":v,"row-props":be,"expanded-row-keys":(0,u.unref)(L).expandedKeys.value,"checked-row-keys":De.value??(0,u.unref)(L).checkedKeys.value,"onUpdate:expandedRowKeys":(0,u.unref)(L).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":Oe,"scroll-x":(0,u.unref)(fe),"virtual-scroll":x.value.virtualScroll,"virtual-scroll-x":p.virtualScrollX,"min-row-height":x.value.virtualScroll?x.value.virtualItemHeight:void 0,"max-height":x.value.virtualScroll?x.value.virtualMaxHeight:x.value.maxHeight,summary:je.value,"summary-placement":x.value.summaryPosition,"children-key":x.value.treeEnabled?x.value.treeChildrenKey:void 0,indent:x.value.treeEnabled?x.value.treeIndent:void 0,"default-expand-all":x.value.treeEnabled?x.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),{loading:(0,u.withCtx)(()=>[(0,u.renderSlot)(t.$slots,`loading`,{},()=>[(0,u.createVNode)((0,u.unref)(a.t),{label:(0,u.unref)(C)(`table.loading`)},null,8,[`label`])],!0)]),_:3},16,[`flex-height`,`columns`,`data`,`pagination`,`remote`,`loading`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-x`,`min-row-height`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),(0,u.createCommentVNode)(` 分页 `),!N.value&&(0,u.unref)(R).paginationConfig.value?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NPagination),(0,u.mergeProps)({key:5},(0,u.unref)(R).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 编辑弹窗 `),x.value.editMode===`modal`||x.value.editMode===`both`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(d.NModal),{key:6,show:Ie.value,"onUpdate:show":n[3]||=e=>Ie.value=e,title:x.value.modalTitle,width:x.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:(0,u.withCtx)(()=>[(0,u.createVNode)((0,u.unref)(d.NSpace),{justify:`end`},{default:(0,u.withCtx)(()=>[(0,u.createVNode)((0,u.unref)(d.NButton),{size:x.value.density?x.value.controlSize:`medium`,disabled:q.value,onClick:He},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)((0,u.unref)(C)(`common.cancel`)),1)]),_:1},8,[`size`,`disabled`]),(0,u.createVNode)((0,u.unref)(d.NButton),{type:`primary`,size:x.value.density?x.value.controlSize:`medium`,disabled:!K.value||q.value,loading:q.value,onClick:Ve},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)((0,u.unref)(C)(`common.save`)),1)]),_:1},8,[`size`,`disabled`,`loading`])]),_:1})]),default:(0,u.withCtx)(()=>[Ie.value&&Re.value.length?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(f),{ref_key:`editFormRef`,ref:K,key:Le.value,modelValue:J.value,"onUpdate:modelValue":n[2]||=e=>J.value=e,options:Re.value,config:{layout:`grid`,density:x.value.density,grid:{cols:2,...x.value.density?{}:{xGap:16,yGap:16}},showActions:!1}},null,8,[`modelValue`,`options`,`config`])):(0,u.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 动态行确认删除弹窗 `),x.value.dynamicRows&&(0,u.unref)(L).dynamicRowsState?((0,u.openBlock)(),(0,u.createBlock)((0,u.resolveDynamicComponent)((0,u.unref)(L).dynamicRowsState.renderConfirmModal()),{key:7})):(0,u.createCommentVNode)(`v-if`,!0),(0,u.createCommentVNode)(` 列设置抽屉 `),(0,u.createVNode)((0,u.unref)(d.NDrawer),{show:(0,u.unref)(le),"onUpdate:show":n[4]||=e=>(0,u.isRef)(le)?le.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:(0,u.withCtx)(()=>[(0,u.createVNode)((0,u.unref)(d.NDrawerContent),{title:(0,u.unref)(C)(`table.columnSettings`),closable:``},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(Pt,{columns:(0,u.unref)(ue),"persist-key":x.value.persistKey,onChange:Ue},null,8,[`columns`,`persist-key`])]),_:1},8,[`title`])]),_:1},8,[`show`])],10,Ft))}});var Gt=i.t(Wt,[[`__scopeId`,`data-v-e7f232d7`]]);const Kt=(e,t)=>Number.isFinite(e)?Math.max(1,Math.floor(e)):t;function qt(e){let t=(0,u.shallowRef)([]),n=(0,u.ref)(!1),r=(0,u.shallowRef)(),i=(0,u.ref)(0),a=c.t(e.initialQuery),o=(0,u.ref)(Kt(e.initialPage,1)),s=(0,u.ref)(Kt(e.pageSize,20)),l=(0,u.shallowRef)(c.t(a)),d=0,f=null,p=async()=>{let a=++d;f?.abort(),f=new AbortController,n.value=!0,r.value=void 0;try{let n=await e.request({page:o.value,pageSize:s.value,query:c.t(l.value),signal:f.signal});if(a!==d||f.signal.aborted)return!1;if(!Array.isArray(n.data)||!Number.isFinite(n.total))throw TypeError(`[C_Table] request 必须返回 { data: T[], total: number }`);return t.value=c.t([...n.data]),i.value=Math.max(0,Math.floor(n.total)),e.onSuccess?.({data:t.value,total:i.value}),!0}catch(t){return a!==d||f.signal.aborted?!1:(r.value=t,e.onError?.(t),!1)}finally{a===d&&(n.value=!1)}},m=async(e,t=!0)=>(l.value=c.t(typeof e==`function`?e(l.value):{...l.value,...e}),o.value=1,t?p():!0),h=async(e,t)=>(o.value=Kt(e,o.value),s.value=Kt(t,s.value),p()),g=async(e=!0)=>(l.value=c.t(a),o.value=1,e?p():!0),_=(0,u.computed)(()=>{let r=(0,u.toValue)(e.config)??{},a=typeof r.pagination==`object`?r.pagination:{};return{data:t.value,loading:n.value,columns:(0,u.toValue)(e.columns),rowKey:e.rowKey??`id`,config:{...r,pagination:{...a,enabled:!0,remote:!0,page:o.value,pageSize:s.value,total:i.value}}}}),v=(0,u.computed)(()=>({..._.value,onPaginationChange:h})),y=()=>{d+=1,f?.abort(),f=null,n.value=!1};return e.immediate!==!1&&(0,u.onMounted)(()=>void p()),(0,u.onScopeDispose)(y),{data:t,loading:n,error:r,total:i,page:o,pageSize:s,query:l,tableProps:_,execute:p,reload:p,setQuery:m,resetQuery:g,handlePaginationChange:h,bindings:v,cancel:y}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return L}});
1
+ require(`./chunk.cjs`);const e=require(`./data2.cjs`);let t=require(`vue`);const n=(e,t)=>Number.isFinite(e)?Math.max(1,Math.floor(e)):t;function r(r){let i=(0,t.shallowRef)([]),a=(0,t.ref)(!1),o=(0,t.shallowRef)(),s=(0,t.ref)(0),c=e.t(r.initialQuery),l=(0,t.ref)(n(r.initialPage,1)),u=(0,t.ref)(n(r.pageSize,20)),d=(0,t.shallowRef)(e.t(c)),f=0,p=null,m=async()=>{let t=++f;p?.abort(),p=new AbortController,a.value=!0,o.value=void 0;try{let n=await r.request({page:l.value,pageSize:u.value,query:e.t(d.value),signal:p.signal});if(t!==f||p.signal.aborted)return!1;if(!Array.isArray(n.data)||!Number.isFinite(n.total))throw TypeError(`[C_Table] request 必须返回 { data: T[], total: number }`);return i.value=e.t([...n.data]),s.value=Math.max(0,Math.floor(n.total)),r.onSuccess?.({data:i.value,total:s.value}),!0}catch(e){return t!==f||p.signal.aborted?!1:(o.value=e,r.onError?.(e),!1)}finally{t===f&&(a.value=!1)}},h=async(t,n=!0)=>(d.value=e.t(typeof t==`function`?t(d.value):{...d.value,...t}),l.value=1,n?m():!0),g=async(e,t)=>(l.value=n(e,l.value),u.value=n(t,u.value),m()),_=async(t=!0)=>(d.value=e.t(c),l.value=1,t?m():!0),v=(0,t.computed)(()=>{let e=(0,t.toValue)(r.config)??{},n=typeof e.pagination==`object`?e.pagination:{};return{data:i.value,loading:a.value,columns:(0,t.toValue)(r.columns),rowKey:r.rowKey??`id`,config:{...e,pagination:{...n,enabled:!0,remote:!0,page:l.value,pageSize:u.value,total:s.value}}}}),y=(0,t.computed)(()=>({...v.value,onPaginationChange:g})),b=()=>{f+=1,p?.abort(),p=null,a.value=!1};return r.immediate!==!1&&(0,t.onMounted)(()=>void m()),(0,t.onScopeDispose)(b),{data:i,loading:a,error:o,total:s,page:l,pageSize:u,query:d,tableProps:v,execute:m,reload:m,setQuery:h,resetQuery:_,handlePaginationChange:g,bindings:y,cancel:b}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -1,3 +1 @@
1
- import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./C_Icon2.js";import{t as i}from"./export-helper.js";import{t as a}from"./C_Loading2.js";import{t as o}from"./useActionTask.js";import{t as s}from"./C_ActionBar2.js";import{a as c,t as l}from"./data.js";import{i as u}from"./formValidation.js";import{Fragment as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as _,createTextVNode as v,createVNode as y,defineAsyncComponent as b,defineComponent as x,getCurrentInstance as S,getCurrentScope as C,h as w,inject as T,isRef as E,mergeProps as ee,nextTick as D,normalizeClass as te,normalizeStyle as O,onBeforeUnmount as ne,onMounted as re,onScopeDispose as ie,openBlock as k,reactive as A,ref as j,renderList as ae,renderSlot as oe,resolveDynamicComponent as se,shallowReactive as M,shallowRef as N,toDisplayString as P,toValue as F,unref as I,useAttrs as ce,watch as L,withCtx as R}from"vue";import{NButton as z,NButtonGroup as le,NCheckbox as B,NDataTable as ue,NDrawer as de,NDrawerContent as fe,NDropdown as pe,NInput as me,NInputNumber as V,NModal as he,NPagination as ge,NSelect as _e,NSpace as ve,NSpin as ye,NSwitch as be,NTag as xe,NText as H,NTooltip as U}from"naive-ui";const Se={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},Ce=e=>{if(e===!1||e===void 0)return Se;if(typeof e==`string`)return Ce({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},we=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},Te=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},W=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},Ee=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},De={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function Oe(t,n){let{size:r}=e(n);return t?{striped:t.striped??De.striped,bordered:t.bordered??De.bordered,singleLine:t.singleLine??De.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??De.columnWidth}:{...De,size:r}}const ke=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e(n).size,compact:n===`compact`}:{},...t?.actionBar}}),Ae=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},je=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},Me=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},Ne=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},Pe=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},Fe=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function Ie(t={}){return{density:t.density,controlSize:t.density?e(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...Ce(t.edit),...we(t.expand),...Te(t.selection),...W(t.pagination,t.density),...Ee(t.dynamicRows),...Oe(t.display,t.density),...ke(t.toolbar,t.density),...Ae(t.virtualScroll),...je(t.summary),...Me(t.columnDrag),...Ne(t.tree),...Pe(t.rowDrag),...Fe(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const Le=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function G(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function K(e,t){if(!G(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(u(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function Re(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function ze(e){let t=0,n=j(null),r=j({}),i=j(!1),a=j([]),o=()=>{t++,n.value=null,r.value={},a.value=[]},s=e=>n.value===e,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=e=>{let t=c(e);return!t||i.value?!1:(n.value=e,r.value={[String(e)]:l(t)},a.value=[],!0)},d=async()=>{if(n.value===null||i.value)return;let t=e.data();if(!t||!Array.isArray(t))return;let a=t.findIndex(t=>e.rowKey(t)===n.value);i.value=!0;try{a>-1&&await e.onCancel?.(t[a],a),n.value=null,r.value={}}finally{i.value=!1}},f=async(r,i)=>{let o=t,s=(e.columns?.()||[]).filter(G).map(async e=>{let t=String(e.key);if(!t)return null;let n=(await Promise.all(K(e).map(n=>Re(n,r[t],e.title||t,r,t)))).find(Boolean);return n?{field:t,message:n}:null}),c=(await Promise.all(s)).filter(Boolean);return t===o?(n.value===i&&(a.value=c),c.length===0):!1},p=async()=>{let e=n.value;if(e===null)return!0;let t=r.value[String(e)];return t?f(l(t),e):!0},m=async()=>{let a=n.value;if(a===null||i.value)return;let o=r.value[String(a)];if(!o)return;let s=l(o),u=t,d=c(a);i.value=!0;try{if(!await f(s,a)||t!==u)return;let i=e.data(),o=i.findIndex(t=>e.rowKey(t)===a);return o===-1||i[o]!==d||(await e.onSave?.(s,o,a),t!==u)?void 0:(n.value=null,r.value={},{updatedData:s,rowIndex:o})}finally{i.value=!1}},h=e=>{if(n.value===e)return r.value[String(e)]};return{editingRowKey:n,editingData:r,isSaving:i,isEditingRow:s,startEditRow:u,cancelEditRow:d,saveEditRow:m,validateRow:p,validationErrors:a,getEditingRowData:h,updateEditingRowData:(e,t,n)=>{let r=h(e);!r||i.value||(r[t]=l(n))},findRowData:c,invalidate:o}}function Be(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function Ve(e){let t=0,n=j({rowKey:null,columnKey:null}),r=j({}),i=j(!1),a=j(null),o=()=>{t++,n.value={rowKey:null,columnKey:null},r.value={},a.value=null},s=(e,t)=>n.value.rowKey===e&&n.value.columnKey===t,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=(e,t)=>{let o=c(e);return!o||!t||i.value?!1:(n.value={rowKey:e,columnKey:t},r.value={[Be(e,t)]:l(o[t])},a.value=null,!0)},d=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),f=async()=>{let e=t;a.value=null;let{rowKey:i,columnKey:o}=n.value;if(i===null||o===null)return!0;let s=d(o);if(!s)return!0;let l=Be(i,o),u=r.value[l],f=s.title||o,p={...c(i),[o]:u},m=await Promise.all(K(s).map(e=>Re(e,u,f,p,o)));if(t!==e)return!1;let h=m.find(Boolean);return h?(a.value=h,!1):!0};return{editingCell:n,editingData:r,isSaving:i,isEditingCell:s,startEditCell:u,saveEditCell:async()=>{let{rowKey:a,columnKey:o}=n.value;if(a===null||o===null||i.value)return;let s=Be(a,o),u=l(r.value[s]),d=t,p=c(a);i.value=!0;try{if(!await f()||t!==d)return;let i=e.data(),s=i.findIndex(t=>e.rowKey(t)===a);if(s===-1||i[s]!==p)return;let c={...i[s],[o]:u};return await e.onSave?.(l(c),s,o,a),t===d?(n.value={rowKey:null,columnKey:null},r.value={},{updatedData:c,rowIndex:s,columnKey:o}):void 0}finally{i.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:t}=n.value;i.value||(e!==null&&t!==null&&delete r.value[Be(e,t)],n.value={rowKey:null,columnKey:null},a.value=null)},validateCell:f,cellValidationError:a,getEditingCellValue:(e,t)=>r.value[Be(e,t)],updateEditingCellValue:(e,t,n)=>{!s(e,t)||i.value||(r.value[Be(e,t)]=l(n))},findRowData:c,invalidate:o}}function He(e){let t=0,n=j(!1),r=j(!1),i=j(null),a=j({}),o=()=>{t++,n.value=!1,i.value=null,a.value={}},s=f(()=>{if(i.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===i.value):-1});return{isModalVisible:n,isSaving:r,editingData:a,editingRowKey:i,editingRowIndex:s,startEdit:(o,s)=>{if(r.value)return!1;let c=e.data();if(!Array.isArray(c))return!1;let u=c.findIndex(t=>e.rowKey(t)===o);return u===-1?!1:(t++,i.value=o,a.value=l(s??c[u]),n.value=!0,!0)},saveEdit:async o=>{if(r.value||i.value===null)return;let c=s.value;if(c===-1)return;let u=i.value,d=t,f=l(o??a.value);r.value=!0;try{return await e.onSave?.(f,c,u),t===d?(n.value=!1,i.value=null,a.value={},{updatedData:f,rowIndex:c}):void 0}finally{r.value=!1}},cancelEdit:async()=>{if(r.value)return!1;let o=t,c=s.value;try{if(i.value!==null&&c>-1){let t=e.data();t[c]&&await e.onCancel?.(t[c],c)}}finally{t===o&&(n.value=!1,i.value=null,a.value={})}return!0},updateEditingData:e=>r.value?!1:(a.value=l(e),!0),resetEditingState:()=>r.value?!1:(i.value=null,a.value={},!0),isEditingRow:e=>i.value===e&&n.value,getEditingRowData:e=>i.value===e?a.value:null,invalidate:o}}function Ue(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function We(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function Ge(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function Ke(e){return e}function q(e){return e}function qe(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function Je(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const J=e=>({expandedKeys:j([...e.defaultExpandedKeys||[]]),expandDataMap:j(new Map),loadingMap:j(new Map),errorMap:j(new Map),checkedKeys:e.enableSelection?j([...e.defaultCheckedKeys||[]]):j([]),childSelections:(e.enableChildSelection,j(new Map))}),Ye=e=>{let t=f(()=>We(I(e.data),e.childrenKey)),n=e.rowKey,r=f(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},Xe=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return L(t.data,n=>{if(o+=1,i.size===0&&e.expandedKeys.value.length===0&&s.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}s=new Set([...s].filter(e=>r.has(e))),e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),C()&&ie(()=>{a=!0,o+=1,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let c=t.getRowKey(r);if(o+=1,i){if(s.add(c),e.expandedKeys.value.includes(c)||(e.expandedKeys.value=[...e.expandedKeys.value,c]),await l(r),a||t.findRow(c)!==r||!s.has(c))return}else s.delete(c),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==c);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{if(a)return;let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),!(a||r!==o)&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let c=new Set(e.expandedKeys.value),u=new Set(r),d=[...u].filter(e=>!c.has(e)),f=e.expandedKeys.value.filter(e=>!u.has(e));for(let t of f)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(d.map(async e=>{let n=t.findRow(e);n&&await l(n)})),!(a||i!==o)&&n.onExpandChange?.(r)}}},Ze=(e,t,n)=>{let r=[],i=[],a=(t,a,o=!1)=>{let s=t.length===r.length&&t.every((e,t)=>e===r[t]),c=a.length===i.length&&a.every((e,t)=>e===i[t]);!o&&s&&c||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=f(()=>t.data.value.filter(t.isRowCheckable)),s=f(()=>e.checkedKeys.value.length),c=(r,i=!1)=>{let s=new Set(o.value.map(e=>t.getRowKey(e))),c=[...new Set(r)].filter(e=>s.has(e)),l=n.maxSelection?c.slice(0,Math.max(0,n.maxSelection)):c;e.checkedKeys.value=l;let u=new Set(l);a(l,t.data.value.filter(e=>u.has(t.getRowKey(e))),i)},l=(e,t=!1)=>{n.enableSelection&&c(e,t)};return{commitSelection:c,selectAll:()=>{n.enableSelection&&l(o.value.map(t.getRowKey))},clearSelection:()=>{l([])},handleSelectionChange:l,selectedRowsCount:s,selectableRows:o}},Qe=(e,t,n)=>{let r=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(i,a,o)=>{if(!r())return;let s=t.parentChildLinkMode===`strict`?a.length===o&&o>0:a.length>0,c=[...e.checkedKeys.value],l=c.includes(i),u=s&&!l?[...c,i]:!s&&l?c.filter(e=>e!==i):c;n.handleSelectionChange(u,!0)},isLinkEnabled:r}},$e=(e,t,n,r,i)=>({totalChildSelections:f(()=>i.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.childSelections.value.clear(),r.commitSelection([],!0)},handleChildSelectionChange:(r,a)=>{if(!i.enableChildSelection)return;let o=t.findRow(r);if(!o)return;let s=(e.expandDataMap.value.get(r)||[]).filter(e=>t.isChildRowCheckable(e,o)),c=new Set(s.map(t.getChildRowKey)),l=[...new Set(a)].filter(e=>c.has(e)),u=e.childSelections.value.get(r)??[];if(u.length===l.length&&u.every((e,t)=>e===l[t]))return;e.childSelections.value.set(r,l);let d=new Set(l),f=s.filter(e=>d.has(t.getChildRowKey(e)));n.isLinkEnabled()&&n.handleParentChildLink(r,l,s.length),i.onChildSelectionChange?.(r,l,f)}}),et=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},tt=e=>w(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[w(ye,{size:`small`}),w(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),nt=()=>w(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),rt=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},Y=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0,disabled:t=>{let n=r.findRow(e);return!n||!r.isChildRowCheckable(t,n)}}),o.push(...rt(t)),w(`div`,{class:`p-4 bg-gray-50`},[w(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),w(ue,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},it=(e,n,r,i,a)=>{let{t:o}=t(()=>a.locale),s=t=>{let s=n.getRowKey(t),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,u=et(s,e,n,r,a);return a.renderContent?a.renderContent(t,c,l,u):l?tt(a.renderLoading):e.errorMap.value.has(s)?w(`div`,{class:`c-table-expand-error`,role:`alert`},[w(`span`,o(`table.loadFailed`)),w(z,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?Y(s,c,u,n,r,a):nt()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let t=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!t?.(e)||!n.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:t=>n.isRowExpandable(t)&&(!(`expandable`in e)||e.expandable?.(t)!==!1),renderExpand:s}:e})}};function at(e){let t=J(e),n=Ye(e),r=Xe(t,n,e),i=Ze(t,n,e),a=$e(t,n,Qe(t,e,i),i,e),o=it(t,n,a,r,e);return L(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&D(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ot={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},st={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},ct={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function lt(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function ut(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function X(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function dt(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function ft(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ot,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:lt,corner:ut,diagonal:X,repeat:dt};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function pt(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={...st,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function Z(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function mt(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Z(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function ht(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...ct,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function gt(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function _t(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function vt(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function yt(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>pt(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=gt(s,i,a);return r(60),_t(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Q(e,t,n,r,i){r(70),t.watermark&&ft(e,t.watermark),r(90),await ht(Z(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function bt(){let e=n(),t=j(!1),r=j(0),i=e=>{r.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{i(0),i(30);let n=await pt(e,t.capture);i(60),t.watermark&&ft(n,t.watermark),i(90);let r=Z(n,t.capture?.format||`png`,t.capture?.quality||.92);return i(100),r}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,r={})=>{t.value=!0,i(0);try{await D();let t=await a(n,r);i(95),await ht(t,r.print),i(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,i(0)}},s=async(n,r,i={})=>{t.value=!0;try{await D();let t=await pt(n,i.capture);i.watermark&&ft(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;mt(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;i(10);let r=e.map(async(e,r)=>{let o=await a(e,t);return i(10+(r+1)/n*70),o});return Promise.all(r)},u=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await ht(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:r,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,r={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{i(0);let t=await l(n,r);i(80),await u(t,r.print),i(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,i(0)}},mergePrint:async(n,r={},a={})=>{let o=vt(n,a,e);if(o){t.value=!0;try{await Q(await yt(n,r,o,i),r,n.length,i,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,i(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:i,utils:{captureElement:pt,drawWatermark:ft,canvasToDataURL:Z,downloadCanvas:mt,printImage:ht}}}const xt={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function St(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function Ct(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function wt(e,t,n){if(e){let r=e(n===void 0?void 0:l(n));if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=l(r);return n&&typeof t==`string`?{...l(n),[t]:Reflect.get(i,t)}:i}return typeof t==`string`?{...n?l(n):{},[t]:St()}:null}function Tt(e,...i){let a=i[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=A({...o,...F(a)});L(()=>F(a),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=n(()=>s.feedback),{t:l}=t(()=>s.locale),u=`c-table-radio-${St()}`,d=j(null),p=j(!1),m=f(()=>d.value===null?null:e.value.find(e=>Ct(e,s.rowKey)===d.value)||null),h=f(()=>m.value?e.value.findIndex(e=>e===m.value):-1),g=f(()=>h.value>0),_=f(()=>h.value>=0&&h.value<e.value.length-1),{loading:v,progress:y,printWithWatermark:b,downloadScreenshot:x,quickPrint:S}=bt(),T=()=>{if(s.printOptions)return s.printOptions;let e=xt[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},E=e=>{s.onRowChange?.(e)},ee=t=>{let n=Ct(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>Ct(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},D=e=>{try{let t=wt(s.defaultRowData,s.rowKey,e);if(t)return ee(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},te=()=>{if(!s.enabled||!s.enableAdd)return;let t=D();t&&(E([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},O=()=>{if(!s.enabled||!s.enableInsert||!m.value){c.warning(l(`table.selectRowFirst`));return}let t=D();if(!t)return;let n=[...e.value];n.splice(h.value+1,0,t),E(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},ne=()=>{if(!s.enabled||!s.enableDelete||!m.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?p.value=!0:re()},re=()=>{if(!m.value)return;let t=m.value,n=h.value;E(e.value.filter((e,t)=>t!==n)),d.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),p.value=!1},k=()=>{if(!s.enabled||!s.enableCopy||!m.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=m.value,n=D(t);n&&(E([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},ae=()=>{if(!s.enabled||!s.enableMove||!g.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],E(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},oe=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],E(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},se=t=>{if(!s.enabled)return;let n=e.value.find(e=>Ct(e,s.rowKey)===t);n&&(d.value=t,s.onSelectionChange?.(t,n))},M=()=>{d.value=null,s.onSelectionChange?.(null,null)},P=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=T();await b(e.value,t)};return C()&&ie(()=>{d.value=null,p.value=!1}),{selectedRowKey:d,selectedRowData:m,selectedRowIndex:h,canMoveUp:g,canMoveDown:_,deleteConfirmVisible:p,printLoading:v,printProgress:y,addRow:te,insertRow:O,deleteRow:ne,confirmDelete:re,copyRow:k,moveRowUp:ae,moveRowDown:oe,selectRow:se,clearSelection:M,handlePrint:P,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=T();await x(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await S(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=Ct(e,s.rowKey);return w(`div`,{class:`flex justify-center`},[w(`input`,{type:`radio`,name:u,"aria-label":l(`common.select`),checked:d.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&se(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push(w(z,{loading:v.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await P(N(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>w(r,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push(w(z,{onClick:te,type:`primary`},{icon:()=>w(r,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:O,disabled:!m.value,type:`primary`,ghost:!0},{icon:()=>w(r,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:ne,disabled:!m.value,type:`error`,ghost:!0},{icon:()=>w(r,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:k,disabled:!m.value,type:`info`,ghost:!0},{icon:()=>w(r,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push(w(U,{disabled:g.value},{trigger:()=>w(z,{onClick:ae,disabled:!g.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>m.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),w(U,{disabled:_.value},{trigger:()=>w(z,{onClick:oe,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>m.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push(w(le,{},()=>n)),w(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[w(ve,{},()=>t)])},renderConfirmModal:()=>w(he,{show:p.value,"onUpdate:show":e=>{p.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:re})}}function Et(e){let r=0,{data:i,rowKey:a,emit:o}=e,s=()=>F(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=f(()=>We(i(),c())),u=()=>l.value,d=n(()=>s().feedback),{t:p}=t(()=>s().locale),m=(e,t,n)=>i()===e&&l.value.find(e=>a(e)===t)===n,h={onSave:async(e,t,n,u)=>{let d=i(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=r;if(s().editable)try{if(await s().onEditSave?.(g,h,n),r!==_||(await o(`save`,g,h,n),r!==_)||!m(d,f,p))return;o(`update:data`,Ge(i(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,t)=>{let n=r;try{if(await s().onEditCancel?.(e,t),r!==n)return;await o(`cancel`,e,t)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:ze({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:Ve({data:u,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:He({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>at({data:f(()=>i()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):d.error(p(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Tt(f(()=>i()),f(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??F(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();L(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&d.error(e[0].message)}),L(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&d.error(e)});let b=()=>{r++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};L([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),C()&&ie(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint(N(e))},async download(e,t){S&&e&&await S.handleDownload(N(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:f(()=>x?.expandedKeys.value??[]),checkedKeys:f(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const $={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function Dt(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Ot(e){let{data:t,config:n,emit:r}=e,i=j($.page),a=j($.pageSize),o=f(()=>{let e=typeof t==`function`?t():I(t);return Array.isArray(e)?e:[]}),s=f(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(Dt(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},u=e=>l(e,!0),d=e=>{let t=Dt(e,$.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},p=()=>l(1,!0),m=f(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=f(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??$.showSizePicker,showQuickJumper:e.showQuickJumper??$.showQuickJumper,pageSizes:e.pageSizes??$.pageSizes,simple:e.simple??$.simple,size:e.size??$.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":u,"onUpdate:pageSize":d}:null});return L(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=Dt(t,$.pageSize),i.value=Math.min(Dt(e,$.page),c())},{immediate:!0}),L([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:p,getTotalPages:c}}function kt(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?kt(e.children):`type`in e&&e.type?[]:[e])}function At(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function jt(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?At(t[e.key],n[e.key]):0}function Mt(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Nt(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function Pt(e){let t=N(),n=N({}),r=f(()=>kt(F(e.columns))),i=f(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Nt(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=f(()=>{let t=F(e.data);if(F(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>Mt(t,n,e))):t}),o=f(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:f(()=>{if(F(e.remote))return F(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=jt(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const Ft=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function It(e){let{actions:i,config:a,tableManager:s,rowKey:c,onRowDeleted:l,onViewDetail:u,isDeleteFeedbackHandled:d}=e,f=o(),p=!0;C()&&ie(()=>{p=!1});let m=(e,t)=>JSON.stringify([typeof e,e,t]),h=n(()=>a.value.feedback),{t:g}=t(()=>a.value.locale),_=e=>e===`edit`?a.value.editable&&i.value?.edit!==!1:typeof i.value?.[e]==`function`,v=e=>e!==!1&&typeof e==`function`,y=e=>e&&typeof e==`object`&&`data`in e?e.data:e,b=(e,t,n=`primary`,i,o,s=!1)=>w(z,{size:a.value.controlSize??`small`,type:n,quaternary:!0,onClick:i,loading:s||(o?f.isRunning(o):!1),disabled:o?f.isRunning(o):!1},()=>[w(r,{name:e,size:14,title:t})]),x=async(e,t)=>{let n=c(e),r=i.value?.edit;if(v(r)){try{await r(e,t)}catch(e){h.error(g(`table.actionFailed`,{action:g(`common.edit`)}),e)}return}a.value.editMode===`modal`?s.editStates.modalEdit.startEdit(n,{...e}):s.editStates.rowEdit.startEditRow(n)},S=(e,t)=>{p&&!t&&h.error(g(`table.deleteFailed`),e)},T=async(e,t,n)=>{let r=d?.(e)===!0;try{let i=await e(t,n);if(!p)return;let a=Ft(i);if(a!=null){S(a,r);return}r||h.success(g(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw S(e,r),e}},E=async(e,t)=>{let n=i.value?.delete;v(n)&&await h.confirm({title:g(`table.deleteTitle`),content:g(`table.deleteContent`),positiveText:g(`common.confirm`),negativeText:g(`common.cancel`),type:`warning`})&&p&&await T(n,e,t)},ee=async(e,t)=>{let n=i.value?.detail;if(!v(n)){u?.(e);return}try{let r=await n(e,t);if(!p)return;let i=y(r);u?.(i||e)}catch(t){if(!p)return;h.error(g(`table.detailFailed`),t),u?.(e)}},D=(e,t)=>f.run(m(c(e),`edit`),()=>x(e,t)),te=(e,t)=>f.run(m(c(e),`delete`),()=>E(e,t)),O=(e,t)=>f.run(m(c(e),`detail`),()=>ee(e,t)),ne=e=>s.editStates.rowEdit.isEditingRow(e)?[b(`mdi:check`,g(`common.save`),`primary`,()=>void f.run(m(e,`save`),()=>s.editStates.rowEdit.saveEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.save`)}),e)),m(e,`save`)),b(`mdi:close`,g(`common.cancel`),`default`,()=>void f.run(m(e,`cancel`),()=>s.editStates.rowEdit.cancelEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.cancel`)}),e)),m(e,`cancel`))]:[b(`mdi:pencil`,g(`common.edit`),`warning`,()=>s.editStates.rowEdit.startEditRow(e))],re=(e,t)=>{let n=[];return _(`detail`)&&n.push(b(`mdi:eye`,g(`common.detail`),`info`,()=>void O(e,t),m(c(e),`detail`))),_(`edit`)&&(a.value.editMode===`modal`||v(i.value?.edit))&&n.push(b(`mdi:pencil`,g(`common.edit`),`warning`,()=>void D(e,t),m(c(e),`edit`))),_(`delete`)&&n.push(b(`mdi:delete`,g(`common.delete`),`error`,()=>void te(e,t).catch(()=>void 0),m(c(e),`delete`))),n},k=(e,t)=>{let n=i.value?.custom;if(!n?.length)return null;let a=n.filter(n=>n.show?n.show(e,t):!0);return a.length?w(pe,{options:a.map(n=>{let i=typeof n.label==`function`?n.label(e,t):n.label,a=typeof n.icon==`function`?n.icon(e,t):n.icon;return{label:i,key:n.key,icon:()=>w(r,{name:a,size:14}),disabled:n.disabled?.(e,t)||f.isRunning(m(c(e),`custom:${n.key}`))}}),onSelect:n=>{let r=a.find(e=>e.key===n);if(!r)return;let i=typeof r.label==`function`?r.label(e,t):r.label;f.run(m(c(e),`custom:${r.key}`),()=>r.onClick(e,t),()=>!r.disabled?.(e,t)).catch(e=>h.error(g(`table.actionFailed`,{action:i}),e))}},()=>b(`mdi:dots-horizontal`,g(`table.moreActions`),`default`,()=>{},void 0,a.some(t=>f.isRunning(m(c(e),`custom:${t.key}`))))):null};return{renderActions:(e,t)=>{if(i.value?.render)return i.value.render(e,t);let n=c(e),r=a.value.editable&&[`row`,`both`].includes(a.value.editMode);if(r&&s.editStates.rowEdit.isEditingRow(n))return w(ve,{size:2,wrap:!1},()=>ne(n));let o=v(i.value?.edit),l=[...r&&!o?ne(n):[],...re(e,t)],u=k(e,t);return u&&l.push(u),w(ve,{size:2,wrap:!1},()=>l)},isActionEnabled:_}}const Lt=Symbol(`C_TABLE_GLOBAL_CONFIG`),Rt={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function zt(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function Bt(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const Vt={date:(e,t)=>zt(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>zt(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=Bt(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>Bt(e,t.precision??0)};function Ht(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&Vt[n.type];return i?i(e,{...{...Rt,...r}[n.type],...n.config}):String(e??`-`)}function Ut(){return S()?T(Lt,{}):{}}const Wt=(e,t)=>t===void 0?e:t&&e&&typeof t==`object`&&typeof e==`object`&&!Array.isArray(t)&&!Array.isArray(e)?{...e,...t}:t;function Gt(e,t){let n=t.defaults??{},r={...n,...e};if([`edit`,`pagination`,`expand`,`selection`,`dynamicRows`,`toolbar`,`display`,`virtualScroll`,`summary`,`columnDrag`,`tree`,`rowDrag`,`crossPageSelection`,`export`,`formatterConfig`,`error`,`batchActions`].forEach(t=>{let i=e=>t===`edit`&&typeof e==`string`?{mode:e}:e,a=Wt(i(n[t]),i(e[t]));a!==void 0&&(r[t]=a)}),t.display){let e=typeof r.display==`object`?r.display:{};r.display={...t.display,...e}}if(t.pageSize&&r.pagination!==!1){let e=typeof r.pagination==`object`?r.pagination:{};e.pageSize||(r.pagination={...e,pageSize:t.pageSize})}return r}const Kt=b(()=>import(`./date-picker.js`)),qt={number:V,switch:be,input:me,email:me,mobile:me,date:e=>w(Kt,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>w(_e,{...e,options:e.options||[]}),textarea:e=>w(me,{...e,type:`textarea`,rows:3})},Jt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Yt=(e,t)=>e.filter(G).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Jt[e.editType??`input`]??`input`,placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:K(e,t),attrs:n,layout:{span:1},show:!0}});function Xt(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=e,c={value:t,"onUpdate:value":n,placeholder:`请输入${s.title??``}`,style:{width:`100%`},...a?{size:a}:{},...e.editProps,...o?{disabled:!0}:{}};return w(qt[e.editType||`input`]||qt.input,c)}function Zt(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Ht(r,t,e.formatter,i):String(r??``)}function Qt(e,t,n,i,a,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>w(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[w(r,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return w(`div`,{class:`cell-editing-container`},[w(`div`,{class:`cell-editing-input`},[Xt(e,t,n,o.rowData,o.rowIndex,o.size,o.busy)]),w(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,i),s(`cancel`,`取消`,a)])])}function $t(e,t,n,i,a,o){let s;return s=e.render?e.render(t,n)??String(i??``):e.formatter?Ht(i,t,e.formatter,o):String(i??``),w(`div`,{class:`cell-edit-wrapper`},[w(`span`,{class:`cell-value`},s),w(r,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function en(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=j([]),l=j(!1),u=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};L([t,s],([e])=>{e?.length?u(e):c.value=[]},{deep:!0,immediate:!0});let d=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Qt(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0}):$t(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},p=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Zt(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Xt(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,n.value.density?n.value.controlSize:void 0,i.editStates.rowEdit.isSaving?.value)}return u.isCellEditMode()?d(e,t,a,l):Zt(e,t,a,c,n.value.formatterConfig)},m=t=>t.width===void 0?t.type===`selection`||t.type===`expand`?40:t.type===`index`?50:e.columnWidth??180:t.width,h=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:m(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=t=>{let n=t,r=!n.fixed&&n.width===void 0&&n.maxWidth===void 0&&e.columnWidthExplicit===!1,i={...n,width:r?void 0:m(t),minWidth:n.minWidth??(r?e.columnWidth:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,n)=>p(t,e,n)};return t.fixed&&(i.fixed=t.fixed),t.resizable&&typeof i.width==`number`&&(i.resizable=!0,i.minWidth=t.minWidth??80,i.maxWidth=t.maxWidth??500),i},_=f(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?h(e):e.type===`selection`||e.type===`expand`?{...t,width:m(e)}:g(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:t?.width??180,className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:_,computedScrollX:f(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=_.value.some(e=>e.fixed),n=_.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`),r=_.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0);if(!(!t&&!(n&&r)))return _.value.reduce((e,t)=>{let n=t.width;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?m(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function tn(e){let{data:t,onReorder:n,onSort:r}=e,i=j(!1),a=null,o=0,s=!1,c,l=null,u,d,f=null,p,m=t=>t.map(t=>Ue(t,e.rowKey)),h=()=>{p?.parentNode!==l||!l||f&&f.parentNode!==l||l.insertBefore(p,f)},g=()=>{a?.destroy(),a=null,l=null,u=void 0,d=void 0,p=void 0,f=null,i.value=!1},_=(e,t,n)=>{if(!u||u.length!==e.length||u.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==d?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},v=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=m(s),g=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],v=a===p&&_(s,c,g);if(h(),u=void 0,d=void 0,p=void 0,f=null,!v||!o)return;let y=c.indexOf(o),b=g.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},y=async n=>{let r=++o;c?.disconnect(),c=void 0,g();let h=F(e.config);if(!(!h||h.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let _=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(g(),c&&(l=c,a=new e(c,{animation:h.animationDuration??150,handle:h.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:h.ghostClass??`row-drag-ghost`,chosenClass:h.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{u=[...t.value],d=m(u),p=e.item,f=e.item.nextSibling,i.value=!0},onEnd:v})))};c=new MutationObserver(_),c.observe(n,{childList:!0,subtree:!0}),_()}catch{}},b=()=>{o+=1,c?.disconnect(),c=void 0,g()};return ne(()=>{s=!0,b()}),{initRowDrag:y,destroyRowDrag:b,isDragging:i}}function nn(e){let t=j(new Set),n=M(new Map),r=()=>F(e.config)?.enabled===!0,i=(t=e.allData.value)=>We(t,F(e.childrenKey)),a=f(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=F(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=f(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),u=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},d=(r,i=[])=>{let a=u(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},p=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),d(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);d(F(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(d([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),d(n)},v=()=>d([]);return L(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if(F(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));d([...t.value].filter(e=>s.has(e)),o)}),L(()=>[r(),s()],([e])=>{e?d(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:p,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function rn(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function an(e,t,n){let r=e[t.key];return t.formatter?Ht(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function on(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
2
- `)||r.includes(`\r`)?`"${r.replace(/"/g,`""`)}"`:r}function sn(e){return[...e||`export`].map(e=>e.charCodeAt(0)<32||`<>:"/\\|?*`.includes(e)?`_`:e).join(``).trim()||`export`}function cn(e,t,n){let r=n.csvSeparator??`,`,i=n.preventFormulaInjection!==!1,a=rn(t,n.columnKeys),o=[];n.includeHeader!==!1&&o.push(a.map(e=>on(e.title??``,r,i)).join(r));for(let t of e){let e=a.map(e=>on(an(t,e,n.formatterConfig),r,i));o.push(e.join(r))}un(new Blob([``+o.join(`
3
- `)],{type:`text/csv;charset=utf-8;`}),`${sn(n.filename)}.csv`)}async function ln(e,t,n){let r=rn(t,n.columnKeys),i;try{i=await import(`./xlsx.js`).then(e=>e.r)}catch(r){n.onFallback?.(`xlsx`,`csv`,r),cn(e,t,{...n,format:`csv`});return}let a=r.map(e=>e.title??e.key??``),o=e.map(e=>r.map(t=>an(e,t,n.formatterConfig))),s=n.includeHeader===!1?o:[a,...o],c=i.utils.aoa_to_sheet(s),l=i.utils.book_new();i.utils.book_append_sheet(l,c,`Sheet1`),i.writeFile(l,`${sn(n.filename)}.xlsx`)}function un(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}async function dn(e,t,n={}){n.format===`xlsx`?await ln(e,t,n):cn(e,t,n)}const fn=e=>[{label:e.fixed?`✓ 取消固定`:`不固定`,key:`none`,disabled:!e.fixed},{label:e.fixed===`left`?`✓ 固定左侧`:`固定左侧`,key:`left`,disabled:!1},{label:e.fixed===`right`?`✓ 固定右侧`:`固定右侧`,key:`right`,disabled:!1}],pn=[`_actions`],mn=[`selection`,`expand`],hn=e=>pn.includes(e.key)||mn.includes(e.type),gn=e=>typeof e==`string`||typeof e==`number`&&Number.isFinite(e),_n=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0||typeof e==`string`&&e.trim().length>0&&e.length<=128,vn=e=>e.map(e=>({...e})),yn=e=>{let t;try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.flatMap((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let n=e;return gn(n.key)?[{key:n.key,order:t,...typeof n.visible==`boolean`&&{visible:n.visible},..._n(n.width)&&{width:n.width},...(n.fixed===`left`||n.fixed===`right`)&&{fixed:n.fixed}}]:[]}):[]},bn=(e,t)=>{let n=new Map(yn(t).map(e=>[e.key,e]));return vn(e).map(e=>{let t=gn(e.key)?n.get(e.key):void 0;return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:e}).sort((e,t)=>{let r=gn(e.key)?n.get(e.key)?.order:void 0,i=gn(t.key)?n.get(t.key)?.order:void 0;return(r??1/0)-(i??1/0)})},xn=e=>JSON.stringify(e.filter(e=>gn(e.key)).map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}))),Sn={class:`column-management-tab`},Cn={class:`search-row`},wn={class:`resizable-control`},Tn={class:`top-actions-bar`},En={class:`stats-info`},Dn={class:`quick-actions`},On=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],kn={class:`column-info`},An={class:`column-controls`},jn={class:`column-details`},Mn={class:`column-actions`},Nn={class:`drag-controls`};var Pn=i(x({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(e,{emit:t}){let n=e,i=t,a=e=>{if(!n.persistKey)return vn(e);try{let t=localStorage.getItem(`c_table_cols_${n.persistKey}`);return t?bn(e,t):vn(e)}catch{return vn(e)}},o=e=>{if(n.persistKey)try{localStorage.setItem(`c_table_cols_${n.persistKey}`,xn(e))}catch{}},s=j(a(n.columns)),c=j(``),l=j(),u=j(null),_=j(null),b=j(!1);re(()=>{b.value=s.value.some(e=>e.resizable===!0),n.persistKey&&i(`change`,[...s.value])}),L(()=>n.columns,e=>{s.value=a(e),b.value=s.value.some(e=>e.resizable===!0)},{deep:!0});let x=f(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>String(t.title??``).toLowerCase().includes(e)||String(t.key??``).toLowerCase().includes(e))}),S=f(()=>s.value.filter(e=>e.visible!==!1).length),C=f(()=>s.value.length),w=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),A()},T=()=>w(!0),E=()=>w(!1),ee=e=>{let t=x.value[e];return s.value.findIndex(e=>e.key===t.key)},D=(e,t)=>{let n=ee(e);n!==-1&&(t(s.value[n]),A())},ne=(e,t)=>{D(e,e=>{e.visible=t})},ie=(e,t)=>{D(e,e=>{e.fixed=t===`none`?void 0:t})},A=()=>{o(s.value),i(`change`,[...s.value])},oe=()=>{s.value=vn(n.columns),A()},se=e=>{s.value.forEach(t=>{hn(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),A()},M=(e,t)=>{let n=ee(e),r=ee(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),A()}},N=(e,t)=>{if(x.value[e].key===`_actions`){t.preventDefault();return}u.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},F=(e,t)=>{t.preventDefault(),!(u.value===null||x.value[e].key===`_actions`)&&(_.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},ce=e=>{u.value===null||x.value[e].key===`_actions`||(M(u.value,e),u.value=null,_.value=null)},le=()=>{u.value=null,_.value=null};return(e,t)=>(k(),h(`div`,Sn,[m(` 搜索框和列宽调整开关 `),g(`div`,Cn,[y(I(me),{value:c.value,"onUpdate:value":t[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:R(()=>[y(r,{name:`mdi:magnify`})]),_:1},8,[`value`]),g(`div`,wn,[y(r,{name:`mdi:arrow-split-vertical`,size:`14`,title:b.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),y(I(H),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:R(()=>[...t[2]||=[v(` 列宽调整 `,-1)]]),_:1}),y(I(be),{value:b.value,"onUpdate:value":[t[1]||=e=>b.value=e,se],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),m(` 顶部操作栏:统计信息和快捷操作按钮 `),g(`div`,Tn,[g(`div`,En,[y(I(H),{depth:`3`,style:{fontSize:`13px`}},{default:R(()=>[v(` 已选 `+P(S.value)+` / 总共 `+P(C.value)+` 列 `,1)]),_:1})]),g(`div`,Dn,[y(I(ve),{size:6},{default:R(()=>[y(I(z),{size:`tiny`,onClick:T},{default:R(()=>[...t[3]||=[v(` 全选 `,-1)]]),_:1}),y(I(z),{size:`tiny`,onClick:E},{default:R(()=>[...t[4]||=[v(` 全不选 `,-1)]]),_:1}),y(I(z),{size:`tiny`,onClick:oe},{default:R(()=>[...t[5]||=[v(` 重置 `,-1)]]),_:1})]),_:1})])]),m(` 列列表 `),g(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[(k(!0),h(d,null,ae(x.value,(e,n)=>(k(),h(`div`,{key:e.key,class:te([`column-item`,{disabled:e.key===`_actions`,"fixed-left":e.fixed===`left`,"fixed-right":e.fixed===`right`}]),draggable:e.key!==`_actions`,onDragstart:e=>N(n,e),onDragover:e=>F(n,e),onDragend:le,onDrop:e=>ce(n)},[g(`div`,kn,[g(`div`,An,[y(r,{name:`mdi:drag`,size:`16`,class:te([`drag-handle`,{disabled:e.key===`_actions`}])},null,8,[`class`]),y(I(B),{checked:e.visible!==!1,disabled:e.key===`_actions`,"onUpdate:checked":e=>ne(n,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),g(`div`,jn,[y(I(ve),{align:`center`,size:6},{default:R(()=>[y(I(H),{strong:``,style:{fontSize:`13px`}},{default:R(()=>[v(P(e.title||e.key),1)]),_:2},1024),e.fixed===`left`?(k(),p(I(xe),{key:0,size:`tiny`,type:`info`},{default:R(()=>[...t[6]||=[v(` 左固定 `,-1)]]),_:1})):m(`v-if`,!0),e.fixed===`right`?(k(),p(I(xe),{key:1,size:`tiny`,type:`warning`},{default:R(()=>[...t[7]||=[v(` 右固定 `,-1)]]),_:1})):m(`v-if`,!0)]),_:2},1024),y(I(H),{depth:`3`,style:{fontSize:`11px`}},{default:R(()=>[v(P(e.key),1)]),_:2},1024)])]),g(`div`,Mn,[g(`div`,Nn,[y(r,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:n!==0,class:te({disabled:n===0}),onClick:e=>n!==0&&M(n,n-1)},null,8,[`clickable`,`class`,`onClick`]),y(r,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:n!==x.value.length-1,class:te({disabled:n===x.value.length-1}),onClick:e=>n!==x.value.length-1&&M(n,n+1)},null,8,[`clickable`,`class`,`onClick`])]),y(I(pe),{options:I(fn)(e),onSelect:e=>ie(n,e)},{default:R(()=>[y(r,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:O({color:e.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,On))),128))],512)]))}}),[[`__scopeId`,`data-v-92119048`]]);const Fn=[`aria-busy`],In={key:1,class:`table-toolbar`},Ln={class:`toolbar-left`},Rn={class:`toolbar-right`},zn={key:2,class:`batch-actions-bar`},Bn={class:`batch-info`},Vn={key:3,class:`table-error-state`},Hn={class:`error-content`},Un={class:`error-message`};var Wn=i(x({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{},config:{default:()=>({})},crud:{},pagination:{type:[Object,Boolean],default:void 0},remote:{type:Boolean,default:void 0},virtualScrollX:{type:Boolean},wrapperClass:{},flexHeight:{type:Boolean}},emits:[`pagination-change`,`row-delete`,`batch-action-error`,`row-key-error`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`edit-error`],setup(e,{expose:i,emit:u}){let x=b(()=>import(`./C_Form.js`).then(e=>e.C_Form)),S=e,C=u,T=j(null),O=(...e)=>{C(...e);let{crud:t}=S;if(t)switch(e[0]){case`save`:return t.save?.(e[1],e[2],e[3]);case`cancel`:return t.handleCancel?.();case`pagination-change`:return t.handlePaginationChange?.(e[1],e[2]);case`row-delete`:return t.handleRowDelete?.(e[1],e[2]);case`view-detail`:return t.detail?.show(e[1])}},ie=Ut(),A=e=>{let t=S.rowKey??`id`;return typeof t==`function`?t(e):e[t]},M=f(()=>{let e=S.config||{};if(S.crud){let t={};if(S.crud.actions){let e=S.crud.actions.value;t.actions={...e,...S.crud.save&&typeof e.edit==`function`?{edit:void 0}:{}}}S.crud.pagination&&(t.pagination=S.crud.pagination.value??void 0),e={...t,...e}}return Gt(e,ie)}),N=f(()=>S.columns??S.crud?.columns.value??[]),F=f(()=>Ie(M.value)),le=n(()=>F.value.feedback),{t:B}=t(()=>F.value.locale),pe=f(()=>Le(F.value)),me=e=>e&&typeof e==`object`&&`value`in e?e.value:e,V=f(()=>me(S.data)??S.crud?.data.value??[]),_e=f(()=>me(S.loading)??S.crud?.loading.value??!1),ye=f(()=>F.value.treeEnabled&&F.value.treeDefaultExpandAll?Je(V.value,F.value.treeChildrenKey,A):[]),be=f(()=>({...F.value,defaultExpandedKeys:[...new Set([...F.value.defaultExpandedKeys??[],...ye.value])]})),xe=``;L(()=>M.value.validateRowKeys===!1?[]:V.value.map(e=>{try{return A(e)}catch{return}}),()=>{if(M.value.validateRowKeys===!1){xe=``;return}let e=qe(V.value,A);if(e.length===0){xe=``;return}let t=e.map(e=>[e.type,e.index,e.firstIndex,String(e.key)].join(`:`)).join(`|`);t!==xe&&(xe=t,le.warning(B(`table.invalidRowKeys`,{count:e.length})),C(`row-key-error`,e))},{immediate:!0});let H=f(()=>S.pagination!==void 0),U=f(()=>S.remote??F.value.pagination?.remote??!1),Se=j((e=>{if(!e)return 10;if(e.defaultPageSize!==void 0)return e.defaultPageSize;let t=e.pageSizes?.[0];return typeof t==`number`?t:t?.value||10})(S.pagination)),Ce=j(S.pagination?S.pagination.defaultPage??1:1),we=e=>{Ce.value=e},Te=e=>{Se.value=e},W=Et({config:be,data:()=>V.value,rowKey:A,rowKeyField:()=>typeof S.rowKey==`function`?void 0:S.rowKey??`id`,emit:O,columns:()=>N.value,renderLoading:()=>w(a,{size:32,label:B(`table.loading`)})}),Ee=new Set;L(ye,e=>{if(!F.value.treeEnabled||!F.value.treeDefaultExpandAll){Ee.clear();return}let t=e.filter(e=>!Ee.has(e));e.forEach(e=>Ee.add(e));let n=W.expandedKeys.value,r=t.filter(e=>!n.includes(e));r.length&&W.expandState?.handleExpandChange([...n,...r])},{immediate:!0});let De=It({actions:f(()=>M.value.actions||{}),config:F,tableManager:W,rowKey:A,onRowDeleted:(e,t)=>C(`row-delete`,e,t),isDeleteFeedbackHandled:e=>S.crud?.actions?.value.delete===e,onViewDetail:e=>O(`view-detail`,e)}),Oe=f(()=>{let{actions:e}=M.value;return!!(F.value.showRowActions||e?.delete||e?.detail||e?.custom?.length||e?.render)}),ke=en({rawColumns:N,config:F,get columnWidth(){return F.value.columnWidth},get columnWidthExplicit(){return S.virtualScrollX===!0||M.value.display?.columnWidth!==void 0},get scrollX(){return F.value.scrollX},rowKey:A,tableManager:W,actionsRenderer:De.renderActions,editModeChecker:pe,showActionsColumn:Oe}),{showSettingsPanel:Ae,reactiveColumns:je,computedColumns:Me,computedScrollX:Ne}=ke,Pe=Pt({data:V,columns:je,remote:()=>H.value||F.value.pagination?.remote===!0}),Fe=Pt({data:V,columns:je,remote:U}),G=Ot({data:Pe.processedData,config:f(()=>H.value?null:F.value.pagination),emit:O}),K=f(()=>{if(H.value){let e=T.value?.getCurrentPageData?.();if(e)return e;let t=Fe.processedData.value;if(!S.pagination||U.value)return t;let n=S.pagination.pageSize??Se.value,r=Math.max(1,Math.min(S.pagination.page??Ce.value,Math.ceil(t.length/Math.max(1,n))));return t.slice((r-1)*n,r*n)}return G.paginatedData.value}),Re=e=>{Pe.setSorter(e),Fe.setSorter(e)},ze=e=>{Pe.setFilters(e),Fe.setFilters(e),!H.value&&!F.value.pagination?.remote&&G.resetToFirstPage()},Be=ce(),Ve=f(()=>F.value.rowDrag!==void 0&&F.value.rowDrag.enabled!==!1&&!F.value.virtualScroll&&S.virtualScrollX!==!0),He=f(()=>{let e=K.value,t=e.map(e=>[Ue(e,A),e]),n=new Set(t.map(([e])=>e));return t.some(([e])=>e===void 0)||n.size!==e.length?new Map:new Map(t)}),We=(e,t)=>{let n=Be.rowProps??Be[`row-props`],r=typeof n==`function`?n(e,t):void 0;if(!Ve.value)return r;let i=Ue(e,A);return{...r,"data-c-table-row-key":i!==void 0&&He.value.get(i)===e?i:void 0}},Ge,Ke=tn({data:K,rowKey:A,config:f(()=>Ve.value?F.value.rowDrag:void 0),onReorder:e=>{let t=new Map(V.value.map((e,t)=>[A(e),t]));if(Ge=K.value.map(e=>t.get(A(e))),H.value?U.value:F.value.pagination?.remote===!0){O(`update:data`,e);return}let n=[...V.value];Ge.forEach((t,r)=>{t!==void 0&&(n[t]=e[r])}),O(`update:data`,n)},onSort:(e,t,n)=>{let r=Ge?.[t]??t,i=Ge?.[n]??n;Ge=void 0,C(`row-move`,e,r,i)}}),q=nn({allData:V,rowKey:A,config:f(()=>F.value.crossPageSelection),remote:()=>H.value?U.value:F.value.pagination?.remote===!0,childrenKey:()=>F.value.treeEnabled?F.value.treeChildrenKey:void 0,rowCheckable:e=>F.value.rowCheckable?.(e)??!0,onSelectionChange:(e,t)=>C(`selection-change`,e,t,new Map)}),J=f(()=>F.value.crossPageSelection?.enabled===!0),Ye=f(()=>J.value?q.selectedCount.value:W.checkedKeys?.value?.length??0),Xe=o(),Ze=async e=>{if(Xe.isRunning(e.key))return;let t=J.value?[...q.selectedKeys.value]:W.checkedKeys?.value??[],n=new Set(t),r=J.value?q.getSelectedRows():V.value.filter(e=>n.has(A(e)));try{if(!(await Xe.run(e.key,()=>e.onClick(t,r))).executed)return;F.value.batchActions?.clearSelectionOnSuccess&&Qe()}catch(t){F.value.batchActions?.onError?.(t,e.key),C(`batch-action-error`,t,e.key)}},Qe=()=>{J.value?q.clearAll():W.stateManager.selection.clear()},$e=f(()=>J.value?q.getPageCheckedKeys(K.value):null),et=e=>{if(J.value){q.handlePageSelectionChange(e,K.value);return}W.expandState?.handleSelectionChange?.(e)},tt=o(),nt=async()=>{let e=F.value.exportConfig??{};await tt.run(`export`,async()=>{let t=()=>J.value?q.getSelectedRows():W.stateManager.selection.getSelected(),n=e.scope===`page`?K.value:V.value;await dn(e.requestData?await e.requestData():e.scope===`selected`?t():n,e.scope&&e.scope!==`source`?je.value:N.value,{...e,formatterConfig:F.value.formatterConfig})})},rt=f(()=>F.value.summaryRender),Y=j(),it=null,at=0,ot=()=>{at+=1,it?.destroy(),it=null},st=async()=>{let e=++at;if(it?.destroy(),it=null,!(!F.value.enableColumnDrag||!Y.value))try{let{default:t}=await import(`sortablejs`);if(e!==at||!Y.value)return;let n=Y.value.querySelector(`.n-data-table-thead tr`);if(!n)return;it=new t(n,{animation:F.value.columnDragAnimationDuration,handle:F.value.columnDragHandleClass?`.${F.value.columnDragHandleClass}`:void 0,filter:`.c-table-actions-column`,preventOnFilter:!0,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...je.value],n=t.filter(e=>e.visible!==!1&&e.key!==`_actions`),r=n[e.oldIndex],i=n[e.newIndex];if(!r||!i||r===i)return;let a=t.indexOf(r),o=t.indexOf(i);t.splice(a,1),t.splice(o,0,r),ke.handleColumnChange(t),C(`column-change`,t)}})}catch{}},ct=f(()=>({striped:F.value.striped,bordered:F.value.bordered,singleLine:F.value.singleLine,size:F.value.size,maxHeight:F.value.maxHeight,tableLayout:Me.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`)&&Me.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0)?`fixed`:void 0})),lt=j(),ut=j(!1),X=j({}),dt=f({get:()=>W.editStates.modalEdit.isModalVisible.value,set:e=>{W.editStates.modalEdit.isModalVisible.value=e}}),ft=f(()=>`edit-form-${W.editStates.modalEdit.editingRowKey.value??`new`}`),pt=f(()=>Yt(N.value,()=>X.value));L(()=>W.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(X.value=l(e))},{immediate:!0,deep:!0});let Z=null;L(dt,e=>{e&&Z&&(clearTimeout(Z),Z=null),e||(Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value={},Z=null},300))});let mt=async()=>{if(!lt.value||ut.value)return;let e=W.editStates.modalEdit.editingRowKey.value,t=l(X.value);ut.value=!0;try{try{await lt.value.validate()}catch{return}if(e!==W.editStates.modalEdit.editingRowKey.value||!c(t,X.value))return;await W.editStates.modalEdit.saveEdit(t)}finally{ut.value=!1}},ht=()=>{X.value={},W.editStates.modalEdit.cancelEdit()},gt=e=>{ke.handleColumnChange(e),C(`column-change`,ke.reactiveColumns.value)},{edit:_t,expand:vt,selection:yt,dynamicRows:Q}=W.stateManager,bt=()=>T.value?.getFilteredAndSortedData?.().length??Fe.processedData.value.length,xt={startEdit:_t.start,cancelEdit:_t.cancel,saveEdit:()=>W.editStates.modalEdit.isModalVisible.value?mt():_t.save(),expandRow:vt.row,collapseRow:vt.collapse,toggleExpand:vt.toggle,retryExpand:e=>W.expandState.retryExpand(e),invalidateExpand:e=>W.expandState.invalidateExpand(e),expandAll:vt.all,collapseAll:vt.collapseAll,selectRow:e=>J.value?q.select(e):(yt.select(e),yt.isSelected(e)),unselectRow:e=>{J.value?q.unselect(e):yt.unselect(e)},selectAll:()=>{J.value?q.selectAll():yt.all()},clearSelection:Qe,isRowSelected:e=>J.value?q.isSelected(e):yt.isSelected(e),clearAllSelections:()=>{q.clearAll(),W.stateManager.clearAllSelections()},selectChildRow:W.stateManager.childSelection.select,unselectChildRow:W.stateManager.childSelection.unselect,selectAllChildren:W.stateManager.childSelection.selectAll,clearChildrenSelection:W.stateManager.childSelection.clear,getChildSelectedRows:W.stateManager.childSelection.getSelected,addRow:Q.add,insertRow:Q.insert,deleteRow:Q.delete,copyRow:Q.copy,moveRowUp:Q.moveUp,moveRowDown:Q.moveDown,clearRowSelection:Q?.clearSelection,getSelectedRowData:Q.getSelected,printTable:e=>Q.print(e??Y.value),downloadTableScreenshot:(e,t)=>Q.download(e??Y.value,t),resetToFirstPage:()=>{H.value?(Ce.value=1,T.value?.page(1)):G.resetToFirstPage()},getTotalPages:()=>{if(!H.value)return G.getTotalPages();let e=S.pagination;if(!e)return 1;if(U.value&&e.itemCount===void 0&&e.pageCount!==void 0)return Math.max(1,e.pageCount);let t=U.value?e.itemCount??V.value.length:bt(),n=e.pageSize??Se.value;return Math.max(1,Math.ceil(t/Math.max(1,n)))},getSelectedRows:()=>J.value?q.getSelectedRows():yt.getSelected(),getEditingData:()=>_t.getEditingData()??null,isEditing:_t.isEditing,isExpanded:vt.isExpanded,getManager:()=>W.stateManager,exportData:nt,crossPageSelection:{enabled:J,selectedKeys:q.selectedKeys,selectedCount:q.selectedCount,select:q.select,unselect:q.unselect,selectAll:q.selectAll,clearAll:q.clearAll,getSelectedRows:q.getSelectedRows}};return i(xt),re(()=>{let e=S.crud?.tableRef;e&&(e.value=xt),st(),Y.value&&Ke.initRowDrag(Y.value)}),L([()=>F.value.enableColumnDrag,()=>F.value.columnDragHandleClass,()=>_e.value,()=>Me.value.length],async()=>{await D(),await st()},{immediate:!0,flush:`post`}),L([()=>F.value.rowDrag,Ve,()=>_e.value,()=>K.value.length,()=>G.currentPage.value],async()=>{await D(),Y.value&&await Ke.initRowDrag(Y.value)},{immediate:!0,deep:!0,flush:`post`}),ne(()=>{Z&&clearTimeout(Z),ot(),Ke.destroyRowDrag()}),(t,n)=>(k(),h(`div`,{ref_key:`tableWrapperRef`,ref:Y,class:te([`c-table-wrapper`,[e.wrapperClass,{"c-table-wrapper--flex":e.flexHeight},F.value.density&&`c-table-wrapper--${F.value.density}`]]),"aria-busy":_e.value},[m(` 动态行工具栏 `),F.value.dynamicRows&&I(W).dynamicRowsState?(k(),p(se(I(W).dynamicRowsState.renderToolbar(Y.value)),{key:0})):m(`v-if`,!0),m(` 表格工具栏 `),F.value.showToolbar?(k(),h(`div`,In,[g(`div`,Ln,[oe(t.$slots,`toolbar-left`,{},void 0,!0),F.value.toolbarActions.length?(k(),p(s,{key:0,actions:F.value.toolbarActions,config:{...F.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):m(`v-if`,!0)]),g(`div`,Rn,[oe(t.$slots,`toolbar-right`,{},void 0,!0),F.value.toolbarRightActions.length?(k(),p(s,{key:0,actions:F.value.toolbarRightActions,config:{align:`right`,...F.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):m(`v-if`,!0),F.value.exportConfig?(k(),p(r,{key:1,name:`mdi:download`,size:`18`,title:I(B)(`table.export`),clickable:``,class:`column-settings-btn`,onClick:n[0]||=e=>nt()},null,8,[`title`])):m(`v-if`,!0),F.value.enableColumnSettings?(k(),p(r,{key:2,name:`mdi:cog`,size:`18`,title:I(B)(`table.settings`),clickable:``,class:`column-settings-btn`,onClick:n[1]||=e=>Ae.value=!0},null,8,[`title`])):m(`v-if`,!0)])])):m(`v-if`,!0),m(` 批量操作栏 `),F.value.batchActions?.enabled&&Ye.value>0?(k(),h(`div`,zn,[g(`span`,Bn,P(I(B)(`table.selectedCount`,{count:Ye.value})),1),y(I(ve),{size:8},{default:R(()=>[(k(!0),h(d,null,ae(F.value.batchActions.actions||[],e=>(k(),p(I(z),{key:e.key,type:e.type||`default`,size:F.value.controlSize,loading:I(Xe).isRunning(e.key),disabled:I(Xe).isRunning(e.key),onClick:t=>Ze(e)},_({default:R(()=>[v(` `+P(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:R(()=>[y(r,{name:e.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`size`,`loading`,`disabled`,`onClick`]))),128)),y(I(z),{size:F.value.controlSize,onClick:Qe},{default:R(()=>[v(P(I(B)(`table.cancelSelection`)),1)]),_:1},8,[`size`])]),_:1})])):m(`v-if`,!0),m(` 错误状态 `),F.value.error?.show?(k(),h(`div`,Vn,[oe(t.$slots,`error`,{error:F.value.error},()=>[g(`div`,Hn,[y(r,{name:`mdi:alert-circle-outline`,size:`48`}),g(`p`,Un,P(F.value.error.message||I(B)(`table.loadFailed`)),1),F.value.error.onRetry?(k(),p(I(z),{key:0,type:`primary`,size:F.value.controlSize,onClick:F.value.error.onRetry},{default:R(()=>[v(P(I(B)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])):m(`v-if`,!0)])],!0)])):m(`v-if`,!0),m(` 表格主体 `),F.value.error?.show?m(`v-if`,!0):(k(),p(I(ue),ee({key:4,ref_key:`tableRef`,ref:T},{...ct.value,...t.$attrs},{"flex-height":e.flexHeight,columns:I(Me),data:H.value?V.value:I(G).paginatedData.value,pagination:H.value?S.pagination:!1,remote:H.value?U.value:!0,"onUpdate:sorter":Re,"onUpdate:filters":ze,"onUpdate:pageSize":Te,"onUpdate:page":we,loading:_e.value,"row-key":A,"row-props":We,"expanded-row-keys":I(W).expandedKeys.value,"checked-row-keys":$e.value??I(W).checkedKeys.value,"onUpdate:expandedRowKeys":I(W).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":et,"scroll-x":I(Ne),"virtual-scroll":F.value.virtualScroll,"virtual-scroll-x":S.virtualScrollX,"min-row-height":F.value.virtualScroll?F.value.virtualItemHeight:void 0,"max-height":F.value.virtualScroll?F.value.virtualMaxHeight:F.value.maxHeight,summary:rt.value,"summary-placement":F.value.summaryPosition,"children-key":F.value.treeEnabled?F.value.treeChildrenKey:void 0,indent:F.value.treeEnabled?F.value.treeIndent:void 0,"default-expand-all":F.value.treeEnabled?F.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),{loading:R(()=>[oe(t.$slots,`loading`,{},()=>[y(I(a),{label:I(B)(`table.loading`)},null,8,[`label`])],!0)]),_:3},16,[`flex-height`,`columns`,`data`,`pagination`,`remote`,`loading`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-x`,`min-row-height`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),m(` 分页 `),!H.value&&I(G).paginationConfig.value?(k(),p(I(ge),ee({key:5},I(G).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):m(`v-if`,!0),m(` 编辑弹窗 `),F.value.editMode===`modal`||F.value.editMode===`both`?(k(),p(I(he),{key:6,show:dt.value,"onUpdate:show":n[3]||=e=>dt.value=e,title:F.value.modalTitle,width:F.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:R(()=>[y(I(ve),{justify:`end`},{default:R(()=>[y(I(z),{size:F.value.density?F.value.controlSize:`medium`,disabled:ut.value,onClick:ht},{default:R(()=>[v(P(I(B)(`common.cancel`)),1)]),_:1},8,[`size`,`disabled`]),y(I(z),{type:`primary`,size:F.value.density?F.value.controlSize:`medium`,disabled:!lt.value||ut.value,loading:ut.value,onClick:mt},{default:R(()=>[v(P(I(B)(`common.save`)),1)]),_:1},8,[`size`,`disabled`,`loading`])]),_:1})]),default:R(()=>[dt.value&&pt.value.length?(k(),p(I(x),{ref_key:`editFormRef`,ref:lt,key:ft.value,modelValue:X.value,"onUpdate:modelValue":n[2]||=e=>X.value=e,options:pt.value,config:{layout:`grid`,density:F.value.density,grid:{cols:2,...F.value.density?{}:{xGap:16,yGap:16}},showActions:!1}},null,8,[`modelValue`,`options`,`config`])):m(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):m(`v-if`,!0),m(` 动态行确认删除弹窗 `),F.value.dynamicRows&&I(W).dynamicRowsState?(k(),p(se(I(W).dynamicRowsState.renderConfirmModal()),{key:7})):m(`v-if`,!0),m(` 列设置抽屉 `),y(I(de),{show:I(Ae),"onUpdate:show":n[4]||=e=>E(Ae)?Ae.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:R(()=>[y(I(fe),{title:I(B)(`table.columnSettings`),closable:``},{default:R(()=>[y(Pn,{columns:I(je),"persist-key":F.value.persistKey,onChange:gt},null,8,[`columns`,`persist-key`])]),_:1},8,[`title`])]),_:1},8,[`show`])],10,Fn))}}),[[`__scopeId`,`data-v-e7f232d7`]]);const Gn=(e,t)=>Number.isFinite(e)?Math.max(1,Math.floor(e)):t;function Kn(e){let t=N([]),n=j(!1),r=N(),i=j(0),a=l(e.initialQuery),o=j(Gn(e.initialPage,1)),s=j(Gn(e.pageSize,20)),c=N(l(a)),u=0,d=null,p=async()=>{let a=++u;d?.abort(),d=new AbortController,n.value=!0,r.value=void 0;try{let n=await e.request({page:o.value,pageSize:s.value,query:l(c.value),signal:d.signal});if(a!==u||d.signal.aborted)return!1;if(!Array.isArray(n.data)||!Number.isFinite(n.total))throw TypeError(`[C_Table] request 必须返回 { data: T[], total: number }`);return t.value=l([...n.data]),i.value=Math.max(0,Math.floor(n.total)),e.onSuccess?.({data:t.value,total:i.value}),!0}catch(t){return a!==u||d.signal.aborted?!1:(r.value=t,e.onError?.(t),!1)}finally{a===u&&(n.value=!1)}},m=async(e,t=!0)=>(c.value=l(typeof e==`function`?e(c.value):{...c.value,...e}),o.value=1,t?p():!0),h=async(e,t)=>(o.value=Gn(e,o.value),s.value=Gn(t,s.value),p()),g=async(e=!0)=>(c.value=l(a),o.value=1,e?p():!0),_=f(()=>{let r=F(e.config)??{},a=typeof r.pagination==`object`?r.pagination:{};return{data:t.value,loading:n.value,columns:F(e.columns),rowKey:e.rowKey??`id`,config:{...r,pagination:{...a,enabled:!0,remote:!0,page:o.value,pageSize:s.value,total:i.value}}}}),v=f(()=>({..._.value,onPaginationChange:h})),y=()=>{u+=1,d?.abort(),d=null,n.value=!1};return e.immediate!==!1&&re(()=>void p()),ie(y),{data:t,loading:n,error:r,total:i,page:o,pageSize:s,query:c,tableProps:_,execute:p,reload:p,setQuery:m,resetQuery:g,handlePaginationChange:h,bindings:v,cancel:y}}export{ze as C,Ve as S,Ie as T,at as _,tn as a,qe as b,Ht as c,It as d,Ot as f,bt as g,xt as h,nn as i,Gt as l,Tt as m,Wn as n,en as o,Et as p,dn as r,Lt as s,Kn as t,Ut as u,Ke as v,Le as w,He as x,q as y};
1
+ import{t as e}from"./data2.js";import{computed as t,onMounted as n,onScopeDispose as r,ref as i,shallowRef as a,toValue as o}from"vue";const s=(e,t)=>Number.isFinite(e)?Math.max(1,Math.floor(e)):t;function c(c){let l=a([]),u=i(!1),d=a(),f=i(0),p=e(c.initialQuery),m=i(s(c.initialPage,1)),h=i(s(c.pageSize,20)),g=a(e(p)),_=0,v=null,y=async()=>{let t=++_;v?.abort(),v=new AbortController,u.value=!0,d.value=void 0;try{let n=await c.request({page:m.value,pageSize:h.value,query:e(g.value),signal:v.signal});if(t!==_||v.signal.aborted)return!1;if(!Array.isArray(n.data)||!Number.isFinite(n.total))throw TypeError(`[C_Table] request 必须返回 { data: T[], total: number }`);return l.value=e([...n.data]),f.value=Math.max(0,Math.floor(n.total)),c.onSuccess?.({data:l.value,total:f.value}),!0}catch(e){return t!==_||v.signal.aborted?!1:(d.value=e,c.onError?.(e),!1)}finally{t===_&&(u.value=!1)}},b=async(t,n=!0)=>(g.value=e(typeof t==`function`?t(g.value):{...g.value,...t}),m.value=1,n?y():!0),x=async(e,t)=>(m.value=s(e,m.value),h.value=s(t,h.value),y()),S=async(t=!0)=>(g.value=e(p),m.value=1,t?y():!0),C=t(()=>{let e=o(c.config)??{},t=typeof e.pagination==`object`?e.pagination:{};return{data:l.value,loading:u.value,columns:o(c.columns),rowKey:c.rowKey??`id`,config:{...e,pagination:{...t,enabled:!0,remote:!0,page:m.value,pageSize:h.value,total:f.value}}}}),w=t(()=>({...C.value,onPaginationChange:x})),T=()=>{_+=1,v?.abort(),v=null,u.value=!1};return c.immediate!==!1&&n(()=>void y()),r(T),{data:l,loading:u,error:d,total:f,page:m,pageSize:h,query:g,tableProps:C,execute:y,reload:y,setQuery:b,resetQuery:S,handlePaginationChange:x,bindings:w,cancel:T}}export{c as t};
@@ -262,16 +262,16 @@ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
262
262
  "update:modelValue": (value: WorkflowData) => any;
263
263
  change: (value: WorkflowData) => any;
264
264
  save: (data: WorkflowData) => any;
265
+ "validate-error": (errors: ValidationError[]) => any;
265
266
  "node-click": (node: WorkflowNode<NodeType>) => any;
266
267
  "edge-click": (edge: WorkflowEdge) => any;
267
- "validate-error": (errors: ValidationError[]) => any;
268
268
  }, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
269
269
  "onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
270
270
  onChange?: ((value: WorkflowData) => any) | undefined;
271
271
  onSave?: ((data: WorkflowData) => any) | undefined;
272
+ "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
272
273
  "onNode-click"?: ((node: WorkflowNode<NodeType>) => any) | undefined;
273
274
  "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
274
- "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
275
275
  }>, {
276
276
  theme: "light" | "dark";
277
277
  readonly: boolean;
@@ -262,16 +262,16 @@ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
262
262
  "update:modelValue": (value: WorkflowData) => any;
263
263
  change: (value: WorkflowData) => any;
264
264
  save: (data: WorkflowData) => any;
265
+ "validate-error": (errors: ValidationError[]) => any;
265
266
  "node-click": (node: WorkflowNode<NodeType>) => any;
266
267
  "edge-click": (edge: WorkflowEdge) => any;
267
- "validate-error": (errors: ValidationError[]) => any;
268
268
  }, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
269
269
  "onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
270
270
  onChange?: ((value: WorkflowData) => any) | undefined;
271
271
  onSave?: ((data: WorkflowData) => any) | undefined;
272
+ "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
272
273
  "onNode-click"?: ((node: WorkflowNode<NodeType>) => any) | undefined;
273
274
  "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
274
- "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
275
275
  }>, {
276
276
  theme: "light" | "dark";
277
277
  readonly: boolean;
@@ -0,0 +1 @@
1
+ function e(e,t,n={},r){return JSON.stringify([e,r??null,n.section??null,n.tab??null,n.rowKey===void 0?null:[typeof n.rowKey,String(n.rowKey)],n.field??null,t])}function t(t,n,r){let i=t;if(typeof i.message!=`string`||!i.message)return null;let a=typeof i.field==`string`?i.field:r.field,o={...r,field:a};return{key:e(n,i.message,o),source:n,message:i.message,target:o}}function n(e,t){return typeof e==`object`&&!!e&&!t.has(e)}function r(r,i,a={}){let o=[r],s=new Set,c=[],l=new Set;for(;o.length;){let e=o.pop();if(!n(e,s))continue;if(s.add(e),Array.isArray(e)){for(let t=e.length-1;t>=0;t--)o.push(e[t]);continue}let r=t(e,i,a);!r||l.has(r.key)||(l.add(r.key),c.push(r))}return c.length||c.push({key:e(i,`请检查该区域的输入`,a,`validation`),source:i,message:`请检查该区域的输入`,target:{...a}}),c}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1,18 @@
1
+ //#region src/core/validation.d.ts
2
+ /** 跨表单与网格共享的错误定位地址;只表达身份,不依赖具体控件。 */
3
+ interface ValidationTarget {
4
+ section?: string;
5
+ tab?: string;
6
+ rowKey?: string | number;
7
+ field?: string;
8
+ }
9
+ interface ValidationIssue {
10
+ key: string;
11
+ source: string;
12
+ message: string;
13
+ target?: ValidationTarget;
14
+ }
15
+ /** 将 Naive/async-validator 错误数组转换为可导航的问题,不修改原错误。 */
16
+ declare function collectValidationIssues(error: unknown, source: string, target?: ValidationTarget): ValidationIssue[];
17
+ //#endregion
18
+ export { ValidationTarget as n, collectValidationIssues as r, ValidationIssue as t };
@@ -0,0 +1,18 @@
1
+ //#region src/core/validation.d.ts
2
+ /** 跨表单与网格共享的错误定位地址;只表达身份,不依赖具体控件。 */
3
+ interface ValidationTarget {
4
+ section?: string;
5
+ tab?: string;
6
+ rowKey?: string | number;
7
+ field?: string;
8
+ }
9
+ interface ValidationIssue {
10
+ key: string;
11
+ source: string;
12
+ message: string;
13
+ target?: ValidationTarget;
14
+ }
15
+ /** 将 Naive/async-validator 错误数组转换为可导航的问题,不修改原错误。 */
16
+ declare function collectValidationIssues(error: unknown, source: string, target?: ValidationTarget): ValidationIssue[];
17
+ //#endregion
18
+ export { ValidationTarget as n, collectValidationIssues as r, ValidationIssue as t };
@@ -0,0 +1 @@
1
+ function e(e,t,n={},r){return JSON.stringify([e,r??null,n.section??null,n.tab??null,n.rowKey===void 0?null:[typeof n.rowKey,String(n.rowKey)],n.field??null,t])}function t(t,n,r){let i=t;if(typeof i.message!=`string`||!i.message)return null;let a=typeof i.field==`string`?i.field:r.field,o={...r,field:a};return{key:e(n,i.message,o),source:n,message:i.message,target:o}}function n(e,t){return typeof e==`object`&&!!e&&!t.has(e)}function r(r,i,a={}){let o=[r],s=new Set,c=[],l=new Set;for(;o.length;){let e=o.pop();if(!n(e,s))continue;if(s.add(e),Array.isArray(e)){for(let t=e.length-1;t>=0;t--)o.push(e[t]);continue}let r=t(e,i,a);!r||l.has(r.key)||(l.add(r.key),c.push(r))}return c.length||c.push({key:e(i,`请检查该区域的输入`,a,`validation`),source:i,message:`请检查该区域的输入`,target:{...a}}),c}export{e as n,r as t};
@@ -79,17 +79,17 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
79
79
  change: (valid: boolean) => any;
80
80
  success: (data: CaptchaSuccessPayload) => any;
81
81
  reset: () => any;
82
- "load-error": (error: unknown) => any;
83
82
  fail: (error: string) => any;
84
83
  "verify-error": (error: unknown) => any;
84
+ "load-error": (error: unknown) => any;
85
85
  "visible-change": (visible: boolean) => any;
86
86
  }, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
87
87
  onChange?: ((valid: boolean) => any) | undefined;
88
88
  onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
89
89
  onReset?: (() => any) | undefined;
90
- "onLoad-error"?: ((error: unknown) => any) | undefined;
91
90
  onFail?: ((error: string) => any) | undefined;
92
91
  "onVerify-error"?: ((error: unknown) => any) | undefined;
92
+ "onLoad-error"?: ((error: unknown) => any) | undefined;
93
93
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
94
94
  }>, {
95
95
  disabled: boolean;
@@ -1,4 +1,4 @@
1
- import { X as ComponentLocale, Y as ComponentFeedback } from "./useFormConfig.js";
1
+ import { n as ComponentLocale, t as ComponentFeedback } from "./contracts.js";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region src/components/C_Captcha/types.d.ts
@@ -79,17 +79,17 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
79
79
  change: (valid: boolean) => any;
80
80
  success: (data: CaptchaSuccessPayload) => any;
81
81
  reset: () => any;
82
- "load-error": (error: unknown) => any;
83
82
  fail: (error: string) => any;
84
83
  "verify-error": (error: unknown) => any;
84
+ "load-error": (error: unknown) => any;
85
85
  "visible-change": (visible: boolean) => any;
86
86
  }, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
87
87
  onChange?: ((valid: boolean) => any) | undefined;
88
88
  onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
89
89
  onReset?: (() => any) | undefined;
90
- "onLoad-error"?: ((error: unknown) => any) | undefined;
91
90
  onFail?: ((error: string) => any) | undefined;
92
91
  "onVerify-error"?: ((error: unknown) => any) | undefined;
92
+ "onLoad-error"?: ((error: unknown) => any) | undefined;
93
93
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
94
94
  }>, {
95
95
  disabled: boolean;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./useDataResource.cjs`),t=require(`./useFormArray.cjs`);exports.useDataResource=e.t,exports.useFormArray=t.t,exports.useValidationScope=t.n;
@@ -0,0 +1,2 @@
1
+ import { a as DataResourceOptions, i as useValidationScope, n as useFormArray, o as DataResourceStatus, r as ValidationParticipant, s as useDataResource, t as FormArrayEntry } from "./useFormArray.cjs";
2
+ export { type DataResourceOptions, type DataResourceStatus, type FormArrayEntry, type ValidationParticipant, useDataResource, useFormArray, useValidationScope };