@robot-admin/naive-ui-components 0.6.2 → 0.6.4

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 (221) hide show
  1. package/CHANGELOG.md +48 -48
  2. package/README.md +18 -14
  3. package/dist/C_ActionBar-DYG0Yf3A.css.map +1 -0
  4. package/dist/C_ActionBar-MAjRhqcI.css.map +1 -0
  5. package/dist/C_ActionBar.css +47 -47
  6. package/dist/C_ActionBar.js.map +1 -1
  7. package/dist/C_ActionBar2.js +1 -1
  8. package/dist/C_ActionBar2.js.map +1 -1
  9. package/dist/{C_AntV-A3NXx_sF.css.map → C_AntV-BY8jqqmi.css.map} +1 -1
  10. package/dist/{C_AntV-D2Zp2qQF.css.map → C_AntV-BbkHc-_a.css.map} +1 -1
  11. package/dist/C_AntV.css +78 -78
  12. package/dist/C_AntV.js.map +1 -1
  13. package/dist/C_AntV2.js +2 -2
  14. package/dist/C_AntV2.js.map +1 -1
  15. package/dist/{C_Barcode-DjTmDkbQ.css.map → C_Barcode-DYDRDe2O.css.map} +1 -1
  16. package/dist/{C_Barcode-Do1Ozsmh.css.map → C_Barcode-muJdc_O4.css.map} +1 -1
  17. package/dist/C_Barcode.css +7 -7
  18. package/dist/C_Barcode.js.map +1 -1
  19. package/dist/C_Barcode2.js +1 -1
  20. package/dist/C_Barcode2.js.map +1 -1
  21. package/dist/C_Breadcrumb-D55Jd2CK.css.map +1 -0
  22. package/dist/C_Breadcrumb-mBL4CWps.css.map +1 -0
  23. package/dist/C_Breadcrumb.css +7 -0
  24. package/dist/C_Breadcrumb.js.map +1 -1
  25. package/dist/C_Breadcrumb2.js +1 -1
  26. package/dist/C_Breadcrumb2.js.map +1 -1
  27. package/dist/{C_Captcha-CZmAETly.css.map → C_Captcha-9_hk6VmY.css.map} +1 -1
  28. package/dist/{C_Captcha-Ccq3DMrR.css.map → C_Captcha-MtASlJ0f.css.map} +1 -1
  29. package/dist/C_Captcha.css +19 -19
  30. package/dist/C_Captcha.js.map +1 -1
  31. package/dist/C_Captcha2.js +1 -1
  32. package/dist/C_Captcha2.js.map +1 -1
  33. package/dist/{C_City-Cv5BESaN.css.map → C_City-Bam08Qv3.css.map} +1 -1
  34. package/dist/{C_City-DNKv4MpH.css.map → C_City-Bb3W-KaN.css.map} +1 -1
  35. package/dist/C_City.css +29 -29
  36. package/dist/C_City.js.map +1 -1
  37. package/dist/C_City2.js +1 -1
  38. package/dist/C_City2.js.map +1 -1
  39. package/dist/C_Code-BFi5xxnM.css.map +1 -0
  40. package/dist/C_Code-CZ7yfnri.css.map +1 -0
  41. package/dist/C_Code.css +3 -3
  42. package/dist/C_Code.js.map +1 -1
  43. package/dist/C_Code2.js +1 -1
  44. package/dist/C_Code2.js.map +1 -1
  45. package/dist/{C_CollapsePanel-BpofCDyl.css.map → C_CollapsePanel-BCmTFuDz.css.map} +1 -1
  46. package/dist/{C_CollapsePanel-Fap-lv_5.css.map → C_CollapsePanel-Bxnh4Zy-.css.map} +1 -1
  47. package/dist/C_CollapsePanel.css +35 -35
  48. package/dist/C_CollapsePanel.js.map +1 -1
  49. package/dist/C_CollapsePanel2.js +1 -1
  50. package/dist/C_CollapsePanel2.js.map +1 -1
  51. package/dist/{C_Cron-C0-8b5af.css.map → C_Cron-Civir5-I.css.map} +1 -1
  52. package/dist/{C_Cron-DqHQ92LN.css.map → C_Cron-iw3qpMsy.css.map} +1 -1
  53. package/dist/C_Cron.css +37 -37
  54. package/dist/C_Cron.js.map +1 -1
  55. package/dist/C_Cron2.js +1 -1
  56. package/dist/C_Cron2.js.map +1 -1
  57. package/dist/{C_Draggable-Bq6o0qXn.css.map → C_Draggable-BCjIvIwT.css.map} +1 -1
  58. package/dist/{C_Draggable-r6nhx3yM.css.map → C_Draggable-DwkSlCOS.css.map} +1 -1
  59. package/dist/C_Draggable.css +46 -46
  60. package/dist/C_Draggable.js.map +1 -1
  61. package/dist/C_Draggable2.js +1 -1
  62. package/dist/C_Draggable2.js.map +1 -1
  63. package/dist/{C_FilePreview-BVarVvnD.css.map → C_FilePreview-BhcbiXsV.css.map} +1 -1
  64. package/dist/{C_FilePreview-DHGlV4OR.css.map → C_FilePreview-DJudcIbW.css.map} +1 -1
  65. package/dist/C_FilePreview.css +91 -91
  66. package/dist/C_FilePreview.js.map +1 -1
  67. package/dist/C_FilePreview2.js +1 -1
  68. package/dist/C_FilePreview2.js.map +1 -1
  69. package/dist/{C_Form-BciQUPpS.css.map → C_Form-BtcAPIRi.css.map} +1 -1
  70. package/dist/{C_Form-CKHvXL3O.css.map → C_Form-D_gwQ7hC.css.map} +1 -1
  71. package/dist/C_Form.css +222 -222
  72. package/dist/C_Form.js.map +1 -1
  73. package/dist/C_Form2.js +1 -1
  74. package/dist/C_Form2.js.map +1 -1
  75. package/dist/{C_FormSearch-Bmd2CmG6.css.map → C_FormSearch-Bi4XYjjk.css.map} +1 -1
  76. package/dist/{C_FormSearch-DBNtnjaL.css.map → C_FormSearch-DUGOoX0u.css.map} +1 -1
  77. package/dist/C_FormSearch.css +45 -45
  78. package/dist/C_FormSearch.js.map +1 -1
  79. package/dist/C_FormSearch2.js +1 -1
  80. package/dist/C_FormSearch2.js.map +1 -1
  81. package/dist/{C_FormulaEditor-3WG2vtQl.css.map → C_FormulaEditor-CJk3SSUJ.css.map} +1 -1
  82. package/dist/{C_FormulaEditor-Cm0CokN5.css.map → C_FormulaEditor-Cy7mjfVO.css.map} +1 -1
  83. package/dist/C_FormulaEditor.css +78 -78
  84. package/dist/C_FormulaEditor.js.map +1 -1
  85. package/dist/C_FormulaEditor2.js +1 -1
  86. package/dist/C_FormulaEditor2.js.map +1 -1
  87. package/dist/C_FullCalendar-BQA0OjGB.css.map +1 -0
  88. package/dist/C_FullCalendar-ChJUosAi.css.map +1 -0
  89. package/dist/C_FullCalendar.css +3 -3
  90. package/dist/C_FullCalendar.js.map +1 -1
  91. package/dist/C_FullCalendar2.js +1 -1
  92. package/dist/C_FullCalendar2.js.map +1 -1
  93. package/dist/C_Icon.js.map +1 -1
  94. package/dist/C_Icon2.js.map +1 -1
  95. package/dist/{C_ImageCropper-D3L2-J_J.css.map → C_ImageCropper-BqZpkZfU.css.map} +1 -1
  96. package/dist/{C_ImageCropper-DrmUlaLi.css.map → C_ImageCropper-CylwGuzS.css.map} +1 -1
  97. package/dist/C_ImageCropper.css +10 -10
  98. package/dist/C_ImageCropper.js.map +1 -1
  99. package/dist/C_ImageCropper2.js +1 -1
  100. package/dist/C_ImageCropper2.js.map +1 -1
  101. package/dist/{C_Map-BCJmDnJT.css.map → C_Map-DNnBcY70.css.map} +1 -1
  102. package/dist/{C_Map-WUMXSAfy.css.map → C_Map-LEXIx6zM.css.map} +1 -1
  103. package/dist/C_Map.css +4 -4
  104. package/dist/C_Map.js.map +1 -1
  105. package/dist/C_Map2.js +1 -1
  106. package/dist/C_Map2.js.map +1 -1
  107. package/dist/{C_Markdown-7iBnLDtL.css.map → C_Markdown-Kujzx1qG.css.map} +1 -1
  108. package/dist/{C_Markdown-BbTvdFCl.css.map → C_Markdown-YCAmBbNF.css.map} +1 -1
  109. package/dist/C_Markdown.css +33 -33
  110. package/dist/C_Markdown.js.map +1 -1
  111. package/dist/C_Markdown2.js +1 -1
  112. package/dist/C_Markdown2.js.map +1 -1
  113. package/dist/C_Menu.js.map +1 -1
  114. package/dist/C_Menu2.js.map +1 -1
  115. package/dist/{C_QRCode-DMxSyogU.css.map → C_QRCode-CFNTda_1.css.map} +1 -1
  116. package/dist/{C_QRCode-G7fiAkm4.css.map → C_QRCode-CmWr9lK-.css.map} +1 -1
  117. package/dist/C_QRCode.css +9 -9
  118. package/dist/C_QRCode.js.map +1 -1
  119. package/dist/C_QRCode2.js +1 -1
  120. package/dist/C_QRCode2.js.map +1 -1
  121. package/dist/{C_Signature-B5fFz6RD.css.map → C_Signature-PN4GOLRX.css.map} +1 -1
  122. package/dist/{C_Signature-es-ZNPzr.css.map → C_Signature-fWQqGIZ-.css.map} +1 -1
  123. package/dist/C_Signature.css +14 -14
  124. package/dist/C_Signature.js.map +1 -1
  125. package/dist/C_Signature2.js +1 -1
  126. package/dist/C_Signature2.js.map +1 -1
  127. package/dist/{C_SplitPane-Br2eK8IG.css.map → C_SplitPane-BOwr1C7K.css.map} +1 -1
  128. package/dist/{C_SplitPane-DuyzUhKB.css.map → C_SplitPane-N-a_D-7F.css.map} +1 -1
  129. package/dist/C_SplitPane.css +31 -31
  130. package/dist/C_SplitPane.js.map +1 -1
  131. package/dist/C_SplitPane2.js +1 -1
  132. package/dist/C_SplitPane2.js.map +1 -1
  133. package/dist/{C_Steps-DGwXxS2Y.css.map → C_Steps-DLW2vbqC.css.map} +1 -1
  134. package/dist/{C_Steps-P9Qj9iDd.css.map → C_Steps-DwMRHbG2.css.map} +1 -1
  135. package/dist/C_Steps.css +37 -37
  136. package/dist/C_Steps.js.map +1 -1
  137. package/dist/C_Steps2.js +1 -1
  138. package/dist/C_Steps2.js.map +1 -1
  139. package/dist/{C_Table-vZlcgH6x.css.map → C_Table-BV1wUw6f.css.map} +1 -1
  140. package/dist/{C_Table-wzAO43l0.css.map → C_Table-LlJ-JEdm.css.map} +1 -1
  141. package/dist/C_Table.css +93 -93
  142. package/dist/C_Table.js.map +1 -1
  143. package/dist/C_Table2.js +1 -1
  144. package/dist/C_Table2.js.map +1 -1
  145. package/dist/{C_TagsView-BsutyC3U.css.map → C_TagsView-DX3LecK1.css.map} +1 -1
  146. package/dist/{C_TagsView-Crm7yWg9.css.map → C_TagsView-DqOTa8bL.css.map} +1 -1
  147. package/dist/C_TagsView.css +36 -36
  148. package/dist/C_TagsView.js.map +1 -1
  149. package/dist/C_TagsView2.js +1 -1
  150. package/dist/C_TagsView2.js.map +1 -1
  151. package/dist/C_Time-BzyQVvTS.css.map +1 -0
  152. package/dist/C_Time-DmpKLQHc.css.map +1 -0
  153. package/dist/C_Time.css +5 -5
  154. package/dist/C_Time.js.map +1 -1
  155. package/dist/C_Time2.js +1 -1
  156. package/dist/C_Time2.js.map +1 -1
  157. package/dist/{C_Tree-B-Le4hjQ.css.map → C_Tree-D98nX9qT.css.map} +1 -1
  158. package/dist/{C_Tree-DnGc_MPb.css.map → C_Tree-ulfm7b-P.css.map} +1 -1
  159. package/dist/C_Tree.css +33 -33
  160. package/dist/C_Tree.js.map +1 -1
  161. package/dist/C_Tree2.js +1 -1
  162. package/dist/C_Tree2.js.map +1 -1
  163. package/dist/{C_VideoPlayer-Cdgv4Zq0.css.map → C_VideoPlayer-4J96tKfK.css.map} +1 -1
  164. package/dist/{C_VideoPlayer-rm0MODUv.css.map → C_VideoPlayer-D35seHkm.css.map} +1 -1
  165. package/dist/C_VideoPlayer.css +13 -13
  166. package/dist/C_VideoPlayer.js.map +1 -1
  167. package/dist/C_VideoPlayer2.js +1 -1
  168. package/dist/C_VideoPlayer2.js.map +1 -1
  169. package/dist/{C_VtableGantt-BpY-Rng3.css.map → C_VtableGantt-C2lxFmWg.css.map} +1 -1
  170. package/dist/{C_VtableGantt-DB87-jdS.css.map → C_VtableGantt-Dwnkw_WL.css.map} +1 -1
  171. package/dist/C_VtableGantt.css +15 -15
  172. package/dist/C_VtableGantt.js.map +1 -1
  173. package/dist/C_VtableGantt2.js +1 -1
  174. package/dist/C_VtableGantt2.js.map +1 -1
  175. package/dist/{C_WorkFlow-7F6op6qN.css.map → C_WorkFlow-2hJfvvTK.css.map} +1 -1
  176. package/dist/{C_WorkFlow-Cy3HWA6A.css.map → C_WorkFlow-DHoNjl8-.css.map} +1 -1
  177. package/dist/C_WorkFlow.css +108 -108
  178. package/dist/C_WorkFlow.js.map +1 -1
  179. package/dist/C_WorkFlow2.js +1 -1
  180. package/dist/C_WorkFlow2.js.map +1 -1
  181. package/dist/constants.d.ts +4 -4
  182. package/dist/constants2.d.ts +5 -5
  183. package/dist/constants3.d.ts +1 -1
  184. package/dist/constants4.d.ts +3 -3
  185. package/dist/index.cjs.map +1 -1
  186. package/dist/index.js.map +1 -1
  187. package/dist/index11.vue.d.ts +3 -3
  188. package/dist/index12.vue.d.ts +2 -2
  189. package/dist/index13.vue.d.ts +5 -5
  190. package/dist/index15.vue.d.ts +1 -1
  191. package/dist/index17.vue.d.ts +1 -1
  192. package/dist/index19.vue.d.ts +1 -1
  193. package/dist/index4.vue.d.ts +6 -6
  194. package/dist/index5.vue.d.ts +2 -2
  195. package/dist/index6.vue.d.ts +2 -2
  196. package/dist/index7.vue.d.ts +1 -1
  197. package/dist/index8.vue.d.ts +1 -1
  198. package/dist/index9.vue.d.ts +2 -2
  199. package/dist/menuAdapter.js.map +1 -1
  200. package/dist/resolver.cjs.map +1 -1
  201. package/dist/resolver.js.map +1 -1
  202. package/dist/style.css +1218 -1209
  203. package/dist/useCollapsePanel.d.ts +1 -1
  204. package/dist/useDraggableLayout.d.ts +2 -2
  205. package/dist/useDynamicFormState.d.ts +118 -118
  206. package/dist/useInfiniteScroll.d.ts +2 -2
  207. package/dist/useQRCode.d.ts +1 -1
  208. package/dist/useSearchState.d.ts +2 -2
  209. package/dist/useSplitResize.d.ts +2 -2
  210. package/dist/useTimeSelection.d.ts +2 -2
  211. package/dist/useTreeOperations.d.ts +4 -4
  212. package/dist/useWorkflowValidation.d.ts +2 -2
  213. package/package.json +1 -1
  214. package/dist/C_ActionBar-jZPsiXtT.css.map +0 -1
  215. package/dist/C_ActionBar-nnfbZCea.css.map +0 -1
  216. package/dist/C_Code-DPZlNSxL.css.map +0 -1
  217. package/dist/C_Code-avZjAnHD.css.map +0 -1
  218. package/dist/C_FullCalendar-1U4VlG7X.css.map +0 -1
  219. package/dist/C_FullCalendar-DLUdCtqf.css.map +0 -1
  220. package/dist/C_Time-Bd_e1YDN.css.map +0 -1
  221. package/dist/C_Time-CKb_fwdm.css.map +0 -1
