Files
qhmes/web-dist/js/CgreportModal-E8Knx2UK.js
2026-06-16 18:19:57 +08:00

2 lines
11 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var ce=Object.defineProperty,ue=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var pe=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var K=(t,l,r)=>l in t?ce(t,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[l]=r,$=(t,l)=>{for(var r in l||(l={}))pe.call(l,r)&&K(t,r,l[r]);if(U)for(var r of U(l))me.call(l,r)&&K(t,r,l[r]);return t},Q=(t,l)=>ue(t,de(l));var q=(t,l,r)=>new Promise((S,m)=>{var g=u=>{try{c(r.next(u))}catch(_){m(_)}},w=u=>{try{c(r.throw(u))}catch(_){m(_)}},c=u=>u.done?S(u.value):Promise.resolve(u.value).then(g,w);c((r=r.apply(t,l)).next())});import{B as fe}from"./index-BDvqZ5j4.js";import{B as ge}from"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import{u as he}from"./useForm-D61zovon.js";import{useJvxeMethod as be}from"./useJvxeMethods-DzISusCM.js";import{J as n}from"./JVxeTypes-C-gX5UoZ.js";import{a as ye}from"./user.api-M95RuX7p.js";import{s as H,d as x,b8 as xe,aC as Se,aU as we,aX as _e,au as Ce}from"./index-X7Y8jykP.js";import{a as ve}from"./useModal-DaJ3Bflg.js";import{e as ke,y as B,z as D,A as h,B as Ie,u as b,r as I,c as Pe,K as M,f as y,Q as C,E as P,b as j}from"./vue-vendor-DNhG1Cve.js";import Te from"./index-saD4h7VJ.js";const{createConfirm:Ve}=H(),Le="/online/cgreport/param/listByHeadId",$e="/online/cgreport/item/listByHeadId",lt=t=>x.get({url:"/online/cgreport/head/list",params:t}),ot=(t,l)=>x.delete({url:"/online/cgreport/head/delete",params:t},{joinParamsToUrl:!0}).then(()=>{l()}),rt=(t,l)=>{Ve({title:"确认删除",content:"是否删除选中数据",okText:"确认",cancelText:"取消",iconType:"warning",onOk:()=>x.delete({url:"/online/cgreport/head/deleteBatch",data:t},{joinParamsToUrl:!0}).then(()=>{l()})})},qe=(t,l)=>l?x.put({url:"/online/cgreport/head/editAll",params:t}):x.post({url:"/online/cgreport/head/add",params:t}),at=t=>x.get({url:"/online/cgreport/api/getParamsInfo/"+t}),Ne=()=>x.get({url:"/sys/dataSource/options"}),Fe=t=>x.get({url:"/online/cgreport/head/parseSql?"+t}),Re=xe(),nt=[{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}],it=[{label:"报表名称",field:"name",component:"JInput"},{label:"报表编码",field:"code",component:"JInput"}],Be=/^[a-z|A-Z][a-z|A-Z|\d|_|-]{0,}$/,De=[{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:(r,S)=>new Promise((m,g)=>{if(!S)return g("请输入报表编码!");if(!Be.test(S))return g("编码必须以字母开头,可包含数字、下划线、横杠!");let w={tableName:"onl_cgreport_head",fieldName:"code",fieldVal:S,dataId:l.id};ye(w).then(c=>{c.success?m():g("报表编码已存在!")}).catch(c=>{g(c.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:Re.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}}],Me=[{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:""}],Oe=[{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}],ze={style:{flex:"1","text-align":"left"}},Ae=ke({__name:"CgreportModal",emits:["register","success"],setup(t,{emit:l}){const{createMessage:r}=H(),S=l,m=I(!0),g=I(!0),w=I(["onlCgreportItem","onlCgreportParam"]),c=I("onlCgreportItem"),u=I(),_=I(),E={onlCgreportItem:_,onlCgreportParam:u},v=j({loading:!1,dataSource:[],columns:Me}),k=j({loading:!1,dataSource:[],columns:Oe}),[W,{setProps:X,resetFields:Y,setFieldsValue:O,validate:Ue,validateFields:Z}]=he({schemas:De,showActionButtonGroup:!1,labelWidth:100,wrapperCol:null}),[G,{setModalProps:T,closeModal:ee}]=ve(e=>q(null,null,function*(){var o,a;yield ae(),T({confirmLoading:!1,showCancelBtn:e==null?void 0:e.showFooter,showOkBtn:e==null?void 0:e.showFooter}),m.value=!!(e!=null&&e.isUpdate),b(m)&&(yield O($({},e.record)),z(Le,{headId:(o=e==null?void 0:e.record)==null?void 0:o.id},v),z($e,{headId:(a=e==null?void 0:e.record)==null?void 0:a.id},k)),X({disabled:!(e!=null&&e.showFooter)}),e!=null&&e.aigc&&(yield O($({},e.aigc)),setTimeout(()=>A()))})),[te,le,z,oe]=be(ie,ne,E,c,w),re=Pe(()=>b(m)?"编辑":"新增");function ae(){return q(this,null,function*(){yield Y(),c.value="onlCgreportItem",v.dataSource=[],k.dataSource=[]})}function ne(e){let o=Object.assign({},e.formValue);return Q($({},o),{onlCgreportParamList:e.tablesValue[1].tableData,onlCgreportItemList:e.tablesValue[0].tableData})}function ie(e){return q(this,null,function*(){try{T({confirmLoading:!0});let o=[],a=[],s={};Object.keys(e).map(i=>{i=="onlCgreportItemList"?a=e[i]:i=="onlCgreportParamList"?o=e[i]:s[i]=e[i]}),yield qe({head:s,params:o,items:a},m.value),ee(),S("success")}finally{T({confirmLoading:!1})}})}function A(){T({confirmLoading:!0}),Z(["cgrSql","dbSource"]).then(e=>{let{cgrSql:o,dbSource:a}=e,s="sql="+encodeURIComponent(o);a&&(s+="&dbKey="+a),Fe(s).then(d=>{if(d){r.success("解析成功");let{fields:i,params:p}=d,f=i.filter(L=>L.fieldName!="__row_number__"),N=_.value.getTableData(),V=J(N,f||[],"fieldName");V=V.sort((L,R)=>L.orderNum-R.orderNum),k.dataSource=V;let se=u.value.getTableData(),F=J(se,p||[],"paramName");F=F.sort((L,R)=>L.orderNum-R.orderNum),v.dataSource=F}})}).catch(()=>{}).finally(()=>{T({confirmLoading:!1})})}function J(e,o,a){if(e.length>0){let s=[],d=[],i=1;for(let p of o)for(let f of e)if(f[a]==p[a]){s.push(f),d.push(p[a]),f.orderNum>i&&(i=f.orderNum);break}for(let p of o)d.indexOf(p[a])<0&&(p.orderNum=++i,s.push(p));return s}else{let s=0;for(let d of o)d.orderNum||(d.orderNum=++s);return o}}return(e,o)=>{const a=M("a-icon"),s=Se,d=M("a-button"),i=Te,p=M("JVxeTable"),f=_e,N=we;return D(),B(b(fe),Ie(e.$attrs,{onRegister:b(G),title:re.value,width:1200,maskClosable:!1,defaultFullscreen:!0,confirmLoading:g.value,onOk:b(le)}),{default:h(()=>[y(b(ge),{onRegister:b(W),ref_key:"formRef",ref:oe},{analyseButton:h(()=>[C("div",ze,[y(s,{title:"使用指南",trigger:"hover",style:{margin:"0 10px 0 6px"}},{content:h(()=>[...o[1]||(o[1]=[P(" 您可以键入“”作为一个参数这里abc是参数的名称。例如",-1),C("br",null,null,-1),P(" select * from table where id = ${abc}。",-1),C("br",null,null,-1),P(" select * from table where id like concat('%',${abc},'%')。(mysql模糊查询)",-1),C("br",null,null,-1),P(" select * from table where id like '%'||${abc}||'%'。(oracle模糊查询)",-1),C("br",null,null,-1),P(" select * from table where id like '%'+${abc}+'%'。(sqlserver模糊查询)",-1),C("br",null,null,-1),C("span",{style:{color:"red"}},"参数只支持动态报表popup暂不支持",-1)])]),default:h(()=>[y(a,{type:"question-circle"})]),_:1}),y(d,{style:{"margin-left":"10px"},type:"primary",onClick:A},{default:h(()=>[...o[2]||(o[2]=[P("SQL解析",-1)])]),_:1})])]),_:1},8,["onRegister"]),y(i,{style:{margin:"1px 0"},class:"cust-divider"}),y(N,{activeKey:c.value,"onUpdate:activeKey":o[0]||(o[0]=V=>c.value=V),animated:"",onChange:b(te)},{default:h(()=>[(D(),B(f,{tab:"动态报表配置明细",key:w.value[0],forceRender:!0},{default:h(()=>[y(p,{"keep-source":"",dragSort:"",resizable:"",ref_key:"onlCgreportItem",ref:_,loading:k.loading,columns:k.columns,dataSource:k.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})),(D(),B(f,{tab:"报表参数",key:w.value[1],forceRender:!0},{default:h(()=>[y(p,{"keep-source":"",resizable:"",dragSort:"",ref_key:"onlCgreportParam",ref:u,loading:v.loading,columns:v.columns,dataSource:v.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=Ce(Ae,[["__scopeId","data-v-f50c9cde"]]),st=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{Je as C,st as a,rt as b,nt as c,ot as d,at as g,lt as l,it as s};