@robot-admin/naive-ui-components 0.8.1 → 0.8.2
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.
- package/README.md +279 -279
- package/dist/C_ActionBar-DYG0Yf3A.css.map +1 -0
- package/dist/C_ActionBar-MAjRhqcI.css.map +1 -0
- package/dist/C_ActionBar.cjs +1 -1
- package/dist/C_ActionBar.css +47 -47
- package/dist/C_ActionBar.js +1 -1
- package/dist/C_ActionBar.js.map +1 -1
- package/dist/C_ActionBar2.js +1 -1
- package/dist/C_ActionBar2.js.map +1 -1
- package/dist/{C_AntV-A3NXx_sF.css.map → C_AntV-BY8jqqmi.css.map} +1 -1
- package/dist/{C_AntV-D2Zp2qQF.css.map → C_AntV-BbkHc-_a.css.map} +1 -1
- package/dist/C_AntV.cjs +1 -1
- package/dist/C_AntV.css +78 -78
- package/dist/C_AntV.js +1 -1
- package/dist/C_AntV.js.map +1 -1
- package/dist/C_AntV2.js +3 -3
- package/dist/C_AntV2.js.map +1 -1
- package/dist/{C_AudioPlayer-CXl4yP_m.css.map → C_AudioPlayer-DKRIGhi7.css.map} +1 -1
- package/dist/{C_AudioPlayer-CcBtt71m.css.map → C_AudioPlayer-DlB6eNsa.css.map} +1 -1
- package/dist/C_AudioPlayer.cjs +1 -1
- package/dist/C_AudioPlayer.css +47 -47
- package/dist/C_AudioPlayer.js +1 -1
- package/dist/C_AudioPlayer.js.map +1 -1
- package/dist/C_AudioPlayer2.js +1 -1
- package/dist/C_AudioPlayer2.js.map +1 -1
- package/dist/{C_AvatarGroup-CtPhfH9h.css.map → C_AvatarGroup-D02zci-i.css.map} +1 -1
- package/dist/{C_AvatarGroup-M1dNPH3E.css.map → C_AvatarGroup-DatHaUlY.css.map} +1 -1
- package/dist/C_AvatarGroup.css +21 -21
- package/dist/C_AvatarGroup.js.map +1 -1
- package/dist/C_AvatarGroup2.js +1 -1
- package/dist/C_AvatarGroup2.js.map +1 -1
- package/dist/{C_Barcode-DjTmDkbQ.css.map → C_Barcode-DYDRDe2O.css.map} +1 -1
- package/dist/{C_Barcode-Do1Ozsmh.css.map → C_Barcode-muJdc_O4.css.map} +1 -1
- package/dist/C_Barcode.css +7 -7
- package/dist/C_Barcode.js.map +1 -1
- package/dist/C_Barcode2.js +1 -1
- package/dist/C_Barcode2.js.map +1 -1
- package/dist/C_Breadcrumb.cjs +1 -1
- package/dist/C_Breadcrumb.js +1 -1
- package/dist/C_Breadcrumb.js.map +1 -1
- package/dist/C_Breadcrumb2.js +1 -1
- package/dist/C_Breadcrumb2.js.map +1 -1
- package/dist/{C_Captcha-CZmAETly.css.map → C_Captcha-9_hk6VmY.css.map} +1 -1
- package/dist/{C_Captcha-Ccq3DMrR.css.map → C_Captcha-MtASlJ0f.css.map} +1 -1
- package/dist/C_Captcha.css +19 -19
- package/dist/C_Captcha.js.map +1 -1
- package/dist/C_Captcha2.js +1 -1
- package/dist/C_Captcha2.js.map +1 -1
- package/dist/C_Cascade.js.map +1 -1
- package/dist/C_Cascade2.js +1 -1
- package/dist/C_Cascade2.js.map +1 -1
- package/dist/{C_Chat-CJ8KESTM.css.map → C_Chat-Csjz_BFw.css.map} +1 -1
- package/dist/{C_Chat-DzV4AFLd.css.map → C_Chat-DO1ZBA_0.css.map} +1 -1
- package/dist/C_Chat.cjs +1 -1
- package/dist/C_Chat.css +65 -65
- package/dist/C_Chat.js +1 -1
- package/dist/C_Chat.js.map +1 -1
- package/dist/C_Chat2.js +1 -1
- package/dist/C_Chat2.js.map +1 -1
- package/dist/{C_City-Cv5BESaN.css.map → C_City-Bam08Qv3.css.map} +1 -1
- package/dist/{C_City-DNKv4MpH.css.map → C_City-Bb3W-KaN.css.map} +1 -1
- package/dist/C_City.css +29 -29
- package/dist/C_City.js.map +1 -1
- package/dist/C_City2.js +1 -1
- package/dist/C_City2.js.map +1 -1
- package/dist/C_Code-BFi5xxnM.css.map +1 -0
- package/dist/C_Code-CZ7yfnri.css.map +1 -0
- package/dist/C_Code.cjs +1 -1
- package/dist/C_Code.css +3 -3
- package/dist/C_Code.js +1 -1
- package/dist/C_Code.js.map +1 -1
- package/dist/C_Code2.js +1 -1
- package/dist/C_Code2.js.map +1 -1
- package/dist/{C_CollapsePanel-CedsEM0N.css.map → C_CollapsePanel-CWkFCqNQ.css.map} +1 -1
- package/dist/{C_CollapsePanel-BkOivqn3.css.map → C_CollapsePanel-pcVJA_4z.css.map} +1 -1
- package/dist/C_CollapsePanel.cjs +1 -1
- package/dist/C_CollapsePanel.css +35 -35
- package/dist/C_CollapsePanel.js +1 -1
- package/dist/C_CollapsePanel.js.map +1 -1
- package/dist/C_CollapsePanel2.js +1 -1
- package/dist/C_CollapsePanel2.js.map +1 -1
- package/dist/{C_ContextMenu-CCsCeI39.css.map → C_ContextMenu-B3Cgz_wJ.css.map} +1 -1
- package/dist/{C_ContextMenu-DOTBeltf.css.map → C_ContextMenu-u1LixF3_.css.map} +1 -1
- package/dist/C_ContextMenu.cjs +1 -1
- package/dist/C_ContextMenu.css +17 -17
- package/dist/C_ContextMenu.js +1 -1
- package/dist/C_ContextMenu.js.map +1 -1
- package/dist/C_ContextMenu2.js +1 -1
- package/dist/C_ContextMenu2.js.map +1 -1
- package/dist/{C_Cron-C0-8b5af.css.map → C_Cron-Civir5-I.css.map} +1 -1
- package/dist/{C_Cron-DqHQ92LN.css.map → C_Cron-iw3qpMsy.css.map} +1 -1
- package/dist/C_Cron.cjs +1 -1
- package/dist/C_Cron.css +37 -37
- package/dist/C_Cron.js +1 -1
- package/dist/C_Cron.js.map +1 -1
- package/dist/C_Cron2.js +1 -1
- package/dist/C_Cron2.js.map +1 -1
- package/dist/C_Date.js.map +1 -1
- package/dist/C_Date2.js +1 -1
- package/dist/C_Date2.js.map +1 -1
- package/dist/{C_Draggable-Bq6o0qXn.css.map → C_Draggable-BCjIvIwT.css.map} +1 -1
- package/dist/{C_Draggable-r6nhx3yM.css.map → C_Draggable-DwkSlCOS.css.map} +1 -1
- package/dist/C_Draggable.css +46 -46
- package/dist/C_Draggable.js.map +1 -1
- package/dist/C_Draggable2.js +1 -1
- package/dist/C_Draggable2.js.map +1 -1
- package/dist/C_Editor-BfjjYQ9B.css.map +1 -0
- package/dist/C_Editor-Do2StvoJ.css.map +1 -0
- package/dist/C_Editor.css +55 -55
- package/dist/C_Editor.js.map +1 -1
- package/dist/C_Editor2.js +1 -1
- package/dist/C_Editor2.js.map +1 -1
- package/dist/{C_FilePreview-BVarVvnD.css.map → C_FilePreview-BhcbiXsV.css.map} +1 -1
- package/dist/{C_FilePreview-DHGlV4OR.css.map → C_FilePreview-DJudcIbW.css.map} +1 -1
- package/dist/C_FilePreview.cjs +1 -1
- package/dist/C_FilePreview.css +91 -91
- package/dist/C_FilePreview.js +1 -1
- package/dist/C_FilePreview.js.map +1 -1
- package/dist/C_FilePreview2.js +1 -1
- package/dist/C_FilePreview2.js.map +1 -1
- package/dist/{C_Form-BciQUPpS.css.map → C_Form-BtcAPIRi.css.map} +1 -1
- package/dist/{C_Form-CKHvXL3O.css.map → C_Form-D_gwQ7hC.css.map} +1 -1
- package/dist/C_Form.cjs +1 -1
- package/dist/C_Form.css +222 -222
- package/dist/C_Form.js +1 -1
- package/dist/C_Form.js.map +1 -1
- package/dist/C_Form2.js +1 -1
- package/dist/C_Form2.js.map +1 -1
- package/dist/{C_FormSearch-Bmd2CmG6.css.map → C_FormSearch-Bi4XYjjk.css.map} +1 -1
- package/dist/{C_FormSearch-DBNtnjaL.css.map → C_FormSearch-DUGOoX0u.css.map} +1 -1
- package/dist/C_FormSearch.css +45 -45
- package/dist/C_FormSearch.js.map +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_FormSearch2.js.map +1 -1
- package/dist/{C_FormulaEditor-3WG2vtQl.css.map → C_FormulaEditor-CJk3SSUJ.css.map} +1 -1
- package/dist/{C_FormulaEditor-Cm0CokN5.css.map → C_FormulaEditor-Cy7mjfVO.css.map} +1 -1
- package/dist/C_FormulaEditor.cjs +1 -1
- package/dist/C_FormulaEditor.css +78 -78
- package/dist/C_FormulaEditor.js +1 -1
- package/dist/C_FormulaEditor.js.map +1 -1
- package/dist/C_FormulaEditor2.js +1 -1
- package/dist/C_FormulaEditor2.js.map +1 -1
- package/dist/C_FullCalendar-BQA0OjGB.css.map +1 -0
- package/dist/C_FullCalendar-ChJUosAi.css.map +1 -0
- package/dist/C_FullCalendar.css +3 -3
- package/dist/C_FullCalendar.js.map +1 -1
- package/dist/C_FullCalendar2.js +1 -1
- package/dist/C_FullCalendar2.js.map +1 -1
- package/dist/C_GlobalSearch.js.map +1 -1
- package/dist/C_GlobalSearch2.js.map +1 -1
- package/dist/C_Guide.cjs +1 -1
- package/dist/C_Guide.js +1 -1
- package/dist/C_Guide.js.map +1 -1
- package/dist/C_Guide2.js +1 -1
- package/dist/C_Guide2.js.map +1 -1
- package/dist/C_Icon.js.map +1 -1
- package/dist/C_Icon2.js +1 -1
- package/dist/C_Icon2.js.map +1 -1
- package/dist/{C_ImageCropper-D3L2-J_J.css.map → C_ImageCropper-BqZpkZfU.css.map} +1 -1
- package/dist/{C_ImageCropper-DrmUlaLi.css.map → C_ImageCropper-CylwGuzS.css.map} +1 -1
- package/dist/C_ImageCropper.cjs +1 -1
- package/dist/C_ImageCropper.css +10 -10
- package/dist/C_ImageCropper.js +1 -1
- package/dist/C_ImageCropper.js.map +1 -1
- package/dist/C_ImageCropper2.js +1 -1
- package/dist/C_ImageCropper2.js.map +1 -1
- package/dist/C_Language.cjs +1 -1
- package/dist/C_Language.js +1 -1
- package/dist/C_Language.js.map +1 -1
- package/dist/C_Language2.js +1 -1
- package/dist/C_Language2.js.map +1 -1
- package/dist/{C_Login-Cst_W1XC.css.map → C_Login-BkdnkBKX.css.map} +1 -1
- package/dist/{C_Login-DWZ_6K1x.css.map → C_Login-VkMM6OJ2.css.map} +1 -1
- package/dist/C_Login.cjs +1 -1
- package/dist/C_Login.css +72 -72
- package/dist/C_Login.js +1 -1
- package/dist/C_Login.js.map +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Login2.js.map +1 -1
- package/dist/{C_Map-BCJmDnJT.css.map → C_Map-DNnBcY70.css.map} +1 -1
- package/dist/{C_Map-WUMXSAfy.css.map → C_Map-LEXIx6zM.css.map} +1 -1
- package/dist/C_Map.css +4 -4
- package/dist/C_Map.js.map +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Map2.js.map +1 -1
- package/dist/{C_Markdown-7J0uPEuk.css.map → C_Markdown-DwmI0_0Q.css.map} +1 -1
- package/dist/{C_Markdown-C7Lg0_9z.css.map → C_Markdown-k0794RW0.css.map} +1 -1
- package/dist/C_Markdown.css +33 -33
- package/dist/C_Markdown.js.map +1 -1
- package/dist/C_Markdown2.js +1 -1
- package/dist/C_Markdown2.js.map +1 -1
- package/dist/C_Menu.js.map +1 -1
- package/dist/C_Menu2.js +1 -1
- package/dist/C_Menu2.js.map +1 -1
- package/dist/C_NotificationCenter.cjs +1 -1
- package/dist/C_NotificationCenter.js +1 -1
- package/dist/C_NotificationCenter.js.map +1 -1
- package/dist/C_NotificationCenter2.js +1 -1
- package/dist/C_NotificationCenter2.js.map +1 -1
- package/dist/C_OrgChart.js.map +1 -1
- package/dist/C_OrgChart2.js +1 -1
- package/dist/C_OrgChart2.js.map +1 -1
- package/dist/C_Progress.js.map +1 -1
- package/dist/C_Progress2.js +1 -1
- package/dist/C_Progress2.js.map +1 -1
- package/dist/{C_QRCode-DMxSyogU.css.map → C_QRCode-CFNTda_1.css.map} +1 -1
- package/dist/{C_QRCode-G7fiAkm4.css.map → C_QRCode-CmWr9lK-.css.map} +1 -1
- package/dist/C_QRCode.css +9 -9
- package/dist/C_QRCode.js.map +1 -1
- package/dist/C_QRCode2.js +1 -1
- package/dist/C_QRCode2.js.map +1 -1
- package/dist/{C_Signature-BJMvVPWT.css.map → C_Signature-BDx4ctsE.css.map} +1 -1
- package/dist/{C_Signature-BJUHx2BF.css.map → C_Signature-Bz_uNbwv.css.map} +1 -1
- package/dist/C_Signature.cjs +1 -1
- package/dist/C_Signature.css +15 -15
- package/dist/C_Signature.js +1 -1
- package/dist/C_Signature.js.map +1 -1
- package/dist/C_Signature2.js +1 -1
- package/dist/C_Signature2.js.map +1 -1
- package/dist/C_Skeleton.js.map +1 -1
- package/dist/C_Skeleton2.js +1 -1
- package/dist/C_Skeleton2.js.map +1 -1
- package/dist/{C_SplitPane-Br2eK8IG.css.map → C_SplitPane-BOwr1C7K.css.map} +1 -1
- package/dist/{C_SplitPane-DuyzUhKB.css.map → C_SplitPane-N-a_D-7F.css.map} +1 -1
- package/dist/C_SplitPane.cjs +1 -1
- package/dist/C_SplitPane.css +31 -31
- package/dist/C_SplitPane.js +1 -1
- package/dist/C_SplitPane.js.map +1 -1
- package/dist/C_SplitPane2.js +1 -1
- package/dist/C_SplitPane2.js.map +1 -1
- package/dist/C_Steps-Bk1krgiR.css.map +1 -0
- package/dist/C_Steps-Dn2CMpy1.css.map +1 -0
- package/dist/C_Steps.css +38 -38
- package/dist/C_Steps.js.map +1 -1
- package/dist/C_Steps2.js +1 -1
- package/dist/C_Steps2.js.map +1 -1
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.js +1 -1
- package/dist/C_Table.js.map +1 -1
- package/dist/C_Table2.js +2 -2
- package/dist/C_Table2.js.map +1 -1
- package/dist/{C_TagsView-BsutyC3U.css.map → C_TagsView-DX3LecK1.css.map} +1 -1
- package/dist/{C_TagsView-Crm7yWg9.css.map → C_TagsView-DqOTa8bL.css.map} +1 -1
- package/dist/C_TagsView.cjs +1 -1
- package/dist/C_TagsView.css +36 -36
- package/dist/C_TagsView.js +1 -1
- package/dist/C_TagsView.js.map +1 -1
- package/dist/C_TagsView2.js +1 -1
- package/dist/C_TagsView2.js.map +1 -1
- package/dist/C_Theme.cjs +1 -1
- package/dist/C_Theme.js +1 -1
- package/dist/C_Theme.js.map +1 -1
- package/dist/C_Theme2.js +1 -1
- package/dist/C_Theme2.js.map +1 -1
- package/dist/C_Time-BzyQVvTS.css.map +1 -0
- package/dist/C_Time-DmpKLQHc.css.map +1 -0
- package/dist/C_Time.css +5 -5
- package/dist/C_Time.js.map +1 -1
- package/dist/C_Time2.js +1 -1
- package/dist/C_Time2.js.map +1 -1
- package/dist/{C_Timeline-DG70WtJP.css.map → C_Timeline-BKkimrZx.css.map} +1 -1
- package/dist/{C_Timeline-Dzxmmdjg.css.map → C_Timeline-DTuSCX6p.css.map} +1 -1
- package/dist/C_Timeline.cjs +1 -1
- package/dist/C_Timeline.css +45 -45
- package/dist/C_Timeline.js +1 -1
- package/dist/C_Timeline.js.map +1 -1
- package/dist/C_Timeline2.js +1 -1
- package/dist/C_Timeline2.js.map +1 -1
- package/dist/{C_Transfer-CCEqnC-v.css.map → C_Transfer-BOB6OBqS.css.map} +1 -1
- package/dist/{C_Transfer-CStPm4NP.css.map → C_Transfer-Dpq7ezWC.css.map} +1 -1
- package/dist/C_Transfer.cjs +1 -1
- package/dist/C_Transfer.css +31 -31
- package/dist/C_Transfer.js +1 -1
- package/dist/C_Transfer.js.map +1 -1
- package/dist/C_Transfer2.js +1 -1
- package/dist/C_Transfer2.js.map +1 -1
- package/dist/{C_Tree-B-Le4hjQ.css.map → C_Tree-D98nX9qT.css.map} +1 -1
- package/dist/{C_Tree-DnGc_MPb.css.map → C_Tree-ulfm7b-P.css.map} +1 -1
- package/dist/C_Tree.cjs +1 -1
- package/dist/C_Tree.css +33 -33
- package/dist/C_Tree.js +1 -1
- package/dist/C_Tree.js.map +1 -1
- package/dist/C_Tree2.js +1 -1
- package/dist/C_Tree2.js.map +1 -1
- package/dist/{C_Upload-CFAxVGVz.css.map → C_Upload-BR9fg5r4.css.map} +1 -1
- package/dist/{C_Upload-D8_QeSV0.css.map → C_Upload-CPqf74Ea.css.map} +1 -1
- package/dist/C_Upload.cjs +1 -1
- package/dist/C_Upload.css +4 -4
- package/dist/C_Upload.js +1 -1
- package/dist/C_Upload.js.map +1 -1
- package/dist/C_Upload2.js +2 -2
- package/dist/C_Upload2.js.map +1 -1
- package/dist/{C_VideoPlayer-Cdgv4Zq0.css.map → C_VideoPlayer-4J96tKfK.css.map} +1 -1
- package/dist/{C_VideoPlayer-rm0MODUv.css.map → C_VideoPlayer-D35seHkm.css.map} +1 -1
- package/dist/C_VideoPlayer.css +13 -13
- package/dist/C_VideoPlayer.js.map +1 -1
- package/dist/C_VideoPlayer2.js +3 -3
- package/dist/C_VideoPlayer2.js.map +1 -1
- package/dist/{C_VtableGantt-BpY-Rng3.css.map → C_VtableGantt-C2lxFmWg.css.map} +1 -1
- package/dist/{C_VtableGantt-DB87-jdS.css.map → C_VtableGantt-Dwnkw_WL.css.map} +1 -1
- package/dist/C_VtableGantt.cjs +1 -1
- package/dist/C_VtableGantt.css +15 -15
- package/dist/C_VtableGantt.js +1 -1
- package/dist/C_VtableGantt.js.map +1 -1
- package/dist/C_VtableGantt2.js +1 -1
- package/dist/C_VtableGantt2.js.map +1 -1
- package/dist/C_WaterFall.js.map +1 -1
- package/dist/C_WaterFall2.js +1 -1
- package/dist/C_WaterFall2.js.map +1 -1
- package/dist/{C_WorkFlow-7F6op6qN.css.map → C_WorkFlow-2hJfvvTK.css.map} +1 -1
- package/dist/{C_WorkFlow-Cy3HWA6A.css.map → C_WorkFlow-DHoNjl8-.css.map} +1 -1
- package/dist/C_WorkFlow.cjs +1 -1
- package/dist/C_WorkFlow.css +108 -108
- package/dist/C_WorkFlow.js +1 -1
- package/dist/C_WorkFlow.js.map +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/C_WorkFlow2.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants2.d.ts +4 -4
- package/dist/constants3.d.ts +2 -2
- package/dist/constants4.d.ts +6 -6
- package/dist/constants5.d.ts +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.vue.d.ts +2 -2
- package/dist/index10.vue.d.ts +1 -1
- package/dist/index12.vue.d.ts +2 -2
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.ts +3 -3
- package/dist/index15.vue.d.ts +7 -7
- package/dist/index17.vue.d.ts +1 -1
- package/dist/index18.vue.d.ts +5 -5
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index21.vue.d.ts +3 -3
- package/dist/index22.vue.d.ts +1 -1
- package/dist/index26.vue.d.ts +4 -4
- package/dist/index27.vue.d.ts +2 -2
- package/dist/index28.vue.d.ts +3 -3
- package/dist/index4.vue.d.ts +7 -7
- package/dist/index6.vue.d.ts +3 -3
- package/dist/index8.vue.d.ts +4 -4
- package/dist/menuAdapter.js.map +1 -1
- package/dist/resolver.cjs.map +1 -1
- package/dist/resolver.js.map +1 -1
- package/dist/style.css +1483 -1483
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.ts +5 -5
- package/dist/useDraggableLayout.d.ts +5 -5
- package/dist/useDynamicFormState.d.ts +21 -21
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useInfiniteScroll.d.ts +3 -3
- package/dist/useModalEdit.d.ts +1 -1
- package/dist/useQRCode.d.ts +5 -5
- package/dist/useSearchState.d.ts +2 -2
- package/dist/useSignatureHistory.d.ts +5 -5
- package/dist/useSplitResize.d.ts +4 -4
- package/dist/useTimeSelection.d.ts +2 -2
- package/dist/useTreeOperations.d.ts +3 -3
- package/dist/useWorkflowValidation.d.ts +2 -2
- package/package.json +5 -5
- package/dist/C_ActionBar-jZPsiXtT.css.map +0 -1
- package/dist/C_ActionBar-nnfbZCea.css.map +0 -1
- package/dist/C_Code-DPZlNSxL.css.map +0 -1
- package/dist/C_Code-avZjAnHD.css.map +0 -1
- package/dist/C_Editor-C49qURgb.css.map +0 -1
- package/dist/C_Editor-DuxBD9Qg.css.map +0 -1
- package/dist/C_FullCalendar-1U4VlG7X.css.map +0 -1
- package/dist/C_FullCalendar-DLUdCtqf.css.map +0 -1
- package/dist/C_Steps-BHYNJI1l.css.map +0 -1
- package/dist/C_Steps-DY7vl-4I.css.map +0 -1
- package/dist/C_Time-Bd_e1YDN.css.map +0 -1
- package/dist/C_Time-CKb_fwdm.css.map +0 -1
package/dist/C_Table2.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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,createSlots as y,createTextVNode as b,createVNode as x,defineComponent as S,h as C,inject as w,isRef as T,mergeProps as E,nextTick as D,normalizeClass as O,normalizeStyle as ee,onBeforeUnmount as k,onMounted as te,openBlock as A,ref as j,renderList as ne,renderSlot as re,resolveDynamicComponent as ie,toDisplayString as M,unref as N,watch as P,watchEffect as F,withCtx as I}from"vue";import L from"html2canvas";import{NButton as R,NButtonGroup as z,NCheckbox as ae,NDataTable as oe,NDrawer as se,NDrawerContent as ce,NDropdown as le,NInput as B,NModal as ue,NPagination as de,NSpace as V,NSpin as H,NSwitch as fe,NTag as pe,NText as U,NTooltip as W,useMessage as me}from"naive-ui/es";import he from"print-js";const ge={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600},G=e=>e===!1||e===void 0?ge: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},_e=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},ve=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`}},ye=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}}},be=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},K={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function xe(e){return e?{striped:e.striped??K.striped,bordered:e.bordered??K.bordered,singleLine:e.singleLine??K.singleLine,size:e.size??K.size,maxHeight:e.maxHeight,scrollX:e.scrollX,columnWidth:e.columnWidth??K.columnWidth}:{...K}}const q=e=>({showToolbar:e?.show!==!1,enableColumnSettings:e?.columnSettings!==!1}),J=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},Se=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},Ce=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:`drag-handle`,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass??`drag-handle`,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:`drag-handle`,columnDragAnimationDuration:150},we=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},Y=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},Te=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function Ee(e={}){return{...G(e.edit),..._e(e.expand),...ve(e.selection),...ye(e.pagination),...be(e.dynamicRows),...xe(e.display),...q(e.toolbar),...J(e.virtualScroll),...Se(e.summary),...Ce(e.columnDrag),...we(e.tree),...Y(e.rowDrag),...Te(e.crossPageSelection),exportConfig:e.export,persistKey:e.persistKey,formatterConfig:e.formatterConfig,error:e.error,batchActions:e.batchActions}}const De=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});async function Oe(e,t,n){let r=typeof e.message==`function`?e.message():e.message;if(e.required&&(t==null||t===``))return r||`${n}不能为空`;if(e.validator)try{await e.validator(e,t,()=>{},{},{})}catch(e){return e?.message||`${n}校验失败`}return null}function ke(e){let t=j(null),n=j({}),r=j([]),i=e=>t.value===e,a=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},o=e=>{let r=a(e);r&&(t.value=e,n.value[e]={...r})},s=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={}},c=async()=>{if(r.value=[],!t.value)return!0;let i=e.columns?.()||[],a=n.value[t.value];if(!a)return!0;let o=i.filter(e=>e.editable!==!1&&e.editProps?.rules?.length).map(e=>{let t=e.key;if(!t)return null;let n=e.title||t,r=a[t];return Promise.all(e.editProps.rules.map(e=>Oe(e,r,n))).then(e=>{let n=e.find(Boolean);return n?{field:t,message:n}:null})}).filter(Boolean),s=(await Promise.all(o)).filter(Boolean);return r.value=s,s.length===0};return{editingRowKey:t,isEditingRow:i,startEditRow:o,cancelEditRow:s,saveEditRow:async()=>{if(!t.value||!await c())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}},validateRow:c,validationErrors:r,getEditingRowData:e=>n.value[e],updateEditingRowData:(e,t,r)=>{n.value[e]&&(n.value[e][t]=r)},findRowData:a}}async function Ae(e,t,n){let r=typeof e.message==`function`?e.message():e.message;if(e.required&&(t==null||t===``))return r||`${n}不能为空`;if(e.validator)try{await e.validator(e,t,()=>{},{},{})}catch(e){return e?.message||`${n}校验失败`}return null}function X(e){let t=j({rowKey:null,columnKey:null}),n=j({}),r=j(null),i=(e,n)=>t.value.rowKey===e&&t.value.columnKey===n,a=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},o=(e,r)=>{let i=a(e);i&&(t.value={rowKey:e,columnKey:r},n.value[`${e}-${r}`]=i[r])},s=async()=>{r.value=null;let{rowKey:i,columnKey:a}=t.value;if(!i||!a)return!0;let o=(e.columns?.()||[]).find(e=>e.key===a);if(!o||!o.editProps?.rules)return!0;let s=`${i}-${a}`,c=n.value[s],l=o.title||a,u=(await Promise.all(o.editProps.rules.map(e=>Ae(e,c,l)))).find(Boolean);return u?(r.value=u,!1):!0};return{editingCell:t,isEditingCell:i,startEditCell:o,saveEditCell:async()=>{let{rowKey:r,columnKey:i}=t.value;if(!r||!i||!await s())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 c=`${r}-${i}`,l=n.value[c],u={...a[o],[i]:l};return await e.onSave?.(u,o,i),t.value={rowKey:null,columnKey:null},delete n.value[c],{updatedData:u,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}},validateCell:s,cellValidationError:r,getEditingCellValue:(e,t)=>n.value[`${e}-${t}`],updateEditingCellValue:(e,t,r)=>{n.value[`${e}-${t}`]=r},findRowData:a}}function Z(e){let t=j(!1),n=j(null),r=j({}),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 je=e=>({expandedKeys:j([...e.defaultExpandedKeys||[]]),expandDataMap:j(new Map),loadingMap:j(new Map),checkedKeys:e.enableSelection?j([...e.defaultCheckedKeys||[]]):j([]),childSelections:(e.enableChildSelection,j(new Map))}),Me=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)}},Ne=(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)}}},Pe=(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}},Fe=(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}},Ie=(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)}}),Le=(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,[])}}},Re=()=>C(`div`,{class:`flex justify-center items-center py-8`},[C(H,{size:`small`}),C(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),ze=()=>C(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),Be=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}}))]},Ve=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0}),o.push(...Be(t)),C(`div`,{class:`p-4 bg-gray-50`},[C(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),C(oe,{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})])},He=(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)&&D(()=>{r.loadData(a)});let l=Le(o,e,t,n,i);return i.renderContent?i.renderContent(a,s,c,l):c?Re():s.length?Ve(o,s,l,t,n,i):ze()};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 Ue(e){let t=je(e),n=Me(e),r=Ne(t,n,e),i=Pe(t,n,e),a=Ie(t,n,Fe(t,e),e),o=He(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&&D(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async 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 We={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},Ge={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},Ke={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 qe(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 Je(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 Ye(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 Xe(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 Ze(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...We,...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:qe,corner:Je,diagonal:Ye,repeat:Xe};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function Qe(e,t={}){let n={...Ge,...t};return await L(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 Q(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function $e(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Q(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}let et=null;function tt(){et=setInterval(()=>{window.dispatchEvent(new Event(`focus`))},500)}function nt(){et&&=(clearInterval(et),null)}function rt(e,t={}){let n={...Ke,...t};return new Promise((t,r)=>{try{tt(),n.onLoadingStart?.(),he({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{nt(),n.onPrintDialogClose?.(),t()}})}catch(e){nt(),r(e)}})}function it(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 at(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 ot(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function st(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>Qe(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=it(s,i,a);return r(60),at(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function ct(e,t,n,r,i){r(70),t.watermark&&Ze(e,t.watermark),r(90),await rt(Q(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function lt(){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=j(!1),n=j(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},i=async(e,t={})=>{try{r(0),r(30);let n=await Qe(e,t.capture);r(60),t.watermark&&Ze(n,t.watermark),r(90);let i=Q(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 D();let t=await i(n,a);r(95),await rt(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 D();let t=await Qe(n,i.capture);i.watermark&&Ze(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;$e(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 rt(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=ot(n,a,e);if(o){t.value=!0;try{await ct(await st(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:Qe,drawWatermark:Ze,canvasToDataURL:Q,downloadCanvas:$e,printImage:rt}}}const ut={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 dt(){return`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function ft(e,t){return typeof t==`function`?t(e):e[t]}function pt(e,t){let n=e?.()||{},r=typeof t==`string`?t:`id`;return{...n,[r]:dt()}}function mt(t,n={}){let r=me(),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=j(null),o=j(!1),s=m(()=>a.value===null?null:t.value.find(e=>ft(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}=lt(),_=()=>{if(i.printOptions)return i.printOptions;let e=ut[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=pt(i.defaultRowData,i.rowKey);v([...t.value,e]),i.onRowAdd?.(e),r.success(`添加行成功`)},b=()=>{if(!i.enableInsert||!s.value){r.warning(`请先选择一行数据`);return}let e=pt(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:S()},S=()=>{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]:dt()};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=>ft(t,i.rowKey)===e);n&&(a.value=e,i.onSelectionChange?.(e,n))},O=()=>{a.value=null,i.onSelectionChange?.(null,null)},ee=async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=_();await p(e.value,t)};return k(()=>{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:S,copyRow:w,moveRowUp:T,moveRowDown:E,selectRow:D,clearSelection:O,handlePrint:ee,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=ft(e,i.rowKey);return C(`div`,{class:`flex justify-center`},[C(`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(C(R,{loading:d.value,type:`primary`,ghost:!0,onClick:async()=>{try{let e=document.querySelector(i.printTargetSelector);e?await ee(j(e)):console.warn(`未找到表格容器元素`)}catch(e){console.error(`打印失败:`,e)}}},{icon:()=>C(e,{name:`mdi:printer`,title:`打印`}),default:()=>`打印`}));let n=[];return i.enableAdd&&n.push(C(R,{onClick:y,type:`primary`},{icon:()=>C(e,{name:`mdi:plus`,title:`增行`}),default:()=>`增行`})),i.enableInsert&&n.push(C(W,{disabled:!!s.value},{trigger:()=>C(R,{onClick:b,disabled:!s.value,type:`primary`,ghost:!0},{icon:()=>C(e,{name:`mdi:table-row-plus-after`,title:`插行`}),default:()=>`插行`}),default:()=>`请先选择一行数据`})),i.enableDelete&&n.push(C(W,{disabled:!!s.value},{trigger:()=>C(R,{onClick:x,disabled:!s.value,type:`error`,ghost:!0},{icon:()=>C(e,{name:`mdi:delete`,title:`删除行`}),default:()=>`删除行`}),default:()=>`请先选择要删除的行`})),i.enableCopy&&n.push(C(W,{disabled:!!s.value},{trigger:()=>C(R,{onClick:w,disabled:!s.value,type:`info`,ghost:!0},{icon:()=>C(e,{name:`mdi:content-copy`,title:`复制行`}),default:()=>`复制行`}),default:()=>`请先选择要复制的行`})),i.enableMove&&n.push(C(W,{disabled:l.value},{trigger:()=>C(R,{onClick:T,disabled:!l.value,type:`warning`,ghost:!0},{icon:()=>C(e,{name:`mdi:arrow-up`,title:`上移`}),default:()=>`上移`}),default:()=>s.value?`已经是第一行`:`请先选择数据`}),C(W,{disabled:u.value},{trigger:()=>C(R,{onClick:E,disabled:!u.value,type:`warning`,ghost:!0},{icon:()=>C(e,{name:`mdi:arrow-down`,title:`下移`}),default:()=>`下移`}),default:()=>s.value?`已经是最后一行`:`请先选择数据`})),n.length>0&&t.push(C(z,{},()=>n)),C(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[C(V,{},()=>t)])},renderConfirmModal:()=>C(ue,{show:o.value,"onUpdate:show":e=>{o.value=e},preset:`dialog`,title:`确认删除`,content:i.deleteConfirmText,positiveText:`确认删除`,negativeText:`取消`,onPositiveClick:S})}}function ht(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 D(),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:ke({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel,columns:e.columns}),cellEdit:X({data:n,rowKey:r,onSave:a.onSave,columns:e.columns}),modalEdit:Z({data:n,rowKey:r,onSave:a.onSave,onCancel:a.onCancel})}),s=()=>t.expandable||t.enableSelection||t.enableChildSelection?Ue({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 mt(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(j(e))},async download(e,t){d&&e&&await d.handleDownload(j(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 gt(e){let{data:t,config:n,emit:r}=e,i=j(1),a=j(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 _t(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)=>C(r,{size:`small`,type:i,quaternary:!0,onClick:a},()=>[C(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)})},S=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`,()=>S(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?C(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:()=>C(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 C(l,{size:2,wrap:!1},()=>w(r));let c=[...a?w(r):[],...T(e,t)],u=E(e,t);return u&&c.push(u),C(l,{size:2,wrap:!1},()=>c)},isActionEnabled:h}}const vt=Symbol(`C_TABLE_GLOBAL_CONFIG`),yt={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function bt(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function xt(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const St={date:(e,t)=>bt(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>bt(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=xt(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>xt(e,t.precision??0)};function Ct(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&St[n.type];return i?i(e,{...{...yt,...r}[n.type],...n.config}):String(e??`-`)}function wt(){return w(vt,{})}function Tt(e,t){let n={...e};if(t.display&&(n.display=e.display?{...t.display,...e.display}:t.display),t.pageSize&&e.pagination!==!1){let r=typeof e.pagination==`object`?e.pagination:{};r.pageSize||(n.pagination={...r,pageSize:t.pageSize})}return n}const Et={number:s,switch:u,input:o,email:o,mobile:o,date:e=>C(i,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>C(c,{...e,options:e.options||[]}),textarea:e=>C(o,{...e,type:`textarea`,rows:3})},Dt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Ot=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:Dt[e.editType||`input`]||`input`,placeholder:`请输入${e.title}`,rules:t,attrs:e.editProps||{},layout:{span:1},show:!0}});function kt(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 C(Et[e.editType||`input`]||Et.input,i)}function At(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Ct(r,t,e.formatter,i):String(r??``)}function jt(t,n,r,i,a){let o=(t,n,r)=>C(`button`,{class:`cell-action-btn cell-action-${t}`,title:n,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),r(e)}},[C(e,{name:`mdi:${t===`save`?`check`:`close`}`,title:t===`save`?`保存`:`取消`,size:12})]);return C(`div`,{class:`cell-editing-container`},[C(`div`,{class:`cell-editing-input`},[kt(t,n,r)]),C(`div`,{class:`cell-editing-actions`},[o(`save`,`保存`,i),o(`cancel`,`取消`,a)])])}function Mt(t,n,r,i,a,o){let s;return s=t.render?t.render(n,r)??String(i??``):t.formatter?Ct(i,n,t.formatter,o):String(i??``),C(`div`,{class:`cell-edit-wrapper`},[C(`span`,{class:`cell-value`},s),C(e,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function Nt(e){let{rawColumns:t,config:n,columnWidth:r,rowKey:i,tableManager:a,actionsRenderer:o,editModeChecker:s}=e,c=j([]),l=j(!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,r,i)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=a.editStates.cellEdit;return c(i,o)?jt(e,l(i,o)??s,e=>u(i,o,e),()=>d(),()=>f()):Mt(e,t,r,s,()=>p(i,o),n.value.formatterConfig)},f=(e,t,r)=>{let o=e.key??``,c=t[o],l=i(t),u=s.value;return u.isNonEditable(e)?At(e,t,r,c,n.value.formatterConfig):u.isRowEditMode()&&a.editStates.rowEdit.isEditingRow(l)?kt(e,a.editStates.rowEdit.getEditingRowData(l)?.[o]??c,e=>a.editStates.rowEdit.updateEditingRowData(l,o,e)):u.isCellEditMode()?d(e,t,r,l):At(e,t,r,c,n.value.formatterConfig)},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`}})}}}function Pt(e){let{data:t,config:n,onReorder:r,onSort:i}=e,a=j(!1),o=null,s=async e=>{if(!(!n.enabled||!e))try{let{default:s}=await import(`sortablejs`),c=e.querySelector(`.n-data-table-tbody`);if(!c)return;o=new s(c,{animation:n.animationDuration??150,handle:n.handleSelector,ghostClass:n.ghostClass??`row-drag-ghost`,chosenClass:n.chosenClass??`row-drag-chosen`,onStart:()=>{a.value=!0},onEnd:e=>{if(a.value=!1,e.oldIndex==null||e.newIndex==null||e.oldIndex===e.newIndex)return;let n=[...t.value],[o]=n.splice(e.oldIndex,1);n.splice(e.newIndex,0,o),r?.(n),i?.(o,e.oldIndex,e.newIndex)}})}catch{}},c=()=>{o&&=(o.destroy(),null)};return k(c),{initRowDrag:s,destroyRowDrag:c,isDragging:a}}function Ft(e){let{allData:t,rowKey:n,config:r}=e,i=j(new Set),a=m(()=>i.value.size);return P(t,e=>{let t=new Set(e.map(e=>n(e))),r=new Set([...i.value].filter(e=>t.has(e)));r.size!==i.value.size&&(i.value=r)}),{selectedKeys:i,selectedCount:a,getPageCheckedKeys:e=>e.map(e=>n(e)).filter(e=>i.value.has(e)),handlePageSelectionChange:(e,t)=>{let a=new Set(i.value);for(let e of t)a.delete(n(e));for(let t of e){if(r.maxSelection&&a.size>=r.maxSelection)break;a.add(t)}i.value=a},selectAll:()=>{let e=t.value.map(e=>n(e));i.value=new Set(r.maxSelection?e.slice(0,r.maxSelection):e)},clearAll:()=>{i.value=new Set},getSelectedRows:()=>t.value.filter(e=>i.value.has(n(e))),isSelected:e=>i.value.has(e)}}function It(e,t){return e.filter(e=>!e.key||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function Lt(e,t,n){let r=e[t.key];return t.formatter?Ct(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function Rt(e,t){return e.includes(t)||e.includes(`"`)||e.includes(`
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as n}from"./C_Form2.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createSlots as l,createTextVNode as u,createVNode as d,defineComponent as f,h as p,inject as m,isRef as h,mergeProps as g,nextTick as _,normalizeClass as v,normalizeStyle as y,onBeforeUnmount as b,onMounted as x,openBlock as S,ref as C,renderList as ee,renderSlot as w,resolveDynamicComponent as T,toDisplayString as E,unref as D,watch as O,watchEffect as k,withCtx as A}from"vue";import{NButton as j,NDatePicker as M,NDropdown as te,NInput as N,NInputNumber as P,NSelect as ne,NSpace as F,NSwitch as I,useDialog as L,useMessage as R}from"naive-ui";import z from"html2canvas";import{NButton as B,NButtonGroup as V,NCheckbox as re,NDataTable as ie,NDrawer as ae,NDrawerContent as oe,NDropdown as se,NInput as ce,NModal as le,NPagination as ue,NSpace as H,NSpin as U,NSwitch as de,NTag as fe,NText as W,NTooltip as G,useMessage as pe}from"naive-ui/es";import me from"print-js";const he={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600},K=e=>e===!1||e===void 0?he: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},ge=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},_e=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`}},ve=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}}},ye=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},q={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function be(e){return e?{striped:e.striped??q.striped,bordered:e.bordered??q.bordered,singleLine:e.singleLine??q.singleLine,size:e.size??q.size,maxHeight:e.maxHeight,scrollX:e.scrollX,columnWidth:e.columnWidth??q.columnWidth}:{...q}}const J=e=>({showToolbar:e?.show!==!1,enableColumnSettings:e?.columnSettings!==!1}),Y=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},xe=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},Se=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:`drag-handle`,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass??`drag-handle`,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:`drag-handle`,columnDragAnimationDuration:150},Ce=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},X=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},we=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function Te(e={}){return{...K(e.edit),...ge(e.expand),..._e(e.selection),...ve(e.pagination),...ye(e.dynamicRows),...be(e.display),...J(e.toolbar),...Y(e.virtualScroll),...xe(e.summary),...Se(e.columnDrag),...Ce(e.tree),...X(e.rowDrag),...we(e.crossPageSelection),exportConfig:e.export,persistKey:e.persistKey,formatterConfig:e.formatterConfig,error:e.error,batchActions:e.batchActions}}const Ee=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});async function De(e,t,n){let r=typeof e.message==`function`?e.message():e.message;if(e.required&&(t==null||t===``))return r||`${n}不能为空`;if(e.validator)try{await e.validator(e,t,()=>{},{},{})}catch(e){return e?.message||`${n}校验失败`}return null}function Oe(e){let t=C(null),n=C({}),r=C([]),i=e=>t.value===e,a=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},o=e=>{let r=a(e);r&&(t.value=e,n.value[e]={...r})},s=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={}},c=async()=>{if(r.value=[],!t.value)return!0;let i=e.columns?.()||[],a=n.value[t.value];if(!a)return!0;let o=i.filter(e=>e.editable!==!1&&e.editProps?.rules?.length).map(e=>{let t=e.key;if(!t)return null;let n=e.title||t,r=a[t];return Promise.all(e.editProps.rules.map(e=>De(e,r,n))).then(e=>{let n=e.find(Boolean);return n?{field:t,message:n}:null})}).filter(Boolean),s=(await Promise.all(o)).filter(Boolean);return r.value=s,s.length===0};return{editingRowKey:t,isEditingRow:i,startEditRow:o,cancelEditRow:s,saveEditRow:async()=>{if(!t.value||!await c())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}},validateRow:c,validationErrors:r,getEditingRowData:e=>n.value[e],updateEditingRowData:(e,t,r)=>{n.value[e]&&(n.value[e][t]=r)},findRowData:a}}async function ke(e,t,n){let r=typeof e.message==`function`?e.message():e.message;if(e.required&&(t==null||t===``))return r||`${n}不能为空`;if(e.validator)try{await e.validator(e,t,()=>{},{},{})}catch(e){return e?.message||`${n}校验失败`}return null}function Z(e){let t=C({rowKey:null,columnKey:null}),n=C({}),r=C(null),i=(e,n)=>t.value.rowKey===e&&t.value.columnKey===n,a=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},o=(e,r)=>{let i=a(e);i&&(t.value={rowKey:e,columnKey:r},n.value[`${e}-${r}`]=i[r])},s=async()=>{r.value=null;let{rowKey:i,columnKey:a}=t.value;if(!i||!a)return!0;let o=(e.columns?.()||[]).find(e=>e.key===a);if(!o||!o.editProps?.rules)return!0;let s=`${i}-${a}`,c=n.value[s],l=o.title||a,u=(await Promise.all(o.editProps.rules.map(e=>ke(e,c,l)))).find(Boolean);return u?(r.value=u,!1):!0};return{editingCell:t,isEditingCell:i,startEditCell:o,saveEditCell:async()=>{let{rowKey:r,columnKey:i}=t.value;if(!r||!i||!await s())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 c=`${r}-${i}`,l=n.value[c],u={...a[o],[i]:l};return await e.onSave?.(u,o,i),t.value={rowKey:null,columnKey:null},delete n.value[c],{updatedData:u,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}},validateCell:s,cellValidationError:r,getEditingCellValue:(e,t)=>n.value[`${e}-${t}`],updateEditingCellValue:(e,t,r)=>{n.value[`${e}-${t}`]=r},findRowData:a}}function Q(e){let t=C(!1),n=C(null),r=C({}),a=i(()=>{if(!n.value)return-1;let t=e.data();return!t||!Array.isArray(t)?-1:t.findIndex(t=>e.rowKey(t)===n.value)}),o=()=>{n.value=null,r.value={}};return{isModalVisible:t,editingData:r,editingRowKey:n,editingRowIndex:a,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 i=>{let s=i||r.value,c=a.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,o(),console.log(`✅ 保存成功`)}catch(e){throw console.error(`❌ 保存失败:`,e),e}},cancelEdit:async()=>{console.log(`🚫 取消编辑`);try{let t=a.value;if(n.value&&t>-1){let n=e.data();n&&n[t]&&await e.onCancel?.(n[t],t)}}finally{t.value=!1,o()}},updateEditingData:e=>{r.value={...e}},resetEditingState:o,isEditingRow:e=>n.value===e&&t.value,getEditingRowData:e=>n.value===e?r.value:null}}const Ae=e=>({expandedKeys:C([...e.defaultExpandedKeys||[]]),expandDataMap:C(new Map),loadingMap:C(new Map),checkedKeys:e.enableSelection?C([...e.defaultCheckedKeys||[]]):C([]),childSelections:(e.enableChildSelection,C(new Map))}),je=e=>{let t=i(()=>D(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)}},Me=(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)}}},Ne=(e,t,n)=>{let r=i(()=>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:i(()=>e.checkedKeys.value.length),selectableRows:r}},Pe=(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}},Fe=(e,t,n,r)=>({totalChildSelections:i(()=>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)}}),Ie=(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,[])}}},Le=()=>p(`div`,{class:`flex justify-center items-center py-8`},[p(U,{size:`small`}),p(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),Re=()=>p(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),ze=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}}))]},Be=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0}),o.push(...ze(t)),p(`div`,{class:`p-4 bg-gray-50`},[p(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),p(ie,{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})])},Ve=(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)&&_(()=>{r.loadData(a)});let l=Ie(o,e,t,n,i);return i.renderContent?i.renderContent(a,s,c,l):c?Le():s.length?Be(o,s,l,t,n,i):Re()};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 He(e){let t=Ae(e),n=je(e),r=Me(t,n,e),i=Ne(t,n,e),a=Fe(t,n,Pe(t,e),e),o=Ve(t,n,a,r,e);return e.onSelectionChange&&e.enableSelection&&k(()=>{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&&_(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 Ue={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},We={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},Ge={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 Ke(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 qe(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 Je(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 Ye(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 Xe(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...Ue,...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:Ke,corner:qe,diagonal:Je,repeat:Ye};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function Ze(e,t={}){let n={...We,...t};return await z(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 Qe(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function $e(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Qe(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}let et=null;function tt(){et=setInterval(()=>{window.dispatchEvent(new Event(`focus`))},500)}function nt(){et&&=(clearInterval(et),null)}function rt(e,t={}){let n={...Ge,...t};return new Promise((t,r)=>{try{tt(),n.onLoadingStart?.(),me({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{nt(),n.onPrintDialogClose?.(),t()}})}catch(e){nt(),r(e)}})}function it(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 at(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 ot(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function st(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>Ze(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=it(s,i,a);return r(60),at(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function ct(e,t,n,r,i){r(70),t.watermark&&Xe(e,t.watermark),r(90),await rt(Qe(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function lt(){let e;try{e=R()}catch{e={success:e=>console.log(`[PrintWatermark]`,e),error:e=>console.error(`[PrintWatermark]`,e),warning:e=>console.warn(`[PrintWatermark]`,e)}}let t=C(!1),n=C(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},i=async(e,t={})=>{try{r(0),r(30);let n=await Ze(e,t.capture);r(60),t.watermark&&Xe(n,t.watermark),r(90);let i=Qe(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 _();let t=await i(n,a);r(95),await rt(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 _();let t=await Ze(n,i.capture);i.watermark&&Xe(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;$e(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 rt(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=ot(n,a,e);if(o){t.value=!0;try{await ct(await st(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:Ze,drawWatermark:Xe,canvasToDataURL:Qe,downloadCanvas:$e,printImage:rt}}}const ut={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 dt(){return`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function ft(e,t){return typeof t==`function`?t(e):e[t]}function pt(e,t){let n=e?.()||{},r=typeof t==`string`?t:`id`;return{...n,[r]:dt()}}function mt(t,n={}){let r=pe(),a={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},o=C(null),s=C(!1),c=i(()=>o.value===null?null:t.value.find(e=>ft(e,a.rowKey)===o.value)||null),l=i(()=>c.value?t.value.findIndex(e=>e===c.value):-1),u=i(()=>l.value>0),d=i(()=>l.value>=0&&l.value<t.value.length-1),{loading:f,progress:m,printWithWatermark:h,downloadScreenshot:g,quickPrint:_}=lt(),v=()=>{if(a.printOptions)return a.printOptions;let e=ut[a.printPreset||`table`];return a.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:a.printWatermarkText}}:e},y=e=>{t.value=e,a.onRowChange?.(e)},x=()=>{if(!a.enableAdd)return;let e=pt(a.defaultRowData,a.rowKey);y([...t.value,e]),a.onRowAdd?.(e),r.success(`添加行成功`)},S=()=>{if(!a.enableInsert||!c.value){r.warning(`请先选择一行数据`);return}let e=pt(a.defaultRowData,a.rowKey),n=[...t.value];n.splice(l.value+1,0,e),y(n),a.onRowAdd?.(e),r.success(`插入行成功`)},ee=()=>{if(!a.enableDelete||!c.value){r.warning(`请先选择要删除的行`);return}a.confirmDelete?s.value=!0:w()},w=()=>{if(!c.value)return;let e=c.value,n=l.value;y(t.value.filter((e,t)=>t!==n)),o.value=null,a.onSelectionChange?.(null,null),a.onRowDelete?.(e,n),r.success(`删除行成功`),s.value=!1},T=()=>{if(!a.enableCopy||!c.value){r.warning(`请先选择要复制的行`);return}let e=c.value,n=typeof a.rowKey==`string`?a.rowKey:`id`,{[n]:i,...o}=e,s={...o,[n]:dt()};y([...t.value,s]),a.onRowCopy?.(e,s),r.success(`复制行成功`)},E=()=>{if(!a.enableMove||!u.value)return;let e=l.value,n=[...t.value],i=n[e];[n[e],n[e-1]]=[n[e-1],n[e]],y(n),a.onRowMove?.(i,e,e-1),r.success(`行已上移`)},D=()=>{if(!a.enableMove||!d.value)return;let e=l.value,n=[...t.value],i=n[e];[n[e],n[e+1]]=[n[e+1],n[e]],y(n),a.onRowMove?.(i,e,e+1),r.success(`行已下移`)},O=e=>{let n=t.value.find(t=>ft(t,a.rowKey)===e);n&&(o.value=e,a.onSelectionChange?.(e,n))},k=()=>{o.value=null,a.onSelectionChange?.(null,null)},A=async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=v();await h(e.value,t)};return b(()=>{o.value=null,s.value=!1}),{selectedRowKey:o,selectedRowData:c,selectedRowIndex:l,canMoveUp:u,canMoveDown:d,deleteConfirmVisible:s,printLoading:f,printProgress:m,addRow:x,insertRow:S,deleteRow:ee,confirmDelete:w,copyRow:T,moveRowUp:E,moveRowDown:D,selectRow:O,clearSelection:k,handlePrint:A,handleDownload:async(e,t)=>{if(!e.value){r.error(`下载元素未找到`);return}let n=v();await g(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){r.error(`打印元素未找到`);return}let t=a.printWatermarkText||`Robot Admin`;await _(e.value,t)},enhanceColumns:e=>{let t=[...e];return a.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:`选择`,width:80,align:`center`,editable:!1,render:e=>{let t=ft(e,a.rowKey);return p(`div`,{class:`flex justify-center`},[p(`input`,{type:`radio`,name:`table-radio-selection`,checked:o.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&O(t)}})])}}),t},renderToolbar:()=>{let t=[];a.enablePrint&&t.push(p(B,{loading:f.value,type:`primary`,ghost:!0,onClick:async()=>{try{let e=document.querySelector(a.printTargetSelector);e?await A(C(e)):console.warn(`未找到表格容器元素`)}catch(e){console.error(`打印失败:`,e)}}},{icon:()=>p(e,{name:`mdi:printer`,title:`打印`}),default:()=>`打印`}));let n=[];return a.enableAdd&&n.push(p(B,{onClick:x,type:`primary`},{icon:()=>p(e,{name:`mdi:plus`,title:`增行`}),default:()=>`增行`})),a.enableInsert&&n.push(p(G,{disabled:!!c.value},{trigger:()=>p(B,{onClick:S,disabled:!c.value,type:`primary`,ghost:!0},{icon:()=>p(e,{name:`mdi:table-row-plus-after`,title:`插行`}),default:()=>`插行`}),default:()=>`请先选择一行数据`})),a.enableDelete&&n.push(p(G,{disabled:!!c.value},{trigger:()=>p(B,{onClick:ee,disabled:!c.value,type:`error`,ghost:!0},{icon:()=>p(e,{name:`mdi:delete`,title:`删除行`}),default:()=>`删除行`}),default:()=>`请先选择要删除的行`})),a.enableCopy&&n.push(p(G,{disabled:!!c.value},{trigger:()=>p(B,{onClick:T,disabled:!c.value,type:`info`,ghost:!0},{icon:()=>p(e,{name:`mdi:content-copy`,title:`复制行`}),default:()=>`复制行`}),default:()=>`请先选择要复制的行`})),a.enableMove&&n.push(p(G,{disabled:u.value},{trigger:()=>p(B,{onClick:E,disabled:!u.value,type:`warning`,ghost:!0},{icon:()=>p(e,{name:`mdi:arrow-up`,title:`上移`}),default:()=>`上移`}),default:()=>c.value?`已经是第一行`:`请先选择数据`}),p(G,{disabled:d.value},{trigger:()=>p(B,{onClick:D,disabled:!d.value,type:`warning`,ghost:!0},{icon:()=>p(e,{name:`mdi:arrow-down`,title:`下移`}),default:()=>`下移`}),default:()=>c.value?`已经是最后一行`:`请先选择数据`})),n.length>0&&t.push(p(V,{},()=>n)),p(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[p(H,{},()=>t)])},renderConfirmModal:()=>p(le,{show:s.value,"onUpdate:show":e=>{s.value=e},preset:`dialog`,title:`确认删除`,content:a.deleteConfirmText,positiveText:`确认删除`,negativeText:`取消`,onPositiveClick:w})}}function ht(e){let{config:t,data:n,rowKey:r,emit:a}=e,o={onSave:async(e,t,r)=>{if(!e||t<0||t>=n().length)return;let i=[...n()];i[t]={...i[t],...e},a(`update:data`,i),await _(),a(`save`,i[t],t,r)},onCancel:(e,t)=>{a(`cancel`,e,t)},onExpandChange:(e,t,n)=>{a(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{a(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{a(`child-selection-change`,e,t,n)},onRowChange:e=>{a(`update:data`,e),t.dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,n)=>{a(`row-selection-change`,e,n),t.dynamicRows?.onSelectionChange?.(e,n)},onRowAdd:e=>{a(`row-add`,e),t.dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,n)=>{a(`row-delete`,e,n),t.dynamicRows?.onRowDelete?.(e,n)},onRowCopy:(e,n)=>{a(`row-copy`,e,n),t.dynamicRows?.onRowCopy?.(e,n)},onRowMove:(e,n,r)=>{a(`row-move`,e,n,r),t.dynamicRows?.onRowMove?.(e,n,r)}},s=()=>({rowEdit:Oe({data:n,rowKey:r,onSave:o.onSave,onCancel:o.onCancel,columns:e.columns}),cellEdit:Z({data:n,rowKey:r,onSave:o.onSave,columns:e.columns}),modalEdit:Q({data:n,rowKey:r,onSave:o.onSave,onCancel:o.onCancel})}),c=()=>t.expandable||t.enableSelection||t.enableChildSelection?He({data:i(()=>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:o.onExpandChange,onSelectionChange:o.onSelectionChange,onChildSelectionChange:o.onChildSelectionChange}):null,l=()=>{if(!t.dynamicRows)return null;let e={...t.dynamicRows,onRowChange:o.onRowChange,onSelectionChange:o.onRowSelectionChange,onRowAdd:o.onRowAdd,onRowDelete:o.onRowDelete,onRowCopy:o.onRowCopy,onRowMove:o.onRowMove};return mt(i(()=>n()),e)},u=s(),d=c(),f=l();return{editStates:u,expandState:d,dynamicRowsState:f,stateManager:{edit:{start(e,n){let r=t.editMode;r===`modal`?u.modalEdit.startEdit(e):r===`cell`&&n?u.cellEdit.startEditCell(e,n):(r===`row`||r===`both`)&&u.rowEdit.startEditRow(e)},cancel(){u.modalEdit.isModalVisible.value?u.modalEdit.cancelEdit():u.cellEdit.editingCell.value.rowKey?u.cellEdit.cancelEditCell():u.rowEdit.editingRowKey.value&&u.rowEdit.cancelEditRow()},async save(){u.modalEdit.isModalVisible.value?await u.modalEdit.saveEdit():u.cellEdit.editingCell.value.rowKey?await u.cellEdit.saveEditCell():u.rowEdit.editingRowKey.value&&await u.rowEdit.saveEditRow()},isEditing(e,n){return t.editMode===`modal`?u.modalEdit.isEditingRow(e):n?u.cellEdit.isEditingCell(e,n):u.rowEdit.isEditingRow(e)},getEditingData(){return u.modalEdit.isModalVisible.value?u.modalEdit.editingData:u.rowEdit.editingRowKey.value?u.rowEdit.getEditingRowData(u.rowEdit.editingRowKey.value):null}},expand:{async row(e){if(d){let t=[...d.expandedKeys.value];t.includes(e)||(t.push(e),d.handleExpandChange(t))}},collapse(e){if(d){let t=d.expandedKeys.value.filter(t=>t!==e);d.handleExpandChange(t)}},async toggle(e){d?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await d?.expandAll()},collapseAll(){d?.collapseAll()},isExpanded(e){return d?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(d?.checkedKeys.value&&!d.checkedKeys.value.includes(e)){let t=[...d.checkedKeys.value,e];d.handleSelectionChange(t)}},unselect(e){if(d?.checkedKeys.value){let t=d.checkedKeys.value.filter(t=>t!==e);d.handleSelectionChange(t)}},all(){d?.selectAll()},clear(){d?.clearSelection()},isSelected(e){return d?.checkedKeys.value.includes(e)??!1},getSelected(){return d?.checkedKeys.value?n().filter(e=>d.checkedKeys.value.includes(r(e))):[]}},childSelection:{select(e,t){if(d?.childSelections.value){let n=d.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];d.childSelections.value.set(e,r),a(`child-selection-change`,e,r,[])}}},unselect(e,t){if(d?.childSelections.value){let n=(d.childSelections.value.get(e)||[]).filter(e=>e!==t);d.childSelections.value.set(e,n),a(`child-selection-change`,e,n,[])}},selectAll(e){if(d?.childSelections.value&&d.expandDataMap?.value){let t=d.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);d.childSelections.value.set(e,n),a(`child-selection-change`,e,n,t)}},clear(e){d?.childSelections.value&&(d.childSelections.value.set(e,[]),a(`child-selection-change`,e,[],[]))},getSelected(e){if(!d?.childSelections.value||!d.expandDataMap?.value)return[];let t=d.childSelections.value.get(e)||[];return(d.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){f?.addRow()},insert(){f?.insertRow()},delete(){f?.deleteRow()},copy(){f?.copyRow()},moveUp(){f?.moveRowUp()},moveDown(){f?.moveRowDown()},clearSelection(){f?.clearSelection()},getSelected(){return f?.selectedRowData.value||null},async print(e){f&&e&&await f.handlePrint(C(e))},async download(e,t){f&&e&&await f.handleDownload(C(e),t)}},clearAllSelections(){d?.clearAllSelections()}},expandedKeys:i(()=>d?.expandedKeys.value??[]),checkedKeys:i(()=>d?.checkedKeys.value??[]),eventHandlers:o}}const $={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function gt(e){let{data:t,config:n,emit:r}=e,a=C(1),o=C(10),s=i(()=>typeof t==`function`?t()||[]:D(t)||[]),c=i(()=>{if(!n.value?.enabled)return s.value;let e=(a.value-1)*o.value,t=e+o.value;return s.value.slice(e,t)}),l=i(()=>n.value?.enabled?{page:a.value,pageSize:o.value,itemCount:s.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":u,"onUpdate:pageSize":d}:null),u=e=>{a.value=e,r?.(`pagination-change`,e,o.value)},d=e=>{o.value=e,a.value=1,r?.(`pagination-change`,1,e)};return k(()=>{n.value?.enabled&&(a.value=n.value.page??$.page,o.value=n.value.pageSize??$.pageSize)}),O(()=>s.value.length,e=>{if(n.value?.enabled&&a.value>1){let t=Math.ceil(e/o.value);a.value>t&&(a.value=Math.max(1,t))}}),{currentPage:a,currentPageSize:o,paginatedData:c,paginationConfig:l,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:()=>{a.value!==1&&u(1)},getTotalPages:()=>!n.value?.enabled||o.value===0?1:Math.ceil(s.value.length/o.value)}}function _t(t){let{actions:n,config:r,tableManager:i,rowKey:a,emit:o,onViewDetail:s}=t,c=R(),l=L(),u=e=>n.value?.[e]!==!1,d=e=>e!==!1&&typeof e==`function`,f=e=>e&&typeof e==`object`&&`data`in e?e.data:e,m=(t,n,r=`primary`,i)=>p(j,{size:`small`,type:r,quaternary:!0,onClick:i},()=>[p(e,{name:t,size:14,title:n})]),h=(e,t)=>{let o=a(e),s=n.value?.edit;r.value.editMode===`modal`?i.editStates.modalEdit.startEdit(o,{...e},s):i.editStates.rowEdit.startEditRow(o,s)},g=async(e,t,n)=>{try{await e(t,n),c.success(`删除成功`),o(`row-delete`,t,n)}catch(e){throw console.error(`删除失败:`,e),c.error(`删除失败`),e}},_=(e,t)=>{let r=n.value?.delete;d(r)&&l.warning({title:`确认删除`,content:`确定要删除这条记录吗?`,positiveText:`确定`,negativeText:`取消`,onPositiveClick:()=>g(r,e,t)})},v=async(e,t)=>{let r=n.value?.detail;if(!d(r)){s?.(e);return}try{let n=f(await r(e,t));s?.(n||e)}catch(t){console.error(`获取详情失败:`,t),c.error(`获取详情失败`),s?.(e)}},y=e=>i.editStates.rowEdit.isEditingRow(e)?[m(`mdi:check`,`保存`,`primary`,()=>i.editStates.rowEdit.saveEditRow()),m(`mdi:close`,`取消`,`default`,()=>i.editStates.rowEdit.cancelEditRow())]:[m(`mdi:pencil`,`编辑`,`warning`,()=>i.editStates.rowEdit.startEditRow(e))],b=(e,t)=>{let n=[];return u(`detail`)&&n.push(m(`mdi:eye`,`详情`,`info`,()=>v(e,t))),r.value.editMode===`modal`&&(u(`edit`)||r.value.editable)&&n.push(m(`mdi:pencil`,`编辑`,`warning`,()=>h(e,t))),u(`delete`)&&n.push(m(`mdi:delete`,`删除`,`error`,()=>_(e,t))),n},x=(t,r)=>{let i=n.value?.custom;if(!i?.length)return null;let a=i.filter(e=>e.show?e.show(t,r):!0);return a.length?p(te,{options:a.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:()=>p(e,{name:a,size:14}),disabled:n.disabled?.(t,r)||!1}}),onSelect:e=>{let n=a.find(t=>t.key===e);if(n)try{n.onClick(t,r)}catch(e){console.error(`操作"${n.label}"执行失败:`,e),c.error(`${n.label}失败`)}}},()=>m(`mdi:dots-horizontal`,`更多操作`,`default`,()=>{})):null};return{renderActions:(e,t)=>{if(n.value?.render)return n.value.render(e,t);let o=a(e),s=[`row`,`both`].includes(r.value.editMode);if(s&&i.editStates.rowEdit.isEditingRow(o))return p(F,{size:2,wrap:!1},()=>y(o));let c=[...s?y(o):[],...b(e,t)],l=x(e,t);return l&&c.push(l),p(F,{size:2,wrap:!1},()=>c)},isActionEnabled:u}}const vt=Symbol(`C_TABLE_GLOBAL_CONFIG`),yt={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function bt(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function xt(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const St={date:(e,t)=>bt(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>bt(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=xt(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>xt(e,t.precision??0)};function Ct(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&St[n.type];return i?i(e,{...{...yt,...r}[n.type],...n.config}):String(e??`-`)}function wt(){return m(vt,{})}function Tt(e,t){let n={...e};if(t.display&&(n.display=e.display?{...t.display,...e.display}:t.display),t.pageSize&&e.pagination!==!1){let r=typeof e.pagination==`object`?e.pagination:{};r.pageSize||(n.pagination={...r,pageSize:t.pageSize})}return n}const Et={number:P,switch:I,input:N,email:N,mobile:N,date:e=>p(M,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>p(ne,{...e,options:e.options||[]}),textarea:e=>p(N,{...e,type:`textarea`,rows:3})},Dt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Ot=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:Dt[e.editType||`input`]||`input`,placeholder:`请输入${e.title}`,rules:t,attrs:e.editProps||{},layout:{span:1},show:!0}});function kt(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 p(Et[e.editType||`input`]||Et.input,i)}function At(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Ct(r,t,e.formatter,i):String(r??``)}function jt(t,n,r,i,a){let o=(t,n,r)=>p(`button`,{class:`cell-action-btn cell-action-${t}`,title:n,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),r(e)}},[p(e,{name:`mdi:${t===`save`?`check`:`close`}`,title:t===`save`?`保存`:`取消`,size:12})]);return p(`div`,{class:`cell-editing-container`},[p(`div`,{class:`cell-editing-input`},[kt(t,n,r)]),p(`div`,{class:`cell-editing-actions`},[o(`save`,`保存`,i),o(`cancel`,`取消`,a)])])}function Mt(t,n,r,i,a,o){let s;return s=t.render?t.render(n,r)??String(i??``):t.formatter?Ct(i,n,t.formatter,o):String(i??``),p(`div`,{class:`cell-edit-wrapper`},[p(`span`,{class:`cell-value`},s),p(e,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function Nt(e){let{rawColumns:t,config:n,columnWidth:r,rowKey:a,tableManager:o,actionsRenderer:s,editModeChecker:c}=e,l=C([]),u=C(!1),d=e=>{let t=l.value.find(e=>e.key===`_actions`);l.value=[...e,t||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]};O(t,e=>{e?.length&&d(e)},{deep:!0,immediate:!0});let f=(e,t,r,i)=>{let a=e.key??``,s=t[a],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=o.editStates.cellEdit;return c(i,a)?jt(e,l(i,a)??s,e=>u(i,a,e),()=>d(),()=>f()):Mt(e,t,r,s,()=>p(i,a),n.value.formatterConfig)},p=(e,t,r)=>{let i=e.key??``,s=t[i],l=a(t),u=c.value;return u.isNonEditable(e)?At(e,t,r,s,n.value.formatterConfig):u.isRowEditMode()&&o.editStates.rowEdit.isEditingRow(l)?kt(e,o.editStates.rowEdit.getEditingRowData(l)?.[i]??s,e=>o.editStates.rowEdit.updateEditingRowData(l,i,e)):u.isCellEditMode()?f(e,t,r,l):At(e,t,r,s,n.value.formatterConfig)},m=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:m(e),titleAlign:t.titleAlign||`center`,align:t.align||`center`,render:e.render||((t,n)=>p(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:l,showSettingsPanel:u,computedColumns:i(()=>{let e=l.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>e.type===`index`?h(e):g(e));o.dynamicRowsState&&(e=o.dynamicRowsState.enhanceColumns(e)),o.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=o.expandState.getTableColumns(e));let t=l.value.find(e=>e.key===`_actions`);return e.push({key:`_actions`,title:`操作`,align:`center`,titleAlign:`center`,render:s,fixed:t?.fixed}),e}),computedScrollX:i(()=>{if(e.scrollX!==void 0)return e.scrollX;if(l.value.some(e=>{let t=e;return t.fixed&&t.visible!==!1}))return l.value.filter(e=>e.visible!==!1).reduce((e,t)=>e+m(t),0)+200}),handleColumnChange:e=>{l.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`}})}}}function Pt(e){let{data:t,config:n,onReorder:r,onSort:i}=e,a=C(!1),o=null,s=async e=>{if(!(!n.enabled||!e))try{let{default:s}=await import(`sortablejs`),c=e.querySelector(`.n-data-table-tbody`);if(!c)return;o=new s(c,{animation:n.animationDuration??150,handle:n.handleSelector,ghostClass:n.ghostClass??`row-drag-ghost`,chosenClass:n.chosenClass??`row-drag-chosen`,onStart:()=>{a.value=!0},onEnd:e=>{if(a.value=!1,e.oldIndex==null||e.newIndex==null||e.oldIndex===e.newIndex)return;let n=[...t.value],[o]=n.splice(e.oldIndex,1);n.splice(e.newIndex,0,o),r?.(n),i?.(o,e.oldIndex,e.newIndex)}})}catch{}},c=()=>{o&&=(o.destroy(),null)};return b(c),{initRowDrag:s,destroyRowDrag:c,isDragging:a}}function Ft(e){let{allData:t,rowKey:n,config:r}=e,a=C(new Set),o=i(()=>a.value.size);return O(t,e=>{let t=new Set(e.map(e=>n(e))),r=new Set([...a.value].filter(e=>t.has(e)));r.size!==a.value.size&&(a.value=r)}),{selectedKeys:a,selectedCount:o,getPageCheckedKeys:e=>e.map(e=>n(e)).filter(e=>a.value.has(e)),handlePageSelectionChange:(e,t)=>{let i=new Set(a.value);for(let e of t)i.delete(n(e));for(let t of e){if(r.maxSelection&&i.size>=r.maxSelection)break;i.add(t)}a.value=i},selectAll:()=>{let e=t.value.map(e=>n(e));a.value=new Set(r.maxSelection?e.slice(0,r.maxSelection):e)},clearAll:()=>{a.value=new Set},getSelectedRows:()=>t.value.filter(e=>a.value.has(n(e))),isSelected:e=>a.value.has(e)}}function It(e,t){return e.filter(e=>!e.key||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function Lt(e,t,n){let r=e[t.key];return t.formatter?Ct(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function Rt(e,t){return e.includes(t)||e.includes(`"`)||e.includes(`
|
|
2
2
|
`)?`"${e.replace(/"/g,`""`)}"`:e}function zt(e,t,n){let r=n.csvSeparator??`,`,i=It(t,n.columnKeys),a=[];n.includeHeader!==!1&&a.push(i.map(e=>Rt(e.title??``,r)).join(r));for(let t of e){let e=i.map(e=>Rt(Lt(t,e,n.formatterConfig),r));a.push(e.join(r))}Vt(new Blob([``+a.join(`
|
|
3
|
-
`)],{type:`text/csv;charset=utf-8;`}),`${n.filename||`export`}.csv`)}async function Bt(e,t,n){let r=It(t,n.columnKeys);try{let t=await import(`xlsx`),i=r.map(e=>e.title??e.key??``),a=e.map(e=>r.map(t=>Lt(e,t,n.formatterConfig))),o=n.includeHeader===!1?a:[i,...a],s=t.utils.aoa_to_sheet(o),c=t.utils.book_new();t.utils.book_append_sheet(c,s,`Sheet1`),t.writeFile(c,`${n.filename||`export`}.xlsx`)}catch{console.warn(`[C_Table] xlsx 库未安装,已自动降级为 CSV 导出`),zt(e,t,{...n,format:`csv`})}}function Vt(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}async function Ht(e,t,n={}){n.format===`xlsx`?await Bt(e,t,n):zt(e,t,n)}const Ut=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}],Wt=[`_actions`],Gt=[`selection`,`expand`],Kt=e=>Wt.includes(e.key)||Gt.includes(e.type),qt={class:`column-management-tab`},Jt={class:`search-row`},Yt={class:`resizable-control`},Xt={class:`top-actions-bar`},Zt={class:`stats-info`},Qt={class:`quick-actions`},$t=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],en={class:`column-info`},tn={class:`column-controls`},nn={class:`column-details`},rn={class:`column-actions`},an={class:`drag-controls`};var on=t(S({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(t,{emit:n}){let r=t,i=n,a=e=>{if(!r.persistKey)return[...e];try{let t=localStorage.getItem(`c_table_cols_${r.persistKey}`);if(!t)return[...e];let n=JSON.parse(t),i=new Map(n.map((e,t)=>[e.key,{...e,order:t}])),a=e.map(e=>{let t=i.get(e.key);return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:{...e}});return a.sort((e,t)=>(i.get(e.key)?.order??999)-(i.get(t.key)?.order??999)),a}catch{return[...e]}},o=e=>{if(r.persistKey)try{let t=e.map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}));localStorage.setItem(`c_table_cols_${r.persistKey}`,JSON.stringify(t))}catch{}},s=j(a(r.columns)),c=j(``),l=j(),u=j(null),d=j(null),f=j(!1);te(()=>{f.value=s.value.some(e=>e.resizable===!0),r.persistKey&&i(`change`,[...s.value])});let y=m(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>t.title?.toLowerCase().includes(e)||t.key?.toLowerCase().includes(e))}),S=m(()=>s.value.filter(e=>e.visible!==!1).length),C=m(()=>s.value.length),w=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),P()},T=()=>w(!0),E=()=>w(!1),D=e=>{let t=y.value[e];return s.value.findIndex(e=>e.key===t.key)},k=(e,t)=>{let n=D(e);n!==-1&&(t(s.value[n]),P())},re=(e,t)=>{k(e,e=>{e.visible=t})},ie=(e,t)=>{k(e,e=>{e.fixed=t===`none`?void 0:t})},P=()=>{o(s.value),i(`change`,[...s.value])},F=()=>{s.value=[...r.columns],P()},L=e=>{s.value.forEach(t=>{Kt(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),P()},z=(e,t)=>{let n=D(e),r=D(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),P()}},oe=(e,t)=>{if(y.value[e].key===`_actions`){t.preventDefault();return}u.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},se=(e,t)=>{t.preventDefault(),!(u.value===null||y.value[e].key===`_actions`)&&(d.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},ce=e=>{u.value===null||y.value[e].key===`_actions`||(z(u.value,e),u.value=null,d.value=null)},ue=()=>{u.value=null,d.value=null};return(t,n)=>(A(),_(`div`,qt,[g(` 搜索框和列宽调整开关 `),v(`div`,Jt,[x(N(B),{value:c.value,"onUpdate:value":n[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:I(()=>[x(e,{name:`mdi:magnify`})]),_:1},8,[`value`]),v(`div`,Yt,[x(e,{name:`mdi:arrow-split-vertical`,size:`14`,title:f.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),x(N(U),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:I(()=>n[2]||=[b(` 列宽调整 `,-1)]),_:1,__:[2]}),x(N(fe),{value:f.value,"onUpdate:value":[n[1]||=e=>f.value=e,L],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),g(` 顶部操作栏:统计信息和快捷操作按钮 `),v(`div`,Xt,[v(`div`,Zt,[x(N(U),{depth:`3`,style:{fontSize:`13px`}},{default:I(()=>[b(` 已选 `+M(S.value)+` / 总共 `+M(C.value)+` 列 `,1)]),_:1})]),v(`div`,Qt,[x(N(V),{size:6},{default:I(()=>[x(N(R),{size:`tiny`,onClick:T},{default:I(()=>n[3]||=[b(` 全选 `,-1)]),_:1,__:[3]}),x(N(R),{size:`tiny`,onClick:E},{default:I(()=>n[4]||=[b(` 全不选 `,-1)]),_:1,__:[4]}),x(N(R),{size:`tiny`,onClick:F},{default:I(()=>n[5]||=[b(` 重置 `,-1)]),_:1,__:[5]})]),_:1})])]),g(` 列列表 `),v(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[(A(!0),_(p,null,ne(y.value,(t,r)=>(A(),_(`div`,{key:t.key,class:O([`column-item`,{disabled:t.key===`_actions`,"fixed-left":t.fixed===`left`,"fixed-right":t.fixed===`right`}]),draggable:t.key!==`_actions`,onDragstart:e=>oe(r,e),onDragover:e=>se(r,e),onDragend:ue,onDrop:e=>ce(r)},[v(`div`,en,[v(`div`,tn,[x(e,{name:`mdi:drag`,size:`16`,class:O([`drag-handle`,{disabled:t.key===`_actions`}])},null,8,[`class`]),x(N(ae),{checked:t.visible!==!1,disabled:t.key===`_actions`,"onUpdate:checked":e=>re(r,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),v(`div`,nn,[x(N(V),{align:`center`,size:6},{default:I(()=>[x(N(U),{strong:``,style:{fontSize:`13px`}},{default:I(()=>[b(M(t.title||t.key),1)]),_:2},1024),t.fixed===`left`?(A(),h(N(pe),{key:0,size:`tiny`,type:`info`},{default:I(()=>n[6]||=[b(` 左固定 `,-1)]),_:1,__:[6]})):g(`v-if`,!0),t.fixed===`right`?(A(),h(N(pe),{key:1,size:`tiny`,type:`warning`},{default:I(()=>n[7]||=[b(` 右固定 `,-1)]),_:1,__:[7]})):g(`v-if`,!0)]),_:2},1024),x(N(U),{depth:`3`,style:{fontSize:`11px`}},{default:I(()=>[b(M(t.key),1)]),_:2},1024)])]),v(`div`,rn,[v(`div`,an,[x(e,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:r!==0,class:O({disabled:r===0}),onClick:e=>r!==0&&z(r,r-1)},null,8,[`clickable`,`class`,`onClick`]),x(e,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:r!==y.value.length-1,class:O({disabled:r===y.value.length-1}),onClick:e=>r!==y.value.length-1&&z(r,r+1)},null,8,[`clickable`,`class`,`onClick`])]),x(N(le),{options:N(Ut)(t),onSelect:e=>ie(r,e)},{default:I(()=>[x(e,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:ee({color:t.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,$t))),128))],512)]))}}),[[`__scopeId`,`data-v-d733b0fa`]]);const sn={key:1,class:`table-toolbar`},cn={class:`toolbar-left`},ln={class:`toolbar-right`},un={key:2,class:`batch-actions-bar`},dn={class:`batch-info`},fn={key:3,class:`table-error-state`},pn={class:`error-content`},mn={class:`error-message`};var hn=t(S({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=wt(),l=m(()=>{let e=a.config||{};if(a.crud){let t={};a.crud.actions&&(t.actions=a.crud.actions.value),a.crud.pagination&&(t.pagination=a.crud.pagination.value??void 0),e={...t,...e}}return Tt(e,c)}),u=m(()=>a.columns??a.crud?.columns.value??[]),d=m(()=>Ee(l.value)),f=m(()=>De(d.value)),S=e=>e&&typeof e==`object`&&`value`in e?e.value:e,C=m(()=>S(a.data)??a.crud?.data.value??[]),w=m(()=>S(a.loading)??a.crud?.loading.value??!1),D=gt({data:C,config:m(()=>d.value.pagination),emit:s}),O=ht({config:d.value,data:()=>C.value,rowKey:a.rowKey,emit:s,columns:()=>u.value}),ee=_t({actions:m(()=>l.value.actions||{}),config:d,tableManager:O,rowKey:a.rowKey,emit:s,onViewDetail:e=>s(`view-detail`,e)}),F=Nt({rawColumns:u,config:d,columnWidth:d.value.columnWidth,scrollX:d.value.scrollX,rowKey:a.rowKey,tableManager:O,actionsRenderer:ee.renderActions,editModeChecker:f}),{showSettingsPanel:L,reactiveColumns:z,computedColumns:ae,computedScrollX:le}=F,B=d.value.rowDrag?.enabled?Pt({data:C,rowKey:a.rowKey,config:d.value.rowDrag,onReorder:e=>s(`update:data`,e),onSort:(e,t,n)=>o(`row-move`,e,t,n)}):null,H=d.value.crossPageSelection?.enabled?Ft({allData:C,rowKey:a.rowKey,config:d.value.crossPageSelection}):null,fe=m(()=>H?H.selectedCount.value:O.checkedKeys?.value?.length??0),pe=async e=>{let t=H?[...H.selectedKeys.value]:O.checkedKeys?.value??[],n=H?H.getSelectedRows():C.value.filter(e=>t.includes(a.rowKey(e)));await e.onClick(t,n)},U=()=>{H?H.clearAll():O.stateManager.selection.clear()},W=m(()=>H?H.getPageCheckedKeys(C.value):null),me=e=>{H&&H.handlePageSelectionChange(e,C.value),O.expandState?.handleSelectionChange?.(e)},he=async()=>{let e=d.value.exportConfig??{};await Ht(C.value,u.value,{...e,formatterConfig:d.value.formatterConfig})},ge=m(()=>{let e=d.value;if(e.summaryRender)return t=>{let n=e.summaryRender(t);return ae.value.map(e=>{let t=n[e.key];return t?{value:t.value,colSpan:t.colSpan??1}:{value:``}})}}),G=j(),_e=null,ve=async()=>{if(!(!d.value.enableColumnDrag||!G.value))try{let{default:e}=await import(`sortablejs`),t=G.value.querySelector(`.n-data-table-thead tr`);if(!t)return;_e=new e(t,{animation:d.value.columnDragAnimationDuration,handle:`.${d.value.columnDragHandleClass}`,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...z.value],[n]=t.splice(e.oldIndex,1);t.splice(e.newIndex,0,n),F.handleColumnChange(t),o(`column-change`,t)}})}catch{}},ye=j(),be=m(()=>({striped:d.value.striped,bordered:d.value.bordered,singleLine:d.value.singleLine,size:d.value.size,maxHeight:d.value.maxHeight})),K=j(),xe=j(!1),q=j({}),J=m({get:()=>O.editStates.modalEdit.isModalVisible.value,set:e=>{O.editStates.modalEdit.isModalVisible.value=e}}),Se=m(()=>u.value.filter(e=>e.editable!==!1)),Ce=m(()=>`edit-form-${O.editStates.modalEdit.editingRowKey.value||`new`}`),we=m(()=>Ot(Se.value));P(()=>O.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(q.value=JSON.parse(JSON.stringify(e)))},{immediate:!0,deep:!0});let Y=null;P(J,e=>{e||(Y=setTimeout(()=>{q.value={},Y=null},300))});let Te=async()=>{if(K.value){xe.value=!0;try{await K.value.validate(),await O.editStates.modalEdit.saveEdit(q.value)}catch{}finally{xe.value=!1}}},Oe=()=>{q.value={},O.editStates.modalEdit.cancelEdit()},ke=e=>{F.handleColumnChange(e),o(`column-change`,F.reactiveColumns.value)},{edit:Ae,expand:X,selection:Z,dynamicRows:je}=O.stateManager,Me={startEdit:Ae.start,expandAll:X.all,collapseAll:X.collapseAll,selectAll:Z.all,clearSelection:Z.clear,clearAllSelections:O.stateManager.clearAllSelections,clearRowSelection:je?.clearSelection,resetToFirstPage:D.resetToFirstPage,getSelectedRows:Z.getSelected,getEditingData:Ae.getEditingData,isEditing:Ae.isEditing,isExpanded:X.isExpanded,getManager:()=>O.stateManager,exportData:he,crossPageSelection:H?{selectedKeys:H.selectedKeys,selectedCount:H.selectedCount,selectAll:H.selectAll,clearAll:H.clearAll,getSelectedRows:H.getSelectedRows}:void 0};return r(Me),te(()=>{let e=a.crud?.tableRef;e&&(e.value=Me),ve(),B&&G.value&&B.initRowDrag(G.value)}),k(()=>{Y&&clearTimeout(Y),_e&&_e.destroy(),B?.destroyRowDrag()}),(t,r)=>(A(),_(`div`,{ref_key:`tableWrapperRef`,ref:G,class:`c-table-wrapper`},[g(` 动态行工具栏 `),N(O).dynamicRowsState?(A(),h(ie(N(O).dynamicRowsState.renderToolbar()),{key:0})):g(`v-if`,!0),g(` 表格工具栏 `),d.value.showToolbar?(A(),_(`div`,sn,[v(`div`,cn,[re(t.$slots,`toolbar-left`,{},void 0,!0)]),v(`div`,ln,[re(t.$slots,`toolbar-right`,{},void 0,!0),d.value.exportConfig?(A(),h(e,{key:0,name:`mdi:download`,size:`18`,title:`导出`,clickable:``,class:`column-settings-btn`,onClick:r[0]||=e=>he()})):g(`v-if`,!0),d.value.enableColumnSettings?(A(),h(e,{key:1,name:`mdi:cog`,size:`18`,title:`表格设置`,clickable:``,class:`column-settings-btn`,onClick:r[1]||=e=>L.value=!0})):g(`v-if`,!0)])])):g(`v-if`,!0),g(` 批量操作栏 `),d.value.batchActions?.enabled&&fe.value>0?(A(),_(`div`,un,[v(`span`,dn,`已选择 `+M(fe.value)+` 项`,1),x(N(V),{size:8},{default:I(()=>[(A(!0),_(p,null,ne(d.value.batchActions.actions||[],t=>(A(),h(N(R),{key:t.key,type:t.type||`default`,size:`small`,onClick:e=>pe(t)},y({default:I(()=>[b(` `+M(t.label),1)]),_:2},[t.icon?{name:`icon`,fn:I(()=>[x(e,{name:t.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`onClick`]))),128)),x(N(R),{size:`small`,onClick:U},{default:I(()=>r[5]||=[b(`取消选择`,-1)]),_:1,__:[5]})]),_:1})])):g(`v-if`,!0),g(` 错误状态 `),d.value.error?.show?(A(),_(`div`,fn,[re(t.$slots,`error`,{error:d.value.error},()=>[v(`div`,pn,[x(e,{name:`mdi:alert-circle-outline`,size:`48`}),v(`p`,mn,M(d.value.error.message||`数据加载失败`),1),d.value.error.onRetry?(A(),h(N(R),{key:0,type:`primary`,size:`small`,onClick:d.value.error.onRetry},{default:I(()=>r[6]||=[b(` 重试 `,-1)]),_:1,__:[6]},8,[`onClick`])):g(`v-if`,!0)])],!0)])):g(`v-if`,!0),g(` 表格主体 `),d.value.error?.show?g(`v-if`,!0):(A(),h(N(oe),E({key:4,ref_key:`tableRef`,ref:ye},{...be.value,...t.$attrs},{columns:N(ae),data:C.value,loading:w.value,"row-key":t.rowKey,"expanded-row-keys":N(O).expandedKeys.value,"checked-row-keys":W.value??N(O).checkedKeys.value,"onUpdate:expandedRowKeys":N(O).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":me,"scroll-x":N(le),"virtual-scroll":d.value.virtualScroll,"virtual-scroll-item-size":d.value.virtualScroll?d.value.virtualItemHeight:void 0,"max-height":d.value.virtualScroll?d.value.virtualMaxHeight:d.value.maxHeight,summary:ge.value,"summary-placement":d.value.summaryPosition,"children-key":d.value.treeEnabled?d.value.treeChildrenKey:void 0,indent:d.value.treeEnabled?d.value.treeIndent:void 0,"default-expand-all":d.value.treeEnabled?d.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),null,16,[`columns`,`data`,`loading`,`row-key`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-item-size`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),g(` 分页 `),N(D).paginationConfig.value?(A(),h(N(de),E({key:5},N(D).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):g(`v-if`,!0),g(` 编辑弹窗 `),d.value.editMode===`modal`||d.value.editMode===`both`?(A(),h(N(ue),{key:6,show:J.value,"onUpdate:show":r[3]||=e=>J.value=e,title:d.value.modalTitle,width:d.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:I(()=>[x(N(V),{justify:`end`},{default:I(()=>[x(N(R),{onClick:Oe},{default:I(()=>r[7]||=[b(`取消`,-1)]),_:1,__:[7]}),x(N(R),{type:`primary`,loading:xe.value,onClick:Te},{default:I(()=>r[8]||=[b(` 保存 `,-1)]),_:1,__:[8]},8,[`loading`])]),_:1})]),default:I(()=>[J.value&&we.value.length?(A(),h(n,{ref_key:`editFormRef`,ref:K,key:Ce.value,modelValue:q.value,"onUpdate:modelValue":r[2]||=e=>q.value=e,options:we.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(O).dynamicRowsState?(A(),h(ie(N(O).dynamicRowsState.renderConfirmModal()),{key:7})):g(`v-if`,!0),g(` 列设置抽屉 `),x(N(se),{show:N(L),"onUpdate:show":r[4]||=e=>T(L)?L.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:I(()=>[x(N(ce),{title:`列设置`,closable:``},{default:I(()=>[x(on,{columns:N(z),"persist-key":d.value.persistKey,onChange:ke},null,8,[`columns`,`persist-key`])]),_:1})]),_:1},8,[`show`])],512))}}),[[`__scopeId`,`data-v-d2c076b0`]]);export{Z as _,Nt as a,De as b,Tt as c,gt as d,ht as f,Ue as g,lt as h,Pt as i,wt as l,ut as m,Ht as n,vt as o,mt as p,Ft as r,Ct as s,hn as t,_t as u,X as v,Ee as x,ke as y};
|
|
3
|
+
`)],{type:`text/csv;charset=utf-8;`}),`${n.filename||`export`}.csv`)}async function Bt(e,t,n){let r=It(t,n.columnKeys);try{let t=await import(`xlsx`),i=r.map(e=>e.title??e.key??``),a=e.map(e=>r.map(t=>Lt(e,t,n.formatterConfig))),o=n.includeHeader===!1?a:[i,...a],s=t.utils.aoa_to_sheet(o),c=t.utils.book_new();t.utils.book_append_sheet(c,s,`Sheet1`),t.writeFile(c,`${n.filename||`export`}.xlsx`)}catch{console.warn(`[C_Table] xlsx 库未安装,已自动降级为 CSV 导出`),zt(e,t,{...n,format:`csv`})}}function Vt(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}async function Ht(e,t,n={}){n.format===`xlsx`?await Bt(e,t,n):zt(e,t,n)}const Ut=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}],Wt=[`_actions`],Gt=[`selection`,`expand`],Kt=e=>Wt.includes(e.key)||Gt.includes(e.type),qt={class:`column-management-tab`},Jt={class:`search-row`},Yt={class:`resizable-control`},Xt={class:`top-actions-bar`},Zt={class:`stats-info`},Qt={class:`quick-actions`},$t=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],en={class:`column-info`},tn={class:`column-controls`},nn={class:`column-details`},rn={class:`column-actions`},an={class:`drag-controls`};var on=t(f({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(t,{emit:n}){let l=t,f=n,p=e=>{if(!l.persistKey)return[...e];try{let t=localStorage.getItem(`c_table_cols_${l.persistKey}`);if(!t)return[...e];let n=JSON.parse(t),r=new Map(n.map((e,t)=>[e.key,{...e,order:t}])),i=e.map(e=>{let t=r.get(e.key);return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:{...e}});return i.sort((e,t)=>(r.get(e.key)?.order??999)-(r.get(t.key)?.order??999)),i}catch{return[...e]}},m=e=>{if(l.persistKey)try{let t=e.map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}));localStorage.setItem(`c_table_cols_${l.persistKey}`,JSON.stringify(t))}catch{}},h=C(p(l.columns)),g=C(``),_=C(),b=C(null),w=C(null),T=C(!1);x(()=>{T.value=h.value.some(e=>e.resizable===!0),l.persistKey&&f(`change`,[...h.value])});let O=i(()=>{if(!g.value)return h.value;let e=g.value.toLowerCase();return h.value.filter(t=>t.title?.toLowerCase().includes(e)||t.key?.toLowerCase().includes(e))}),k=i(()=>h.value.filter(e=>e.visible!==!1).length),j=i(()=>h.value.length),M=e=>{h.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),L()},te=()=>M(!0),N=()=>M(!1),P=e=>{let t=O.value[e];return h.value.findIndex(e=>e.key===t.key)},ne=(e,t)=>{let n=P(e);n!==-1&&(t(h.value[n]),L())},F=(e,t)=>{ne(e,e=>{e.visible=t})},I=(e,t)=>{ne(e,e=>{e.fixed=t===`none`?void 0:t})},L=()=>{m(h.value),f(`change`,[...h.value])},R=()=>{h.value=[...l.columns],L()},z=e=>{h.value.forEach(t=>{Kt(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),L()},V=(e,t)=>{let n=P(e),r=P(t);if(n!==-1&&r!==-1){let[e]=h.value.splice(n,1);h.value.splice(r,0,e),L()}},ie=(e,t)=>{if(O.value[e].key===`_actions`){t.preventDefault();return}b.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},ae=(e,t)=>{t.preventDefault(),!(b.value===null||O.value[e].key===`_actions`)&&(w.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},oe=e=>{b.value===null||O.value[e].key===`_actions`||(V(b.value,e),b.value=null,w.value=null)},le=()=>{b.value=null,w.value=null};return(t,n)=>(S(),s(`div`,qt,[o(` 搜索框和列宽调整开关 `),c(`div`,Jt,[d(D(ce),{value:g.value,"onUpdate:value":n[0]||=e=>g.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:A(()=>[d(e,{name:`mdi:magnify`})]),_:1},8,[`value`]),c(`div`,Yt,[d(e,{name:`mdi:arrow-split-vertical`,size:`14`,title:T.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),d(D(W),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:A(()=>n[2]||=[u(` 列宽调整 `,-1)]),_:1,__:[2]}),d(D(de),{value:T.value,"onUpdate:value":[n[1]||=e=>T.value=e,z],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),o(` 顶部操作栏:统计信息和快捷操作按钮 `),c(`div`,Xt,[c(`div`,Zt,[d(D(W),{depth:`3`,style:{fontSize:`13px`}},{default:A(()=>[u(` 已选 `+E(k.value)+` / 总共 `+E(j.value)+` 列 `,1)]),_:1})]),c(`div`,Qt,[d(D(H),{size:6},{default:A(()=>[d(D(B),{size:`tiny`,onClick:te},{default:A(()=>n[3]||=[u(` 全选 `,-1)]),_:1,__:[3]}),d(D(B),{size:`tiny`,onClick:N},{default:A(()=>n[4]||=[u(` 全不选 `,-1)]),_:1,__:[4]}),d(D(B),{size:`tiny`,onClick:R},{default:A(()=>n[5]||=[u(` 重置 `,-1)]),_:1,__:[5]})]),_:1})])]),o(` 列列表 `),c(`div`,{ref_key:`listRef`,ref:_,class:`column-list`},[(S(!0),s(r,null,ee(O.value,(t,r)=>(S(),s(`div`,{key:t.key,class:v([`column-item`,{disabled:t.key===`_actions`,"fixed-left":t.fixed===`left`,"fixed-right":t.fixed===`right`}]),draggable:t.key!==`_actions`,onDragstart:e=>ie(r,e),onDragover:e=>ae(r,e),onDragend:le,onDrop:e=>oe(r)},[c(`div`,en,[c(`div`,tn,[d(e,{name:`mdi:drag`,size:`16`,class:v([`drag-handle`,{disabled:t.key===`_actions`}])},null,8,[`class`]),d(D(re),{checked:t.visible!==!1,disabled:t.key===`_actions`,"onUpdate:checked":e=>F(r,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),c(`div`,nn,[d(D(H),{align:`center`,size:6},{default:A(()=>[d(D(W),{strong:``,style:{fontSize:`13px`}},{default:A(()=>[u(E(t.title||t.key),1)]),_:2},1024),t.fixed===`left`?(S(),a(D(fe),{key:0,size:`tiny`,type:`info`},{default:A(()=>n[6]||=[u(` 左固定 `,-1)]),_:1,__:[6]})):o(`v-if`,!0),t.fixed===`right`?(S(),a(D(fe),{key:1,size:`tiny`,type:`warning`},{default:A(()=>n[7]||=[u(` 右固定 `,-1)]),_:1,__:[7]})):o(`v-if`,!0)]),_:2},1024),d(D(W),{depth:`3`,style:{fontSize:`11px`}},{default:A(()=>[u(E(t.key),1)]),_:2},1024)])]),c(`div`,rn,[c(`div`,an,[d(e,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:r!==0,class:v({disabled:r===0}),onClick:e=>r!==0&&V(r,r-1)},null,8,[`clickable`,`class`,`onClick`]),d(e,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:r!==O.value.length-1,class:v({disabled:r===O.value.length-1}),onClick:e=>r!==O.value.length-1&&V(r,r+1)},null,8,[`clickable`,`class`,`onClick`])]),d(D(se),{options:D(Ut)(t),onSelect:e=>I(r,e)},{default:A(()=>[d(e,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:y({color:t.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,$t))),128))],512)]))}}),[[`__scopeId`,`data-v-d733b0fa`]]);const sn={key:1,class:`table-toolbar`},cn={class:`toolbar-left`},ln={class:`toolbar-right`},un={key:2,class:`batch-actions-bar`},dn={class:`batch-info`},fn={key:3,class:`table-error-state`},pn={class:`error-content`},mn={class:`error-message`};var hn=t(f({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:f,emit:p}){let m=t,_=p,v=(e,...t)=>{_(e,...t),m.crud&&{save:m.crud.save,cancel:m.crud.handleCancel,"pagination-change":m.crud.handlePaginationChange,"row-delete":m.crud.handleRowDelete,"view-detail":m.crud.detail?.show}[e]?.(...t)},y=wt(),k=i(()=>{let e=m.config||{};if(m.crud){let t={};m.crud.actions&&(t.actions=m.crud.actions.value),m.crud.pagination&&(t.pagination=m.crud.pagination.value??void 0),e={...t,...e}}return Tt(e,y)}),j=i(()=>m.columns??m.crud?.columns.value??[]),M=i(()=>Te(k.value)),te=i(()=>Ee(M.value)),N=e=>e&&typeof e==`object`&&`value`in e?e.value:e,P=i(()=>N(m.data)??m.crud?.data.value??[]),ne=i(()=>N(m.loading)??m.crud?.loading.value??!1),F=gt({data:P,config:i(()=>M.value.pagination),emit:v}),I=ht({config:M.value,data:()=>P.value,rowKey:m.rowKey,emit:v,columns:()=>j.value}),L=_t({actions:i(()=>k.value.actions||{}),config:M,tableManager:I,rowKey:m.rowKey,emit:v,onViewDetail:e=>v(`view-detail`,e)}),R=Nt({rawColumns:j,config:M,columnWidth:M.value.columnWidth,scrollX:M.value.scrollX,rowKey:m.rowKey,tableManager:I,actionsRenderer:L.renderActions,editModeChecker:te}),{showSettingsPanel:z,reactiveColumns:V,computedColumns:re,computedScrollX:se}=R,ce=M.value.rowDrag?.enabled?Pt({data:P,rowKey:m.rowKey,config:M.value.rowDrag,onReorder:e=>v(`update:data`,e),onSort:(e,t,n)=>_(`row-move`,e,t,n)}):null,U=M.value.crossPageSelection?.enabled?Ft({allData:P,rowKey:m.rowKey,config:M.value.crossPageSelection}):null,de=i(()=>U?U.selectedCount.value:I.checkedKeys?.value?.length??0),fe=async e=>{let t=U?[...U.selectedKeys.value]:I.checkedKeys?.value??[],n=U?U.getSelectedRows():P.value.filter(e=>t.includes(m.rowKey(e)));await e.onClick(t,n)},W=()=>{U?U.clearAll():I.stateManager.selection.clear()},G=i(()=>U?U.getPageCheckedKeys(P.value):null),pe=e=>{U&&U.handlePageSelectionChange(e,P.value),I.expandState?.handleSelectionChange?.(e)},me=async()=>{let e=M.value.exportConfig??{};await Ht(P.value,j.value,{...e,formatterConfig:M.value.formatterConfig})},he=i(()=>{let e=M.value;if(e.summaryRender)return t=>{let n=e.summaryRender(t);return re.value.map(e=>{let t=n[e.key];return t?{value:t.value,colSpan:t.colSpan??1}:{value:``}})}}),K=C(),ge=null,_e=async()=>{if(!(!M.value.enableColumnDrag||!K.value))try{let{default:e}=await import(`sortablejs`),t=K.value.querySelector(`.n-data-table-thead tr`);if(!t)return;ge=new e(t,{animation:M.value.columnDragAnimationDuration,handle:`.${M.value.columnDragHandleClass}`,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...V.value],[n]=t.splice(e.oldIndex,1);t.splice(e.newIndex,0,n),R.handleColumnChange(t),_(`column-change`,t)}})}catch{}},ve=C(),ye=i(()=>({striped:M.value.striped,bordered:M.value.bordered,singleLine:M.value.singleLine,size:M.value.size,maxHeight:M.value.maxHeight})),q=C(),be=C(!1),J=C({}),Y=i({get:()=>I.editStates.modalEdit.isModalVisible.value,set:e=>{I.editStates.modalEdit.isModalVisible.value=e}}),xe=i(()=>j.value.filter(e=>e.editable!==!1)),Se=i(()=>`edit-form-${I.editStates.modalEdit.editingRowKey.value||`new`}`),Ce=i(()=>Ot(xe.value));O(()=>I.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(J.value=JSON.parse(JSON.stringify(e)))},{immediate:!0,deep:!0});let X=null;O(Y,e=>{e||(X=setTimeout(()=>{J.value={},X=null},300))});let we=async()=>{if(q.value){be.value=!0;try{await q.value.validate(),await I.editStates.modalEdit.saveEdit(J.value)}catch{}finally{be.value=!1}}},De=()=>{J.value={},I.editStates.modalEdit.cancelEdit()},Oe=e=>{R.handleColumnChange(e),_(`column-change`,R.reactiveColumns.value)},{edit:ke,expand:Z,selection:Q,dynamicRows:Ae}=I.stateManager,je={startEdit:ke.start,expandAll:Z.all,collapseAll:Z.collapseAll,selectAll:Q.all,clearSelection:Q.clear,clearAllSelections:I.stateManager.clearAllSelections,clearRowSelection:Ae?.clearSelection,resetToFirstPage:F.resetToFirstPage,getSelectedRows:Q.getSelected,getEditingData:ke.getEditingData,isEditing:ke.isEditing,isExpanded:Z.isExpanded,getManager:()=>I.stateManager,exportData:me,crossPageSelection:U?{selectedKeys:U.selectedKeys,selectedCount:U.selectedCount,selectAll:U.selectAll,clearAll:U.clearAll,getSelectedRows:U.getSelectedRows}:void 0};return f(je),x(()=>{let e=m.crud?.tableRef;e&&(e.value=je),_e(),ce&&K.value&&ce.initRowDrag(K.value)}),b(()=>{X&&clearTimeout(X),ge&&ge.destroy(),ce?.destroyRowDrag()}),(t,i)=>(S(),s(`div`,{ref_key:`tableWrapperRef`,ref:K,class:`c-table-wrapper`},[o(` 动态行工具栏 `),D(I).dynamicRowsState?(S(),a(T(D(I).dynamicRowsState.renderToolbar()),{key:0})):o(`v-if`,!0),o(` 表格工具栏 `),M.value.showToolbar?(S(),s(`div`,sn,[c(`div`,cn,[w(t.$slots,`toolbar-left`,{},void 0,!0)]),c(`div`,ln,[w(t.$slots,`toolbar-right`,{},void 0,!0),M.value.exportConfig?(S(),a(e,{key:0,name:`mdi:download`,size:`18`,title:`导出`,clickable:``,class:`column-settings-btn`,onClick:i[0]||=e=>me()})):o(`v-if`,!0),M.value.enableColumnSettings?(S(),a(e,{key:1,name:`mdi:cog`,size:`18`,title:`表格设置`,clickable:``,class:`column-settings-btn`,onClick:i[1]||=e=>z.value=!0})):o(`v-if`,!0)])])):o(`v-if`,!0),o(` 批量操作栏 `),M.value.batchActions?.enabled&&de.value>0?(S(),s(`div`,un,[c(`span`,dn,`已选择 `+E(de.value)+` 项`,1),d(D(H),{size:8},{default:A(()=>[(S(!0),s(r,null,ee(M.value.batchActions.actions||[],t=>(S(),a(D(B),{key:t.key,type:t.type||`default`,size:`small`,onClick:e=>fe(t)},l({default:A(()=>[u(` `+E(t.label),1)]),_:2},[t.icon?{name:`icon`,fn:A(()=>[d(e,{name:t.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`onClick`]))),128)),d(D(B),{size:`small`,onClick:W},{default:A(()=>i[5]||=[u(`取消选择`,-1)]),_:1,__:[5]})]),_:1})])):o(`v-if`,!0),o(` 错误状态 `),M.value.error?.show?(S(),s(`div`,fn,[w(t.$slots,`error`,{error:M.value.error},()=>[c(`div`,pn,[d(e,{name:`mdi:alert-circle-outline`,size:`48`}),c(`p`,mn,E(M.value.error.message||`数据加载失败`),1),M.value.error.onRetry?(S(),a(D(B),{key:0,type:`primary`,size:`small`,onClick:M.value.error.onRetry},{default:A(()=>i[6]||=[u(` 重试 `,-1)]),_:1,__:[6]},8,[`onClick`])):o(`v-if`,!0)])],!0)])):o(`v-if`,!0),o(` 表格主体 `),M.value.error?.show?o(`v-if`,!0):(S(),a(D(ie),g({key:4,ref_key:`tableRef`,ref:ve},{...ye.value,...t.$attrs},{columns:D(re),data:P.value,loading:ne.value,"row-key":t.rowKey,"expanded-row-keys":D(I).expandedKeys.value,"checked-row-keys":G.value??D(I).checkedKeys.value,"onUpdate:expandedRowKeys":D(I).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":pe,"scroll-x":D(se),"virtual-scroll":M.value.virtualScroll,"virtual-scroll-item-size":M.value.virtualScroll?M.value.virtualItemHeight:void 0,"max-height":M.value.virtualScroll?M.value.virtualMaxHeight:M.value.maxHeight,summary:he.value,"summary-placement":M.value.summaryPosition,"children-key":M.value.treeEnabled?M.value.treeChildrenKey:void 0,indent:M.value.treeEnabled?M.value.treeIndent:void 0,"default-expand-all":M.value.treeEnabled?M.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),null,16,[`columns`,`data`,`loading`,`row-key`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-item-size`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),o(` 分页 `),D(F).paginationConfig.value?(S(),a(D(ue),g({key:5},D(F).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):o(`v-if`,!0),o(` 编辑弹窗 `),M.value.editMode===`modal`||M.value.editMode===`both`?(S(),a(D(le),{key:6,show:Y.value,"onUpdate:show":i[3]||=e=>Y.value=e,title:M.value.modalTitle,width:M.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:A(()=>[d(D(H),{justify:`end`},{default:A(()=>[d(D(B),{onClick:De},{default:A(()=>i[7]||=[u(`取消`,-1)]),_:1,__:[7]}),d(D(B),{type:`primary`,loading:be.value,onClick:we},{default:A(()=>i[8]||=[u(` 保存 `,-1)]),_:1,__:[8]},8,[`loading`])]),_:1})]),default:A(()=>[Y.value&&Ce.value.length?(S(),a(n,{ref_key:`editFormRef`,ref:q,key:Se.value,modelValue:J.value,"onUpdate:modelValue":i[2]||=e=>J.value=e,options:Ce.value,config:{layout:`grid`,grid:{cols:2,xGap:16,yGap:16},showActions:!1}},null,8,[`modelValue`,`options`])):o(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):o(`v-if`,!0),o(` 动态行确认删除弹窗 `),D(I).dynamicRowsState?(S(),a(T(D(I).dynamicRowsState.renderConfirmModal()),{key:7})):o(`v-if`,!0),o(` 列设置抽屉 `),d(D(ae),{show:D(z),"onUpdate:show":i[4]||=e=>h(z)?z.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:A(()=>[d(D(oe),{title:`列设置`,closable:``},{default:A(()=>[d(on,{columns:D(V),"persist-key":M.value.persistKey,onChange:Oe},null,8,[`columns`,`persist-key`])]),_:1})]),_:1},8,[`show`])],512))}}),[[`__scopeId`,`data-v-d2c076b0`]]);export{Q as _,Nt as a,Ee as b,Tt as c,gt as d,ht as f,He as g,lt as h,Pt as i,wt as l,ut as m,Ht as n,vt as o,mt as p,Ft as r,Ct as s,hn as t,_t as u,Z as v,Te as x,Oe as y};
|
|
4
4
|
//# sourceMappingURL=C_Table2.js.map
|