2 lines
5.3 KiB
Java
2 lines
5.3 KiB
Java
|
|
import{as as M,d as H,s as be,r as j,c as De,aQ as Te}from"./index-X7Y8jykP.js";import{printJS as Se}from"./usePrintJS-Bi_9y7xu.js";import{downloadByData as Pe}from"./download-CygB1orH.js";import{filterDictText as P}from"./JDictSelectUtil-DwVTEDM5.js";import{B as Fe}from"./Bar-DCEyn2jh.js";import{P as we}from"./Pie-BfX96_-a.js";import{B as ke}from"./BarMulti--ZxpkIeN.js";import{L as Le}from"./LineMulti-0TfPtS_j.js";import{h as Me,b as g,c as r,r as y}from"./vue-vendor-DNhG1Cve.js";const $e={title:M.string,chartsData:M.object,asComponent:M.bool.def(!1)},Ee=["error"],Ie={LineMulti:Le,BarMulti:ke,Pie:we,Bar:Fe},Xe={components:Ie,props:$e,emits:Ee},Be={jsonFormattingFailed:"JSON字符串格式化失败"};function Ye(d,{emit:q}){const{createMessage:$,createConfirm:K,createInfoModal:X,createErrorModal:Y,createSuccessModal:_,createWarningModal:G}=be(),p=y(null),v=y("400px"),D=y("bar"),C=y([]),E=y(!0),I=r(()=>`print-content-${p.value}`),B=g({chartData:[]}),N=g({chartData:[]}),R=g({chartData:[]}),Q=g({dataSource:[]}),f=g({fixedColumns:[{title:"#",key:"rowIndex",width:"10%",align:"center",customRender:function({record:e,index:t}){return e.isTotal===!0?"总计":parseInt(t)+1}}],columns:[],dataSource:[]}),F=g({}),b=r({get(){return p.value==null?null:F[p.value]},set(e){p.value!=null&&(F[p.value]=e)}}),W=r(()=>C.value.includes("line")),A=r(()=>C.value.includes("bar")),U=r(()=>C.value.includes("pie")),T=y(!1),V=r(()=>({type:"line",height:v.value,chartData:B.chartData,onClick(e){w(e)}})),Z=r(()=>({height:v.value,chartData:N.chartData,onClick(e){w(e)}})),ee=r(()=>({height:v.value,chartData:R.chartData,onClick(e){w(e)}})),te=r(()=>({height:v.value,dataSource:Q.dataSource,onClick(e,t){}})),ae=r(()=>({title:d.title,headStyle:{paddingLeft:"20px"},bodyStyle:{padding:"10px"},bordered:!d.asComponent})),ne=r(()=>({title:"数据明细",headStyle:{paddingLeft:"20px"},bodyStyle:{padding:"0"},style:{marginTop:"20px"},bordered:!d.asComponent})),re=r(()=>({type:"primary",preIcon:"ant-design:download",text:"导出",style:{margin:"12px"}})),ie=r(()=>({checkedChildren:"分页",unCheckedChildren:"分页",style:{position:"absolute",top:"17px",right:"12px"}})),le=r(()=>({size:"middle",rowKey:"id",pagination:E.value?{pageSize:10}:!1,columns:f.columns,dataSource:f.dataSource,style:{borderTop:"1px solid #e8e8e8"}})),oe=r(()=>!d.asComponent),se=r(()=>d.asComponent);Me(()=>d.chartsData,e=>de(e),{immediate:!0});function ce(e,t){if(!t||!e)return;let n={line:null,bar:null,pie:null};new Function("onClick","headId",`${t}`)(n,e),b.value==null?b.value={click:n}:b.value.click=n}const ue={$router:j,$http:H,$message:$,$confirm:K,$info:X,$error:Y,$success:_,$warning:G};function w(e){if(b.value!=null){let t=e.seriesType,n=b.value.click[t];De(n)&&n.call(ue,e)}}function de(e){if(e==null)return null;let{head:t,data:n,items:h,dictOptions:m}=e;if(t==null)return;let{id:o,xaxisField:u,yaxisField:s,dataType:i,cgrSql:a,graphType:l,extendJs:c}=t;p.value=o,ce(o,c);try{n=i==="sql"||i==="api"?n:JSON.parse(a)}catch(L){q("error",Be.jsonFormattingFailed);return}let k=m[u],x=l.split(",");D.value=x[0],D.value=="table"&&(D.value=x[1]),C.value=x;let Ce=s.split(","),O=new Map;h.forEach(L=>O.set(L.fieldName,L));let z=x.indexOf("table");T.value=z!==-1,T.value&&x.splice(z,1);let S={graphTypes:x,data:n,items:h,fieldMap:O,xaxisField:u,yaxisFields:Ce,dictList:k,dictOptions:m};pe(S),fe(S),he(S),me(S)}function J(e){var s;let{data:t,fieldMap:n,xaxisField:h,yaxisFields:m,dictList:o}=e,u=[];for(let i of m)for(let a of t){let l=a[h];o&&(l=P(o,l)),u.push({name:l,value:a[i],type:((s=n.get(i))==null?void 0:s.fieldTxt)||i})}return u}function pe(e){let{graphTypes:t}=e;t.includes("line")&&(B.chartData=J(e))}function fe(e){let{graphTypes:t}=e;t.includes("bar")&&(N.chartData=J(e))}function he(e){let{graphTypes:t,data:n,xaxisField:h,yaxisFields:m,dictList:o}=e,u=m[0];if(t.includes("pie")){let s=[];for(let i of n){let a=i[h];o&&(a=P(o,a)),s.push({name:a,value:i[u]})}R.chartData=s}}function me(e){let{data:t,items:n,xaxisField:h,yaxisFields:m,dictList:o,dictOptions:u}=e;if(T.value){f.dataSource=t.map((a,l)=>{a.id=l;l
|