数通互联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
7.0 KiB

import{d as A,r as h,G as K,o as k,f as H,w as u,l as r,m as s,a2 as W,c as D,a3 as x,j as $,t as M,k as S,a4 as j,L as N,N as U,C as G,u as P,I as X,b as Z,a5 as Q,h as _,D as Y,z as ee,F as te,x as ae,X as w,B as se,a6 as oe,E as le,S as b,q as O,Z as ne,$ as ie}from"./index-3679850f.js";import{_ as re,a as ce}from"./vueFile.vue_vue_type_script_setup_true_lang-604207ac.js";const de=["onClick"],ue={key:0,class:"drag-control"},pe={class:"item-control"},me=["onClick"],ge=["onClick"],fe=r("div",{class:"drag-move icon-move"},null,-1),_e={class:"tooltip"},ve=A({__name:"echarts",props:{data:{},type:{default:2}},emits:["controlBtnClick"],setup(R,{expose:T,emit:C}){const v=R,c=h(),m=h({list:[],config:{}});K(()=>v.data,o=>{o&&(m.value=o)},{immediate:!0});const g=o=>{if(v.type!==1)return;const f=o.newIndex,l=new Date().getTime().toString(),p=m.value.list[f];p&&(delete p.label,delete p.icon,Object.assign(p,{name:p.type+l}),V(p))},V=o=>{console.log("groupClick",o),c.value=o.name,C("controlBtnClick",o)},e=(o,f,l)=>{if(v.type!==2){if(o==="clone"){const p=l.type+new Date().getTime().toString(),a=JSON.parse(JSON.stringify(l));m.value.list.splice(f,0,Object.assign(a,{name:p}))}else o==="del"&&m.value.list.splice(f,1);C("controlBtnClick","")}};return T({getData:()=>m.value,setDataList:o=>{m.value=o},setData:o=>{console.log(o)}}),(o,f)=>(k(),H(N(U),j({itemKey:"id",list:m.value.list,name:"fade",class:"drag"},{group:"form",ghostClass:"ghost",animation:200,handle:".drag-move"},{onAdd:g}),{item:u(({element:l,index:p})=>[r("div",{class:S(["group",{["group-"+l.type]:!0,[l.class]:l.class,active:c.value===l.name}]),onClick:x(a=>V(l),["stop"])},[s(W,{option:l.option,width:l.width,height:l.height},null,8,["option","width","height"]),o.type===1?(k(),D("div",ue,[r("div",pe,[r("i",{class:"icon-clone",onClick:x(a=>e("clone",p,l),["stop"]),title:"克隆"},null,8,me),r("i",{class:"icon-del",onClick:x(a=>e("del",p,l),["stop"])},null,8,ge)]),fe])):$("",!0),r("div",_e,M(l.name),1)],10,de)]),_:1},16,["list"]))}}),he={class:"design-container design-chart"},ye={class:"components-list"},be=r("div",{class:"title"},"图表类型",-1),ke=["title"],Ce={class:"main-body"},Ve={class:"main-form design-form"},we={class:"sidebar-tools"},De=["innerHTML"],Te={key:0,id:"editJson"},xe={class:"dialog-footer"},Re=A({__name:"index",setup(R){const T=G(),C=P(),v=h(),c=h({}),m=h([{icon:"line",label:"折线图",type:"line",option:{xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},yAxis:{type:"value"},series:[{data:[150,230,224,218,135,147,260],type:"line"}]}},{icon:"bar",label:"柱状图",type:"bar",option:{xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},yAxis:{type:"value"},series:[{data:[120,200,150,80,70,110,130],type:"bar"}]}},{icon:"pie",label:"饼图",type:"pie",option:{series:[{name:"Access From",type:"pie",radius:"50%",data:[{value:1048,name:"Search Engine"},{value:735,name:"Direct"},{value:580,name:"Email"},{value:484,name:"Union Ads"},{value:300,name:"Video Ads"}]}]}}]),g=h(),V=a=>JSON.parse(JSON.stringify(a)),e=X({editor:{},loading:!1,id:C.query.id,direction:"rtl",dialogTitle:"",visible:!1,dialogType:"",name:""}),B=a=>{c.value=a},E=a=>{const t=g.value.getData();switch(a){case"del":g.value.setDataList([]),c.value="";break;case"json":L(t,{type:"export"});break;case"vue":v.value.openEcharts(t);break;case"save":f(t);break}},L=(a,t={})=>{var d,y;e.direction=t.direction||"rtl",e.visible=!0,e.dialogTitle=t.title,e.dialogType=t.type,a||(a=g.value.getData());let i=w(a,!0);switch(t.type){case"beforeRequest":(d=a.config)!=null&&d.beforeRequest?i=w(a.config.beforeRequest,!0):i=ie;break;case"afterResponse":(y=a.config)!=null&&y.afterResponse?i=w(a.config.afterResponse,!0):i=ne;break}se(()=>{e.editor=oe(i)})},o=()=>{try{const a=le(e.editor.getValue());switch(e.dialogType){case"export":g.value.setDataList(a);break;case"beforeRequest":case"afterResponse":const t=g.value.getData();t.config[e.dialogType]=a;break}e.visible=!1}catch(a){b.error(a.message)}},f=a=>{if(!e.name){b.error("请输入图表保存的名称");return}e.loading=!0;const