import{d as F,N as t,a as n,b as a,Z as m,Y as I,w as h,aF as D,aG as P,aH as U,aI as T,aJ as B,ar as N,ap as $,aq as q,aE as _,ai as j,J as f,a9 as g,K as z,r as i,o as u,v as J}from"./vendor-Cv2dYodt.js";import{_ as S}from"./index-DzEMp7Fy.js";const W=F({name:"DocumentPreviewPage",components:{LeftOutlined:D,DownloadOutlined:P,ReloadOutlined:U,LoadingOutlined:T,ExclamationCircleOutlined:B,FileOutlined:N,VueOfficeDocx:$,VueOfficeExcel:q},setup(){const e=_(),o=j(),l=f(!0),c=f(""),d=f(""),w=f(""),E=f({xls:!1,minColLength:0,minRowLength:0,widthOffset:10,heightOffset:10,forceRender:!0,maxSheetLength:10}),L=g(()=>d.value.toLowerCase().includes(".docx")||d.value.toLowerCase().includes(".doc")),k=g(()=>d.value.toLowerCase().includes(".xlsx")||d.value.toLowerCase().includes(".xls")),C=g(()=>d.value.toLowerCase().includes(".pdf")),y=g(()=>[".jpg",".jpeg",".png",".gif",".webp",".bmp"].some(p=>d.value.toLowerCase().includes(p))),O=g(()=>[".mp4",".webm",".ogg",".avi",".mov"].some(p=>d.value.toLowerCase().includes(p)));z(()=>{v()});const v=()=>{const r=e.query.url,p=e.query.title||"文档预览";if(!r){c.value="缺少文档链接参数",l.value=!1;return}d.value=decodeURIComponent(r),w.value=decodeURIComponent(p),setTimeout(()=>{l.value=!1},1e3)};return{loading:l,error:c,documentUrl:d,documentTitle:w,excelOptions:E,isWordFile:L,isExcelFile:k,isPdfFile:C,isImageFile:y,isVideoFile:O,handleRendered:()=>{console.log("文档渲染完成"),l.value=!1},handleError:r=>{console.error("文档渲染失败:",r),c.value="文档渲染失败,请检查文档格式或网络连接",l.value=!1},handleIframeLoad:()=>{console.log("iframe加载完成"),l.value=!1},handleIframeError:()=>{c.value="文档加载失败,请检查文档链接是否有效",l.value=!1},handleImageLoad:()=>{console.log("图片加载完成"),l.value=!1},handleImageError:()=>{c.value="图片加载失败,请检查图片链接是否有效",l.value=!1},handleVideoLoad:()=>{console.log("视频加载完成"),l.value=!1},handleVideoError:()=>{c.value="视频加载失败,请检查视频链接是否有效",l.value=!1},goBack:()=>{o.go(-1)},downloadDocument:()=>{if(d.value){const r=document.createElement("a");r.href=d.value,r.download=w.value,r.target="_blank",document.body.appendChild(r),r.click(),document.body.removeChild(r),J.success("开始下载文档")}},refreshPreview:()=>{l.value=!0,c.value="",window.location.reload()}}}}),G={class:"document-preview-page"},H={class:"preview-header"},K={class:"header-left"},M={class:"document-info"},Y={class:"document-url"},Z={class:"header-right"},A={class:"preview-container"},Q={key:0,class:"loading-container"},X={key:1,class:"error-container"},x={class:"error-actions"},ee={key:2,class:"preview-content"},oe={key:0,class:"word-preview"},ne={key:1,class:"excel-preview"},se={key:2,class:"pdf-preview"},le=["src"],re={key:3,class:"image-preview"},de=["src"],ae={key:4,class:"video-preview"},te=["src"],ie={key:5,class:"unsupported-preview"};function ue(e,o,l,c,d,w){const E=i("LeftOutlined"),L=i("DownloadOutlined"),k=i("ReloadOutlined"),C=i("LoadingOutlined"),y=i("a-spin"),O=i("ExclamationCircleOutlined"),v=i("a-button"),b=i("vue-office-docx"),R=i("vue-office-excel"),V=i("FileOutlined");return u(),t("div",G,[n("div",H,[n("div",K,[n("button",{class:"back-btn",onClick:o[0]||(o[0]=(...s)=>e.goBack&&e.goBack(...s))},[a(E),o[9]||(o[9]=m(" 返回 "))]),n("div",M,[n("h2",null,I(e.documentTitle),1),n("span",Y,I(e.documentUrl),1)])]),n("div",Z,[n("button",{class:"action-btn",onClick:o[1]||(o[1]=(...s)=>e.downloadDocument&&e.downloadDocument(...s)),title:"下载文档"},[a(L),o[10]||(o[10]=m(" 下载 "))]),n("button",{class:"action-btn",onClick:o[2]||(o[2]=(...s)=>e.refreshPreview&&e.refreshPreview(...s)),title:"刷新预览"},[a(k),o[11]||(o[11]=m(" 刷新 "))])])]),n("div",A,[e.loading?(u(),t("div",Q,[a(y,{size:"large"},{indicator:h(()=>[a(C,{style:{"font-size":"24px"},spin:""})]),_:1}),o[12]||(o[12]=n("p",null,"正在加载文档预览...",-1))])):e.error?(u(),t("div",X,[a(O,{class:"error-icon"}),o[15]||(o[15]=n("h3",null,"预览失败",-1)),n("p",null,I(e.error),1),n("div",x,[a(v,{type:"primary",onClick:e.refreshPreview},{default:h(()=>o[13]||(o[13]=[m("重试")])),_:1},8,["onClick"]),a(v,{onClick:e.downloadDocument},{default:h(()=>o[14]||(o[14]=[m("下载文档")])),_:1},8,["onClick"])])])):(u(),t("div",ee,[e.isWordFile?(u(),t("div",oe,[a(b,{src:e.documentUrl,style:{height:"100%"},onRendered:e.handleRendered,onError:e.handleError},null,8,["src","onRendered","onError"])])):e.isExcelFile?(u(),t("div",ne,[a(R,{src:e.documentUrl,options:e.excelOptions,style:{height:"100%"},onRendered:e.handleRendered,onError:e.handleError},null,8,["src","options","onRendered","onError"])])):e.isPdfFile?(u(),t("div",se,[n("iframe",{src:e.documentUrl,style:{width:"100%",height:"100%",border:"none"},frameborder:"0",onLoad:o[3]||(o[3]=(...s)=>e.handleIframeLoad&&e.handleIframeLoad(...s)),onError:o[4]||(o[4]=(...s)=>e.handleIframeError&&e.handleIframeError(...s))},null,40,le)])):e.isImageFile?(u(),t("div",re,[n("img",{src:e.documentUrl,class:"preview-image",alt:"文档预览",onLoad:o[5]||(o[5]=(...s)=>e.handleImageLoad&&e.handleImageLoad(...s)),onError:o[6]||(o[6]=(...s)=>e.handleImageError&&e.handleImageError(...s))},null,40,de)])):e.isVideoFile?(u(),t("div",ae,[n("video",{src:e.documentUrl,controls:"",class:"preview-video",onLoadeddata:o[7]||(o[7]=(...s)=>e.handleVideoLoad&&e.handleVideoLoad(...s)),onError:o[8]||(o[8]=(...s)=>e.handleVideoError&&e.handleVideoError(...s))},null,40,te)])):(u(),t("div",ie,[a(V,{class:"file-icon"}),o[17]||(o[17]=n("h3",null,"不支持预览",-1)),o[18]||(o[18]=n("p",null,"该文件类型暂不支持在线预览,请下载后查看",-1)),a(v,{type:"primary",onClick:e.downloadDocument},{default:h(()=>o[16]||(o[16]=[m("下载文档")])),_:1},8,["onClick"])]))]))])])}const Le=S(W,[["render",ue],["__scopeId","data-v-62539155"]]);export{Le as default};