2 lines
6.7 KiB
Java
2 lines
6.7 KiB
Java
import{d as Y,f as m,r as O,ah as g,aC as T,as as M,aF as x,au as R,k as N,aB as V,ag as Q,G as S}from"./vue-vendor-C7Zq48Yl.js";import{ak as Z,n as ee,f as te}from"./index-BI6CMai0.js";import{B as oe}from"./index-Du0A3ksf.js";import{f as P,bW as ne}from"./antd-vue-vendor-BPnV8VqP.js";import"./index-Di-j2gt4.js";import{h as ie}from"./main.index-Cs5ETdXF.js";import le from"./JCodeEditor-CLVZA7Uj.js";import"./vxe-table-vendor-B88kchpX.js";import"./BasicModal-0sAdFEk_.js";import"./ModalHeader-keHdAHWH.js";import"./useTimeout-DDl4l82I.js";import"./index-DeEq83Ov.js";import"./useWindowSizeFn-PRZSD86C.js";import"./index-pxs5MULf.js";import"./index-BgYCgfME.js";import"./index-f8O7TghW.js";import"./useIntersectionObserver-BMxdTqP3.js";import"./BasicForm-BJnSRkIE.js";import"./componentMap-BBZeqR-K.js";import"./useFormItem-BdW6EoZe.js";import"./download-UE0L9Rfp.js";import"./base64Conver-24EVOS6V.js";import"./index-CIBZG4nR.js";import"./index-BhQEwnQQ.js";import"./useCountdown-DqnNWBp6.js";import"./useFormItemSingle-BbRhswfn.js";import"./JSelectUser-B71zikzw.js";import"./props-DAezUTeZ.js";import"./JSelectBiz-CnEaVMUF.js";import"./JAddInput-D6qcyZjQ.js";import"./areaDataUtil-CbYCy3Ig.js";import"./index-CNkz_PUv.js";import"./index-CUdllngZ.js";import"./bem-EhXRi4nW.js";import"./props-D4vdsy3J.js";import"./useContextMenu-Cwx1lIOK.js";import"./depart.api-DeMNV8zW.js";import"./TreeIcon-DE4jdeZV.js";import"./JSelectDept-DRDVeruW.js";import"./JPopup-Bva6u6tk.js";import"./usePopBiz-CG0vVpgI.js";import"./useMethods-DVip17X8.js";import"./index-Dg4HCEvo.js";import"./JEllipsis-DqRFTSm0.js";import"./JUpload-Cz9HN61B.js";import"./index-MGIrEF-A.js";import"./index-MREkPhsT.js";import"./useForm-BZtHZyx2.js";import"./JAreaLinkage-BeRUFHSB.js";import"./EasyCronInput-7xfJ3nBh.js";import"./htmlmixed-NhwyF9-q.js";import"./vue-CgbRSACy.js";/* empty css */var _=(n,a,p)=>new Promise((w,v)=>{var y=r=>{try{c(p.next(r))}catch(s){v(s)}},k=r=>{try{c(p.throw(r))}catch(s){v(s)}},c=r=>r.done?w(r.value):Promise.resolve(r.value).then(y,k);c((p=p.apply(n,a)).next())});const ae=Y({name:"CodeFileViewModal",components:{BasicModal:oe,InfoCircleTwoTone:ne,JCodeEditor:le},emits:["download","register","close"],setup(n,{emit:a}){const p=m([]),w=m(""),v=m([]),y=m(!1),k=window.innerHeight-142,c=m("java"),r=m("");let s=O({});const[W,{closeModal:L}]=Z(t=>_(null,null,function*(){s=O({}),r.value="",p.value=t.codeList,w.value=t.pathKey,E(),$(),y.value=!0})),{prefixCls:b}=ee("online-codeFileViewModal");function E(){let t=q(),i=t[0];z(i,t);let o=[];const e=function(u){if(u.children){let l=u.children;l.length==1?e(l[0]):l.length>1&&o.push(u)}};e(i),v.value=o,setTimeout(()=>{j(i)},300)}function j(t){return _(this,null,function*(){const i=function(e){if(e.isLeaf===!0)return e;if(e.children)return i(e.children[0])};let o=i(t);if(o&&o.isLeaf===!0){let e=o.path;s[e]||(yield H(e)),c.value=I(e),r.value=s[e]}})}function z(t,i){for(let o of i)t.key==o.pid&&(t.children||(t.children=[]),t.children.push(o),z(o,i))}function G(t,i){let o=0,e="";for(;o<=i;)e+=t[o],o++;return e}function q(){let t=[],i=[],o=p.value;for(let e of o){let u=e.replace(new RegExp("\\\\","g"),"/").replace("生成成功:","").trim();if(u){let l=u.split("/");for(let d=0;d<l.length;d++){let h=l[d],C=G(l,d);if(h){let f={title:h,key:C};if(h!=0){let F=G(l,d-1);F&&(f.pid=F)}d==l.length-1&&(f.isLeaf=!0,f.path=u),(i.indexOf(C)<0||d==l.length-1)&&(t.push(f),i.push(C))}}}}return t}function J(){L(),a("close")}function K(){a("download")}function I(t){return t.endsWith("xml")?"application/xml":t.endsWith("sql")?"text/x-sql":t.endsWith("vue")?"text/x-vue":t.endsWith("ts")?"text/typescript":"text/x-java"}function U(t,i){return _(this,null,function*(){let o=i.node.dataRef;if(o.isLeaf){let e=o.path;s[e]||(yield H(e)),c.value=I(e),r.value=s[e]}})}function H(t){return new Promise(i=>{let o={path:encodeURI(t),pathKey:w.value};te.get({url:"/online/cgform/api/codeView",params:o},{isTransformResponse:!1}).then(e=>{if(!e||e.size===0){P.warning("文件下载失败");return}else if(e.message){P.warning(e.message);return}let u=new Blob([e]),l=new FileReader;l.readAsText(u,"utf8"),l.onload=function(){let d=this.result;s[t]=d,i(1)}})})}const D=m(24),X=m(14),A=m(30);function $(){let t=document.getElementsByClassName("resize"),i=document.getElementsByClassName("code-gen"),o=document.getElementsByClassName("left");for(let e=0;e<t.length;e++)t[e].onmousedown=function(u){let l=i[e].offsetWidth,d=o[e].offsetWidth,h=u.clientX;return document.onmousemove=function(C){let f=C.clientX,F=Math.abs(f-h);if(f>h){let B=parseFloat(((d+F)/l*100).toFixed(4));parseFloat("100")-B>A.value&&(D.value=B)}if(f<h){let B=parseFloat(((d-F)/l*100).toFixed(4));B>X.value&&(D.value=B)}},document.onmouseup=function(C){document.onmousemove=null,document.onmouseup=null,t[e].releaseCapture&&t[e].releaseCapture()},t[e].setCapture&&t[e].setCapture(),!1}}return{registerModal:W,codeList:p,onDownloadGenerateCode:K,handleClose:J,treeData:v,showCodeContent:U,activeCodeContent:r,expandStatus:y,height:k,language:c,prefixCls:b,modalHeight:1e3,defaultLeftWidthRate:D}}});function re(n,a,p,w,v,y){const k=g("info-circle-two-tone"),c=g("a-directory-tree"),r=g("JCodeEditor"),s=g("a-empty"),W=g("a-row"),L=g("a-button"),b=g("BasicModal");return M(),T(b,{height:n.modalHeight,onRegister:n.registerModal,okText:"",cancelText:"关闭",width:1200,defaultFullscreen:!0,canFullscreen:!1,onOk:n.onDownloadGenerateCode,wrapClassName:n.prefixCls},{title:x(()=>[N(k),a[1]||(a[1]=S(" 代码在线预览 ",-1))]),footer:x(()=>[N(L,{onClick:n.handleClose},{default:x(()=>[...a[3]||(a[3]=[S("关闭",-1)])]),_:1},8,["onClick"]),N(L,{type:"primary",onClick:n.onDownloadGenerateCode},{default:x(()=>[...a[4]||(a[4]=[S("下载到本地",-1)])]),_:1},8,["onClick"])]),default:x(()=>[R("div",null,[N(W,{class:"code-gen"},{default:x(()=>[R("div",{class:"left",style:V([{"border-right":"1px solid #eee"},{width:`calc(${n.defaultLeftWidthRate}% - 2px)`}])},[R("div",{style:V({height:n.height+"px",overflowY:"auto"})},[n.treeData.length?(M(),T(c,{key:0,defaultExpandAll:!0,"tree-data":n.treeData,onSelect:n.showCodeContent},null,8,["tree-data","onSelect"])):Q("",!0)],4)],4),a[2]||(a[2]=R("div",{class:"resize"},null,-1)),R("div",{class:"right",style:V({width:`calc(100% - ${n.defaultLeftWidthRate}% - 2px)`})},[n.activeCodeContent?(M(),T(r,{key:0,value:n.activeCodeContent,"onUpdate:value":a[0]||(a[0]=E=>n.activeCodeContent=E),theme:"idea",language:n.language,fullScreen:!1,lineNumbers:!0,height:n.height+"px",disabled:!0,"language-change":!0},null,8,["value","language","height"])):(M(),T(s,{key:1,style:{"margin-top":"50px"},description:"请选择左侧文件,显示详细代码"}))],4)]),_:1})])]),_:1},8,["height","onRegister","onOk","wrapClassName"])}const rt=ie(ae,[["render",re]]);export{rt as default};
|