2 lines
11 KiB
Java
2 lines
11 KiB
Java
var ce=Object.defineProperty,ue=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var $=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var E=(e,o,r)=>o in e?ce(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,O=(e,o)=>{for(var r in o||(o={}))me.call(o,r)&&E(e,r,o[r]);if($)for(var r of $(o))fe.call(o,r)&&E(e,r,o[r]);return e},G=(e,o)=>ue(e,de(o));var m=(e,o,r)=>new Promise((n,i)=>{var h=u=>{try{d(r.next(u))}catch(s){i(s)}},l=u=>{try{d(r.throw(u))}catch(s){i(s)}},d=u=>u.done?n(u.value):Promise.resolve(u.value).then(h,l);d((r=r.apply(e,o)).next())});import{B as ge}from"./index-BDvqZ5j4.js";import{B as be}from"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import{u as ye}from"./useForm-D61zovon.js";import{b8 as Se,b4 as he,d as P,s as ve,aP as U,au as Te,aH as we,aU as Ce,aX as qe}from"./index-X7Y8jykP.js";import{a as Pe}from"./user.api-M95RuX7p.js";import{r as q,c as L,e as Fe,b as Y,n as Ae,y as _,z as k,A as f,B as Ie,K as F,f as T,Q as _e,H as J,E as A}from"./vue-vendor-DNhG1Cve.js";import ke from"./FieldTable-Bz48v6t8.js";import Re from"./ParamsTable-D4eXNgmO.js";import{p as Ne}from"./graphreport.api-BW5tsy84.js";import{a as Be}from"./useModal-DaJ3Bflg.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./index-saD4h7VJ.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./uniqBy--vsL0WVB.js";import"./JVxeTypes-C-gX5UoZ.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";import"./index-CeNCCWzL.js";function De(e,o){const r=Se(),n=he({one:{colProps:{xs:24,sm:24},itemProps:{labelCol:{xs:24,sm:2},wrapperCol:{xs:24,sm:22}}},tow:{colProps:{xs:24,sm:12},itemProps:{labelCol:{xs:24,sm:4},wrapperCol:{xs:24,sm:20}}},threeTow:{colProps:{xs:24,sm:16},itemProps:{labelCol:{xs:24,sm:3},wrapperCol:{xs:24,sm:21}}},three:{colProps:{xs:24,sm:8},itemProps:{labelCol:{xs:24,sm:6},wrapperCol:{xs:24,sm:18}}}},"three"),i=q("sql"),h=q("combination"),l={cgrSql:{sql:{label:"查询SQL",placeholder:"请输入查询SQL",language:"sql"},json:{label:"数据JSON",placeholder:"请输入数据JSON",language:"javascript"},api:{label:"API接口",placeholder:"请输入API接口",language:"javascript"}}},d=L(()=>l.cgrSql[i.value]);return{formSchemas:L(()=>{var s,v,b;return[{label:"ID",field:"id",component:"Input",show:!1},n({label:"图表名称",field:"name",component:"Input",required:!0}),n({label:"编码",field:"code",component:"Input",dynamicRules({model:p}){return[{required:!0,message:"请输入编码!"},{validator(X,M){return m(this,arguments,function*({},y){if(/[\u4E00-\u9FA5]/g.test(y))return Promise.reject("编码不能为汉字");let{success:I,message:B}=yield Pe({tableName:"onl_graphreport_head",fieldName:"code",fieldVal:y,dataId:p.id});if(!I)return Promise.reject(B)})}}]}}),n({label:"展示模板",field:"displayTemplate",component:"Select",componentProps:{options:[{label:"Tab风格",value:"tab"},{label:"单排布局",value:"single"},{label:"双排布局",value:"double"}]},defaultValue:"tab"}),n({label:"X轴字段",field:"xaxisField",component:"Input",required:!0}),n({label:"Y轴字段",field:"yaxisField",component:"JDictSelectTag",componentProps:{mode:"tags",open:!1,dictCode:"online_graph_display_template"},required:!0},"threeTow"),n({label:"数据类型",field:"dataType",component:"JDictSelectTag",componentProps:{dictCode:"online_graph_data_type",showChooseOption:!1,onChange:p=>i.value=p},defaultValue:"sql"}),n({label:"数据源",field:"dbSource",component:"Select",componentProps:{options:o.dbSourceOptions.value},rules:[{required:r.sysSafeMode,message:"请选择数据源!"}],ifShow:({model:p})=>p.dataType==="sql"}),n({label:"图表类型",field:"graphType",component:"JDictSelectTag",componentProps:{mode:h.value==="single"?"default":"multiple",dictCode:"online_graph_type",showChooseOption:!1},defaultValue:["bar"]},i.value==="sql"?"three":"threeTow"),n({label:"描述",field:"content",component:"Input"},"one"),n({label:(s=d.value)==null?void 0:s.label,field:"cgrSql",required:!0,component:"JCodeEditor",componentProps:{placeholder:(v=d.value)==null?void 0:v.placeholder,language:(b=d.value)==null?void 0:b.language,fullScreen:!0,autoHeight:"!ie",height:"100px"},dynamicRules(){var p;return[{required:!0,message:(p=d.value)==null?void 0:p.placeholder},{validator(X,M){return m(this,arguments,function*({},y){if(y&&i.value==="json")try{JSON.parse(y)}catch(I){return Promise.reject("JSON格式不正确!")}})}}]}},"one"),n({label:" ",field:"cgrSql",component:"Input",slot:"SQLAnalyzeButton",itemProps:{colon:!1}},"one"),n({label:"JS增强",field:"extendJs",component:"JCodeEditor",componentProps:{placeholder:"JS增强",language:"javascript",fullScreen:!0,autoHeight:"!ie",height:"100px"}},"one")]}),dataType:i,isCombination:h}}const Oe=Fe({name:"GraphreportModal",components:{ParamsTable:Re,FieldTable:ke,BasicModal:ge,BasicForm:be},emits:["register","success"],setup(e,{emit:o}){const{createMessage:r}=ve(),n=q(!1),i=q(),h=q();let l={};const d=L(()=>n.value?"编辑":"新增"),u=q("field"),s=q(!1),v=q([]),b=Y({dataSource:[]}),p=Y({dataSource:[]}),[N,{closeModal:y}]=Be(a=>m(null,null,function*(){var t;n.value=(t=a==null?void 0:a.isUpdate)!=null?t:!1,n.value?yield V(a==null?void 0:a.record):yield ae(),a!=null&&a.aigc&&(yield j(O({},a.aigc)),setTimeout(()=>Q()))})),{formSchemas:X,dataType:M,isCombination:I}=De(e,{dbSourceOptions:v}),[B,{resetFields:W,clearValidate:Z,setFieldsValue:j,validate:x,validateFields:ee}]=ye({schemas:X,showActionButtonGroup:!1,labelAlign:"right"});function ae(){return m(this,null,function*(){var a,t;b.dataSource=[],p.dataSource=[],yield Ae(),(t=(a=i.value)==null?void 0:a.tableRef)==null||t.addRows({},{setActive:!1}),V({})})}function V(a){return m(this,null,function*(){var t;s.value=!1,u.value="field",yield W(),l=Object.assign({},a),l.dbSource=l.dbSource==null?"":l.dbSource,I.value==="combination"&&typeof l.graphType=="string"&&(l.graphType=l.graphType.split(",")),typeof l.yaxisField=="string"&&(l.yaxisField=l.yaxisField.split(",")),yield j(l),yield Z(),M.value=(t=l.dataType)!=null?t:"sql",l.id&&oe(l.id)})}function oe(a){s.value=!0,z("/online/graphreport/head/queryOnlGraphreportItemByMainId",{id:a},b).finally(()=>{s.value=!1}),z("/online/graphreport/params/listByHeadId",{headId:a},p)}function z(a,t,c){return P.get({url:a,params:t}).then(g=>{c.dataSource=g||[]})}function Q(){return m(this,null,function*(){var a,t;s.value=!0;try{let{cgrSql:c}=yield x(["cgrSql"]),g=yield P.get({url:"/online/cgreport/head/parseSql",params:{sql:c}});r.success("解析成功");let w=(g.fields||[]).map(C=>(C.isShow=C.isShow===1?"Y":"N",C)),S=(t=(a=i.value)==null?void 0:a.tableRef)==null?void 0:t.getTableData();b.dataSource=R(S,w,"fieldName"),p.dataSource=R(p.dataSource,g.params||[],"paramName")}finally{s.value=!1}})}function te(){return m(this,null,function*(){yield K("JSON")})}function le(){return m(this,null,function*(){yield K("API")})}function K(a){return m(this,null,function*(){var C,H;let{cgrSql:t}=yield ee(["cgrSql"]),c=yield Ne(a,t),w=((Array.isArray(c)?c:c.fields)||[]).map(D=>(D.isShow=D.isShow===1?"Y":"N",D)),S=(H=(C=i.value)==null?void 0:C.tableRef)==null?void 0:H.getTableData();b.dataSource=R(S,w,"fieldName"),Array.isArray(c==null?void 0:c.params)&&(p.dataSource=R(p.dataSource,c.params,"paramName"))})}function re(){return m(this,null,function*(){var a,t,c,g;try{let w=yield x(),S=yield(t=(a=i.value)==null?void 0:a.tableRef)==null?void 0:t.validateTable();if(S){u.value="field";return}if(S=yield(g=(c=h.value)==null?void 0:c.tableRef)==null?void 0:g.validateTable(),S){u.value="params";return}let C=ie(w);s.value=!0,yield ne(C),o("success"),y()}finally{s.value=!1}})}function ne(a){return n.value?P.put({url:"/online/graphreport/head/edit",params:a}):P.post({url:"/online/graphreport/head/add",params:a})}function ie(a){var c,g,w,S;let t=Object.assign(l,a);return U(t.graphType)&&(t.graphType=t.graphType.join(",")),U(t.yaxisField)&&(t.yaxisField=t.yaxisField.join(",")),G(O({},t),{onlGraphreportItemList:(g=(c=i.value)==null?void 0:c.tableRef)==null?void 0:g.getTableData(),paramsList:(S=(w=h.value)==null?void 0:w.tableRef)==null?void 0:S.getTableData()})}function se(){y()}function pe(){return m(this,null,function*(){let a="/sys/dataSource/options";try{let t=yield P.get({url:a});v.value=t||[],v.value.unshift({label:"请选择",value:""})}catch(t){v.value=[{label:"加载失败",value:void 0}]}})}return pe(),{fieldTableRef:i,paramsTableRef:h,title:d,confirmLoading:s,dataType:M,activeKey:u,fieldTable:b,paramsTable:p,onSubmit:re,onCancel:se,onSQLAnalyze:Q,onAPIAnalyze:le,onJSONAnalyze:te,registerModal:N,registerForm:B}}});function R(e,o,r){return o.forEach(n=>{for(let i of e)if(i[r]===n[r]){Object.assign(n,i);break}}),o}const Je={style:{flex:"1","text-align":"right"}};function Le(e,o,r,n,i,h){const l=F("a-button"),d=F("BasicForm"),u=F("FieldTable"),s=qe,v=F("ParamsTable"),b=Ce,p=we,N=F("BasicModal");return k(),_(N,Ie({title:e.title,width:1200,maskClosable:!1,confirmLoading:e.confirmLoading,defaultFullscreen:""},e.$attrs,{onCancel:e.onCancel,onRegister:e.registerModal}),{footer:f(()=>[T(l,{onClick:e.onCancel},{default:f(()=>[...o[4]||(o[4]=[A("关闭",-1)])]),_:1},8,["onClick"]),T(l,{type:"primary",loading:e.confirmLoading,preIcon:"ant-design:save",onClick:e.onSubmit},{default:f(()=>[...o[5]||(o[5]=[A("保存",-1)])]),_:1},8,["loading","onClick"])]),default:f(()=>[T(p,{spinning:e.confirmLoading},{default:f(()=>[T(d,{onRegister:e.registerForm},{SQLAnalyzeButton:f(()=>[_e("div",Je,[e.dataType==="sql"?(k(),_(l,{key:0,type:"primary",onClick:e.onSQLAnalyze},{default:f(()=>[...o[1]||(o[1]=[A("SQL解析",-1)])]),_:1},8,["onClick"])):J("",!0),e.dataType==="json"?(k(),_(l,{key:1,type:"primary",onClick:e.onJSONAnalyze},{default:f(()=>[...o[2]||(o[2]=[A("JSON解析",-1)])]),_:1},8,["onClick"])):J("",!0),e.dataType==="api"?(k(),_(l,{key:2,type:"primary",onClick:e.onAPIAnalyze},{default:f(()=>[...o[3]||(o[3]=[A("API解析",-1)])]),_:1},8,["onClick"])):J("",!0)])]),_:1},8,["onRegister"]),T(b,{animated:"",activeKey:e.activeKey,"onUpdate:activeKey":o[0]||(o[0]=y=>e.activeKey=y)},{default:f(()=>[T(s,{tab:"列表字段",key:"field",forceRender:""},{default:f(()=>[T(u,{ref:"fieldTableRef",dataSource:e.fieldTable.dataSource},null,8,["dataSource"])]),_:1}),T(s,{tab:"图表参数",key:"params",forceRender:""},{default:f(()=>[T(v,{ref:"paramsTableRef",dataSource:e.paramsTable.dataSource},null,8,["dataSource"])]),_:1})]),_:1},8,["activeKey"])]),_:1},8,["spinning"])]),_:1},16,["title","confirmLoading","onCancel","onRegister"])}const wa=Te(Oe,[["render",Le],["__scopeId","data-v-f5a3bb01"]]);export{wa as default};
|