| 1 |
- import{d as ne,f as T,e as I,r as k,n as me,ag as n,aq as pe,ar as B,F as ce,k as m,aD as s,aB as G,ah as V,G as J,at as A,aE as de}from"./vue-vendor-Be68asQ6.js";import{co as ue,F as fe,bv as L,ac as ge,j as K,cG as q,ad as U}from"./index-BFfnEkVs.js";import"./index-D68l__AG.js";import{B as be}from"./index-CETWS1o0.js";import{N as ve}from"./useSchemas-b074f3a1-C__QeRqf.js";import he from"./CodeFileListModal-a924902a-YN6VXLuB.js";import ye from"./FileSelectModal-ffc69d4a-fa4u_aLc.js";import{f as Ne}from"./antd-vue-vendor-DcqS7Wvq.js";import"./validator-BLa7ZpAW.js";import"./CodeFileViewModal-405e2b58-Cz3tjJU_.js";import"./download-CjoX0_mR.js";import{u as Te}from"./useForm-kcRIHoe0.js";import{B as Me}from"./BasicForm-Cv-dsB-e.js";import"./vxe-table-vendor-DHF2TRpV.js";import"./componentMap-BUTAcOmo.js";import"./useFormItem-CtGMPcLp.js";import"./index-BZ_MXCtW.js";import"./index-BIPzXG41.js";import"./index-CXEQnmRq.js";import"./useTimeout-Ca5eqGu-.js";import"./useIntersectionObserver-Bl62RIZ4.js";import"./BasicModal-D4gc2R81.js";import"./useWindowSizeFn-BTSGGcie.js";import"./index-D1703ozz.js";import"./index-Bi7PIj53.js";import"./useCountdown-B7iR27pS.js";import"./useFormItemSingle-nLM0QlcI.js";import"./JSelectUser-DCwPqRxp.js";import"./props-BPxWJPuD.js";import"./JSelectBiz-Be8KsC5j.js";import"./JAddInput-BBXQvvpq.js";import"./areaDataUtil-Cik-Rc_P.js";import"./index-BOEzG86y.js";import"./index-BNFwynfr.js";import"./bem-BvvqSl-N.js";import"./props-Cw7AfxGV.js";import"./useContextMenu-BDwmjIwb.js";import"./depart.api-CDwTvdwQ.js";import"./JSelectDept-DT6g7V5M.js";import"./JPopup-DKJW27Yk.js";import"./JEllipsis-C04xKxcI.js";import"./JUpload-cB_Qj2H2.js";import"./index-iuayQczx.js";import"./index-DJQB4_Pr.js";import"./JAreaLinkage-BNOKwn5l.js";import"./JCodeEditor-CSivhUhT.js";import"./htmlmixed-DNSd26j0.js";import"./vue-DbzutmLn.js";/* empty css */import"./EasyCronInput-wCv2YMHn.js";import"./base64Conver-24EVOS6V.js";import"./user.api-BMRcwGEd.js";var R=(t,a,p)=>new Promise((b,d)=>{var S=i=>{try{l(p.next(i))}catch(f){d(f)}},u=i=>{try{l(p.throw(i))}catch(f){d(f)}},l=i=>i.done?b(i.value):Promise.resolve(i.value).then(S,u);l((p=p.apply(t,a)).next())});const Ce=ne({name:"CodeGenerator",components:{BasicForm:Me,BasicModal:be,FileSelectModal:ye,CodeFileListModal:he},emits:["register"],setup(t){const a="JEECG_ONL_PROJECT_PATH",p="JEECG_ONL_PROJECT_NAME",b=T(!0),d=T(),S=I(()=>b.value?800:1200),u=T("代码生成"),l=T(!1),{prefixCls:i}=fe("code-generator-modal"),f=i,M=T(""),j=k({projectPath:"",packageStyle:"service",jspMode:"",jformType:"1",tableName_tmp:"",ftlDescription:"",entityName:"",codeTypes:"controller,service,dao,mapper,entity,vue"}),o=k({}),C=T([]),v=k({dataSource:[],columns:[{title:"子表名",key:"tableName",type:L.input,disabled:!0,validateRules:[{required:!0,message:"请输入${title}"}]},{title:"子表实体",key:"entityName",type:L.input,validateRules:[{required:!0,message:"请输入${title}"}]},{title:"功能说明",key:"ftlDescription",type:L.input,validateRules:[{required:!0,message:"请输入${title}"}]}]}),w=I(()=>v.dataSource.length>0),{formSchemas:h}=ve(t,{onProjectPathChange:re,onProjectPathSearch:ae,jspModeOptions:C},b),[F,{resetFields:P,setFieldsValue:x,validate:$}]=Te({schemas:h,showActionButtonGroup:!1,labelAlign:"right"}),[H,{closeModal:E}]=ge(e=>R(this,null,function*(){yield P(),M.value=e.code,l.value=!1,v.dataSource=[],C.value=[],ie(),Object.assign(o,j),W()}));function W(){return R(this,null,function*(){let{main:e,sub:r,jspModeList:y,projectPath:c}=yield K.get({url:"/online/cgform/head/tableInfo",params:{code:M.value}}),N=[];for(let g of y){const{code:D,note:se}=g;D=="many"||N.push({label:se,value:D})}C.value=N,e.isTree=="Y"?o.jspMode="tree":N.find(g=>g.value===e.themeTemplate)?o.jspMode=e.themeTemplate:o.jspMode=N[0].value,b.value=e.tableType==1,u.value="代码生成【"+e.tableName+"】",o.projectPath||(o.projectPath=c,window.localStorage.setItem(a,c));const _=localStorage.getItem(p);_&&(o.entityPackage=_),o.jformType=e.tableType+"",o.tableName_tmp=e.tableName,o.ftlDescription=e.tableTxt;let O=q(e.tableName);o.entityName=O.substring(0,1).toUpperCase()+O.substring(1),yield me(),x(o),r&&r.length>0&&(v.dataSource=r.map(g=>({tableName:g.tableName,entityName:le(g.tableName),ftlDescription:g.tableTxt})))})}const[z,{openModal:Y}]=U();function Q(){return R(this,null,function*(){try{const e=yield $();let r=Object.assign({},e,{code:M.value,tableName:e.tableName_tmp});if(w.value){if(yield d.value.validateTable())return;r.subList=d.value.getTableData()}l.value=!0;let y=yield X(r);Y(!0,{codeList:y.codeList,pathKey:y.pathKey,tableName:e.tableName_tmp}),E(),localStorage.setItem(p,e.entityPackage)}catch(e){}finally{l.value=!1}})}function X(e){return new Promise((r,y)=>{K.post({url:"/online/cgform/api/codeGenerate",params:e},{isTransformResponse:!1}).then(c=>{if(c.success){let N=c.result,_=c.message;r({codeList:N,pathKey:_})}else Ne.error(c.message),y(c.message)})})}function Z(){E()}const[ee,te]=U();function ae(){te.openModal(!0,{})}function oe(e){window.localStorage.setItem(a,e),x({projectPath:e})}function le(e){let r=q(e);return r.substring(0,1).toUpperCase()+r.substring(1)}function ie(){let e=window.localStorage.getItem(a);e&&(j.projectPath=e)}function re(e){e.target.value&&window.localStorage.setItem(a,e.target.value)}return{title:u,modalWidth:S,confirmLoading:l,subTable:v,showSubTable:w,onSubmit:Q,onCancel:Z,onFileSelect:oe,registerFileSelectModal:ee,subTableRef:d,registerForm:F,registerModal:H,registerCodeFileListModal:z,wrapClassName:f}}});function Se(t,a,p,b,d,S){const u=n("a-radio"),l=n("a-tooltip"),i=n("a-radio-group"),f=n("BasicForm"),M=n("JVxeTable"),j=n("a-card"),o=n("a-spin"),C=n("BasicModal"),v=n("FileSelectModal"),w=n("code-file-list-modal");return B(),pe(ce,null,[m(C,{onRegister:t.registerModal,title:t.title,width:t.modalWidth,confirmLoading:t.confirmLoading,okText:"开始生成",cancelText:"取消",onOk:t.onSubmit,onCancel:t.onCancel,wrapClassName:t.wrapClassName},{default:s(()=>[m(o,{spinning:t.confirmLoading},{default:s(()=>[m(f,{onRegister:t.registerForm},{pageCode:s(({model:h,field:F})=>[m(i,{value:h[F],"onUpdate:value":P=>h[F]=P},{default:s(()=>[m(l,{placement:"top"},{title:s(()=>a[0]||(a[0]=[A("span",null,"深度封装表单,用户只需定义字段json即可渲染表单,优点简单便捷,缺点扩展有难度",-1)])),default:s(()=>[m(u,{value:"vue3"},{default:s(()=>a[1]||(a[1]=[J("封装表单(BasicForm)")])),_:1})]),_:1}),m(l,{placement:"top"},{title:s(()=>a[2]||(a[2]=[A("span",null,"antd的原生表单,所有字段都需要硬编码,缺点编码繁琐,优点扩展容易",-1)])),default:s(()=>[h.jspMode=="innerTable"||h.jspMode=="tab"?V("",!0):(B(),G(u,{key:0,value:"vue3Native"},{default:s(()=>a[3]||(a[3]=[J("原生表单(a-form)")])),_:1}))]),_:2},1024)]),_:2},1032,["value","onUpdate:value"])]),_:1},8,["onRegister"]),t.showSubTable?(B(),G(j,{key:0,title:"子表信息",size:"small"},{default:s(()=>[m(M,de({ref:"subTableRef",rowNumber:"",maxHeight:580},t.subTable),null,16)]),_:1})):V("",!0)]),_:1},8,["spinning"])]),_:1},8,["onRegister","title","width","confirmLoading","onOk","onCancel","wrapClassName"]),m(v,{onRegister:t.registerFileSelectModal,onSelect:t.onFileSelect},null,8,["onRegister","onSelect"]),m(w,{onRegister:t.registerCodeFileListModal},null,8,["onRegister"])],64)}const Ct=ue(Ce,[["render",Se]]);export{Ct as default};
|