package/dist/C_Table2.js CHANGED
@@ -1,2 +1,2 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as n}from"./C_Form2.js";import{NButton as r,NDatePicker as i,NDropdown as a,NInput as o,NInputNumber as s,NSelect as c,NSpace as l,NSwitch as u,useDialog as d,useMessage as f}from"naive-ui";import{Fragment as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createTextVNode as y,createVNode as b,defineComponent as x,h as S,isRef as C,mergeProps as w,nextTick as T,normalizeClass as E,normalizeStyle as D,onBeforeUnmount as O,onMounted as ee,openBlock as k,ref as A,renderList as j,renderSlot as te,resolveDynamicComponent as ne,toDisplayString as M,unref as N,watch as P,watchEffect as F,withCtx as I}from"vue";import re from"html2canvas";import{NButton as L,NButtonGroup as R,NCheckbox as ie,NDataTable as ae,NDrawer as oe,NDrawerContent as se,NDropdown as z,NInput as B,NModal as ce,NPagination as le,NSpace as V,NSpin as H,NSwitch as U,NTag as ue,NText as W,NTooltip as G,useMessage as K}from"naive-ui/es";import de from"print-js";const fe={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600},pe=e=>e===!1||e===void 0?fe:e===!0?{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600}:{editable:e.enabled!==!1&&e.mode!==`none`,editMode:e.mode||`modal`,showRowActions:e.showRowActions!==!1&&e.mode!==`none`,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600},q=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,renderExpandContent:void 0,rowExpandable:void 0},J=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`}},Y=e=>{let t={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};return e===!1?{pagination:null}:e===!0||e===void 0?{pagination:t}:{pagination:{...t,...e}}},me=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},X={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function he(e){return e?{striped:e.striped??X.striped,bordered:e.bordered??X.bordered,singleLine:e.singleLine??X.singleLine,size:e.size??X.size,maxHeight:e.maxHeight,scrollX:e.scrollX,columnWidth:e.columnWidth??X.columnWidth}:{...X}}const ge=e=>({showToolbar:e?.show!==!1,enableColumnSettings:e?.columnSettings!==!1});function _e(e={}){return{...pe(e.edit),...q(e.expand),...J(e.selection),...Y(e.pagination),...me(e.dynamicRows),...he(e.display),...ge(e.toolbar)}}const ve=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function ye(e){let t=A(null),n=A({}),r=e=>t.value===e,i=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)};return{editingRowKey:t,isEditingRow:r,startEditRow:e=>{let r=i(e);r&&(t.value=e,n.value[e]={...r})},cancelEditRow:async()=>{if(!t.value)return;let r=e.data();if(!r||!Array.isArray(r))return;let i=r.findIndex(n=>e.rowKey(n)===t.value);i>-1&&await e.onCancel?.(r[i],i),t.value=null,n.value={}},saveEditRow:async()=>{if(!t.value)return;let r=t.value,i=e.data();if(!i||!Array.isArray(i))return;let a=i.findIndex(t=>e.rowKey(t)===r);if(a===-1)return;let o=n.value[r];if(o)return await e.onSave?.(o,a),t.value=null,n.value={},{updatedData:o,rowIndex:a}},getEditingRowData:e=>n.value[e],updateEditingRowData:(e,t,r)=>{n.value[e]&&(n.value[e][t]=r)},findRowData:i}}function be(e){let t=A({rowKey:null,columnKey:null}),n=A({}),r=(e,n)=>t.value.rowKey===e&&t.value.columnKey===n,i=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)};return{editingCell:t,isEditingCell:r,startEditCell:(e,r)=>{let a=i(e);a&&(t.value={rowKey:e,columnKey:r},n.value[`${e}-${r}`]=a[r])},saveEditCell:async()=>{let{rowKey:r,columnKey:i}=t.value;if(!r||!i)return;let a=e.data();if(!a||!Array.isArray(a))return;let o=a.findIndex(t=>e.rowKey(t)===r);if(o===-1)return;let s=`${r}-${i}`,c=n.value[s],l={...a[o],[i]:c};return await e.onSave?.(l,o,i),t.value={rowKey:null,columnKey:null},delete n.value[s],{updatedData:l,rowIndex:o,columnKey:i}},cancelEditCell:()=>{let{rowKey:e,columnKey:r}=t.value;e&&r&&delete n.value[`${e}-${r}`],t.value={rowKey:null,columnKey:null}},getEditingCellValue:(e,t)=>n.value[`${e}-${t}`],updateEditingCellValue:(e,t,r)=>{n.value[`${e}-${t}`]=r},findRowData:i}}function xe(e){let t=A(!1),n=A(null),r=A({}),i=m(()=>{if(!n.value)return-1;let t=e.data();return!t||!Array.isArray(t)?-1:t.findIndex(t=>e.rowKey(t)===n.value)}),a=()=>{n.value=null,r.value={}};return{isModalVisible:t,editingData:r,editingRowKey:n,editingRowIndex:i,startEdit:i=>{console.log(`🚀 开始编辑:`,i);let a=e.data();if(!a||!Array.isArray(a)){console.warn(`数据源为空或不是数组`);return}let o=a.findIndex(t=>e.rowKey(t)===i);if(o===-1){console.warn(`未找到对应的行数据:`,i);return}let s=a[o];console.log(`找到行数据:`,s),n.value=i,r.value=JSON.parse(JSON.stringify(s)),console.log(`编辑数据已准备:`,r.value),t.value=!0},saveEdit:async o=>{let s=o||r.value,c=i.value;if(console.log(`💾 保存编辑:`,{rowKey:n.value,index:c,data:s}),c===-1){console.warn(`无法找到编辑行的索引`);return}try{await e.onSave?.(s,c),t.value=!1,a(),console.log(`✅ 保存成功`)}catch(e){throw console.error(`❌ 保存失败:`,e),e}},cancelEdit:async()=>{console.log(`🚫 取消编辑`);try{let t=i.value;if(n.value&&t>-1){let n=e.data();n&&n[t]&&await e.onCancel?.(n[t],t)}}finally{t.value=!1,a()}},updateEditingData:e=>{r.value={...e}},resetEditingState:a,isEditingRow:e=>n.value===e&&t.value,getEditingRowData:e=>n.value===e?r.value:null}}const Se=e=>({expandedKeys:A([...e.defaultExpandedKeys||[]]),expandDataMap:A(new Map),loadingMap:A(new Map),checkedKeys:e.enableSelection?A([...e.defaultCheckedKeys||[]]):A([]),childSelections:(e.enableChildSelection,A(new Map))}),Ce=e=>{let t=m(()=>N(e.data)),n=e.rowKey;return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>t.value.find(t=>n(t)===e),isRowExpandable:e.rowExpandable||(()=>!0),isRowCheckable:e.rowCheckable||(()=>!0),isChildRowCheckable:e.childRowCheckable||(()=>!0)}},we=(e,t,n)=>{let r=async r=>{if(!n.onLoadData)return[];let i=t.getRowKey(r),a=e.expandDataMap.value.get(i);if(a)return a;e.loadingMap.value.set(i,!0);try{let t=await n.onLoadData(r)||[];return e.expandDataMap.value.set(i,t),n.enableChildSelection&&!e.childSelections.value.has(i)&&e.childSelections.value.set(i,[]),t}catch(e){return console.error(`加载展开数据失败:`,e),[]}finally{e.loadingMap.value.set(i,!1)}};return{loadData:r,handleRowExpand:async(i,a)=>{let o=t.getRowKey(i);a?(await r(i),e.expandedKeys.value.includes(o)||(e.expandedKeys.value=[...e.expandedKeys.value,o])):e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==o),n.onExpandChange?.(e.expandedKeys.value)},expandAll:async()=>{let i=t.data.value.filter(t.isRowExpandable);await Promise.allSettled(i.map(r)),e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value)},collapseAll:()=>{e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async i=>{let a=i.filter(t=>!e.expandedKeys.value.includes(t)),o=e.expandedKeys.value.filter(e=>!i.includes(e));await Promise.all(a.map(async e=>{let n=t.findRow(e);n&&await r(n)}));for(let t of o)e.childSelections.value.delete(t);e.expandedKeys.value=i,n.onExpandChange?.(i)}}},Te=(e,t,n)=>{let r=m(()=>t.data.value.filter(t.isRowCheckable));return{selectAll:()=>{if(!n.enableSelection)return;let i=r.value.map(t.getRowKey),a=n.maxSelection?i.slice(0,n.maxSelection):i;e.checkedKeys.value=a;let o=r.value.filter(e=>a.includes(t.getRowKey(e)));n.onSelectionChange?.(a,o,e.childSelections.value)},clearSelection:()=>{n.enableSelection&&(e.checkedKeys.value=[],n.onSelectionChange?.([],[],e.childSelections.value))},handleSelectionChange:r=>{if(!n.enableSelection)return;e.checkedKeys.value=r;let i=t.data.value.filter(e=>r.includes(t.getRowKey(e)));n.onSelectionChange?.(r,i,e.childSelections.value)},selectedRowsCount:m(()=>e.checkedKeys.value.length),selectableRows:r}},Ee=(e,t)=>{let n=!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(r,i,a)=>{if(!n)return;let o=t.parentChildLinkMode===`strict`?i.length===a&&a>0:i.length>0,s=[...e.checkedKeys.value],c=s.includes(r);o&&!c?e.checkedKeys.value=[...s,r]:!o&&c&&(e.checkedKeys.value=s.filter(e=>e!==r))},isLinkEnabled:n}},De=(e,t,n,r)=>({totalChildSelections:m(()=>r.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.checkedKeys.value=[],e.childSelections.value.clear(),r.onSelectionChange?.([],[],e.childSelections.value)},handleChildSelectionChange:(i,a)=>{if(!r.enableChildSelection)return;e.childSelections.value.set(i,a);let o=e.expandDataMap.value.get(i)||[],s=o.filter(e=>a.includes(t.getChildRowKey(e)));r.onChildSelectionChange?.(i,a,s),n.isLinkEnabled&&n.handleParentChildLink(i,a,o.length)}}),Oe=(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,[])}}},ke=()=>S(`div`,{class:`flex justify-center items-center py-8`},[S(H,{size:`small`}),S(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),Ae=()=>S(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),je=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,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,ellipsis:{tooltip:!0}}))]},Me=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0}),o.push(...je(t)),S(`div`,{class:`p-4 bg-gray-50`},[S(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),S(ae,{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})])},Ne=(e,t,n,r,i)=>{let a=a=>{let o=t.getRowKey(a),s=e.expandDataMap.value.get(o)||[],c=e.loadingMap.value.get(o)||!1;!s.length&&!c&&e.expandedKeys.value.includes(o)&&T(()=>{r.loadData(a)});let l=Oe(o,e,t,n,i);return i.renderContent?i.renderContent(a,s,c,l):c?ke():s.length?Me(o,s,l,t,n,i):Ae()};return{getTableColumns:e=>e.map(e=>e.type===`selection`&&i.enableSelection?{type:`selection`,disabled:e=>!t.isRowCheckable(e),multiple:!i.maxSelection||i.maxSelection>1}:e.type===`expand`&&(i.onLoadData||i.renderContent)?{type:`expand`,expandable:t.isRowExpandable,renderExpand:a}:e)}};function Pe(e){let t=Se(e),n=Ce(e),r=we(t,n,e),i=Te(t,n,e),a=De(t,n,Ee(t,e),e),o=Ne(t,n,a,r,e);return e.onSelectionChange&&e.enableSelection&&F(()=>{if(!e.onSelectionChange)return;let r=n.data.value.filter(e=>t.checkedKeys.value.includes(n.getRowKey(e))),i=t.checkedKeys.value.length>0,a=n.data.value.length>0;(i||!a)&&e.onSelectionChange(t.checkedKeys.value,r,t.childSelections.value)}),e.defaultExpandedKeys?.length&&T(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 i=>{if(t.expandedKeys.value.includes(i))return;let a=n.findRow(i);a&&(await r.loadData(a),t.expandedKeys.value=[...t.expandedKeys.value,i],e.onExpandChange?.(t.expandedKeys.value,a,!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}}const Fe={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},Ie={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},Le={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 Re(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 ze(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 Be(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 Ve(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 Z(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...Fe,...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:Re,corner:ze,diagonal:Be,repeat:Ve};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function Q(e,t={}){let n={...Ie,...t};return await re(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 He(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function Ue(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=He(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}let We=null;function Ge(){We=setInterval(()=>{window.dispatchEvent(new Event(`focus`))},500)}function Ke(){We&&=(clearInterval(We),null)}function qe(e,t={}){let n={...Le,...t};return new Promise((t,r)=>{try{Ge(),n.onLoadingStart?.(),de({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{Ke(),n.onPrintDialogClose?.(),t()}})}catch(e){Ke(),r(e)}})}function Je(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 Ye(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 Xe(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function Ze(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>Q(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=Je(s,i,a);return r(60),Ye(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Qe(e,t,n,r,i){r(70),t.watermark&&Z(e,t.watermark),r(90),await qe(He(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function $e(){let e;try{e=f()}catch{e={success:e=>console.log(`[PrintWatermark]`,e),error:e=>console.error(`[PrintWatermark]`,e),warning:e=>console.warn(`[PrintWatermark]`,e)}}let t=A(!1),n=A(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},i=async(e,t={})=>{try{r(0),r(30);let n=await Q(e,t.capture);r(60),t.watermark&&Z(n,t.watermark),r(90);let i=He(n,t.capture?.format||`png`,t.capture?.quality||.92);return r(100),i}catch(e){throw console.error(`截图失败:`,e),Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},a=async(n,a={})=>{t.value=!0,r(0);try{await T();let t=await i(n,a);r(95),await qe(t,a.print),r(100),e.success(`打印完成`)}catch(t){throw console.error(`打印失败:`,t),e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`),t}finally{t.value=!1,r(0)}},o=async(n,r,i={})=>{t.value=!0;try{await T();let t=await Q(n,i.capture);i.watermark&&Z(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;Ue(t,r||o,a),e.success(`下载完成`)}catch(t){throw console.error(`下载失败:`,t),e.error(`下载失败`),t}finally{t.value=!1}},s=async(e,t=`Robot Admin`)=>a(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),c=async(e,t={})=>{let n=e.length;r(10);let a=e.map(async(e,a)=>{let o=await i(e,t);return r(10+(a+1)/n*70),o});return Promise.all(a)},l=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await qe(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:n,captureWithWatermark:i,printWithWatermark:a,downloadScreenshot:o,quickPrint:s,batchCapture:c,batchPrint:async(n,i={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{r(0);let t=await c(n,i);r(80),await l(t,i.print),r(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw console.error(`批量打印失败:`,t),e.error(`批量打印失败`),t}finally{t.value=!1,r(0)}},mergePrint:async(n,i={},a={})=>{let o=Xe(n,a,e);if(o){t.value=!0;try{await Qe(await Ze(n,i,o,r),i,n.length,r,e)}catch(t){throw console.error(`合并打印失败:`,t),e.error(`合并打印失败`),t}finally{t.value=!1,r(0)}}},createPreset:(e,t)=>({use:e=>a(e,t),download:(e,n)=>o(e,n,t)}),updateProgress:r,utils:{captureElement:Q,drawWatermark:Z,canvasToDataURL:He,downloadCanvas:Ue,printImage:qe}}}const et={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 tt(){return`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function nt(e,t){return typeof t==`function`?t(e):e[t]}function rt(e,t){let n=e?.()||{},r=typeof t==`string`?t:`id`;return{...n,[r]:tt()}}function it(t,n={}){let r=K(),i={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`,defaultRowData:()=>({}),...n},a=A(null),o=A(!1),s=m(()=>a.value===null?null:t.value.find(e=>nt(e,i.rowKey)===a.value)||null),c=m(()=>s.value?t.value.findIndex(e=>e===s.value):-1),l=m(()=>c.value>0),u=m(()=>c.value>=0&&c.value<t.value.length-1),{loading:d,progress:f,printWithWatermark:p,downloadScreenshot:h,quickPrint:g}=$e(),_=()=>{if(i.printOptions)return i.printOptions;let e=et[i.printPreset||`table`];return i.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:i.printWatermarkText}}:e},v=e=>{t.value=e,i.onRowChange?.(e)},y=()=>{if(!i.enableAdd)return;let e=rt(i.defaultRowData,i.rowKey);v([...t.value,e]),i.onRowAdd?.(e),r.success(`添加行成功`)},b=()=>{if(!i.enableInsert||!s.value){r.warning(`请先选择一行数据`);return}let e=rt(i.defaultRowData,i.rowKey),n=[...t.value];n.splice(c.value+1,0,e),v(n),i.onRowAdd?.(e),r.success(`插入行成功`)},x=()=>{if(!i.enableDelete||!s.value){r.warning(`请先选择要删除的行`);return}i.confirmDelete?o.value=!0:C()},C=()=>{if(!s.value)return;let e=s.value,n=c.value;v(t.value.filter((e,t)=>t!==n)),a.value=null,i.onSelectionChange?.(null,null),i.onRowDelete?.(e,n),r.success(`删除行成功`),o.value=!1},w=()=>{if(!i.enableCopy||!s.value){r.warning(`请先选择要复制的行`);return}let e=s.value,n=typeof i.rowKey==`string`?i.rowKey:`id`,{[n]:a,...o}=e,c={...o,[n]:tt()};v([...t.value,c]),i.onRowCopy?.(e,c),r.success(`复制行成功`)},T=()=>{if(!i.enableMove||!l.value)return;let e=c.value,n=[...t.value],a=n[e];[n[e],n[e-1]]=[n[e-1],n[e]],v(n),i.onRowMove?.(a,e,e-1),r.success(`行已上移`)},E=()=>{if(!i.enableMove||!u.value)return;let e=c.value,n=[...t.value],a=n[e];[n[e],n[e+1]]=[n[e+1],n[e]],v(n),i.onRowMove?.(a,e,e+1),r.success(`行已下移`)},D=e=>{let n=t.value.find(t=>nt(t,i.rowKey)===e);n&&(a.value=e,i.onSelectionChange?.(e,n))},ee=()=>{a.value=null,i.onSelectionChange?.(null,null)},k=async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=_();await p(e.value,t)};return O(()=>{a.value=null,o.value=!1}),{selectedRowKey:a,selectedRowData:s,selectedRowIndex:c,canMoveUp:l,canMoveDown:u,deleteConfirmVisible:o,printLoading:d,printProgress:f,addRow:y,insertRow:b,deleteRow:x,confirmDelete:C,copyRow:w,moveRowUp:T,moveRowDown:E,selectRow:D,clearSelection:ee,handlePrint:k,handleDownload:async(e,t)=>{if(!e.value){r.error(`下载元素未找到`);return}let n=_();await h(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=i.printWatermarkText||`Robot Admin`;await g(e.value,t)},enhanceColumns:e=>{let t=[...e];return i.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:`选择`,width:80,align:`center`,editable:!1,render:e=>{let t=nt(e,i.rowKey);return S(`div`,{class:`flex justify-center`},[S(`input`,{type:`radio`,name:`table-radio-selection`,checked:a.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&D(t)}})])}}),t},renderToolbar:()=>{let t=[];i.enablePrint&&t.push(S(L,{loading:d.value,type:`primary`,ghost:!0,onClick:async()=>{try{let e=document.querySelector(i.printTargetSelector);e?await k(A(e)):console.warn(`未找到表格容器元素`)}catch(e){console.error(`打印失败:`,e)}}},{icon:()=>S(e,{name:`mdi:printer`,title:`打印`}),default:()=>`打印`}));let n=[];return i.enableAdd&&n.push(S(L,{onClick:y,type:`primary`},{icon:()=>S(e,{name:`mdi:plus`,title:`增行`}),default:()=>`增行`})),i.enableInsert&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:b,disabled:!s.value,type:`primary`,ghost:!0},{icon:()=>S(e,{name:`mdi:table-row-plus-after`,title:`插行`}),default:()=>`插行`}),default:()=>`请先选择一行数据`})),i.enableDelete&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:x,disabled:!s.value,type:`error`,ghost:!0},{icon:()=>S(e,{name:`mdi:delete`,title:`删除行`}),default:()=>`删除行`}),default:()=>`请先选择要删除的行`})),i.enableCopy&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:w,disabled:!s.value,type:`info`,ghost:!0},{icon:()=>S(e,{name:`mdi:content-copy`,title:`复制行`}),default:()=>`复制行`}),default:()=>`请先选择要复制的行`})),i.enableMove&&n.push(S(G,{disabled:l.value},{trigger:()=>S(L,{onClick:T,disabled:!l.value,type:`warning`,ghost:!0},{icon:()=>S(e,{name:`mdi:arrow-up`,title:`上移`}),default:()=>`上移`}),default:()=>s.value?`已经是第一行`:`请先选择数据`}),S(G,{disabled:u.value},{trigger:()=>S(L,{onClick:E,disabled:!u.value,type:`warning`,ghost:!0},{icon:()=>S(e,{name:`mdi:arrow-down`,title:`下移`}),default:()=>`下移`}),default:()=>s.value?`已经是最后一行`:`请先选择数据`})),n.length>0&&t.push(S(R,{},()=>n)),S(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[S(V,{},()=>t)])},renderConfirmModal:()=>S(ce,{show:o.value,"onUpdate:show":e=>{o.value=e},preset:`dialog`,title:`确认删除`,content:i.deleteConfirmText,positiveText:`确认删除`,negativeText:`取消`,onPositiveClick:C})}}function at(e){let{config:t,data:n,rowKey:r,emit:i}=e,a={onSave:async(e,t,r)=>{if(!e||t<0||t>=n().length)return;let a=[...n()];a[t]={...a[t],...e},i(`update:data`,a),await T(),i(`save`,a[t],t,r)},onCancel:(e,t)=>{i(`cancel`,e,t)},onExpandChange:(e,t,n)=>{i(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{i(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{i(`child-selection-change`,e,t,n)},onRowChange:e=>{i(`update:data`,e),t.dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,n)=>{i(`row-selection-change`,e,n),t.dynamicRows?.onSelectionChange?.(e,n)},onRowAdd:e=>{i(`row-add`,e),t.dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,n)=>{i(`row-delete`,e,n),t.dynamicRows?.onRowDelete?.(e,n)},onRowCopy:(e,n)=>{i(`row-copy`,e,n),t.dynamicRows?.onRowCopy?.(e,n)},onRowMove:(e,n,r)=>{i(`row-move`,e,n,r),t.dynamicRows?.onRowMove?.(e,n,r)}},o=()=>({rowEdit:ye({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel}),cellEdit:be({data:n,rowKey:r,onSave:a.onSave}),modalEdit:xe({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel})}),s=()=>t.expandable||t.enableSelection||t.enableChildSelection?Pe({data:m(()=>n()),rowKey:r,childRowKey:e=>e.id,defaultExpandedKeys:t.defaultExpandedKeys,onLoadData:t.onLoadExpandData,renderContent:t.renderExpandContent,rowExpandable:t.rowExpandable,enableSelection:t.enableSelection,defaultCheckedKeys:t.defaultCheckedKeys,rowCheckable:t.rowCheckable,maxSelection:t.maxSelection,enableChildSelection:t.enableChildSelection,childRowCheckable:t.childRowCheckable,enableParentChildLink:t.enableParentChildLink,parentChildLinkMode:t.parentChildLinkMode,onExpandChange:a.onExpandChange,onSelectionChange:a.onSelectionChange,onChildSelectionChange:a.onChildSelectionChange}):null,c=()=>{if(!t.dynamicRows)return null;let e={...t.dynamicRows,onRowChange:a.onRowChange,onSelectionChange:a.onRowSelectionChange,onRowAdd:a.onRowAdd,onRowDelete:a.onRowDelete,onRowCopy:a.onRowCopy,onRowMove:a.onRowMove};return it(m(()=>n()),e)},l=o(),u=s(),d=c();return{editStates:l,expandState:u,dynamicRowsState:d,stateManager:{edit:{start(e,n){let r=t.editMode;r===`modal`?l.modalEdit.startEdit(e):r===`cell`&&n?l.cellEdit.startEditCell(e,n):(r===`row`||r===`both`)&&l.rowEdit.startEditRow(e)},cancel(){l.modalEdit.isModalVisible.value?l.modalEdit.cancelEdit():l.cellEdit.editingCell.value.rowKey?l.cellEdit.cancelEditCell():l.rowEdit.editingRowKey.value&&l.rowEdit.cancelEditRow()},async save(){l.modalEdit.isModalVisible.value?await l.modalEdit.saveEdit():l.cellEdit.editingCell.value.rowKey?await l.cellEdit.saveEditCell():l.rowEdit.editingRowKey.value&&await l.rowEdit.saveEditRow()},isEditing(e,n){return t.editMode===`modal`?l.modalEdit.isEditingRow(e):n?l.cellEdit.isEditingCell(e,n):l.rowEdit.isEditingRow(e)},getEditingData(){return l.modalEdit.isModalVisible.value?l.modalEdit.editingData:l.rowEdit.editingRowKey.value?l.rowEdit.getEditingRowData(l.rowEdit.editingRowKey.value):null}},expand:{async row(e){if(u){let t=[...u.expandedKeys.value];t.includes(e)||(t.push(e),u.handleExpandChange(t))}},collapse(e){if(u){let t=u.expandedKeys.value.filter(t=>t!==e);u.handleExpandChange(t)}},async toggle(e){u?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await u?.expandAll()},collapseAll(){u?.collapseAll()},isExpanded(e){return u?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(u?.checkedKeys.value&&!u.checkedKeys.value.includes(e)){let t=[...u.checkedKeys.value,e];u.handleSelectionChange(t)}},unselect(e){if(u?.checkedKeys.value){let t=u.checkedKeys.value.filter(t=>t!==e);u.handleSelectionChange(t)}},all(){u?.selectAll()},clear(){u?.clearSelection()},isSelected(e){return u?.checkedKeys.value.includes(e)??!1},getSelected(){return u?.checkedKeys.value?n().filter(e=>u.checkedKeys.value.includes(r(e))):[]}},childSelection:{select(e,t){if(u?.childSelections.value){let n=u.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];u.childSelections.value.set(e,r),i(`child-selection-change`,e,r,[])}}},unselect(e,t){if(u?.childSelections.value){let n=(u.childSelections.value.get(e)||[]).filter(e=>e!==t);u.childSelections.value.set(e,n),i(`child-selection-change`,e,n,[])}},selectAll(e){if(u?.childSelections.value&&u.expandDataMap?.value){let t=u.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);u.childSelections.value.set(e,n),i(`child-selection-change`,e,n,t)}},clear(e){u?.childSelections.value&&(u.childSelections.value.set(e,[]),i(`child-selection-change`,e,[],[]))},getSelected(e){if(!u?.childSelections.value||!u.expandDataMap?.value)return[];let t=u.childSelections.value.get(e)||[];return(u.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){d?.addRow()},insert(){d?.insertRow()},delete(){d?.deleteRow()},copy(){d?.copyRow()},moveUp(){d?.moveRowUp()},moveDown(){d?.moveRowDown()},clearSelection(){d?.clearSelection()},getSelected(){return d?.selectedRowData.value||null},async print(e){d&&e&&await d.handlePrint(A(e))},async download(e,t){d&&e&&await d.handleDownload(A(e),t)}},clearAllSelections(){u?.clearAllSelections()}},expandedKeys:m(()=>u?.expandedKeys.value??[]),checkedKeys:m(()=>u?.checkedKeys.value??[]),eventHandlers:a}}const $={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function ot(e){let{data:t,config:n,emit:r}=e,i=A(1),a=A(10),o=m(()=>typeof t==`function`?t()||[]:N(t)||[]),s=m(()=>{if(!n.value?.enabled)return o.value;let e=(i.value-1)*a.value,t=e+a.value;return o.value.slice(e,t)}),c=m(()=>n.value?.enabled?{page:i.value,pageSize:a.value,itemCount:o.value.length,showSizePicker:n.value.showSizePicker??$.showSizePicker,showQuickJumper:n.value.showQuickJumper??$.showQuickJumper,pageSizes:n.value.pageSizes??$.pageSizes,simple:n.value.simple??$.simple,size:n.value.size??$.size,prefix:e=>`共 ${e.itemCount} 条`,suffix:e=>`第 ${e.startIndex+1}-${e.endIndex} 条`,"onUpdate:page":l,"onUpdate:pageSize":u}:null),l=e=>{i.value=e,r?.(`pagination-change`,e,a.value)},u=e=>{a.value=e,i.value=1,r?.(`pagination-change`,1,e)};return F(()=>{n.value?.enabled&&(i.value=n.value.page??$.page,a.value=n.value.pageSize??$.pageSize)}),P(()=>o.value.length,e=>{if(n.value?.enabled&&i.value>1){let t=Math.ceil(e/a.value);i.value>t&&(i.value=Math.max(1,t))}}),{currentPage:i,currentPageSize:a,paginatedData:s,paginationConfig:c,handlePageChange:l,handlePageSizeChange:u,resetToFirstPage:()=>{i.value!==1&&l(1)},getTotalPages:()=>!n.value?.enabled||a.value===0?1:Math.ceil(o.value.length/a.value)}}function st(t){let{actions:n,config:i,tableManager:o,rowKey:s,emit:c,onViewDetail:u}=t,p=f(),m=d(),h=e=>n.value?.[e]!==!1,g=e=>e!==!1&&typeof e==`function`,_=e=>e&&typeof e==`object`&&`data`in e?e.data:e,v=(t,n,i=`primary`,a)=>S(r,{size:`small`,type:i,quaternary:!0,onClick:a},()=>[S(e,{name:t,size:14,title:n})]),y=(e,t)=>{let r=s(e),a=n.value?.edit;i.value.editMode===`modal`?o.editStates.modalEdit.startEdit(r,{...e},a):o.editStates.rowEdit.startEditRow(r,a)},b=async(e,t,n)=>{try{await e(t,n),p.success(`删除成功`),c(`row-delete`,t,n)}catch(e){throw console.error(`删除失败:`,e),p.error(`删除失败`),e}},x=(e,t)=>{let r=n.value?.delete;g(r)&&m.warning({title:`确认删除`,content:`确定要删除这条记录吗?`,positiveText:`确定`,negativeText:`取消`,onPositiveClick:()=>b(r,e,t)})},C=async(e,t)=>{let r=n.value?.detail;if(!g(r)){u?.(e);return}try{let n=_(await r(e,t));u?.(n||e)}catch(t){console.error(`获取详情失败:`,t),p.error(`获取详情失败`),u?.(e)}},w=e=>o.editStates.rowEdit.isEditingRow(e)?[v(`mdi:check`,`保存`,`primary`,()=>o.editStates.rowEdit.saveEditRow()),v(`mdi:close`,`取消`,`default`,()=>o.editStates.rowEdit.cancelEditRow())]:[v(`mdi:pencil`,`编辑`,`warning`,()=>o.editStates.rowEdit.startEditRow(e))],T=(e,t)=>{let n=[];return h(`detail`)&&n.push(v(`mdi:eye`,`详情`,`info`,()=>C(e,t))),i.value.editMode===`modal`&&(h(`edit`)||i.value.editable)&&n.push(v(`mdi:pencil`,`编辑`,`warning`,()=>y(e,t))),h(`delete`)&&n.push(v(`mdi:delete`,`删除`,`error`,()=>x(e,t))),n},E=(t,r)=>{let i=n.value?.custom;if(!i?.length)return null;let o=i.filter(e=>e.show?e.show(t,r):!0);return o.length?S(a,{options:o.map(n=>{let i=typeof n.label==`function`?n.label(t,r):n.label,a=typeof n.icon==`function`?n.icon(t,r):n.icon;return{label:i,key:n.key,icon:()=>S(e,{name:a,size:14}),disabled:n.disabled?.(t,r)||!1}}),onSelect:e=>{let n=o.find(t=>t.key===e);if(n)try{n.onClick(t,r)}catch(e){console.error(`操作"${n.label}"执行失败:`,e),p.error(`${n.label}失败`)}}},()=>v(`mdi:dots-horizontal`,`更多操作`,`default`,()=>{})):null};return{renderActions:(e,t)=>{if(n.value?.render)return n.value.render(e,t);let r=s(e),a=[`row`,`both`].includes(i.value.editMode);if(a&&o.editStates.rowEdit.isEditingRow(r))return S(l,{size:2,wrap:!1},()=>w(r));let c=[...a?w(r):[],...T(e,t)],u=E(e,t);return u&&c.push(u),S(l,{size:2,wrap:!1},()=>c)},isActionEnabled:h}}const ct={number:s,switch:u,input:o,email:o,mobile:o,date:e=>S(i,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>S(c,{...e,options:e.options||[]}),textarea:e=>S(o,{...e,type:`textarea`,rows:3})},lt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},ut=e=>e.map(e=>{let t=e.required?[{required:!0,message:`请输入${e.title}`,trigger:[`blur`,`input`],validator:async(t,n)=>{if(!n&&n!==0&&n!==!1)throw Error(`请输入${e.title}`)}}]:[];return{prop:e.key,label:e.title||e.key,type:lt[e.editType||`input`]||`input`,placeholder:`请输入${e.title}`,rules:t,attrs:e.editProps||{},layout:{span:1},show:!0}});function dt(e,t,n){if(e.editRender)return e.editRender(t,{},0);let r=e,i={value:t,"onUpdate:value":n,placeholder:`请输入${r.title??``}`,style:{width:`100%`},...e.editProps};return S(ct[e.editType||`input`]||ct.input,i)}function ft(e,t,n,r){return e.render?e.render(t,n)??String(r??``):String(r??``)}function pt(t,n,r,i,a){let o=(t,n,r)=>S(`button`,{class:`cell-action-btn cell-action-${t}`,title:n,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),r(e)}},[S(e,{name:`mdi:${t===`save`?`check`:`close`}`,title:t===`save`?`保存`:`取消`,size:12})]);return S(`div`,{class:`cell-editing-container`},[S(`div`,{class:`cell-editing-input`},[dt(t,n,r)]),S(`div`,{class:`cell-editing-actions`},[o(`save`,`保存`,i),o(`cancel`,`取消`,a)])])}function mt(t,n,r,i,a){return S(`div`,{class:`cell-edit-wrapper`},[S(`span`,{class:`cell-value`},t.render?t.render(n,r)??String(i??``):String(i??``)),S(e,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function ht(e){let{rawColumns:t,config:n,columnWidth:r,rowKey:i,tableManager:a,actionsRenderer:o,editModeChecker:s}=e,c=A([]),l=A(!1),u=e=>{let t=c.value.find(e=>e.key===`_actions`);c.value=[...e,t||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]};P(t,e=>{e?.length&&u(e)},{deep:!0,immediate:!0});let d=(e,t,n,r)=>{let i=e.key??``,o=t[i],{isEditingCell:s,getEditingCellValue:c,updateEditingCellValue:l,saveEditCell:u,cancelEditCell:d,startEditCell:f}=a.editStates.cellEdit;return s(r,i)?pt(e,c(r,i)??o,e=>l(r,i,e),()=>u(),()=>d()):mt(e,t,n,o,()=>f(r,i))},f=(e,t,n)=>{let r=e.key??``,o=t[r],c=i(t),l=s.value;return l.isNonEditable(e)?ft(e,t,n,o):l.isRowEditMode()&&a.editStates.rowEdit.isEditingRow(c)?dt(e,a.editStates.rowEdit.getEditingRowData(c)?.[r]??o,e=>a.editStates.rowEdit.updateEditingRowData(c,r,e)):l.isCellEditMode()?d(e,t,n,c):ft(e,t,n,o)},p=e=>{let t=e.width||r||180;return typeof t==`number`?t:180},h=e=>{let t=e;return{key:`_index`,title:t.title||`序号`,width:typeof(t.width||50)==`number`&&t.width||50,titleAlign:`center`,align:`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=e=>{let t=e,n={...t,width:p(e),titleAlign:t.titleAlign||`center`,align:t.align||`center`,render:e.render||((t,n)=>f(e,t,n))};return e.fixed&&(n.fixed=e.fixed),e.resizable&&typeof n.width==`number`&&(n.resizable=!0,n.minWidth=e.minWidth||80,n.maxWidth=e.maxWidth||500),n};return{reactiveColumns:c,showSettingsPanel:l,computedColumns:m(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>e.type===`index`?h(e):g(e));a.dynamicRowsState&&(e=a.dynamicRowsState.enhanceColumns(e)),a.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=a.expandState.getTableColumns(e));let t=c.value.find(e=>e.key===`_actions`);return e.push({key:`_actions`,title:`操作`,align:`center`,titleAlign:`center`,render:o,fixed:t?.fixed}),e}),computedScrollX:m(()=>{if(e.scrollX!==void 0)return e.scrollX;if(c.value.some(e=>{let t=e;return t.fixed&&t.visible!==!1}))return c.value.filter(e=>e.visible!==!1).reduce((e,t)=>e+p(t),0)+200}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width||r,align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}const gt=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}],_t=[`_actions`],vt=[`selection`,`expand`],yt=e=>_t.includes(e.key)||vt.includes(e.type),bt={class:`column-management-tab`},xt={class:`search-row`},St={class:`resizable-control`},Ct={class:`top-actions-bar`},wt={class:`stats-info`},Tt={class:`quick-actions`},Et=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],Dt={class:`column-info`},Ot={class:`column-controls`},kt={class:`column-details`},At={class:`column-actions`},jt={class:`drag-controls`};var Mt=t(x({name:`ColumnSettings`,__name:`index`,props:{columns:{}},emits:[`change`],setup(t,{emit:n}){let r=t,i=n,a=A([...r.columns]),o=A(``),s=A(),c=A(null),l=A(null),u=A(!1);ee(()=>{u.value=a.value.some(e=>e.resizable===!0)});let d=m(()=>{if(!o.value)return a.value;let e=o.value.toLowerCase();return a.value.filter(t=>t.title?.toLowerCase().includes(e)||t.key?.toLowerCase().includes(e))}),f=m(()=>a.value.filter(e=>e.visible!==!1).length),x=m(()=>a.value.length),S=e=>{a.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),P()},C=()=>S(!0),w=()=>S(!1),T=e=>{let t=d.value[e];return a.value.findIndex(e=>e.key===t.key)},O=(e,t)=>{let n=T(e);n!==-1&&(t(a.value[n]),P())},te=(e,t)=>{O(e,e=>{e.visible=t})},ne=(e,t)=>{O(e,e=>{e.fixed=t===`none`?void 0:t})},P=()=>i(`change`,[...a.value]),F=()=>{a.value=[...r.columns],P()},re=e=>{a.value.forEach(t=>{yt(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),P()},R=(e,t)=>{let n=T(e),r=T(t);if(n!==-1&&r!==-1){let[e]=a.value.splice(n,1);a.value.splice(r,0,e),P()}},ae=(e,t)=>{if(d.value[e].key===`_actions`){t.preventDefault();return}c.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},oe=(e,t)=>{t.preventDefault(),!(c.value===null||d.value[e].key===`_actions`)&&(l.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},se=e=>{c.value===null||d.value[e].key===`_actions`||(R(c.value,e),c.value=null,l.value=null)},ce=()=>{c.value=null,l.value=null};return(t,n)=>(k(),_(`div`,bt,[g(` 搜索框和列宽调整开关 `),v(`div`,xt,[b(N(B),{value:o.value,"onUpdate:value":n[0]||=e=>o.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:I(()=>[b(e,{name:`mdi:magnify`})]),_:1},8,[`value`]),v(`div`,St,[b(e,{name:`mdi:arrow-split-vertical`,size:`14`,title:u.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),b(N(W),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:I(()=>n[2]||=[y(` 列宽调整 `,-1)]),_:1,__:[2]}),b(N(U),{value:u.value,"onUpdate:value":[n[1]||=e=>u.value=e,re],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),g(` 顶部操作栏:统计信息和快捷操作按钮 `),v(`div`,Ct,[v(`div`,wt,[b(N(W),{depth:`3`,style:{fontSize:`13px`}},{default:I(()=>[y(` 已选 `+M(f.value)+` / 总共 `+M(x.value)+` 列 `,1)]),_:1})]),v(`div`,Tt,[b(N(V),{size:6},{default:I(()=>[b(N(L),{size:`tiny`,onClick:C},{default:I(()=>n[3]||=[y(` 全选 `,-1)]),_:1,__:[3]}),b(N(L),{size:`tiny`,onClick:w},{default:I(()=>n[4]||=[y(` 全不选 `,-1)]),_:1,__:[4]}),b(N(L),{size:`tiny`,onClick:F},{default:I(()=>n[5]||=[y(` 重置 `,-1)]),_:1,__:[5]})]),_:1})])]),g(` 列列表 `),v(`div`,{ref_key:`listRef`,ref:s,class:`column-list`},[(k(!0),_(p,null,j(d.value,(t,r)=>(k(),_(`div`,{key:t.key,class:E([`column-item`,{disabled:t.key===`_actions`,"fixed-left":t.fixed===`left`,"fixed-right":t.fixed===`right`}]),draggable:t.key!==`_actions`,onDragstart:e=>ae(r,e),onDragover:e=>oe(r,e),onDragend:ce,onDrop:e=>se(r)},[v(`div`,Dt,[v(`div`,Ot,[b(e,{name:`mdi:drag`,size:`16`,class:E([`drag-handle`,{disabled:t.key===`_actions`}])},null,8,[`class`]),b(N(ie),{checked:t.visible!==!1,disabled:t.key===`_actions`,"onUpdate:checked":e=>te(r,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),v(`div`,kt,[b(N(V),{align:`center`,size:6},{default:I(()=>[b(N(W),{strong:``,style:{fontSize:`13px`}},{default:I(()=>[y(M(t.title||t.key),1)]),_:2},1024),t.fixed===`left`?(k(),h(N(ue),{key:0,size:`tiny`,type:`info`},{default:I(()=>n[6]||=[y(` 左固定 `,-1)]),_:1,__:[6]})):g(`v-if`,!0),t.fixed===`right`?(k(),h(N(ue),{key:1,size:`tiny`,type:`warning`},{default:I(()=>n[7]||=[y(` 右固定 `,-1)]),_:1,__:[7]})):g(`v-if`,!0)]),_:2},1024),b(N(W),{depth:`3`,style:{fontSize:`11px`}},{default:I(()=>[y(M(t.key),1)]),_:2},1024)])]),v(`div`,At,[v(`div`,jt,[b(e,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:r!==0,class:E({disabled:r===0}),onClick:e=>r!==0&&R(r,r-1)},null,8,[`clickable`,`class`,`onClick`]),b(e,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:r!==d.value.length-1,class:E({disabled:r===d.value.length-1}),onClick:e=>r!==d.value.length-1&&R(r,r+1)},null,8,[`clickable`,`class`,`onClick`])]),b(N(z),{options:N(gt)(t),onSelect:e=>ne(r,e)},{default:I(()=>[b(e,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:D({color:t.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,Et))),128))],512)]))}}),[[`__scopeId`,`data-v-1a3d4df6`]]);const Nt={class:`c-table-wrapper`},Pt={key:1,class:`table-toolbar`},Ft={class:`toolbar-left`},It={class:`toolbar-right`};var Lt=t(x({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{type:Function,default:e=>e.id},config:{default:()=>({})},crud:{}},emits:[`pagination-change`,`row-delete`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`],setup(t,{expose:r,emit:i}){let a=t,o=i,s=(e,...t)=>{o(e,...t),a.crud&&{save:a.crud.save,cancel:a.crud.handleCancel,"pagination-change":a.crud.handlePaginationChange,"row-delete":a.crud.handleRowDelete,"view-detail":a.crud.detail?.show}[e]?.(...t)},c=m(()=>{if(!a.crud)return a.config||{};let e={};return a.crud.actions&&(e.actions=a.crud.actions.value),a.crud.pagination&&(e.pagination=a.crud.pagination.value??void 0),{...e,...a.config}}),l=m(()=>a.columns??a.crud?.columns.value??[]),u=m(()=>_e(c.value)),d=m(()=>ve(u.value)),f=e=>e&&typeof e==`object`&&`value`in e?e.value:e,p=m(()=>f(a.data)??a.crud?.data.value??[]),x=m(()=>f(a.loading)??a.crud?.loading.value??!1),S=ot({data:p,config:m(()=>u.value.pagination),emit:s}),T=at({config:u.value,data:()=>p.value,rowKey:a.rowKey,emit:s}),E=st({actions:m(()=>c.value.actions||{}),config:u,tableManager:T,rowKey:a.rowKey,emit:s,onViewDetail:e=>s(`view-detail`,e)}),D=ht({rawColumns:l,config:u,columnWidth:u.value.columnWidth,scrollX:u.value.scrollX,rowKey:a.rowKey,tableManager:T,actionsRenderer:E.renderActions,editModeChecker:d}),{showSettingsPanel:j,reactiveColumns:M,computedColumns:F,computedScrollX:re}=D,R=A(),ie=m(()=>({striped:u.value.striped,bordered:u.value.bordered,singleLine:u.value.singleLine,size:u.value.size,maxHeight:u.value.maxHeight})),z=A(),B=A(!1),H=A({}),U=m({get:()=>T.editStates.modalEdit.isModalVisible.value,set:e=>{T.editStates.modalEdit.isModalVisible.value=e}}),ue=m(()=>l.value.filter(e=>e.editable!==!1)),W=m(()=>`edit-form-${T.editStates.modalEdit.editingRowKey.value||`new`}`),G=m(()=>ut(ue.value));P(()=>T.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(H.value=JSON.parse(JSON.stringify(e)))},{immediate:!0,deep:!0});let K=null;P(U,e=>{e||(K=setTimeout(()=>{H.value={},K=null},300))});let de=async()=>{if(z.value){B.value=!0;try{await z.value.validate(),await T.editStates.modalEdit.saveEdit(H.value)}catch{}finally{B.value=!1}}},fe=()=>{H.value={},T.editStates.modalEdit.cancelEdit()},pe=e=>{D.handleColumnChange(e),o(`column-change`,D.reactiveColumns.value)},{edit:q,expand:J,selection:Y,dynamicRows:me}=T.stateManager,X={startEdit:q.start,expandAll:J.all,collapseAll:J.collapseAll,selectAll:Y.all,clearSelection:Y.clear,clearAllSelections:T.stateManager.clearAllSelections,clearRowSelection:me?.clearSelection,resetToFirstPage:S.resetToFirstPage,getSelectedRows:Y.getSelected,getEditingData:q.getEditingData,isEditing:q.isEditing,isExpanded:J.isExpanded,getManager:()=>T.stateManager};return r(X),ee(()=>{let e=a.crud?.tableRef;e&&(e.value=X)}),O(()=>{K&&clearTimeout(K)}),(t,r)=>(k(),_(`div`,Nt,[g(` 动态行工具栏 `),N(T).dynamicRowsState?(k(),h(ne(N(T).dynamicRowsState.renderToolbar()),{key:0})):g(`v-if`,!0),g(` 表格工具栏 `),u.value.showToolbar?(k(),_(`div`,Pt,[v(`div`,Ft,[te(t.$slots,`toolbar-left`,{},void 0,!0)]),v(`div`,It,[te(t.$slots,`toolbar-right`,{},void 0,!0),u.value.enableColumnSettings?(k(),h(e,{key:0,name:`mdi:cog`,size:`18`,title:`表格设置`,clickable:``,class:`column-settings-btn`,onClick:r[0]||=e=>j.value=!0})):g(`v-if`,!0)])])):g(`v-if`,!0),g(` 表格主体 `),b(N(ae),w({ref_key:`tableRef`,ref:R},{...ie.value,...t.$attrs},{columns:N(F),data:p.value,loading:x.value,"row-key":t.rowKey,"expanded-row-keys":N(T).expandedKeys.value,"checked-row-keys":N(T).checkedKeys.value,"onUpdate:expandedRowKeys":N(T).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":N(T).expandState?.handleSelectionChange,"scroll-x":N(re),style:{width:`100%`}}),null,16,[`columns`,`data`,`loading`,`row-key`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`onUpdate:checkedRowKeys`,`scroll-x`]),g(` 分页 `),N(S).paginationConfig.value?(k(),h(N(le),w({key:2},N(S).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):g(`v-if`,!0),g(` 编辑弹窗 `),u.value.editMode===`modal`||u.value.editMode===`both`?(k(),h(N(ce),{key:3,show:U.value,"onUpdate:show":r[2]||=e=>U.value=e,title:u.value.modalTitle,width:u.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:I(()=>[b(N(V),{justify:`end`},{default:I(()=>[b(N(L),{onClick:fe},{default:I(()=>r[4]||=[y(`取消`,-1)]),_:1,__:[4]}),b(N(L),{type:`primary`,loading:B.value,onClick:de},{default:I(()=>r[5]||=[y(` 保存 `,-1)]),_:1,__:[5]},8,[`loading`])]),_:1})]),default:I(()=>[U.value&&G.value.length?(k(),h(n,{ref_key:`editFormRef`,ref:z,key:W.value,modelValue:H.value,"onUpdate:modelValue":r[1]||=e=>H.value=e,options:G.value,config:{layout:`grid`,grid:{cols:2,xGap:16,yGap:16},showActions:!1}},null,8,[`modelValue`,`options`])):g(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):g(`v-if`,!0),g(` 动态行确认删除弹窗 `),N(T).dynamicRowsState?(k(),h(ne(N(T).dynamicRowsState.renderConfirmModal()),{key:4})):g(`v-if`,!0),g(` 列设置抽屉 `),b(N(oe),{show:N(j),"onUpdate:show":r[3]||=e=>C(j)?j.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:I(()=>[b(N(se),{title:`列设置`,closable:``},{default:I(()=>[b(Mt,{columns:N(M),onChange:pe},null,8,[`columns`])]),_:1})]),_:1},8,[`show`])]))}}),[[`__scopeId`,`data-v-11678369`]]);export{at as a,$e as c,be as d,ye as f,ot as i,Pe as l,_e as m,ht as n,it as o,ve as p,st as r,et as s,Lt as t,xe as u};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as n}from"./C_Form2.js";import{NButton as r,NDatePicker as i,NDropdown as a,NInput as o,NInputNumber as s,NSelect as c,NSpace as l,NSwitch as u,useDialog as d,useMessage as f}from"naive-ui";import{Fragment as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createTextVNode as y,createVNode as b,defineComponent as x,h as S,isRef as C,mergeProps as w,nextTick as T,normalizeClass as E,normalizeStyle as D,onBeforeUnmount as O,onMounted as ee,openBlock as k,ref as A,renderList as j,renderSlot as te,resolveDynamicComponent as ne,toDisplayString as M,unref as N,watch as P,watchEffect as F,withCtx as I}from"vue";import re from"html2canvas";import{NButton as L,NButtonGroup as R,NCheckbox as ie,NDataTable as ae,NDrawer as oe,NDrawerContent as se,NDropdown as z,NInput as B,NModal as ce,NPagination as le,NSpace as V,NSpin as H,NSwitch as U,NTag as ue,NText as W,NTooltip as G,useMessage as K}from"naive-ui/es";import de from"print-js";const fe={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600},pe=e=>e===!1||e===void 0?fe:e===!0?{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600}:{editable:e.enabled!==!1&&e.mode!==`none`,editMode:e.mode||`modal`,showRowActions:e.showRowActions!==!1&&e.mode!==`none`,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600},q=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,renderExpandContent:void 0,rowExpandable:void 0},J=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`}},Y=e=>{let t={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};return e===!1?{pagination:null}:e===!0||e===void 0?{pagination:t}:{pagination:{...t,...e}}},me=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},X={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function he(e){return e?{striped:e.striped??X.striped,bordered:e.bordered??X.bordered,singleLine:e.singleLine??X.singleLine,size:e.size??X.size,maxHeight:e.maxHeight,scrollX:e.scrollX,columnWidth:e.columnWidth??X.columnWidth}:{...X}}const ge=e=>({showToolbar:e?.show!==!1,enableColumnSettings:e?.columnSettings!==!1});function _e(e={}){return{...pe(e.edit),...q(e.expand),...J(e.selection),...Y(e.pagination),...me(e.dynamicRows),...he(e.display),...ge(e.toolbar)}}const ve=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function ye(e){let t=A(null),n=A({}),r=e=>t.value===e,i=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)};return{editingRowKey:t,isEditingRow:r,startEditRow:e=>{let r=i(e);r&&(t.value=e,n.value[e]={...r})},cancelEditRow:async()=>{if(!t.value)return;let r=e.data();if(!r||!Array.isArray(r))return;let i=r.findIndex(n=>e.rowKey(n)===t.value);i>-1&&await e.onCancel?.(r[i],i),t.value=null,n.value={}},saveEditRow:async()=>{if(!t.value)return;let r=t.value,i=e.data();if(!i||!Array.isArray(i))return;let a=i.findIndex(t=>e.rowKey(t)===r);if(a===-1)return;let o=n.value[r];if(o)return await e.onSave?.(o,a),t.value=null,n.value={},{updatedData:o,rowIndex:a}},getEditingRowData:e=>n.value[e],updateEditingRowData:(e,t,r)=>{n.value[e]&&(n.value[e][t]=r)},findRowData:i}}function be(e){let t=A({rowKey:null,columnKey:null}),n=A({}),r=(e,n)=>t.value.rowKey===e&&t.value.columnKey===n,i=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)};return{editingCell:t,isEditingCell:r,startEditCell:(e,r)=>{let a=i(e);a&&(t.value={rowKey:e,columnKey:r},n.value[`${e}-${r}`]=a[r])},saveEditCell:async()=>{let{rowKey:r,columnKey:i}=t.value;if(!r||!i)return;let a=e.data();if(!a||!Array.isArray(a))return;let o=a.findIndex(t=>e.rowKey(t)===r);if(o===-1)return;let s=`${r}-${i}`,c=n.value[s],l={...a[o],[i]:c};return await e.onSave?.(l,o,i),t.value={rowKey:null,columnKey:null},delete n.value[s],{updatedData:l,rowIndex:o,columnKey:i}},cancelEditCell:()=>{let{rowKey:e,columnKey:r}=t.value;e&&r&&delete n.value[`${e}-${r}`],t.value={rowKey:null,columnKey:null}},getEditingCellValue:(e,t)=>n.value[`${e}-${t}`],updateEditingCellValue:(e,t,r)=>{n.value[`${e}-${t}`]=r},findRowData:i}}function xe(e){let t=A(!1),n=A(null),r=A({}),i=m(()=>{if(!n.value)return-1;let t=e.data();return!t||!Array.isArray(t)?-1:t.findIndex(t=>e.rowKey(t)===n.value)}),a=()=>{n.value=null,r.value={}};return{isModalVisible:t,editingData:r,editingRowKey:n,editingRowIndex:i,startEdit:i=>{console.log(`🚀 开始编辑:`,i);let a=e.data();if(!a||!Array.isArray(a)){console.warn(`数据源为空或不是数组`);return}let o=a.findIndex(t=>e.rowKey(t)===i);if(o===-1){console.warn(`未找到对应的行数据:`,i);return}let s=a[o];console.log(`找到行数据:`,s),n.value=i,r.value=JSON.parse(JSON.stringify(s)),console.log(`编辑数据已准备:`,r.value),t.value=!0},saveEdit:async o=>{let s=o||r.value,c=i.value;if(console.log(`💾 保存编辑:`,{rowKey:n.value,index:c,data:s}),c===-1){console.warn(`无法找到编辑行的索引`);return}try{await e.onSave?.(s,c),t.value=!1,a(),console.log(`✅ 保存成功`)}catch(e){throw console.error(`❌ 保存失败:`,e),e}},cancelEdit:async()=>{console.log(`🚫 取消编辑`);try{let t=i.value;if(n.value&&t>-1){let n=e.data();n&&n[t]&&await e.onCancel?.(n[t],t)}}finally{t.value=!1,a()}},updateEditingData:e=>{r.value={...e}},resetEditingState:a,isEditingRow:e=>n.value===e&&t.value,getEditingRowData:e=>n.value===e?r.value:null}}const Se=e=>({expandedKeys:A([...e.defaultExpandedKeys||[]]),expandDataMap:A(new Map),loadingMap:A(new Map),checkedKeys:e.enableSelection?A([...e.defaultCheckedKeys||[]]):A([]),childSelections:(e.enableChildSelection,A(new Map))}),Ce=e=>{let t=m(()=>N(e.data)),n=e.rowKey;return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>t.value.find(t=>n(t)===e),isRowExpandable:e.rowExpandable||(()=>!0),isRowCheckable:e.rowCheckable||(()=>!0),isChildRowCheckable:e.childRowCheckable||(()=>!0)}},we=(e,t,n)=>{let r=async r=>{if(!n.onLoadData)return[];let i=t.getRowKey(r),a=e.expandDataMap.value.get(i);if(a)return a;e.loadingMap.value.set(i,!0);try{let t=await n.onLoadData(r)||[];return e.expandDataMap.value.set(i,t),n.enableChildSelection&&!e.childSelections.value.has(i)&&e.childSelections.value.set(i,[]),t}catch(e){return console.error(`加载展开数据失败:`,e),[]}finally{e.loadingMap.value.set(i,!1)}};return{loadData:r,handleRowExpand:async(i,a)=>{let o=t.getRowKey(i);a?(await r(i),e.expandedKeys.value.includes(o)||(e.expandedKeys.value=[...e.expandedKeys.value,o])):e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==o),n.onExpandChange?.(e.expandedKeys.value)},expandAll:async()=>{let i=t.data.value.filter(t.isRowExpandable);await Promise.allSettled(i.map(r)),e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value)},collapseAll:()=>{e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async i=>{let a=i.filter(t=>!e.expandedKeys.value.includes(t)),o=e.expandedKeys.value.filter(e=>!i.includes(e));await Promise.all(a.map(async e=>{let n=t.findRow(e);n&&await r(n)}));for(let t of o)e.childSelections.value.delete(t);e.expandedKeys.value=i,n.onExpandChange?.(i)}}},Te=(e,t,n)=>{let r=m(()=>t.data.value.filter(t.isRowCheckable));return{selectAll:()=>{if(!n.enableSelection)return;let i=r.value.map(t.getRowKey),a=n.maxSelection?i.slice(0,n.maxSelection):i;e.checkedKeys.value=a;let o=r.value.filter(e=>a.includes(t.getRowKey(e)));n.onSelectionChange?.(a,o,e.childSelections.value)},clearSelection:()=>{n.enableSelection&&(e.checkedKeys.value=[],n.onSelectionChange?.([],[],e.childSelections.value))},handleSelectionChange:r=>{if(!n.enableSelection)return;e.checkedKeys.value=r;let i=t.data.value.filter(e=>r.includes(t.getRowKey(e)));n.onSelectionChange?.(r,i,e.childSelections.value)},selectedRowsCount:m(()=>e.checkedKeys.value.length),selectableRows:r}},Ee=(e,t)=>{let n=!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(r,i,a)=>{if(!n)return;let o=t.parentChildLinkMode===`strict`?i.length===a&&a>0:i.length>0,s=[...e.checkedKeys.value],c=s.includes(r);o&&!c?e.checkedKeys.value=[...s,r]:!o&&c&&(e.checkedKeys.value=s.filter(e=>e!==r))},isLinkEnabled:n}},De=(e,t,n,r)=>({totalChildSelections:m(()=>r.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.checkedKeys.value=[],e.childSelections.value.clear(),r.onSelectionChange?.([],[],e.childSelections.value)},handleChildSelectionChange:(i,a)=>{if(!r.enableChildSelection)return;e.childSelections.value.set(i,a);let o=e.expandDataMap.value.get(i)||[],s=o.filter(e=>a.includes(t.getChildRowKey(e)));r.onChildSelectionChange?.(i,a,s),n.isLinkEnabled&&n.handleParentChildLink(i,a,o.length)}}),Oe=(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,[])}}},ke=()=>S(`div`,{class:`flex justify-center items-center py-8`},[S(H,{size:`small`}),S(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),Ae=()=>S(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),je=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,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,ellipsis:{tooltip:!0}}))]},Me=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0}),o.push(...je(t)),S(`div`,{class:`p-4 bg-gray-50`},[S(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),S(ae,{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})])},Ne=(e,t,n,r,i)=>{let a=a=>{let o=t.getRowKey(a),s=e.expandDataMap.value.get(o)||[],c=e.loadingMap.value.get(o)||!1;!s.length&&!c&&e.expandedKeys.value.includes(o)&&T(()=>{r.loadData(a)});let l=Oe(o,e,t,n,i);return i.renderContent?i.renderContent(a,s,c,l):c?ke():s.length?Me(o,s,l,t,n,i):Ae()};return{getTableColumns:e=>e.map(e=>e.type===`selection`&&i.enableSelection?{type:`selection`,disabled:e=>!t.isRowCheckable(e),multiple:!i.maxSelection||i.maxSelection>1}:e.type===`expand`&&(i.onLoadData||i.renderContent)?{type:`expand`,expandable:t.isRowExpandable,renderExpand:a}:e)}};function Pe(e){let t=Se(e),n=Ce(e),r=we(t,n,e),i=Te(t,n,e),a=De(t,n,Ee(t,e),e),o=Ne(t,n,a,r,e);return e.onSelectionChange&&e.enableSelection&&F(()=>{if(!e.onSelectionChange)return;let r=n.data.value.filter(e=>t.checkedKeys.value.includes(n.getRowKey(e))),i=t.checkedKeys.value.length>0,a=n.data.value.length>0;(i||!a)&&e.onSelectionChange(t.checkedKeys.value,r,t.childSelections.value)}),e.defaultExpandedKeys?.length&&T(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 i=>{if(t.expandedKeys.value.includes(i))return;let a=n.findRow(i);a&&(await r.loadData(a),t.expandedKeys.value=[...t.expandedKeys.value,i],e.onExpandChange?.(t.expandedKeys.value,a,!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}}const Fe={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},Ie={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},Le={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 Re(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 ze(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 Be(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 Ve(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 Z(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...Fe,...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:Re,corner:ze,diagonal:Be,repeat:Ve};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function Q(e,t={}){let n={...Ie,...t};return await re(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 He(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function Ue(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=He(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}let We=null;function Ge(){We=setInterval(()=>{window.dispatchEvent(new Event(`focus`))},500)}function Ke(){We&&=(clearInterval(We),null)}function qe(e,t={}){let n={...Le,...t};return new Promise((t,r)=>{try{Ge(),n.onLoadingStart?.(),de({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{Ke(),n.onPrintDialogClose?.(),t()}})}catch(e){Ke(),r(e)}})}function Je(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 Ye(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 Xe(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function Ze(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>Q(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=Je(s,i,a);return r(60),Ye(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Qe(e,t,n,r,i){r(70),t.watermark&&Z(e,t.watermark),r(90),await qe(He(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function $e(){let e;try{e=f()}catch{e={success:e=>console.log(`[PrintWatermark]`,e),error:e=>console.error(`[PrintWatermark]`,e),warning:e=>console.warn(`[PrintWatermark]`,e)}}let t=A(!1),n=A(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},i=async(e,t={})=>{try{r(0),r(30);let n=await Q(e,t.capture);r(60),t.watermark&&Z(n,t.watermark),r(90);let i=He(n,t.capture?.format||`png`,t.capture?.quality||.92);return r(100),i}catch(e){throw console.error(`截图失败:`,e),Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},a=async(n,a={})=>{t.value=!0,r(0);try{await T();let t=await i(n,a);r(95),await qe(t,a.print),r(100),e.success(`打印完成`)}catch(t){throw console.error(`打印失败:`,t),e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`),t}finally{t.value=!1,r(0)}},o=async(n,r,i={})=>{t.value=!0;try{await T();let t=await Q(n,i.capture);i.watermark&&Z(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;Ue(t,r||o,a),e.success(`下载完成`)}catch(t){throw console.error(`下载失败:`,t),e.error(`下载失败`),t}finally{t.value=!1}},s=async(e,t=`Robot Admin`)=>a(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),c=async(e,t={})=>{let n=e.length;r(10);let a=e.map(async(e,a)=>{let o=await i(e,t);return r(10+(a+1)/n*70),o});return Promise.all(a)},l=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await qe(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:n,captureWithWatermark:i,printWithWatermark:a,downloadScreenshot:o,quickPrint:s,batchCapture:c,batchPrint:async(n,i={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{r(0);let t=await c(n,i);r(80),await l(t,i.print),r(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw console.error(`批量打印失败:`,t),e.error(`批量打印失败`),t}finally{t.value=!1,r(0)}},mergePrint:async(n,i={},a={})=>{let o=Xe(n,a,e);if(o){t.value=!0;try{await Qe(await Ze(n,i,o,r),i,n.length,r,e)}catch(t){throw console.error(`合并打印失败:`,t),e.error(`合并打印失败`),t}finally{t.value=!1,r(0)}}},createPreset:(e,t)=>({use:e=>a(e,t),download:(e,n)=>o(e,n,t)}),updateProgress:r,utils:{captureElement:Q,drawWatermark:Z,canvasToDataURL:He,downloadCanvas:Ue,printImage:qe}}}const et={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 tt(){return`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function nt(e,t){return typeof t==`function`?t(e):e[t]}function rt(e,t){let n=e?.()||{},r=typeof t==`string`?t:`id`;return{...n,[r]:tt()}}function it(t,n={}){let r=K(),i={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`,defaultRowData:()=>({}),...n},a=A(null),o=A(!1),s=m(()=>a.value===null?null:t.value.find(e=>nt(e,i.rowKey)===a.value)||null),c=m(()=>s.value?t.value.findIndex(e=>e===s.value):-1),l=m(()=>c.value>0),u=m(()=>c.value>=0&&c.value<t.value.length-1),{loading:d,progress:f,printWithWatermark:p,downloadScreenshot:h,quickPrint:g}=$e(),_=()=>{if(i.printOptions)return i.printOptions;let e=et[i.printPreset||`table`];return i.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:i.printWatermarkText}}:e},v=e=>{t.value=e,i.onRowChange?.(e)},y=()=>{if(!i.enableAdd)return;let e=rt(i.defaultRowData,i.rowKey);v([...t.value,e]),i.onRowAdd?.(e),r.success(`添加行成功`)},b=()=>{if(!i.enableInsert||!s.value){r.warning(`请先选择一行数据`);return}let e=rt(i.defaultRowData,i.rowKey),n=[...t.value];n.splice(c.value+1,0,e),v(n),i.onRowAdd?.(e),r.success(`插入行成功`)},x=()=>{if(!i.enableDelete||!s.value){r.warning(`请先选择要删除的行`);return}i.confirmDelete?o.value=!0:C()},C=()=>{if(!s.value)return;let e=s.value,n=c.value;v(t.value.filter((e,t)=>t!==n)),a.value=null,i.onSelectionChange?.(null,null),i.onRowDelete?.(e,n),r.success(`删除行成功`),o.value=!1},w=()=>{if(!i.enableCopy||!s.value){r.warning(`请先选择要复制的行`);return}let e=s.value,n=typeof i.rowKey==`string`?i.rowKey:`id`,{[n]:a,...o}=e,c={...o,[n]:tt()};v([...t.value,c]),i.onRowCopy?.(e,c),r.success(`复制行成功`)},T=()=>{if(!i.enableMove||!l.value)return;let e=c.value,n=[...t.value],a=n[e];[n[e],n[e-1]]=[n[e-1],n[e]],v(n),i.onRowMove?.(a,e,e-1),r.success(`行已上移`)},E=()=>{if(!i.enableMove||!u.value)return;let e=c.value,n=[...t.value],a=n[e];[n[e],n[e+1]]=[n[e+1],n[e]],v(n),i.onRowMove?.(a,e,e+1),r.success(`行已下移`)},D=e=>{let n=t.value.find(t=>nt(t,i.rowKey)===e);n&&(a.value=e,i.onSelectionChange?.(e,n))},ee=()=>{a.value=null,i.onSelectionChange?.(null,null)},k=async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=_();await p(e.value,t)};return O(()=>{a.value=null,o.value=!1}),{selectedRowKey:a,selectedRowData:s,selectedRowIndex:c,canMoveUp:l,canMoveDown:u,deleteConfirmVisible:o,printLoading:d,printProgress:f,addRow:y,insertRow:b,deleteRow:x,confirmDelete:C,copyRow:w,moveRowUp:T,moveRowDown:E,selectRow:D,clearSelection:ee,handlePrint:k,handleDownload:async(e,t)=>{if(!e.value){r.error(`下载元素未找到`);return}let n=_();await h(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=i.printWatermarkText||`Robot Admin`;await g(e.value,t)},enhanceColumns:e=>{let t=[...e];return i.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:`选择`,width:80,align:`center`,editable:!1,render:e=>{let t=nt(e,i.rowKey);return S(`div`,{class:`flex justify-center`},[S(`input`,{type:`radio`,name:`table-radio-selection`,checked:a.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&D(t)}})])}}),t},renderToolbar:()=>{let t=[];i.enablePrint&&t.push(S(L,{loading:d.value,type:`primary`,ghost:!0,onClick:async()=>{try{let e=document.querySelector(i.printTargetSelector);e?await k(A(e)):console.warn(`未找到表格容器元素`)}catch(e){console.error(`打印失败:`,e)}}},{icon:()=>S(e,{name:`mdi:printer`,title:`打印`}),default:()=>`打印`}));let n=[];return i.enableAdd&&n.push(S(L,{onClick:y,type:`primary`},{icon:()=>S(e,{name:`mdi:plus`,title:`增行`}),default:()=>`增行`})),i.enableInsert&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:b,disabled:!s.value,type:`primary`,ghost:!0},{icon:()=>S(e,{name:`mdi:table-row-plus-after`,title:`插行`}),default:()=>`插行`}),default:()=>`请先选择一行数据`})),i.enableDelete&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:x,disabled:!s.value,type:`error`,ghost:!0},{icon:()=>S(e,{name:`mdi:delete`,title:`删除行`}),default:()=>`删除行`}),default:()=>`请先选择要删除的行`})),i.enableCopy&&n.push(S(G,{disabled:!!s.value},{trigger:()=>S(L,{onClick:w,disabled:!s.value,type:`info`,ghost:!0},{icon:()=>S(e,{name:`mdi:content-copy`,title:`复制行`}),default:()=>`复制行`}),default:()=>`请先选择要复制的行`})),i.enableMove&&n.push(S(G,{disabled:l.value},{trigger:()=>S(L,{onClick:T,disabled:!l.value,type:`warning`,ghost:!0},{icon:()=>S(e,{name:`mdi:arrow-up`,title:`上移`}),default:()=>`上移`}),default:()=>s.value?`已经是第一行`:`请先选择数据`}),S(G,{disabled:u.value},{trigger:()=>S(L,{onClick:E,disabled:!u.value,type:`warning`,ghost:!0},{icon:()=>S(e,{name:`mdi:arrow-down`,title:`下移`}),default:()=>`下移`}),default:()=>s.value?`已经是最后一行`:`请先选择数据`})),n.length>0&&t.push(S(R,{},()=>n)),S(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[S(V,{},()=>t)])},renderConfirmModal:()=>S(ce,{show:o.value,"onUpdate:show":e=>{o.value=e},preset:`dialog`,title:`确认删除`,content:i.deleteConfirmText,positiveText:`确认删除`,negativeText:`取消`,onPositiveClick:C})}}function at(e){let{config:t,data:n,rowKey:r,emit:i}=e,a={onSave:async(e,t,r)=>{if(!e||t<0||t>=n().length)return;let a=[...n()];a[t]={...a[t],...e},i(`update:data`,a),await T(),i(`save`,a[t],t,r)},onCancel:(e,t)=>{i(`cancel`,e,t)},onExpandChange:(e,t,n)=>{i(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{i(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{i(`child-selection-change`,e,t,n)},onRowChange:e=>{i(`update:data`,e),t.dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,n)=>{i(`row-selection-change`,e,n),t.dynamicRows?.onSelectionChange?.(e,n)},onRowAdd:e=>{i(`row-add`,e),t.dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,n)=>{i(`row-delete`,e,n),t.dynamicRows?.onRowDelete?.(e,n)},onRowCopy:(e,n)=>{i(`row-copy`,e,n),t.dynamicRows?.onRowCopy?.(e,n)},onRowMove:(e,n,r)=>{i(`row-move`,e,n,r),t.dynamicRows?.onRowMove?.(e,n,r)}},o=()=>({rowEdit:ye({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel}),cellEdit:be({data:n,rowKey:r,onSave:a.onSave}),modalEdit:xe({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel})}),s=()=>t.expandable||t.enableSelection||t.enableChildSelection?Pe({data:m(()=>n()),rowKey:r,childRowKey:e=>e.id,defaultExpandedKeys:t.defaultExpandedKeys,onLoadData:t.onLoadExpandData,renderContent:t.renderExpandContent,rowExpandable:t.rowExpandable,enableSelection:t.enableSelection,defaultCheckedKeys:t.defaultCheckedKeys,rowCheckable:t.rowCheckable,maxSelection:t.maxSelection,enableChildSelection:t.enableChildSelection,childRowCheckable:t.childRowCheckable,enableParentChildLink:t.enableParentChildLink,parentChildLinkMode:t.parentChildLinkMode,onExpandChange:a.onExpandChange,onSelectionChange:a.onSelectionChange,onChildSelectionChange:a.onChildSelectionChange}):null,c=()=>{if(!t.dynamicRows)return null;let e={...t.dynamicRows,onRowChange:a.onRowChange,onSelectionChange:a.onRowSelectionChange,onRowAdd:a.onRowAdd,onRowDelete:a.onRowDelete,onRowCopy:a.onRowCopy,onRowMove:a.onRowMove};return it(m(()=>n()),e)},l=o(),u=s(),d=c();return{editStates:l,expandState:u,dynamicRowsState:d,stateManager:{edit:{start(e,n){let r=t.editMode;r===`modal`?l.modalEdit.startEdit(e):r===`cell`&&n?l.cellEdit.startEditCell(e,n):(r===`row`||r===`both`)&&l.rowEdit.startEditRow(e)},cancel(){l.modalEdit.isModalVisible.value?l.modalEdit.cancelEdit():l.cellEdit.editingCell.value.rowKey?l.cellEdit.cancelEditCell():l.rowEdit.editingRowKey.value&&l.rowEdit.cancelEditRow()},async save(){l.modalEdit.isModalVisible.value?await l.modalEdit.saveEdit():l.cellEdit.editingCell.value.rowKey?await l.cellEdit.saveEditCell():l.rowEdit.editingRowKey.value&&await l.rowEdit.saveEditRow()},isEditing(e,n){return t.editMode===`modal`?l.modalEdit.isEditingRow(e):n?l.cellEdit.isEditingCell(e,n):l.rowEdit.isEditingRow(e)},getEditingData(){return l.modalEdit.isModalVisible.value?l.modalEdit.editingData:l.rowEdit.editingRowKey.value?l.rowEdit.getEditingRowData(l.rowEdit.editingRowKey.value):null}},expand:{async row(e){if(u){let t=[...u.expandedKeys.value];t.includes(e)||(t.push(e),u.handleExpandChange(t))}},collapse(e){if(u){let t=u.expandedKeys.value.filter(t=>t!==e);u.handleExpandChange(t)}},async toggle(e){u?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await u?.expandAll()},collapseAll(){u?.collapseAll()},isExpanded(e){return u?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(u?.checkedKeys.value&&!u.checkedKeys.value.includes(e)){let t=[...u.checkedKeys.value,e];u.handleSelectionChange(t)}},unselect(e){if(u?.checkedKeys.value){let t=u.checkedKeys.value.filter(t=>t!==e);u.handleSelectionChange(t)}},all(){u?.selectAll()},clear(){u?.clearSelection()},isSelected(e){return u?.checkedKeys.value.includes(e)??!1},getSelected(){return u?.checkedKeys.value?n().filter(e=>u.checkedKeys.value.includes(r(e))):[]}},childSelection:{select(e,t){if(u?.childSelections.value){let n=u.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];u.childSelections.value.set(e,r),i(`child-selection-change`,e,r,[])}}},unselect(e,t){if(u?.childSelections.value){let n=(u.childSelections.value.get(e)||[]).filter(e=>e!==t);u.childSelections.value.set(e,n),i(`child-selection-change`,e,n,[])}},selectAll(e){if(u?.childSelections.value&&u.expandDataMap?.value){let t=u.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);u.childSelections.value.set(e,n),i(`child-selection-change`,e,n,t)}},clear(e){u?.childSelections.value&&(u.childSelections.value.set(e,[]),i(`child-selection-change`,e,[],[]))},getSelected(e){if(!u?.childSelections.value||!u.expandDataMap?.value)return[];let t=u.childSelections.value.get(e)||[];return(u.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){d?.addRow()},insert(){d?.insertRow()},delete(){d?.deleteRow()},copy(){d?.copyRow()},moveUp(){d?.moveRowUp()},moveDown(){d?.moveRowDown()},clearSelection(){d?.clearSelection()},getSelected(){return d?.selectedRowData.value||null},async print(e){d&&e&&await d.handlePrint(A(e))},async download(e,t){d&&e&&await d.handleDownload(A(e),t)}},clearAllSelections(){u?.clearAllSelections()}},expandedKeys:m(()=>u?.expandedKeys.value??[]),checkedKeys:m(()=>u?.checkedKeys.value??[]),eventHandlers:a}}const $={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function ot(e){let{data:t,config:n,emit:r}=e,i=A(1),a=A(10),o=m(()=>typeof t==`function`?t()||[]:N(t)||[]),s=m(()=>{if(!n.value?.enabled)return o.value;let e=(i.value-1)*a.value,t=e+a.value;return o.value.slice(e,t)}),c=m(()=>n.value?.enabled?{page:i.value,pageSize:a.value,itemCount:o.value.length,showSizePicker:n.value.showSizePicker??$.showSizePicker,showQuickJumper:n.value.showQuickJumper??$.showQuickJumper,pageSizes:n.value.pageSizes??$.pageSizes,simple:n.value.simple??$.simple,size:n.value.size??$.size,prefix:e=>`共 ${e.itemCount} 条`,suffix:e=>`第 ${e.startIndex+1}-${e.endIndex} 条`,"onUpdate:page":l,"onUpdate:pageSize":u}:null),l=e=>{i.value=e,r?.(`pagination-change`,e,a.value)},u=e=>{a.value=e,i.value=1,r?.(`pagination-change`,1,e)};return F(()=>{n.value?.enabled&&(i.value=n.value.page??$.page,a.value=n.value.pageSize??$.pageSize)}),P(()=>o.value.length,e=>{if(n.value?.enabled&&i.value>1){let t=Math.ceil(e/a.value);i.value>t&&(i.value=Math.max(1,t))}}),{currentPage:i,currentPageSize:a,paginatedData:s,paginationConfig:c,handlePageChange:l,handlePageSizeChange:u,resetToFirstPage:()=>{i.value!==1&&l(1)},getTotalPages:()=>!n.value?.enabled||a.value===0?1:Math.ceil(o.value.length/a.value)}}function st(t){let{actions:n,config:i,tableManager:o,rowKey:s,emit:c,onViewDetail:u}=t,p=f(),m=d(),h=e=>n.value?.[e]!==!1,g=e=>e!==!1&&typeof e==`function`,_=e=>e&&typeof e==`object`&&`data`in e?e.data:e,v=(t,n,i=`primary`,a)=>S(r,{size:`small`,type:i,quaternary:!0,onClick:a},()=>[S(e,{name:t,size:14,title:n})]),y=(e,t)=>{let r=s(e),a=n.value?.edit;i.value.editMode===`modal`?o.editStates.modalEdit.startEdit(r,{...e},a):o.editStates.rowEdit.startEditRow(r,a)},b=async(e,t,n)=>{try{await e(t,n),p.success(`删除成功`),c(`row-delete`,t,n)}catch(e){throw console.error(`删除失败:`,e),p.error(`删除失败`),e}},x=(e,t)=>{let r=n.value?.delete;g(r)&&m.warning({title:`确认删除`,content:`确定要删除这条记录吗?`,positiveText:`确定`,negativeText:`取消`,onPositiveClick:()=>b(r,e,t)})},C=async(e,t)=>{let r=n.value?.detail;if(!g(r)){u?.(e);return}try{let n=_(await r(e,t));u?.(n||e)}catch(t){console.error(`获取详情失败:`,t),p.error(`获取详情失败`),u?.(e)}},w=e=>o.editStates.rowEdit.isEditingRow(e)?[v(`mdi:check`,`保存`,`primary`,()=>o.editStates.rowEdit.saveEditRow()),v(`mdi:close`,`取消`,`default`,()=>o.editStates.rowEdit.cancelEditRow())]:[v(`mdi:pencil`,`编辑`,`warning`,()=>o.editStates.rowEdit.startEditRow(e))],T=(e,t)=>{let n=[];return h(`detail`)&&n.push(v(`mdi:eye`,`详情`,`info`,()=>C(e,t))),i.value.editMode===`modal`&&(h(`edit`)||i.value.editable)&&n.push(v(`mdi:pencil`,`编辑`,`warning`,()=>y(e,t))),h(`delete`)&&n.push(v(`mdi:delete`,`删除`,`error`,()=>x(e,t))),n},E=(t,r)=>{let i=n.value?.custom;if(!i?.length)return null;let o=i.filter(e=>e.show?e.show(t,r):!0);return o.length?S(a,{options:o.map(n=>{let i=typeof n.label==`function`?n.label(t,r):n.label,a=typeof n.icon==`function`?n.icon(t,r):n.icon;return{label:i,key:n.key,icon:()=>S(e,{name:a,size:14}),disabled:n.disabled?.(t,r)||!1}}),onSelect:e=>{let n=o.find(t=>t.key===e);if(n)try{n.onClick(t,r)}catch(e){console.error(`操作"${n.label}"执行失败:`,e),p.error(`${n.label}失败`)}}},()=>v(`mdi:dots-horizontal`,`更多操作`,`default`,()=>{})):null};return{renderActions:(e,t)=>{if(n.value?.render)return n.value.render(e,t);let r=s(e),a=[`row`,`both`].includes(i.value.editMode);if(a&&o.editStates.rowEdit.isEditingRow(r))return S(l,{size:2,wrap:!1},()=>w(r));let c=[...a?w(r):[],...T(e,t)],u=E(e,t);return u&&c.push(u),S(l,{size:2,wrap:!1},()=>c)},isActionEnabled:h}}const ct={number:s,switch:u,input:o,email:o,mobile:o,date:e=>S(i,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>S(c,{...e,options:e.options||[]}),textarea:e=>S(o,{...e,type:`textarea`,rows:3})},lt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},ut=e=>e.map(e=>{let t=e.required?[{required:!0,message:`请输入${e.title}`,trigger:[`blur`,`input`],validator:async(t,n)=>{if(!n&&n!==0&&n!==!1)throw Error(`请输入${e.title}`)}}]:[];return{prop:e.key,label:e.title||e.key,type:lt[e.editType||`input`]||`input`,placeholder:`请输入${e.title}`,rules:t,attrs:e.editProps||{},layout:{span:1},show:!0}});function dt(e,t,n){if(e.editRender)return e.editRender(t,{},0);let r=e,i={value:t,"onUpdate:value":n,placeholder:`请输入${r.title??``}`,style:{width:`100%`},...e.editProps};return S(ct[e.editType||`input`]||ct.input,i)}function ft(e,t,n,r){return e.render?e.render(t,n)??String(r??``):String(r??``)}function pt(t,n,r,i,a){let o=(t,n,r)=>S(`button`,{class:`cell-action-btn cell-action-${t}`,title:n,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),r(e)}},[S(e,{name:`mdi:${t===`save`?`check`:`close`}`,title:t===`save`?`保存`:`取消`,size:12})]);return S(`div`,{class:`cell-editing-container`},[S(`div`,{class:`cell-editing-input`},[dt(t,n,r)]),S(`div`,{class:`cell-editing-actions`},[o(`save`,`保存`,i),o(`cancel`,`取消`,a)])])}function mt(t,n,r,i,a){return S(`div`,{class:`cell-edit-wrapper`},[S(`span`,{class:`cell-value`},t.render?t.render(n,r)??String(i??``):String(i??``)),S(e,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function ht(e){let{rawColumns:t,config:n,columnWidth:r,rowKey:i,tableManager:a,actionsRenderer:o,editModeChecker:s}=e,c=A([]),l=A(!1),u=e=>{let t=c.value.find(e=>e.key===`_actions`);c.value=[...e,t||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]};P(t,e=>{e?.length&&u(e)},{deep:!0,immediate:!0});let d=(e,t,n,r)=>{let i=e.key??``,o=t[i],{isEditingCell:s,getEditingCellValue:c,updateEditingCellValue:l,saveEditCell:u,cancelEditCell:d,startEditCell:f}=a.editStates.cellEdit;return s(r,i)?pt(e,c(r,i)??o,e=>l(r,i,e),()=>u(),()=>d()):mt(e,t,n,o,()=>f(r,i))},f=(e,t,n)=>{let r=e.key??``,o=t[r],c=i(t),l=s.value;return l.isNonEditable(e)?ft(e,t,n,o):l.isRowEditMode()&&a.editStates.rowEdit.isEditingRow(c)?dt(e,a.editStates.rowEdit.getEditingRowData(c)?.[r]??o,e=>a.editStates.rowEdit.updateEditingRowData(c,r,e)):l.isCellEditMode()?d(e,t,n,c):ft(e,t,n,o)},p=e=>{let t=e.width||r||180;return typeof t==`number`?t:180},h=e=>{let t=e;return{key:`_index`,title:t.title||`序号`,width:typeof(t.width||50)==`number`&&t.width||50,titleAlign:`center`,align:`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=e=>{let t=e,n={...t,width:p(e),titleAlign:t.titleAlign||`center`,align:t.align||`center`,render:e.render||((t,n)=>f(e,t,n))};return e.fixed&&(n.fixed=e.fixed),e.resizable&&typeof n.width==`number`&&(n.resizable=!0,n.minWidth=e.minWidth||80,n.maxWidth=e.maxWidth||500),n};return{reactiveColumns:c,showSettingsPanel:l,computedColumns:m(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>e.type===`index`?h(e):g(e));a.dynamicRowsState&&(e=a.dynamicRowsState.enhanceColumns(e)),a.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=a.expandState.getTableColumns(e));let t=c.value.find(e=>e.key===`_actions`);return e.push({key:`_actions`,title:`操作`,align:`center`,titleAlign:`center`,render:o,fixed:t?.fixed}),e}),computedScrollX:m(()=>{if(e.scrollX!==void 0)return e.scrollX;if(c.value.some(e=>{let t=e;return t.fixed&&t.visible!==!1}))return c.value.filter(e=>e.visible!==!1).reduce((e,t)=>e+p(t),0)+200}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width||r,align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}const gt=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}],_t=[`_actions`],vt=[`selection`,`expand`],yt=e=>_t.includes(e.key)||vt.includes(e.type),bt={class:`column-management-tab`},xt={class:`search-row`},St={class:`resizable-control`},Ct={class:`top-actions-bar`},wt={class:`stats-info`},Tt={class:`quick-actions`},Et=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],Dt={class:`column-info`},Ot={class:`column-controls`},kt={class:`column-details`},At={class:`column-actions`},jt={class:`drag-controls`};var Mt=t(x({name:`ColumnSettings`,__name:`index`,props:{columns:{}},emits:[`change`],setup(t,{emit:n}){let r=t,i=n,a=A([...r.columns]),o=A(``),s=A(),c=A(null),l=A(null),u=A(!1);ee(()=>{u.value=a.value.some(e=>e.resizable===!0)});let d=m(()=>{if(!o.value)return a.value;let e=o.value.toLowerCase();return a.value.filter(t=>t.title?.toLowerCase().includes(e)||t.key?.toLowerCase().includes(e))}),f=m(()=>a.value.filter(e=>e.visible!==!1).length),x=m(()=>a.value.length),S=e=>{a.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),P()},C=()=>S(!0),w=()=>S(!1),T=e=>{let t=d.value[e];return a.value.findIndex(e=>e.key===t.key)},O=(e,t)=>{let n=T(e);n!==-1&&(t(a.value[n]),P())},te=(e,t)=>{O(e,e=>{e.visible=t})},ne=(e,t)=>{O(e,e=>{e.fixed=t===`none`?void 0:t})},P=()=>i(`change`,[...a.value]),F=()=>{a.value=[...r.columns],P()},re=e=>{a.value.forEach(t=>{yt(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),P()},R=(e,t)=>{let n=T(e),r=T(t);if(n!==-1&&r!==-1){let[e]=a.value.splice(n,1);a.value.splice(r,0,e),P()}},ae=(e,t)=>{if(d.value[e].key===`_actions`){t.preventDefault();return}c.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},oe=(e,t)=>{t.preventDefault(),!(c.value===null||d.value[e].key===`_actions`)&&(l.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},se=e=>{c.value===null||d.value[e].key===`_actions`||(R(c.value,e),c.value=null,l.value=null)},ce=()=>{c.value=null,l.value=null};return(t,n)=>(k(),_(`div`,bt,[g(` 搜索框和列宽调整开关 `),v(`div`,xt,[b(N(B),{value:o.value,"onUpdate:value":n[0]||=e=>o.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:I(()=>[b(e,{name:`mdi:magnify`})]),_:1},8,[`value`]),v(`div`,St,[b(e,{name:`mdi:arrow-split-vertical`,size:`14`,title:u.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),b(N(W),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:I(()=>n[2]||=[y(` 列宽调整 `,-1)]),_:1,__:[2]}),b(N(U),{value:u.value,"onUpdate:value":[n[1]||=e=>u.value=e,re],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),g(` 顶部操作栏:统计信息和快捷操作按钮 `),v(`div`,Ct,[v(`div`,wt,[b(N(W),{depth:`3`,style:{fontSize:`13px`}},{default:I(()=>[y(` 已选 `+M(f.value)+` / 总共 `+M(x.value)+` 列 `,1)]),_:1})]),v(`div`,Tt,[b(N(V),{size:6},{default:I(()=>[b(N(L),{size:`tiny`,onClick:C},{default:I(()=>n[3]||=[y(` 全选 `,-1)]),_:1,__:[3]}),b(N(L),{size:`tiny`,onClick:w},{default:I(()=>n[4]||=[y(` 全不选 `,-1)]),_:1,__:[4]}),b(N(L),{size:`tiny`,onClick:F},{default:I(()=>n[5]||=[y(` 重置 `,-1)]),_:1,__:[5]})]),_:1})])]),g(` 列列表 `),v(`div`,{ref_key:`listRef`,ref:s,class:`column-list`},[(k(!0),_(p,null,j(d.value,(t,r)=>(k(),_(`div`,{key:t.key,class:E([`column-item`,{disabled:t.key===`_actions`,"fixed-left":t.fixed===`left`,"fixed-right":t.fixed===`right`}]),draggable:t.key!==`_actions`,onDragstart:e=>ae(r,e),onDragover:e=>oe(r,e),onDragend:ce,onDrop:e=>se(r)},[v(`div`,Dt,[v(`div`,Ot,[b(e,{name:`mdi:drag`,size:`16`,class:E([`drag-handle`,{disabled:t.key===`_actions`}])},null,8,[`class`]),b(N(ie),{checked:t.visible!==!1,disabled:t.key===`_actions`,"onUpdate:checked":e=>te(r,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),v(`div`,kt,[b(N(V),{align:`center`,size:6},{default:I(()=>[b(N(W),{strong:``,style:{fontSize:`13px`}},{default:I(()=>[y(M(t.title||t.key),1)]),_:2},1024),t.fixed===`left`?(k(),h(N(ue),{key:0,size:`tiny`,type:`info`},{default:I(()=>n[6]||=[y(` 左固定 `,-1)]),_:1,__:[6]})):g(`v-if`,!0),t.fixed===`right`?(k(),h(N(ue),{key:1,size:`tiny`,type:`warning`},{default:I(()=>n[7]||=[y(` 右固定 `,-1)]),_:1,__:[7]})):g(`v-if`,!0)]),_:2},1024),b(N(W),{depth:`3`,style:{fontSize:`11px`}},{default:I(()=>[y(M(t.key),1)]),_:2},1024)])]),v(`div`,At,[v(`div`,jt,[b(e,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:r!==0,class:E({disabled:r===0}),onClick:e=>r!==0&&R(r,r-1)},null,8,[`clickable`,`class`,`onClick`]),b(e,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:r!==d.value.length-1,class:E({disabled:r===d.value.length-1}),onClick:e=>r!==d.value.length-1&&R(r,r+1)},null,8,[`clickable`,`class`,`onClick`])]),b(N(z),{options:N(gt)(t),onSelect:e=>ne(r,e)},{default:I(()=>[b(e,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:D({color:t.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,Et))),128))],512)]))}}),[[`__scopeId`,`data-v-574245b2`]]);const Nt={class:`c-table-wrapper`},Pt={key:1,class:`table-toolbar`},Ft={class:`toolbar-left`},It={class:`toolbar-right`};var Lt=t(x({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{type:Function,default:e=>e.id},config:{default:()=>({})},crud:{}},emits:[`pagination-change`,`row-delete`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`],setup(t,{expose:r,emit:i}){let a=t,o=i,s=(e,...t)=>{o(e,...t),a.crud&&{save:a.crud.save,cancel:a.crud.handleCancel,"pagination-change":a.crud.handlePaginationChange,"row-delete":a.crud.handleRowDelete,"view-detail":a.crud.detail?.show}[e]?.(...t)},c=m(()=>{if(!a.crud)return a.config||{};let e={};return a.crud.actions&&(e.actions=a.crud.actions.value),a.crud.pagination&&(e.pagination=a.crud.pagination.value??void 0),{...e,...a.config}}),l=m(()=>a.columns??a.crud?.columns.value??[]),u=m(()=>_e(c.value)),d=m(()=>ve(u.value)),f=e=>e&&typeof e==`object`&&`value`in e?e.value:e,p=m(()=>f(a.data)??a.crud?.data.value??[]),x=m(()=>f(a.loading)??a.crud?.loading.value??!1),S=ot({data:p,config:m(()=>u.value.pagination),emit:s}),T=at({config:u.value,data:()=>p.value,rowKey:a.rowKey,emit:s}),E=st({actions:m(()=>c.value.actions||{}),config:u,tableManager:T,rowKey:a.rowKey,emit:s,onViewDetail:e=>s(`view-detail`,e)}),D=ht({rawColumns:l,config:u,columnWidth:u.value.columnWidth,scrollX:u.value.scrollX,rowKey:a.rowKey,tableManager:T,actionsRenderer:E.renderActions,editModeChecker:d}),{showSettingsPanel:j,reactiveColumns:M,computedColumns:F,computedScrollX:re}=D,R=A(),ie=m(()=>({striped:u.value.striped,bordered:u.value.bordered,singleLine:u.value.singleLine,size:u.value.size,maxHeight:u.value.maxHeight})),z=A(),B=A(!1),H=A({}),U=m({get:()=>T.editStates.modalEdit.isModalVisible.value,set:e=>{T.editStates.modalEdit.isModalVisible.value=e}}),ue=m(()=>l.value.filter(e=>e.editable!==!1)),W=m(()=>`edit-form-${T.editStates.modalEdit.editingRowKey.value||`new`}`),G=m(()=>ut(ue.value));P(()=>T.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(H.value=JSON.parse(JSON.stringify(e)))},{immediate:!0,deep:!0});let K=null;P(U,e=>{e||(K=setTimeout(()=>{H.value={},K=null},300))});let de=async()=>{if(z.value){B.value=!0;try{await z.value.validate(),await T.editStates.modalEdit.saveEdit(H.value)}catch{}finally{B.value=!1}}},fe=()=>{H.value={},T.editStates.modalEdit.cancelEdit()},pe=e=>{D.handleColumnChange(e),o(`column-change`,D.reactiveColumns.value)},{edit:q,expand:J,selection:Y,dynamicRows:me}=T.stateManager,X={startEdit:q.start,expandAll:J.all,collapseAll:J.collapseAll,selectAll:Y.all,clearSelection:Y.clear,clearAllSelections:T.stateManager.clearAllSelections,clearRowSelection:me?.clearSelection,resetToFirstPage:S.resetToFirstPage,getSelectedRows:Y.getSelected,getEditingData:q.getEditingData,isEditing:q.isEditing,isExpanded:J.isExpanded,getManager:()=>T.stateManager};return r(X),ee(()=>{let e=a.crud?.tableRef;e&&(e.value=X)}),O(()=>{K&&clearTimeout(K)}),(t,r)=>(k(),_(`div`,Nt,[g(` 动态行工具栏 `),N(T).dynamicRowsState?(k(),h(ne(N(T).dynamicRowsState.renderToolbar()),{key:0})):g(`v-if`,!0),g(` 表格工具栏 `),u.value.showToolbar?(k(),_(`div`,Pt,[v(`div`,Ft,[te(t.$slots,`toolbar-left`,{},void 0,!0)]),v(`div`,It,[te(t.$slots,`toolbar-right`,{},void 0,!0),u.value.enableColumnSettings?(k(),h(e,{key:0,name:`mdi:cog`,size:`18`,title:`表格设置`,clickable:``,class:`column-settings-btn`,onClick:r[0]||=e=>j.value=!0})):g(`v-if`,!0)])])):g(`v-if`,!0),g(` 表格主体 `),b(N(ae),w({ref_key:`tableRef`,ref:R},{...ie.value,...t.$attrs},{columns:N(F),data:p.value,loading:x.value,"row-key":t.rowKey,"expanded-row-keys":N(T).expandedKeys.value,"checked-row-keys":N(T).checkedKeys.value,"onUpdate:expandedRowKeys":N(T).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":N(T).expandState?.handleSelectionChange,"scroll-x":N(re),style:{width:`100%`}}),null,16,[`columns`,`data`,`loading`,`row-key`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`onUpdate:checkedRowKeys`,`scroll-x`]),g(` 分页 `),N(S).paginationConfig.value?(k(),h(N(le),w({key:2},N(S).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):g(`v-if`,!0),g(` 编辑弹窗 `),u.value.editMode===`modal`||u.value.editMode===`both`?(k(),h(N(ce),{key:3,show:U.value,"onUpdate:show":r[2]||=e=>U.value=e,title:u.value.modalTitle,width:u.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:I(()=>[b(N(V),{justify:`end`},{default:I(()=>[b(N(L),{onClick:fe},{default:I(()=>r[4]||=[y(`取消`,-1)]),_:1,__:[4]}),b(N(L),{type:`primary`,loading:B.value,onClick:de},{default:I(()=>r[5]||=[y(` 保存 `,-1)]),_:1,__:[5]},8,[`loading`])]),_:1})]),default:I(()=>[U.value&&G.value.length?(k(),h(n,{ref_key:`editFormRef`,ref:z,key:W.value,modelValue:H.value,"onUpdate:modelValue":r[1]||=e=>H.value=e,options:G.value,config:{layout:`grid`,grid:{cols:2,xGap:16,yGap:16},showActions:!1}},null,8,[`modelValue`,`options`])):g(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):g(`v-if`,!0),g(` 动态行确认删除弹窗 `),N(T).dynamicRowsState?(k(),h(ne(N(T).dynamicRowsState.renderConfirmModal()),{key:4})):g(`v-if`,!0),g(` 列设置抽屉 `),b(N(oe),{show:N(j),"onUpdate:show":r[3]||=e=>C(j)?j.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:I(()=>[b(N(se),{title:`列设置`,closable:``},{default:I(()=>[b(Mt,{columns:N(M),onChange:pe},null,8,[`columns`])]),_:1})]),_:1},8,[`show`])]))}}),[[`__scopeId`,`data-v-6c78c109`]]);export{at as a,$e as c,be as d,ye as f,ot as i,Pe as l,_e as m,ht as n,it as o,ve as p,st as r,et as s,Lt as t,xe as u};
2
2
  //# sourceMappingURL=C_Table2.js.map