2 lines
12 KiB
Java
2 lines
12 KiB
Java
import{d as de,f as P,r as A,u as g,e as se,ah as S,aC as L,as as R,aG as pe,aF as h,k as y,au as C,G as V}from"./vue-vendor-C7Zq48Yl.js";import{B as ue}from"./index-Du0A3ksf.js";import"./index-Di-j2gt4.js";import{useJvxeMethod as ce}from"./useJvxeMethods-JQtX-_a1.js";import{f as b,u as K,bI as me,bC as n,ak as fe}from"./index-BI6CMai0.js";import{a as ge}from"./user.api-C1eRtqao.js";import{h as he}from"./main.index-Cs5ETdXF.js";import{u as ye}from"./useForm-BZtHZyx2.js";import{B as be}from"./BasicForm-BJnSRkIE.js";import"./BasicModal-0sAdFEk_.js";import"./ModalHeader-keHdAHWH.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./useTimeout-DDl4l82I.js";import"./vxe-table-vendor-B88kchpX.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"./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"./JAreaLinkage-BeRUFHSB.js";import"./JCodeEditor-CLVZA7Uj.js";import"./htmlmixed-NhwyF9-q.js";import"./vue-CgbRSACy.js";/* empty css */import"./EasyCronInput-7xfJ3nBh.js";import"./vxeUtils-DQ1rq-ie.js";var xe=Object.defineProperty,ve=Object.defineProperties,we=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,G=(t,l,o)=>l in t?xe(t,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[l]=o,B=(t,l)=>{for(var o in l||(l={}))ke.call(l,o)&&G(t,o,l[o]);if(U)for(var o of U(l))Se.call(l,o)&&G(t,o,l[o]);return t},Ce=(t,l)=>ve(t,we(l)),j=(t,l,o)=>new Promise((x,c)=>{var f=p=>{try{s(o.next(p))}catch(w){c(w)}},v=p=>{try{s(o.throw(p))}catch(w){c(w)}},s=p=>p.done?x(p.value):Promise.resolve(p.value).then(f,v);s((o=o.apply(t,l)).next())});const{createConfirm:Ie}=K(),_e="/online/cgreport/param/listByHeadId",Pe="/online/cgreport/item/listByHeadId",zt=t=>b.get({url:"/online/cgreport/head/list",params:t}),At=(t,l)=>b.delete({url:"/online/cgreport/head/delete",params:t},{joinParamsToUrl:!0}).then(()=>{l()}),Ut=(t,l)=>{Ie({title:"确认删除",content:"是否删除选中数据",okText:"确认",cancelText:"取消",iconType:"warning",onOk:()=>b.delete({url:"/online/cgreport/head/deleteBatch",data:t},{joinParamsToUrl:!0}).then(()=>{l()})})},Ve=(t,l)=>l?b.put({url:"/online/cgreport/head/editAll",params:t}):b.post({url:"/online/cgreport/head/add",params:t}),Gt=t=>b.get({url:"/online/cgreport/api/getParamsInfo/"+t}),Ne=()=>b.get({url:"/sys/dataSource/options"}),$e=t=>b.get({url:"/online/cgreport/head/parseSql?"+t}),Te=me(),Kt=[{title:"报表名字",align:"center",dataIndex:"name",width:120},{title:"报表编码",align:"center",dataIndex:"code",width:120},{title:"报表SQL",align:"center",dataIndex:"cgrSql",width:360},{title:"数据源",align:"center",dataIndex:"dbSource",customRender:({text:t,record:l})=>l.dbSource_dictText?l.dbSource_dictText:t,width:120},{title:"创建时间",align:"center",dataIndex:"createTime",width:120}],Ht=[{label:"报表名称",field:"name",component:"JInput"},{label:"报表编码",field:"code",component:"JInput"}],qe=/^[a-z|A-Z][a-z|A-Z|\d|_|-]{0,}$/,Oe=[{label:"",field:"id",component:"Input",show:!1},{label:"报表编码",field:"code",component:"Input",colProps:{sm:24,xs:24,md:12,lg:8,xl:8,xxl:8},dynamicRules:({values:t,model:l})=>[{required:!0,validator:(o,x)=>new Promise((c,f)=>{if(!x)return f("请输入报表编码!");if(!qe.test(x))return f("编码必须以字母开头,可包含数字、下划线、横杠!");let v={tableName:"onl_cgreport_head",fieldName:"code",fieldVal:x,dataId:l.id};ge(v).then(s=>{s.success?c():f("报表编码已存在!")}).catch(s=>{f(s.message||"校验失败")})})}]},{label:"报表名字",field:"name",component:"Input",colProps:{sm:24,xs:24,md:12,lg:8,xl:8,xxl:8},dynamicRules:()=>[{required:!0,message:"请输入报表名字!"}]},{label:"动态数据源",field:"dbSource",colProps:{sm:24,xs:24,md:12,lg:8,xl:8,xxl:8},component:"ApiSelect",rules:[{required:Te.sysSafeMode,message:"请选择数据源!"}],componentProps:{api:Ne}},{label:"报表SQL",field:"cgrSql",component:"JCodeEditor",rules:[{required:!0,message:"请填写报表SQL"}],componentProps:{height:"200px",fullScreen:!0},colProps:{sm:24,xs:24,md:18,lg:16,xl:16,xxl:16}},{label:" ",field:"analyseButton",component:"Input",slot:"analyseButton",colProps:{xs:24,sm:24,md:6,lg:8,xl:8,xxl:8},itemProps:{labelCol:{xs:1,sm:1},wrapperCol:{xs:23,sm:23},colon:!1}}],Fe=[{title:"参数字段",key:"paramName",type:n.input,width:"150px",placeholder:"请输入${title}",defaultValue:"",validateRules:[{required:!0,message:"${title}不能为空"}]},{title:"参数文本",key:"paramTxt",type:n.input,width:"150px",placeholder:"请输入${title}",defaultValue:"",validateRules:[{required:!0,message:"${title}不能为空"}]},{title:"默认值",key:"paramValue",type:n.input,width:"150px",placeholder:"请输入${title}",defaultValue:""}],Le=[{title:"字段名字",key:"fieldName",type:n.input,width:"160px",placeholder:"请输入${title}",defaultValue:"",validateRules:[{required:!0,message:"${title}不能为空"}]},{title:"字段文本",key:"fieldTxt",type:n.input,width:"160px",placeholder:"请输入${title}",defaultValue:"",validateRules:[{required:!0,message:"${title}不能为空"}]},{title:"宽度",key:"fieldWidth",type:n.input,width:"80px",defaultValue:""},{title:"类型",key:"fieldType",width:"120px",placeholder:"请输入${title}",defaultValue:"",validateRules:[{required:!0,message:"${title}不能为空"}],type:n.select,options:[{title:"数值类型",value:"Integer"},{title:"字符类型",value:"String"},{title:"日期类型",value:"Date"},{title:"时间类型",value:"Datetime"},{title:"长整型",value:"Long"},{title:"图片类型",value:"Image"}]},{title:"列显示",key:"isShow",width:"80px",align:"center",type:n.checkbox,customValue:[1,0],defaultChecked:!0},{title:"字段href",key:"fieldHref",type:n.input,width:"120px",placeholder:"请输入${title}",defaultValue:""},{title:"查询",key:"isSearch",type:n.checkbox,customValue:["1","0"],width:"80px",align:"center",defaultChecked:!1},{title:"查询模式",key:"searchMode",type:n.select,width:"120px",placeholder:"请选择${title}",options:[{title:"单值查询",value:"single"},{title:"范围查询",value:"group"}]},{title:"取值表达式",key:"replaceVal",type:n.input,width:"120px",placeholder:"请输入${title}",defaultValue:""},{title:"字典code",key:"dictCode",type:n.input,width:"120px",placeholder:"请输入${title}",defaultValue:""},{title:"分组标题",key:"groupTitle",type:n.input,width:"120px",placeholder:"请输入${title}",defaultValue:""},{title:"合计列",align:"center",key:"isTotal",type:n.checkbox,customValue:["1","0"],width:"80px",defaultChecked:!1}],Re={style:{flex:"1","text-align":"left"}},Be=de({__name:"CgreportModal",emits:["register","success"],setup(t,{emit:l}){const{createMessage:o}=K(),x=l,c=P(!0),f=P(!0),v=P(["onlCgreportItem","onlCgreportParam"]),s=P("onlCgreportItem"),p=P(),w=P(),H={onlCgreportItem:w,onlCgreportParam:p},I=A({loading:!1,dataSource:[],columns:Fe}),_=A({loading:!1,dataSource:[],columns:Le}),[Q,{setProps:Y,resetFields:Z,setFieldsValue:M,validate:Me,validateFields:E}]=ye({schemas:Oe,showActionButtonGroup:!1,labelWidth:100,wrapperCol:null}),[W,{setModalProps:N,closeModal:X}]=fe(e=>j(null,null,function*(){var r,i;yield oe(),N({confirmLoading:!1,showCancelBtn:e==null?void 0:e.showFooter,showOkBtn:e==null?void 0:e.showFooter}),c.value=!!(e!=null&&e.isUpdate),g(c)&&(yield M(B({},e.record)),D(_e,{headId:(r=e==null?void 0:e.record)==null?void 0:r.id},I),D(Pe,{headId:(i=e==null?void 0:e.record)==null?void 0:i.id},_)),Y({disabled:!(e!=null&&e.showFooter)}),e!=null&&e.aigc&&(yield M(B({},e.aigc)),setTimeout(()=>J()))})),[ee,te,D,le]=ce(ie,ae,H,s,v),re=se(()=>g(c)?"编辑":"新增");function oe(){return j(this,null,function*(){yield Z(),s.value="onlCgreportItem",I.dataSource=[],_.dataSource=[]})}function ae(e){let r=Object.assign({},e.formValue);return Ce(B({},r),{onlCgreportParamList:e.tablesValue[1].tableData,onlCgreportItemList:e.tablesValue[0].tableData})}function ie(e){return j(this,null,function*(){try{N({confirmLoading:!0});let r=[],i=[],d={};Object.keys(e).map(a=>{a=="onlCgreportItemList"?i=e[a]:a=="onlCgreportParamList"?r=e[a]:d[a]=e[a]}),yield Ve({head:d,params:r,items:i},c.value),X(),x("success")}finally{N({confirmLoading:!1})}})}function J(){N({confirmLoading:!0}),E(["cgrSql","dbSource"]).then(e=>{let{cgrSql:r,dbSource:i}=e,d="sql="+encodeURIComponent(r);i&&(d+="&dbKey="+i),$e(d).then(a=>{if(a){o.success("解析成功");let{fields:k,params:u}=a,m=k.filter(T=>T.fieldName!="__row_number__"),q=w.value.getTableData(),$=z(q,m||[],"fieldName");$=$.sort((T,F)=>T.orderNum-F.orderNum),_.dataSource=$;let ne=p.value.getTableData(),O=z(ne,u||[],"paramName");O=O.sort((T,F)=>T.orderNum-F.orderNum),I.dataSource=O}})}).catch(()=>{}).finally(()=>{N({confirmLoading:!1})})}function z(e,r,i){if(e.length>0){let d=[],a=[],k=1;for(let u of r)for(let m of e)if(m[i]==u[i]){d.push(m),a.push(u[i]),m.orderNum>k&&(k=m.orderNum);break}for(let u of r)a.indexOf(u[i])<0&&(u.orderNum=++k,d.push(u));return d}else{let d=0;for(let a of r)a.orderNum||(a.orderNum=++d);return r}}return(e,r)=>{const i=S("a-icon"),d=S("a-popover"),a=S("a-button"),k=S("a-divider"),u=S("JVxeTable"),m=S("a-tab-pane"),q=S("a-tabs");return R(),L(g(ue),pe(e.$attrs,{onRegister:g(W),title:re.value,width:1200,maskClosable:!1,defaultFullscreen:!0,confirmLoading:f.value,onOk:g(te)}),{default:h(()=>[y(g(be),{onRegister:g(Q),ref_key:"formRef",ref:le},{analyseButton:h(()=>[C("div",Re,[y(d,{title:"使用指南",trigger:"hover",style:{margin:"0 10px 0 6px"}},{content:h(()=>[...r[1]||(r[1]=[V(" 您可以键入“”作为一个参数,这里abc是参数的名称。例如:",-1),C("br",null,null,-1),V(" select * from table where id = ${abc}。",-1),C("br",null,null,-1),V(" select * from table where id like concat('%',${abc},'%')。(mysql模糊查询)",-1),C("br",null,null,-1),V(" select * from table where id like '%'||${abc}||'%'。(oracle模糊查询)",-1),C("br",null,null,-1),V(" select * from table where id like '%'+${abc}+'%'。(sqlserver模糊查询)",-1),C("br",null,null,-1),C("span",{style:{color:"red"}},"注:参数只支持动态报表,popup暂不支持",-1)])]),default:h(()=>[y(i,{type:"question-circle"})]),_:1}),y(a,{style:{"margin-left":"10px"},type:"primary",onClick:J},{default:h(()=>[...r[2]||(r[2]=[V("SQL解析",-1)])]),_:1})])]),_:1},8,["onRegister"]),y(k,{style:{margin:"1px 0"},class:"cust-divider"}),y(q,{activeKey:s.value,"onUpdate:activeKey":r[0]||(r[0]=$=>s.value=$),animated:"",onChange:g(ee)},{default:h(()=>[(R(),L(m,{tab:"动态报表配置明细",key:v.value[0],forceRender:!0},{default:h(()=>[y(u,{"keep-source":"",dragSort:"",resizable:"",ref_key:"onlCgreportItem",ref:w,loading:_.loading,columns:_.columns,dataSource:_.dataSource,height:390,rowNumber:!0,rowSelection:!0,dragSortFixed:"none",rowNumberFixed:"none",rowSelectionFixed:"none",toolbar:!0,scrollX:{enabled:!0,gt:0},scrollY:{enabled:!0,gt:10}},null,8,["loading","columns","dataSource"])]),_:1})),(R(),L(m,{tab:"报表参数",key:v.value[1],forceRender:!0},{default:h(()=>[y(u,{"keep-source":"",resizable:"",dragSort:"",ref_key:"onlCgreportParam",ref:p,loading:I.loading,columns:I.columns,dataSource:I.dataSource,height:390,rowNumber:!0,rowSelection:!0,dragSortFixed:"none",rowNumberFixed:"none",rowSelectionFixed:"none",toolbar:!0,scrollX:{enabled:!0,gt:0},scrollY:{enabled:!0,gt:10}},null,8,["loading","columns","dataSource"])]),_:1}))]),_:1},8,["activeKey","onChange"])]),_:1},16,["onRegister","title","confirmLoading","onOk"])}}}),je=he(Be,[["__scopeId","data-v-9df3c91c"]]),Qt=Object.freeze(Object.defineProperty({__proto__:null,default:je},Symbol.toStringTag,{value:"Module"}));export{je as C,Qt as a,Ut as b,Kt as c,At as d,Gt as g,zt as l,Ht as s};
|