@robot-admin/naive-ui-components 0.6.11 → 0.6.12
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/CHANGELOG.md +48 -48
- package/README.md +277 -277
- package/dist/C_ActionBar-jZPsiXtT.css.map +1 -0
- package/dist/C_ActionBar-nnfbZCea.css.map +1 -0
- package/dist/C_ActionBar.css +47 -47
- 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-BY8jqqmi.css.map → C_AntV-A3NXx_sF.css.map} +1 -1
- package/dist/{C_AntV-BbkHc-_a.css.map → C_AntV-D2Zp2qQF.css.map} +1 -1
- package/dist/C_AntV.css +78 -78
- package/dist/C_AntV.js.map +1 -1
- package/dist/C_AntV2.js +2 -2
- package/dist/C_AntV2.js.map +1 -1
- package/dist/{C_AudioPlayer-DKRIGhi7.css.map → C_AudioPlayer-CXl4yP_m.css.map} +1 -1
- package/dist/{C_AudioPlayer-DlB6eNsa.css.map → C_AudioPlayer-CcBtt71m.css.map} +1 -1
- package/dist/C_AudioPlayer.css +47 -47
- 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-D02zci-i.css.map → C_AvatarGroup-CtPhfH9h.css.map} +1 -1
- package/dist/{C_AvatarGroup-DatHaUlY.css.map → C_AvatarGroup-M1dNPH3E.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-DYDRDe2O.css.map → C_Barcode-DjTmDkbQ.css.map} +1 -1
- package/dist/{C_Barcode-muJdc_O4.css.map → C_Barcode-Do1Ozsmh.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.js.map +1 -1
- package/dist/C_Breadcrumb2.js.map +1 -1
- package/dist/{C_Captcha-9_hk6VmY.css.map → C_Captcha-CZmAETly.css.map} +1 -1
- package/dist/{C_Captcha-MtASlJ0f.css.map → C_Captcha-Ccq3DMrR.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_Chat-CcjZdAwu.css.map → C_Chat-CcdWgVE8.css.map} +1 -1
- package/dist/{C_Chat-Diq7tyWU.css.map → C_Chat-Cx0woEEe.css.map} +1 -1
- package/dist/C_Chat.css +65 -65
- 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-Bam08Qv3.css.map → C_City-Cv5BESaN.css.map} +1 -1
- package/dist/{C_City-Bb3W-KaN.css.map → C_City-DNKv4MpH.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-DPZlNSxL.css.map +1 -0
- package/dist/C_Code-avZjAnHD.css.map +1 -0
- package/dist/C_Code.css +3 -3
- 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-BCmTFuDz.css.map → C_CollapsePanel-BpofCDyl.css.map} +1 -1
- package/dist/{C_CollapsePanel-Bxnh4Zy-.css.map → C_CollapsePanel-Fap-lv_5.css.map} +1 -1
- package/dist/C_CollapsePanel.css +35 -35
- 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-B3Cgz_wJ.css.map → C_ContextMenu-CCsCeI39.css.map} +1 -1
- package/dist/{C_ContextMenu-u1LixF3_.css.map → C_ContextMenu-DOTBeltf.css.map} +1 -1
- package/dist/C_ContextMenu.css +17 -17
- 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-Civir5-I.css.map → C_Cron-C0-8b5af.css.map} +1 -1
- package/dist/{C_Cron-iw3qpMsy.css.map → C_Cron-DqHQ92LN.css.map} +1 -1
- package/dist/C_Cron.css +37 -37
- 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_Draggable-BCjIvIwT.css.map → C_Draggable-Bq6o0qXn.css.map} +1 -1
- package/dist/{C_Draggable-DwkSlCOS.css.map → C_Draggable-r6nhx3yM.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_FilePreview-BhcbiXsV.css.map → C_FilePreview-BVarVvnD.css.map} +1 -1
- package/dist/{C_FilePreview-DJudcIbW.css.map → C_FilePreview-DHGlV4OR.css.map} +1 -1
- package/dist/C_FilePreview.css +91 -91
- 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-BtcAPIRi.css.map → C_Form-BciQUPpS.css.map} +1 -1
- package/dist/{C_Form-D_gwQ7hC.css.map → C_Form-CKHvXL3O.css.map} +1 -1
- package/dist/C_Form.css +222 -222
- 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-Bi4XYjjk.css.map → C_FormSearch-Bmd2CmG6.css.map} +1 -1
- package/dist/{C_FormSearch-DUGOoX0u.css.map → C_FormSearch-DBNtnjaL.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-CJk3SSUJ.css.map → C_FormulaEditor-3WG2vtQl.css.map} +1 -1
- package/dist/{C_FormulaEditor-Cy7mjfVO.css.map → C_FormulaEditor-Cm0CokN5.css.map} +1 -1
- package/dist/C_FormulaEditor.css +78 -78
- 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-1U4VlG7X.css.map +1 -0
- package/dist/C_FullCalendar-DLUdCtqf.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_Icon.js.map +1 -1
- package/dist/C_Icon2.js.map +1 -1
- package/dist/{C_ImageCropper-BqZpkZfU.css.map → C_ImageCropper-D3L2-J_J.css.map} +1 -1
- package/dist/{C_ImageCropper-CylwGuzS.css.map → C_ImageCropper-DrmUlaLi.css.map} +1 -1
- package/dist/C_ImageCropper.css +10 -10
- 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.js.map +1 -1
- package/dist/C_Language2.js.map +1 -1
- package/dist/{C_Login-BkdnkBKX.css.map → C_Login-Cst_W1XC.css.map} +1 -1
- package/dist/{C_Login-VkMM6OJ2.css.map → C_Login-DWZ_6K1x.css.map} +1 -1
- package/dist/C_Login.css +72 -72
- 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-DNnBcY70.css.map → C_Map-BCJmDnJT.css.map} +1 -1
- package/dist/{C_Map-LEXIx6zM.css.map → C_Map-WUMXSAfy.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-Kujzx1qG.css.map → C_Markdown-7iBnLDtL.css.map} +1 -1
- package/dist/{C_Markdown-YCAmBbNF.css.map → C_Markdown-BbTvdFCl.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_QRCode-CFNTda_1.css.map → C_QRCode-DMxSyogU.css.map} +1 -1
- package/dist/{C_QRCode-CmWr9lK-.css.map → C_QRCode-G7fiAkm4.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-PN4GOLRX.css.map → C_Signature-B5fFz6RD.css.map} +1 -1
- package/dist/{C_Signature-fWQqGIZ-.css.map → C_Signature-es-ZNPzr.css.map} +1 -1
- package/dist/C_Signature.css +14 -14
- 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_SplitPane-BOwr1C7K.css.map → C_SplitPane-Br2eK8IG.css.map} +1 -1
- package/dist/{C_SplitPane-N-a_D-7F.css.map → C_SplitPane-DuyzUhKB.css.map} +1 -1
- package/dist/C_SplitPane.css +31 -31
- 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-B1Wf3E73.css.map +1 -0
- package/dist/C_Steps-C8cOf_tu.css.map +1 -0
- package/dist/C_Steps.css +41 -41
- 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-BV1wUw6f.css.map → C_Table-vZlcgH6x.css.map} +1 -1
- package/dist/{C_Table-LlJ-JEdm.css.map → C_Table-wzAO43l0.css.map} +1 -1
- package/dist/C_Table.css +93 -93
- package/dist/C_Table.js.map +1 -1
- package/dist/C_Table2.js +1 -1
- package/dist/C_Table2.js.map +1 -1
- package/dist/{C_TagsView-DX3LecK1.css.map → C_TagsView-BsutyC3U.css.map} +1 -1
- package/dist/{C_TagsView-DqOTa8bL.css.map → C_TagsView-Crm7yWg9.css.map} +1 -1
- package/dist/C_TagsView.css +36 -36
- 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_Time-Bd_e1YDN.css.map +1 -0
- package/dist/C_Time-CKb_fwdm.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-BIvw3f41.css.map → C_Timeline-CGTFTMX0.css.map} +1 -1
- package/dist/{C_Timeline-VsDfCv4Q.css.map → C_Timeline-DxKyvKer.css.map} +1 -1
- package/dist/C_Timeline.css +42 -42
- 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-BOB6OBqS.css.map → C_Transfer-CCEqnC-v.css.map} +1 -1
- package/dist/{C_Transfer-Dpq7ezWC.css.map → C_Transfer-CStPm4NP.css.map} +1 -1
- package/dist/C_Transfer.css +31 -31
- 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-D98nX9qT.css.map → C_Tree-B-Le4hjQ.css.map} +1 -1
- package/dist/{C_Tree-ulfm7b-P.css.map → C_Tree-DnGc_MPb.css.map} +1 -1
- package/dist/C_Tree.css +33 -33
- 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_VideoPlayer-4J96tKfK.css.map → C_VideoPlayer-Cdgv4Zq0.css.map} +1 -1
- package/dist/{C_VideoPlayer-D35seHkm.css.map → C_VideoPlayer-rm0MODUv.css.map} +1 -1
- package/dist/C_VideoPlayer.css +13 -13
- package/dist/C_VideoPlayer.js.map +1 -1
- package/dist/C_VideoPlayer2.js +1 -1
- package/dist/C_VideoPlayer2.js.map +1 -1
- package/dist/{C_VtableGantt-C2lxFmWg.css.map → C_VtableGantt-BpY-Rng3.css.map} +1 -1
- package/dist/{C_VtableGantt-Dwnkw_WL.css.map → C_VtableGantt-DB87-jdS.css.map} +1 -1
- package/dist/C_VtableGantt.css +15 -15
- 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_WorkFlow-2hJfvvTK.css.map → C_WorkFlow-7F6op6qN.css.map} +1 -1
- package/dist/{C_WorkFlow-DHoNjl8-.css.map → C_WorkFlow-Cy3HWA6A.css.map} +1 -1
- package/dist/C_WorkFlow.css +108 -108
- 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 +3 -3
- package/dist/constants2.d.ts +4 -4
- package/dist/constants3.d.ts +2 -2
- package/dist/constants4.d.ts +5 -5
- package/dist/constants5.d.ts +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.ts +2 -2
- package/dist/index11.vue.d.ts +5 -5
- package/dist/index13.vue.d.ts +1 -1
- package/dist/index15.vue.d.ts +7 -7
- package/dist/index16.vue.d.ts +2 -2
- package/dist/index18.vue.d.ts +4 -4
- package/dist/index2.vue.d.ts +6 -6
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index25.vue.d.ts +4 -4
- package/dist/index26.vue.d.ts +1 -1
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index4.vue.d.ts +6 -6
- package/dist/index6.vue.d.ts +5 -5
- package/dist/index7.vue.d.ts +2 -2
- package/dist/index8.vue.d.ts +1 -1
- package/dist/index9.vue.d.ts +2 -2
- 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 +1516 -1516
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.ts +2 -2
- package/dist/useCropperCore.d.ts +2 -2
- package/dist/useDraggableLayout.d.ts +9 -9
- package/dist/useDynamicFormState.d.ts +10 -10
- package/dist/useInfiniteScroll.d.ts +1 -1
- package/dist/useModalEdit.d.ts +2 -2
- package/dist/useQRCode.d.ts +4 -4
- package/dist/useSplitResize.d.ts +6 -6
- package/dist/useTimeSelection.d.ts +2 -2
- package/dist/useTreeOperations.d.ts +3 -3
- package/dist/useWorkflowValidation.d.ts +4 -4
- package/package.json +2 -2
- package/dist/C_ActionBar-DYG0Yf3A.css.map +0 -1
- package/dist/C_ActionBar-MAjRhqcI.css.map +0 -1
- package/dist/C_Code-BFi5xxnM.css.map +0 -1
- package/dist/C_Code-CZ7yfnri.css.map +0 -1
- package/dist/C_FullCalendar-BQA0OjGB.css.map +0 -1
- package/dist/C_FullCalendar-ChJUosAi.css.map +0 -1
- package/dist/C_Steps-DLW2vbqC.css.map +0 -1
- package/dist/C_Steps-DwMRHbG2.css.map +0 -1
- package/dist/C_Time-BzyQVvTS.css.map +0 -1
- package/dist/C_Time-DmpKLQHc.css.map +0 -1
package/dist/C_FilePreview2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{NButton as n,NDivider as r,NEllipsis as i,NEmpty as a,NInputNumber as o,NModal as s,NPagination as c,NResult as l,NSpin as u,NTabPane as d,NTabs as f,NTag as p,NText as m}from"naive-ui";import{Fragment as h,computed as g,createBlock as _,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createTextVNode as x,createVNode as S,defineComponent as C,isRef as w,normalizeClass as T,normalizeStyle as E,onMounted as D,onUnmounted as O,openBlock as k,ref as A,renderList as j,toDisplayString as M,toRefs as ee,unref as N,vShow as P,watch as F,withCtx as I,withDirectives as L}from"vue";import*as R from"xlsx";import z from"mammoth";const B={pdf:`pdf`,doc:`word`,docx:`word`,xls:`excel`,xlsx:`excel`},V={pdf:{tagType:`error`,icon:`ic:outline-picture-as-pdf`,color:`#dc2626`},word:{tagType:`info`,icon:`ic:outline-description`,color:`#2563eb`},excel:{tagType:`success`,icon:`ic:outline-grid-on`,color:`#16a34a`},unknown:{tagType:`default`,icon:`ic:outline-insert-drive-file`,color:`#6b7280`}},H={pdf:{min:.5,max:3,step:.25,default:1},word:{min:50,max:200,step:10,default:100}},U=[20,50,100,200],W=[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`],G=e=>{try{let t=e.split(`/`).pop()||e.split(`\\`).pop();if(t?.includes(`.`)){let n=decodeURIComponent(t.split(`?`)[0]);if(n&&n!==e)return n}}catch(e){console.warn(`解析URL文件名失败:`,e)}return`未知文件`},K=e=>{if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(1))+` `+n[r]},te=e=>{if(!e||e===`未知文件`)return`unknown`;let t=e.toLowerCase().split(`.`).pop();return t&&B[t]||`unknown`},ne=e=>V[e]||V.unknown,q=(e,t)=>n=>{let{min:r,max:i,step:a,default:o}=t;switch(n){case`reset`:e.value=o;break;case`in`:e.value<i&&(e.value+=a);break;case`out`:e.value>r&&(e.value-=a);break}},re=e=>{let t=``;for(;e>=0;)t=String.fromCharCode(65+e%26)+t,e=Math.floor(e/26)-1;return t},J=e=>{if(!e)return``;let t=String(e).trim();if(!isNaN(Number(t))&&t!==``&&t.length<15){let e=Number(t);return Number.isInteger(e)?e.toLocaleString():e.toLocaleString(void 0,{maximumFractionDigits:2})}return t},Y=e=>{if(!e)return`cell-empty`;let t=String(e).trim();return!isNaN(Number(t))&&t!==``?`cell-number`:t.match(/[■▬▪▫─━]/)?`cell-gantt`:t.match(/^\d{4}[-/]\d{2}[-/]\d{2}/)||t.match(/^\d{2}[-/]\d{2}[-/]\d{4}/)?`cell-date`:[`true`,`false`].includes(t.toLowerCase())?`cell-boolean`:t.length>20?`cell-text cell-long`:`cell-text`},X=(e,t)=>{let{c:n,r}=R.utils.decode_range(e[`!ref`]||`A1:A1`).e,i=Array.from({length:n+1},(t,n)=>{let r=e[R.utils.encode_cell({r:0,c:n})],i=r?String(r.v||``).trim():`列${n+1}`;return{title:i||`列${n+1}`,key:`col_${n}`,width:Math.min(Math.max(i.length*12,80),200)}}),a=new Map;return t.forEach(({s:{r:e,c:t},e:{r:n,c:r}})=>{for(let i=e;i<=n;i++)for(let o=t;o<=r;o++)a.set(`${i}-${o}`,{isMain:i===e&&o===t,rowspan:n-e+1,colspan:r-t+1})}),{data:Array.from({length:r+1},(t,r)=>{let i={};for(let t=0;t<=n;t++){let n=e[R.utils.encode_cell({r,c:t})],o=a.get(`${r}-${t}`);i[`col_${t}`]={value:n&&n.v||``,merged:!!o,hidden:o&&!o.isMain,rowspan:o?.isMain?o.rowspan:1,colspan:o?.isMain?o.colspan:1}}return i}),columns:i}};async function ie(e){return{url:URL.createObjectURL(e)+`#toolbar=1&navpanes=1&scrollbar=1&view=FitH`,totalPages:1}}async function ae(e){let t=await e.arrayBuffer(),n=(await z.convertToHtml({arrayBuffer:t,styleMap:[`p[style-name='Heading 1'] => h1:fresh`,`p[style-name='Heading 2'] => h2:fresh`,`p[style-name='Heading 3'] => h3:fresh`,`p[style-name='Title'] => h1.title:fresh`]})).value,r=[],i=document.createElement(`div`);i.innerHTML=n;let a=i.querySelectorAll(`h1, h2, h3, h4, h5, h6`);return Array.from(a).forEach((e,t)=>{let i=`heading-${t}`,a=parseInt(e.tagName.charAt(1)),o=e.textContent||``;n=n.replace(e.outerHTML,e.outerHTML.replace(e.tagName.toLowerCase(),`${e.tagName.toLowerCase()} id="${i}"`)),r.push({id:i,text:o,level:a})}),{content:n,headings:r}}async function oe(e){let t=await e.arrayBuffer(),n=R.read(t,{type:`array`,cellStyles:!0,cellFormula:!0,cellDates:!0});if(!n.SheetNames.length)throw Error(`Excel文件中没有找到工作表`);return{sheets:n.SheetNames.map(e=>{let t=n.Sheets[e],r=t[`!merges`]||[],{data:i,columns:a}=X(t,r);return{name:e,data:i,merges:r,columns:a}})}}const se={class:`file-container pdf-container`},ce={class:`file-toolbar`},le={class:`flex justify-between items-center`},ue={class:`flex gap-2 items-center`},de={class:`text-sm text-gray-600`},fe={class:`flex gap-2 items-center`},pe={class:`text-sm text-gray-600 min-w-12 text-center`},me={class:`file-viewer`},he=[`src`];var ge=t(C({__name:`index`,props:{pdfUrl:{},totalPages:{}},setup(t){let r=t,i=A(1),a=A(1),s=q(a,H.pdf),c=e=>{if(typeof e==`number`)i.value=Math.max(1,Math.min(e,r.totalPages));else{let t=e===`prev`?-1:1;i.value=Math.max(1,Math.min(i.value+t,r.totalPages))}};return(t,r)=>{let l=e;return k(),y(`div`,se,[b(`div`,ce,[b(`div`,le,[v(` 翻页控制 `),b(`div`,ue,[S(N(n),{size:`small`,disabled:i.value<=1,onClick:r[0]||=e=>c(`prev`)},{icon:I(()=>[S(l,{name:`ic:outline-chevron-left`})]),_:1},8,[`disabled`]),S(N(o),{value:i.value,"onUpdate:value":[r[1]||=e=>i.value=e,c],size:`small`,min:1,max:t.totalPages,style:{width:`80px`}},null,8,[`value`,`max`,`onUpdate:value`]),b(`span`,de,`/ `+M(t.totalPages),1),S(N(n),{size:`small`,disabled:i.value>=t.totalPages,onClick:r[2]||=e=>c(`next`)},{icon:I(()=>[S(l,{name:`ic:outline-chevron-right`})]),_:1},8,[`disabled`])]),v(` 缩放控制 `),b(`div`,fe,[S(N(n),{size:`small`,disabled:a.value<=.5,onClick:r[3]||=e=>N(s)(`out`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-out`})]),_:1},8,[`disabled`]),b(`span`,pe,M(Math.round(a.value*100))+`% `,1),S(N(n),{size:`small`,disabled:a.value>=3,onClick:r[4]||=e=>N(s)(`in`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-in`})]),_:1},8,[`disabled`]),S(N(n),{size:`small`,onClick:r[5]||=e=>N(s)(`reset`)},{icon:I(()=>[S(l,{name:`ic:outline-fit-screen`})]),default:I(()=>[r[6]||=x(` 适应 `,-1)]),_:1,__:[6]})])])]),b(`div`,me,[t.pdfUrl?(k(),y(`iframe`,{key:0,src:t.pdfUrl,class:`w-full h-full border-0`,title:`PDF预览`,frameborder:`0`,allowfullscreen:``},null,8,he)):v(`v-if`,!0)])])}}}),[[`__scopeId`,`data-v-b3a276cb`]]);const _e={class:`file-container word-container`},ve={class:`file-toolbar`},ye={class:`flex gap-2 items-center`},be={class:`text-sm text-gray-600 min-w-12 text-center`},xe={class:`word-layout`},Se={class:`word-main`},Ce={key:0,class:`word-outline`},we={class:`outline-content`},Te=[`onClick`],Ee={class:`word-content`},De=[`innerHTML`];var Oe=t(C({__name:`index`,props:{content:{},headings:{}},setup(t){let i=A(!0),a=A(100),o=q(a,H.word),s=e=>{document.getElementById(e)?.scrollIntoView({behavior:`smooth`,block:`start`})};return(t,c)=>{let l=e;return k(),y(`div`,_e,[b(`div`,ve,[b(`div`,ye,[S(N(n),{size:`small`,onClick:c[0]||=e=>i.value=!i.value},{icon:I(()=>[S(l,{name:`ic:outline-list`})]),default:I(()=>[x(` `+M(i.value?`隐藏`:`显示`)+`目录 `,1)]),_:1}),S(N(r),{vertical:``}),S(N(n),{size:`small`,disabled:a.value<=50,onClick:c[1]||=e=>N(o)(`out`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-out`})]),_:1},8,[`disabled`]),b(`span`,be,M(a.value)+`% `,1),S(N(n),{size:`small`,disabled:a.value>=200,onClick:c[2]||=e=>N(o)(`in`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-in`})]),_:1},8,[`disabled`]),S(N(n),{size:`small`,onClick:c[3]||=e=>N(o)(`reset`)},{icon:I(()=>[S(l,{name:`ic:outline-fit-screen`})]),default:I(()=>[c[4]||=x(` 重置 `,-1)]),_:1,__:[4]})])]),b(`div`,xe,[b(`div`,Se,[v(` 侧边栏目录 `),i.value?(k(),y(`div`,Ce,[c[5]||=b(`div`,{class:`outline-header`},[b(`h3`,{class:`text-sm font-semibold`},`文档目录`)],-1),b(`div`,we,[(k(!0),y(h,null,j(t.headings,(e,t)=>(k(),y(`div`,{key:t,class:T([`outline-item`,`level-${e.level}`]),onClick:t=>s(e.id)},M(e.text),11,Te))),128))])])):v(`v-if`,!0),v(` 主要内容区域 `),b(`div`,Ee,[b(`div`,{class:`word-document`,style:E({transform:`scale(${a.value/100})`,transformOrigin:`top center`}),innerHTML:t.content},null,12,De)])])])])}}}),[[`__scopeId`,`data-v-e79a98a6`]]);const ke={class:`file-container excel-container`},Ae={class:`file-toolbar`},je={class:`flex justify-between items-center`},Me={class:`flex gap-2 items-center`},Ne={key:1,class:`text-sm text-gray-600`},Pe={class:`flex gap-2 items-center`},Fe={class:`excel-viewer`},Ie={key:0,class:`excel-info`},Le={class:`excel-table-container`},Re={key:0,class:`excel-table`},ze={class:`header-content`},Be={class:`column-letter`},Ve={class:`column-title`},He={class:`row-number`},Ue=[`rowspan`,`colspan`,`title`],We={key:1,class:`excel-empty`},Ge={key:0,class:`excel-pagination`};var Ke=t(C({__name:`index`,props:{sheets:{}},emits:[`reload`],setup(t){let r=t,i=A(``),o=A(!1),s=A(1),l=A(50),u=A([]),p=A([]),C=g(()=>Math.ceil(u.value.length/l.value)),w=g(()=>{let e=(s.value-1)*l.value;return u.value.slice(e,e+l.value)}),D=e=>{l.value=e,s.value=1},O=e=>{let t=r.sheets.find(t=>t.name===e);t&&(u.value=t.data,p.value=t.columns,s.value=1)};return F(i,e=>{O(e)}),F(()=>r.sheets,e=>{if(e.length>0){let[t]=e;i.value=t.name,u.value=t.data,p.value=t.columns,s.value=1}},{immediate:!0}),(t,r)=>{let g=e;return k(),y(`div`,ke,[v(` 工具栏 `),b(`div`,Ae,[b(`div`,je,[b(`div`,Me,[t.sheets.length>1?(k(),_(N(f),{key:0,value:i.value,"onUpdate:value":r[0]||=e=>i.value=e,type:`card`,size:`small`},{default:I(()=>[(k(!0),y(h,null,j(t.sheets,e=>(k(),_(N(d),{key:e.name,name:e.name,tab:e.name},null,8,[`name`,`tab`]))),128))]),_:1},8,[`value`])):(k(),y(`span`,Ne,` 工作表: `+M(i.value),1))]),b(`div`,Pe,[S(N(n),{size:`small`,onClick:r[1]||=e=>o.value=!o.value},{icon:I(()=>[S(g,{name:`ic:outline-format-paint`})]),default:I(()=>[x(` `+M(o.value?`紧凑视图`:`完整格式`),1)]),_:1})])])]),b(`div`,Fe,[v(` 信息面板 `),u.value.length>0?(k(),y(`div`,Ie,[S(N(m),{depth:`3`,class:`text-sm`},{default:I(()=>[x(` 当前工作表: `+M(i.value)+` | 总行数: `+M(u.value.length)+` | 总列数: `+M(p.value.length)+` | 当前页: `+M(s.value)+`/`+M(C.value),1)]),_:1})])):v(`v-if`,!0),v(` 表格 `),b(`div`,Le,[b(`div`,{class:T([`excel-table-wrapper`,{"simple-mode":!o.value}])},[u.value.length>0?(k(),y(`table`,Re,[b(`thead`,null,[b(`tr`,null,[r[4]||=b(`th`,{class:`row-number`},`行号`,-1),(k(!0),y(h,null,j(p.value,(e,t)=>(k(),y(`th`,{key:e.key,class:`excel-header`,style:E({minWidth:e.width+`px`})},[b(`div`,ze,[b(`span`,Be,M(N(re)(t)),1),b(`span`,Ve,M(e.title),1)])],4))),128))])]),b(`tbody`,null,[(k(!0),y(h,null,j(w.value,(e,t)=>(k(),y(`tr`,{key:t,class:`excel-row`},[b(`td`,He,M((s.value-1)*l.value+t+1),1),(k(!0),y(h,null,j(p.value,t=>L((k(),y(`td`,{key:t.key,class:T([`excel-cell`,[N(Y)(e[t.key]?.value),e[t.key]?.merged?`merged-cell`:``,o.value?``:`compact-cell`]]),rowspan:e[t.key]?.rowspan||1,colspan:e[t.key]?.colspan||1,title:e[t.key]?.value},M(N(J)(e[t.key]?.value)),11,Ue)),[[P,!e[t.key]?.hidden]])),128))]))),128))])])):(k(),y(`div`,We,[S(N(a),{description:`该工作表没有数据或解析失败`},{extra:I(()=>[S(N(n),{size:`small`,onClick:r[2]||=e=>t.$emit(`reload`)},{default:I(()=>r[5]||=[x(` 重新解析 `,-1)]),_:1,__:[5]})]),_:1})]))],2),v(` 分页 `),C.value>1?(k(),y(`div`,Ge,[S(N(c),{page:s.value,"onUpdate:page":r[3]||=e=>s.value=e,"page-count":C.value,"page-size":l.value,"show-size-picker":``,"page-sizes":N(U),"onUpdate:pageSize":D},null,8,[`page`,`page-count`,`page-size`,`page-sizes`])])):v(`v-if`,!0)])])])}}}),[[`__scopeId`,`data-v-d1c1c8fe`]]);function Z(e,t){let{file:n,url:r,fileName:i}=e,a=A(!1),o=A(``),s=A(0),c=A(!1),l=A(``),u=A(0),d=A(``),f=A([]),p=A([]),m=g(()=>i.value&&i.value!==`未知文件`?i.value:n.value?.name?n.value.name:r.value?G(r.value):`未知文件`),h=g(()=>te(m.value)),_=g(()=>ne(h.value)),v=()=>{o.value=``,a.value=!1,l.value=``,u.value=0,d.value=``,f.value=[],p.value=[]},y=e=>{o.value=e,a.value=!1},b=async()=>{if(n.value)return s.value=n.value.size,n.value;if(r.value){let e=await fetch(r.value);if(!e.ok)throw Error(`HTTP ${e.status}: ${e.statusText}`);let t=await e.blob(),n=new File([t],m.value,{type:t.type});return s.value=n.size,n}throw Error(`未提供文件或URL`)},x=async(e,t)=>{switch(t){case`pdf`:{let t=await ie(e);l.value=t.url,u.value=t.totalPages;break}case`word`:{let t=await ae(e);d.value=t.content,f.value=t.headings;break}case`excel`:p.value=(await oe(e)).sheets;break;default:throw Error(`不支持的文件格式`)}},S=async()=>{if(!n.value&&!r.value){y(`未提供文件或URL`);return}v(),a.value=!0;try{await x(await b(),h.value),a.value=!1}catch(e){let t=e instanceof Error?e.message:`未知错误`;y(`${h.value.toUpperCase()}文件加载失败: ${t}`)}};return F(()=>n.value?.size,e=>{s.value=e||0},{immediate:!0}),O(()=>{l.value?.startsWith(`blob:`)&&URL.revokeObjectURL(l.value.split(`#`)[0])}),{loading:a,error:o,fileSize:s,showModal:c,pdfUrl:l,pdfTotalPages:u,wordContent:d,wordHeadings:f,excelSheets:p,displayFileName:m,fileType:h,fileConfig:_,loadFile:S,openPreview:async()=>{c.value=!0,await S(),t(`preview`,n.value||r.value)},downloadFile:()=>{if(n.value){let e=URL.createObjectURL(n.value);Object.assign(document.createElement(`a`),{href:e,download:m.value}).click(),URL.revokeObjectURL(e)}else r.value&&window.open(r.value,`_blank`);t(`download`,n.value||r.value)}}}function Q(e){let t=A(!1),n=()=>{t.value=!!document.fullscreenElement},r=(e,t=0)=>t>=e.length?(console.warn(`无法切换全屏状态`),Promise.resolve()):e[t]().catch(()=>r(e,t+1));return D(()=>{W.forEach(e=>document.addEventListener(e,n))}),O(()=>{W.forEach(e=>document.removeEventListener(e,n))}),{isFullscreen:t,toggleFullscreen:async()=>{let t=e.value;t&&await r(document.fullscreenElement?[()=>document.exitFullscreen(),()=>document.webkitExitFullscreen(),()=>document.mozCancelFullScreen(),()=>document.msExitFullscreen()]:[()=>t.requestFullscreen(),()=>t.webkitRequestFullscreen(),()=>t.mozRequestFullScreen(),()=>t.msRequestFullscreen()])},exitFullscreen:async()=>{if(document.fullscreenElement)try{await document.exitFullscreen()}catch{}t.value=!1}}}const qe={class:`c-file-preview-wrapper`},Je={key:0,class:`file-info-card`},Ye={class:`file-info`},Xe={class:`file-icon`},Ze={class:`file-details`},Qe={class:`file-name`},$e={class:`file-meta`},et={class:`file-size`},tt={class:`file-actions`},$={class:`modal-header`},nt={class:`modal-title`},rt={class:`modal-actions`},it={class:`modal-content`},at={class:`preview-header`},ot={class:`flex justify-between items-center`},st={class:`flex items-center gap-3`},ct={class:`text-sm text-gray-500`},lt={class:`flex gap-2`},ut={class:`preview-content`},dt={key:0,class:`status-container`};var ft=t(C({name:`C_FilePreview`,__name:`index`,props:{file:{},url:{},fileName:{default:`未知文件`},autoPreview:{type:Boolean,default:!1}},emits:[`preview`,`download`],setup(t,{emit:r}){let{file:a,url:o,fileName:c,autoPreview:d}=ee(t),{loading:f,error:m,fileSize:g,showModal:C,pdfUrl:T,pdfTotalPages:E,wordContent:D,wordHeadings:O,excelSheets:j,displayFileName:P,fileType:L,fileConfig:R,loadFile:z,openPreview:B,downloadFile:V}=Z({file:a,url:o,fileName:c},r),H=A(),{isFullscreen:U,toggleFullscreen:W,exitFullscreen:G}=Q(H);return F(C,e=>{e||G()}),(t,r)=>{let a=e;return k(),y(`div`,qe,[v(` 文件信息卡片模式 `),N(d)?v(`v-if`,!0):(k(),y(`div`,Je,[b(`div`,Ye,[b(`div`,Xe,[S(a,{name:N(R).icon,size:40,color:N(R).color},null,8,[`name`,`color`])]),b(`div`,Ze,[b(`div`,Qe,[S(N(i),{style:{"max-width":`250px`}},{default:I(()=>[x(M(N(P)),1)]),_:1}),S(N(p),{type:N(R).tagType,size:`small`},{default:I(()=>[x(M(N(L).toUpperCase()),1)]),_:1},8,[`type`])]),b(`div`,$e,[b(`span`,et,M(N(K)(N(g))),1)])]),b(`div`,tt,[S(N(n),{type:`primary`,onClick:N(B)},{icon:I(()=>[S(a,{name:`ic:outline-visibility`})]),default:I(()=>[r[2]||=x(` 预览 `,-1)]),_:1,__:[2]},8,[`onClick`]),S(N(n),{type:`tertiary`,onClick:N(V)},{icon:I(()=>[S(a,{name:`ic:outline-download`})]),default:I(()=>[r[3]||=x(` 下载 `,-1)]),_:1,__:[3]},8,[`onClick`])])])])),v(` 模态框预览 `),S(N(s),{show:N(C),"onUpdate:show":r[1]||=e=>w(C)?C.value=e:null,"mask-closable":!1,closable:!1,"auto-focus":!1,"transform-origin":`center`,style:{width:`85vw`,"max-width":`1200px`,"min-width":`800px`,height:`75vh`,"max-height":`700px`,"min-height":`500px`}},{default:I(()=>[b(`div`,{ref_key:`modalContainer`,ref:H,class:`modal-container`},[v(` 自定义头部 `),b(`div`,$,[b(`div`,nt,[S(a,{name:N(R).icon,size:20,color:N(R).color},null,8,[`name`,`color`]),b(`span`,null,M(N(P)),1)]),b(`div`,rt,[S(N(n),{size:`small`,type:`tertiary`,onClick:N(V)},{icon:I(()=>[S(a,{name:`ic:outline-download`})]),default:I(()=>[r[4]||=x(` 下载 `,-1)]),_:1,__:[4]},8,[`onClick`]),S(N(n),{size:`small`,type:`tertiary`,onClick:r[0]||=e=>C.value=!1},{icon:I(()=>[S(a,{name:`ic:outline-close`})]),_:1})])]),v(` 预览内容 `),b(`div`,it,[v(` 文件信息头部 `),b(`div`,at,[b(`div`,ot,[b(`div`,st,[S(N(p),{type:N(R).tagType,size:`small`},{icon:I(()=>[S(a,{name:N(R).icon},null,8,[`name`])]),default:I(()=>[x(` `+M(N(L).toUpperCase()),1)]),_:1},8,[`type`]),S(N(i),{style:{"max-width":`300px`}},{default:I(()=>[x(M(N(P)),1)]),_:1}),b(`span`,ct,M(N(K)(N(g))),1)]),b(`div`,lt,[S(N(n),{size:`small`,type:`tertiary`,disabled:N(f),onClick:N(z)},{icon:I(()=>[S(a,{name:`ic:outline-refresh`})]),default:I(()=>[r[5]||=x(` 刷新 `,-1)]),_:1,__:[5]},8,[`disabled`,`onClick`]),S(N(n),{size:`small`,type:`primary`,onClick:N(W)},{icon:I(()=>[S(a,{name:N(U)?`ic:outline-fullscreen-exit`:`ic:outline-fullscreen`},null,8,[`name`])]),default:I(()=>[x(` `+M(N(U)?`退出全屏`:`全屏`),1)]),_:1},8,[`onClick`])])])]),v(` 预览内容区域 `),b(`div`,ut,[v(` 加载和错误状态 `),N(f)||N(m)?(k(),y(`div`,dt,[N(f)?(k(),_(N(u),{key:0,size:`large`},{description:I(()=>[x(` 正在加载`+M(N(L).toUpperCase())+`文件... `,1)]),_:1})):(k(),_(N(l),{key:1,status:`error`,title:`预览失败`,description:N(m)},{footer:I(()=>[S(N(n),{onClick:N(z)},{default:I(()=>r[6]||=[x(`重试`,-1)]),_:1,__:[6]},8,[`onClick`])]),_:1},8,[`description`]))])):(k(),y(h,{key:1},[v(` 文件预览 — 委托给子组件 `),N(L)===`pdf`?(k(),_(ge,{key:0,"pdf-url":N(T),"total-pages":N(E)},null,8,[`pdf-url`,`total-pages`])):N(L)===`word`?(k(),_(Oe,{key:1,content:N(D),headings:N(O)},null,8,[`content`,`headings`])):N(L)===`excel`?(k(),_(Ke,{key:2,sheets:N(j),onReload:N(z)},null,8,[`sheets`,`onReload`])):(k(),y(h,{key:3},[v(` 不支持的文件类型 `),S(N(l),{status:`warning`,title:`不支持的文件格式`,description:`暂不支持预览 ${N(L).toUpperCase()} 格式文件`},null,8,[`description`])],2112))],64))])])],512)]),_:1},8,[`show`])])}}}),[[`__scopeId`,`data-v-30d50866`]]);export{Q as n,Z as r,ft as t};
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{NButton as n,NDivider as r,NEllipsis as i,NEmpty as a,NInputNumber as o,NModal as s,NPagination as c,NResult as l,NSpin as u,NTabPane as d,NTabs as f,NTag as p,NText as m}from"naive-ui";import{Fragment as h,computed as g,createBlock as _,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createTextVNode as x,createVNode as S,defineComponent as C,isRef as w,normalizeClass as T,normalizeStyle as E,onMounted as D,onUnmounted as O,openBlock as k,ref as A,renderList as j,toDisplayString as M,toRefs as ee,unref as N,vShow as P,watch as F,withCtx as I,withDirectives as L}from"vue";import*as R from"xlsx";import z from"mammoth";const B={pdf:`pdf`,doc:`word`,docx:`word`,xls:`excel`,xlsx:`excel`},V={pdf:{tagType:`error`,icon:`ic:outline-picture-as-pdf`,color:`#dc2626`},word:{tagType:`info`,icon:`ic:outline-description`,color:`#2563eb`},excel:{tagType:`success`,icon:`ic:outline-grid-on`,color:`#16a34a`},unknown:{tagType:`default`,icon:`ic:outline-insert-drive-file`,color:`#6b7280`}},H={pdf:{min:.5,max:3,step:.25,default:1},word:{min:50,max:200,step:10,default:100}},U=[20,50,100,200],W=[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`],G=e=>{try{let t=e.split(`/`).pop()||e.split(`\\`).pop();if(t?.includes(`.`)){let n=decodeURIComponent(t.split(`?`)[0]);if(n&&n!==e)return n}}catch(e){console.warn(`解析URL文件名失败:`,e)}return`未知文件`},K=e=>{if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(1))+` `+n[r]},te=e=>{if(!e||e===`未知文件`)return`unknown`;let t=e.toLowerCase().split(`.`).pop();return t&&B[t]||`unknown`},ne=e=>V[e]||V.unknown,q=(e,t)=>n=>{let{min:r,max:i,step:a,default:o}=t;switch(n){case`reset`:e.value=o;break;case`in`:e.value<i&&(e.value+=a);break;case`out`:e.value>r&&(e.value-=a);break}},re=e=>{let t=``;for(;e>=0;)t=String.fromCharCode(65+e%26)+t,e=Math.floor(e/26)-1;return t},J=e=>{if(!e)return``;let t=String(e).trim();if(!isNaN(Number(t))&&t!==``&&t.length<15){let e=Number(t);return Number.isInteger(e)?e.toLocaleString():e.toLocaleString(void 0,{maximumFractionDigits:2})}return t},Y=e=>{if(!e)return`cell-empty`;let t=String(e).trim();return!isNaN(Number(t))&&t!==``?`cell-number`:t.match(/[■▬▪▫─━]/)?`cell-gantt`:t.match(/^\d{4}[-/]\d{2}[-/]\d{2}/)||t.match(/^\d{2}[-/]\d{2}[-/]\d{4}/)?`cell-date`:[`true`,`false`].includes(t.toLowerCase())?`cell-boolean`:t.length>20?`cell-text cell-long`:`cell-text`},X=(e,t)=>{let{c:n,r}=R.utils.decode_range(e[`!ref`]||`A1:A1`).e,i=Array.from({length:n+1},(t,n)=>{let r=e[R.utils.encode_cell({r:0,c:n})],i=r?String(r.v||``).trim():`列${n+1}`;return{title:i||`列${n+1}`,key:`col_${n}`,width:Math.min(Math.max(i.length*12,80),200)}}),a=new Map;return t.forEach(({s:{r:e,c:t},e:{r:n,c:r}})=>{for(let i=e;i<=n;i++)for(let o=t;o<=r;o++)a.set(`${i}-${o}`,{isMain:i===e&&o===t,rowspan:n-e+1,colspan:r-t+1})}),{data:Array.from({length:r+1},(t,r)=>{let i={};for(let t=0;t<=n;t++){let n=e[R.utils.encode_cell({r,c:t})],o=a.get(`${r}-${t}`);i[`col_${t}`]={value:n&&n.v||``,merged:!!o,hidden:o&&!o.isMain,rowspan:o?.isMain?o.rowspan:1,colspan:o?.isMain?o.colspan:1}}return i}),columns:i}};async function ie(e){return{url:URL.createObjectURL(e)+`#toolbar=1&navpanes=1&scrollbar=1&view=FitH`,totalPages:1}}async function ae(e){let t=await e.arrayBuffer(),n=(await z.convertToHtml({arrayBuffer:t,styleMap:[`p[style-name='Heading 1'] => h1:fresh`,`p[style-name='Heading 2'] => h2:fresh`,`p[style-name='Heading 3'] => h3:fresh`,`p[style-name='Title'] => h1.title:fresh`]})).value,r=[],i=document.createElement(`div`);i.innerHTML=n;let a=i.querySelectorAll(`h1, h2, h3, h4, h5, h6`);return Array.from(a).forEach((e,t)=>{let i=`heading-${t}`,a=parseInt(e.tagName.charAt(1)),o=e.textContent||``;n=n.replace(e.outerHTML,e.outerHTML.replace(e.tagName.toLowerCase(),`${e.tagName.toLowerCase()} id="${i}"`)),r.push({id:i,text:o,level:a})}),{content:n,headings:r}}async function oe(e){let t=await e.arrayBuffer(),n=R.read(t,{type:`array`,cellStyles:!0,cellFormula:!0,cellDates:!0});if(!n.SheetNames.length)throw Error(`Excel文件中没有找到工作表`);return{sheets:n.SheetNames.map(e=>{let t=n.Sheets[e],r=t[`!merges`]||[],{data:i,columns:a}=X(t,r);return{name:e,data:i,merges:r,columns:a}})}}const se={class:`file-container pdf-container`},ce={class:`file-toolbar`},le={class:`flex justify-between items-center`},ue={class:`flex gap-2 items-center`},de={class:`text-sm text-gray-600`},fe={class:`flex gap-2 items-center`},pe={class:`text-sm text-gray-600 min-w-12 text-center`},me={class:`file-viewer`},he=[`src`];var ge=t(C({__name:`index`,props:{pdfUrl:{},totalPages:{}},setup(t){let r=t,i=A(1),a=A(1),s=q(a,H.pdf),c=e=>{if(typeof e==`number`)i.value=Math.max(1,Math.min(e,r.totalPages));else{let t=e===`prev`?-1:1;i.value=Math.max(1,Math.min(i.value+t,r.totalPages))}};return(t,r)=>{let l=e;return k(),y(`div`,se,[b(`div`,ce,[b(`div`,le,[v(` 翻页控制 `),b(`div`,ue,[S(N(n),{size:`small`,disabled:i.value<=1,onClick:r[0]||=e=>c(`prev`)},{icon:I(()=>[S(l,{name:`ic:outline-chevron-left`})]),_:1},8,[`disabled`]),S(N(o),{value:i.value,"onUpdate:value":[r[1]||=e=>i.value=e,c],size:`small`,min:1,max:t.totalPages,style:{width:`80px`}},null,8,[`value`,`max`,`onUpdate:value`]),b(`span`,de,`/ `+M(t.totalPages),1),S(N(n),{size:`small`,disabled:i.value>=t.totalPages,onClick:r[2]||=e=>c(`next`)},{icon:I(()=>[S(l,{name:`ic:outline-chevron-right`})]),_:1},8,[`disabled`])]),v(` 缩放控制 `),b(`div`,fe,[S(N(n),{size:`small`,disabled:a.value<=.5,onClick:r[3]||=e=>N(s)(`out`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-out`})]),_:1},8,[`disabled`]),b(`span`,pe,M(Math.round(a.value*100))+`% `,1),S(N(n),{size:`small`,disabled:a.value>=3,onClick:r[4]||=e=>N(s)(`in`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-in`})]),_:1},8,[`disabled`]),S(N(n),{size:`small`,onClick:r[5]||=e=>N(s)(`reset`)},{icon:I(()=>[S(l,{name:`ic:outline-fit-screen`})]),default:I(()=>[r[6]||=x(` 适应 `,-1)]),_:1,__:[6]})])])]),b(`div`,me,[t.pdfUrl?(k(),y(`iframe`,{key:0,src:t.pdfUrl,class:`w-full h-full border-0`,title:`PDF预览`,frameborder:`0`,allowfullscreen:``},null,8,he)):v(`v-if`,!0)])])}}}),[[`__scopeId`,`data-v-e96499e0`]]);const _e={class:`file-container word-container`},ve={class:`file-toolbar`},ye={class:`flex gap-2 items-center`},be={class:`text-sm text-gray-600 min-w-12 text-center`},xe={class:`word-layout`},Se={class:`word-main`},Ce={key:0,class:`word-outline`},we={class:`outline-content`},Te=[`onClick`],Ee={class:`word-content`},De=[`innerHTML`];var Oe=t(C({__name:`index`,props:{content:{},headings:{}},setup(t){let i=A(!0),a=A(100),o=q(a,H.word),s=e=>{document.getElementById(e)?.scrollIntoView({behavior:`smooth`,block:`start`})};return(t,c)=>{let l=e;return k(),y(`div`,_e,[b(`div`,ve,[b(`div`,ye,[S(N(n),{size:`small`,onClick:c[0]||=e=>i.value=!i.value},{icon:I(()=>[S(l,{name:`ic:outline-list`})]),default:I(()=>[x(` `+M(i.value?`隐藏`:`显示`)+`目录 `,1)]),_:1}),S(N(r),{vertical:``}),S(N(n),{size:`small`,disabled:a.value<=50,onClick:c[1]||=e=>N(o)(`out`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-out`})]),_:1},8,[`disabled`]),b(`span`,be,M(a.value)+`% `,1),S(N(n),{size:`small`,disabled:a.value>=200,onClick:c[2]||=e=>N(o)(`in`)},{icon:I(()=>[S(l,{name:`ic:outline-zoom-in`})]),_:1},8,[`disabled`]),S(N(n),{size:`small`,onClick:c[3]||=e=>N(o)(`reset`)},{icon:I(()=>[S(l,{name:`ic:outline-fit-screen`})]),default:I(()=>[c[4]||=x(` 重置 `,-1)]),_:1,__:[4]})])]),b(`div`,xe,[b(`div`,Se,[v(` 侧边栏目录 `),i.value?(k(),y(`div`,Ce,[c[5]||=b(`div`,{class:`outline-header`},[b(`h3`,{class:`text-sm font-semibold`},`文档目录`)],-1),b(`div`,we,[(k(!0),y(h,null,j(t.headings,(e,t)=>(k(),y(`div`,{key:t,class:T([`outline-item`,`level-${e.level}`]),onClick:t=>s(e.id)},M(e.text),11,Te))),128))])])):v(`v-if`,!0),v(` 主要内容区域 `),b(`div`,Ee,[b(`div`,{class:`word-document`,style:E({transform:`scale(${a.value/100})`,transformOrigin:`top center`}),innerHTML:t.content},null,12,De)])])])])}}}),[[`__scopeId`,`data-v-42ca58ad`]]);const ke={class:`file-container excel-container`},Ae={class:`file-toolbar`},je={class:`flex justify-between items-center`},Me={class:`flex gap-2 items-center`},Ne={key:1,class:`text-sm text-gray-600`},Pe={class:`flex gap-2 items-center`},Fe={class:`excel-viewer`},Ie={key:0,class:`excel-info`},Le={class:`excel-table-container`},Re={key:0,class:`excel-table`},ze={class:`header-content`},Be={class:`column-letter`},Ve={class:`column-title`},He={class:`row-number`},Ue=[`rowspan`,`colspan`,`title`],We={key:1,class:`excel-empty`},Ge={key:0,class:`excel-pagination`};var Ke=t(C({__name:`index`,props:{sheets:{}},emits:[`reload`],setup(t){let r=t,i=A(``),o=A(!1),s=A(1),l=A(50),u=A([]),p=A([]),C=g(()=>Math.ceil(u.value.length/l.value)),w=g(()=>{let e=(s.value-1)*l.value;return u.value.slice(e,e+l.value)}),D=e=>{l.value=e,s.value=1},O=e=>{let t=r.sheets.find(t=>t.name===e);t&&(u.value=t.data,p.value=t.columns,s.value=1)};return F(i,e=>{O(e)}),F(()=>r.sheets,e=>{if(e.length>0){let[t]=e;i.value=t.name,u.value=t.data,p.value=t.columns,s.value=1}},{immediate:!0}),(t,r)=>{let g=e;return k(),y(`div`,ke,[v(` 工具栏 `),b(`div`,Ae,[b(`div`,je,[b(`div`,Me,[t.sheets.length>1?(k(),_(N(f),{key:0,value:i.value,"onUpdate:value":r[0]||=e=>i.value=e,type:`card`,size:`small`},{default:I(()=>[(k(!0),y(h,null,j(t.sheets,e=>(k(),_(N(d),{key:e.name,name:e.name,tab:e.name},null,8,[`name`,`tab`]))),128))]),_:1},8,[`value`])):(k(),y(`span`,Ne,` 工作表: `+M(i.value),1))]),b(`div`,Pe,[S(N(n),{size:`small`,onClick:r[1]||=e=>o.value=!o.value},{icon:I(()=>[S(g,{name:`ic:outline-format-paint`})]),default:I(()=>[x(` `+M(o.value?`紧凑视图`:`完整格式`),1)]),_:1})])])]),b(`div`,Fe,[v(` 信息面板 `),u.value.length>0?(k(),y(`div`,Ie,[S(N(m),{depth:`3`,class:`text-sm`},{default:I(()=>[x(` 当前工作表: `+M(i.value)+` | 总行数: `+M(u.value.length)+` | 总列数: `+M(p.value.length)+` | 当前页: `+M(s.value)+`/`+M(C.value),1)]),_:1})])):v(`v-if`,!0),v(` 表格 `),b(`div`,Le,[b(`div`,{class:T([`excel-table-wrapper`,{"simple-mode":!o.value}])},[u.value.length>0?(k(),y(`table`,Re,[b(`thead`,null,[b(`tr`,null,[r[4]||=b(`th`,{class:`row-number`},`行号`,-1),(k(!0),y(h,null,j(p.value,(e,t)=>(k(),y(`th`,{key:e.key,class:`excel-header`,style:E({minWidth:e.width+`px`})},[b(`div`,ze,[b(`span`,Be,M(N(re)(t)),1),b(`span`,Ve,M(e.title),1)])],4))),128))])]),b(`tbody`,null,[(k(!0),y(h,null,j(w.value,(e,t)=>(k(),y(`tr`,{key:t,class:`excel-row`},[b(`td`,He,M((s.value-1)*l.value+t+1),1),(k(!0),y(h,null,j(p.value,t=>L((k(),y(`td`,{key:t.key,class:T([`excel-cell`,[N(Y)(e[t.key]?.value),e[t.key]?.merged?`merged-cell`:``,o.value?``:`compact-cell`]]),rowspan:e[t.key]?.rowspan||1,colspan:e[t.key]?.colspan||1,title:e[t.key]?.value},M(N(J)(e[t.key]?.value)),11,Ue)),[[P,!e[t.key]?.hidden]])),128))]))),128))])])):(k(),y(`div`,We,[S(N(a),{description:`该工作表没有数据或解析失败`},{extra:I(()=>[S(N(n),{size:`small`,onClick:r[2]||=e=>t.$emit(`reload`)},{default:I(()=>r[5]||=[x(` 重新解析 `,-1)]),_:1,__:[5]})]),_:1})]))],2),v(` 分页 `),C.value>1?(k(),y(`div`,Ge,[S(N(c),{page:s.value,"onUpdate:page":r[3]||=e=>s.value=e,"page-count":C.value,"page-size":l.value,"show-size-picker":``,"page-sizes":N(U),"onUpdate:pageSize":D},null,8,[`page`,`page-count`,`page-size`,`page-sizes`])])):v(`v-if`,!0)])])])}}}),[[`__scopeId`,`data-v-b6c3e1b9`]]);function Z(e,t){let{file:n,url:r,fileName:i}=e,a=A(!1),o=A(``),s=A(0),c=A(!1),l=A(``),u=A(0),d=A(``),f=A([]),p=A([]),m=g(()=>i.value&&i.value!==`未知文件`?i.value:n.value?.name?n.value.name:r.value?G(r.value):`未知文件`),h=g(()=>te(m.value)),_=g(()=>ne(h.value)),v=()=>{o.value=``,a.value=!1,l.value=``,u.value=0,d.value=``,f.value=[],p.value=[]},y=e=>{o.value=e,a.value=!1},b=async()=>{if(n.value)return s.value=n.value.size,n.value;if(r.value){let e=await fetch(r.value);if(!e.ok)throw Error(`HTTP ${e.status}: ${e.statusText}`);let t=await e.blob(),n=new File([t],m.value,{type:t.type});return s.value=n.size,n}throw Error(`未提供文件或URL`)},x=async(e,t)=>{switch(t){case`pdf`:{let t=await ie(e);l.value=t.url,u.value=t.totalPages;break}case`word`:{let t=await ae(e);d.value=t.content,f.value=t.headings;break}case`excel`:p.value=(await oe(e)).sheets;break;default:throw Error(`不支持的文件格式`)}},S=async()=>{if(!n.value&&!r.value){y(`未提供文件或URL`);return}v(),a.value=!0;try{await x(await b(),h.value),a.value=!1}catch(e){let t=e instanceof Error?e.message:`未知错误`;y(`${h.value.toUpperCase()}文件加载失败: ${t}`)}};return F(()=>n.value?.size,e=>{s.value=e||0},{immediate:!0}),O(()=>{l.value?.startsWith(`blob:`)&&URL.revokeObjectURL(l.value.split(`#`)[0])}),{loading:a,error:o,fileSize:s,showModal:c,pdfUrl:l,pdfTotalPages:u,wordContent:d,wordHeadings:f,excelSheets:p,displayFileName:m,fileType:h,fileConfig:_,loadFile:S,openPreview:async()=>{c.value=!0,await S(),t(`preview`,n.value||r.value)},downloadFile:()=>{if(n.value){let e=URL.createObjectURL(n.value);Object.assign(document.createElement(`a`),{href:e,download:m.value}).click(),URL.revokeObjectURL(e)}else r.value&&window.open(r.value,`_blank`);t(`download`,n.value||r.value)}}}function Q(e){let t=A(!1),n=()=>{t.value=!!document.fullscreenElement},r=(e,t=0)=>t>=e.length?(console.warn(`无法切换全屏状态`),Promise.resolve()):e[t]().catch(()=>r(e,t+1));return D(()=>{W.forEach(e=>document.addEventListener(e,n))}),O(()=>{W.forEach(e=>document.removeEventListener(e,n))}),{isFullscreen:t,toggleFullscreen:async()=>{let t=e.value;t&&await r(document.fullscreenElement?[()=>document.exitFullscreen(),()=>document.webkitExitFullscreen(),()=>document.mozCancelFullScreen(),()=>document.msExitFullscreen()]:[()=>t.requestFullscreen(),()=>t.webkitRequestFullscreen(),()=>t.mozRequestFullScreen(),()=>t.msRequestFullscreen()])},exitFullscreen:async()=>{if(document.fullscreenElement)try{await document.exitFullscreen()}catch{}t.value=!1}}}const qe={class:`c-file-preview-wrapper`},Je={key:0,class:`file-info-card`},Ye={class:`file-info`},Xe={class:`file-icon`},Ze={class:`file-details`},Qe={class:`file-name`},$e={class:`file-meta`},et={class:`file-size`},tt={class:`file-actions`},$={class:`modal-header`},nt={class:`modal-title`},rt={class:`modal-actions`},it={class:`modal-content`},at={class:`preview-header`},ot={class:`flex justify-between items-center`},st={class:`flex items-center gap-3`},ct={class:`text-sm text-gray-500`},lt={class:`flex gap-2`},ut={class:`preview-content`},dt={key:0,class:`status-container`};var ft=t(C({name:`C_FilePreview`,__name:`index`,props:{file:{},url:{},fileName:{default:`未知文件`},autoPreview:{type:Boolean,default:!1}},emits:[`preview`,`download`],setup(t,{emit:r}){let{file:a,url:o,fileName:c,autoPreview:d}=ee(t),{loading:f,error:m,fileSize:g,showModal:C,pdfUrl:T,pdfTotalPages:E,wordContent:D,wordHeadings:O,excelSheets:j,displayFileName:P,fileType:L,fileConfig:R,loadFile:z,openPreview:B,downloadFile:V}=Z({file:a,url:o,fileName:c},r),H=A(),{isFullscreen:U,toggleFullscreen:W,exitFullscreen:G}=Q(H);return F(C,e=>{e||G()}),(t,r)=>{let a=e;return k(),y(`div`,qe,[v(` 文件信息卡片模式 `),N(d)?v(`v-if`,!0):(k(),y(`div`,Je,[b(`div`,Ye,[b(`div`,Xe,[S(a,{name:N(R).icon,size:40,color:N(R).color},null,8,[`name`,`color`])]),b(`div`,Ze,[b(`div`,Qe,[S(N(i),{style:{"max-width":`250px`}},{default:I(()=>[x(M(N(P)),1)]),_:1}),S(N(p),{type:N(R).tagType,size:`small`},{default:I(()=>[x(M(N(L).toUpperCase()),1)]),_:1},8,[`type`])]),b(`div`,$e,[b(`span`,et,M(N(K)(N(g))),1)])]),b(`div`,tt,[S(N(n),{type:`primary`,onClick:N(B)},{icon:I(()=>[S(a,{name:`ic:outline-visibility`})]),default:I(()=>[r[2]||=x(` 预览 `,-1)]),_:1,__:[2]},8,[`onClick`]),S(N(n),{type:`tertiary`,onClick:N(V)},{icon:I(()=>[S(a,{name:`ic:outline-download`})]),default:I(()=>[r[3]||=x(` 下载 `,-1)]),_:1,__:[3]},8,[`onClick`])])])])),v(` 模态框预览 `),S(N(s),{show:N(C),"onUpdate:show":r[1]||=e=>w(C)?C.value=e:null,"mask-closable":!1,closable:!1,"auto-focus":!1,"transform-origin":`center`,style:{width:`85vw`,"max-width":`1200px`,"min-width":`800px`,height:`75vh`,"max-height":`700px`,"min-height":`500px`}},{default:I(()=>[b(`div`,{ref_key:`modalContainer`,ref:H,class:`modal-container`},[v(` 自定义头部 `),b(`div`,$,[b(`div`,nt,[S(a,{name:N(R).icon,size:20,color:N(R).color},null,8,[`name`,`color`]),b(`span`,null,M(N(P)),1)]),b(`div`,rt,[S(N(n),{size:`small`,type:`tertiary`,onClick:N(V)},{icon:I(()=>[S(a,{name:`ic:outline-download`})]),default:I(()=>[r[4]||=x(` 下载 `,-1)]),_:1,__:[4]},8,[`onClick`]),S(N(n),{size:`small`,type:`tertiary`,onClick:r[0]||=e=>C.value=!1},{icon:I(()=>[S(a,{name:`ic:outline-close`})]),_:1})])]),v(` 预览内容 `),b(`div`,it,[v(` 文件信息头部 `),b(`div`,at,[b(`div`,ot,[b(`div`,st,[S(N(p),{type:N(R).tagType,size:`small`},{icon:I(()=>[S(a,{name:N(R).icon},null,8,[`name`])]),default:I(()=>[x(` `+M(N(L).toUpperCase()),1)]),_:1},8,[`type`]),S(N(i),{style:{"max-width":`300px`}},{default:I(()=>[x(M(N(P)),1)]),_:1}),b(`span`,ct,M(N(K)(N(g))),1)]),b(`div`,lt,[S(N(n),{size:`small`,type:`tertiary`,disabled:N(f),onClick:N(z)},{icon:I(()=>[S(a,{name:`ic:outline-refresh`})]),default:I(()=>[r[5]||=x(` 刷新 `,-1)]),_:1,__:[5]},8,[`disabled`,`onClick`]),S(N(n),{size:`small`,type:`primary`,onClick:N(W)},{icon:I(()=>[S(a,{name:N(U)?`ic:outline-fullscreen-exit`:`ic:outline-fullscreen`},null,8,[`name`])]),default:I(()=>[x(` `+M(N(U)?`退出全屏`:`全屏`),1)]),_:1},8,[`onClick`])])])]),v(` 预览内容区域 `),b(`div`,ut,[v(` 加载和错误状态 `),N(f)||N(m)?(k(),y(`div`,dt,[N(f)?(k(),_(N(u),{key:0,size:`large`},{description:I(()=>[x(` 正在加载`+M(N(L).toUpperCase())+`文件... `,1)]),_:1})):(k(),_(N(l),{key:1,status:`error`,title:`预览失败`,description:N(m)},{footer:I(()=>[S(N(n),{onClick:N(z)},{default:I(()=>r[6]||=[x(`重试`,-1)]),_:1,__:[6]},8,[`onClick`])]),_:1},8,[`description`]))])):(k(),y(h,{key:1},[v(` 文件预览 — 委托给子组件 `),N(L)===`pdf`?(k(),_(ge,{key:0,"pdf-url":N(T),"total-pages":N(E)},null,8,[`pdf-url`,`total-pages`])):N(L)===`word`?(k(),_(Oe,{key:1,content:N(D),headings:N(O)},null,8,[`content`,`headings`])):N(L)===`excel`?(k(),_(Ke,{key:2,sheets:N(j),onReload:N(z)},null,8,[`sheets`,`onReload`])):(k(),y(h,{key:3},[v(` 不支持的文件类型 `),S(N(l),{status:`warning`,title:`不支持的文件格式`,description:`暂不支持预览 ${N(L).toUpperCase()} 格式文件`},null,8,[`description`])],2112))],64))])])],512)]),_:1},8,[`show`])])}}}),[[`__scopeId`,`data-v-1037e17e`]]);export{Q as n,Z as r,ft as t};
|
|
2
2
|
//# sourceMappingURL=C_FilePreview2.js.map
|