import{d as A,r as h,G as K,a as k,g as W,w as u,b as r,l as s,a2 as H,c as D,a3 as $,j as S,t as M,k as R,a4 as j,u as U,J as q,I as G,o as P,a5 as Y,z as Z,F as Q,x as X,h as ee,W as w,B as te,a6 as ae,D as se,S as b,q as O,m as _,E as oe,C as le,Y as ne,Z as ie}from"./index-ea7eee8a.js";import{_ as re,a as ce}from"./vueFile.vue_vue_type_script_setup_true_lang-db7b0571.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:null,type:{default:2}},emits:["controlBtnClick"],setup(T,{expose:x,emit:C}){const v=T,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 x({getData:()=>m.value,setDataList:o=>{m.value=o},setData:o=>{console.log(o)}}),(o,f)=>(k(),W(U(q),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:R(["group",{["group-"+l.type]:!0,[l.class]:l.class,active:c.value===l.name}]),onClick:$(a=>V(l),["stop"])},[s(H,{option:l.option,width:l.width,height:l.height},null,8,["option","width","height"]),T.type===1?(k(),D("div",ue,[r("div",pe,[r("i",{class:"icon-clone",onClick:$(a=>e("clone",p,l),["stop"]),title:"克隆"},null,8,me),r("i",{class:"icon-del",onClick:$(a=>e("del",p,l),["stop"])},null,8,ge)]),fe])):S("",!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(T){const x=le(),C=ee(),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=G({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}te(()=>{e.editor=ae(i)})},o=()=>{try{const a=se(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 t={data:w(a),id:e.id,name:e.name};O("saveEcharts",t).then(i=>{var d;console.log(i),b({message:((d=i.data)==null?void 0:d.message)||"保存成功!",type:"success"}),x.push({path:"/echarts/list"}),e.loading=!1}).catch(i=>{var d;b.error(((d=i.data)==null?void 0:d.message)||"保存异常"),e.loading=!1})},l=a=>{a()},p=()=>{e.id&&(e.loading=!0,O("echartsList",{id:e.id}).then(a=>{e.loading=!1;const t=a.data;e.name=t.name,g.value.setDataList(t.list)}).catch(a=>{var t;b.error(((t=a.data)==null?void 0:t.message)||"操作异常"),e.loading=!1}))};return P(()=>{p()}),Y(()=>{Object.keys(e.editor).length!==0&&(e.editor.destroy(),e.editor.container.remove())}),(a,t)=>{const i=_("el-input"),d=_("el-form-item"),y=_("el-tab-pane"),N=_("el-tabs"),F=_("el-form"),J=_("el-button"),z=_("el-drawer"),I=oe("loading");return Z((k(),D("div",he,[r("div",ye,[be,s(U(q),{itemKey:"key",tag:"ul",modelValue:m.value,"onUpdate:modelValue":t[0]||(t[0]=n=>m.value=n),group:{name:"form",pull:"clone",put:!1},"ghost-class":"ghost",sort:!1,clone:V},{item:u(({element:n})=>[r("li",{class:R([n.type])},[r("i",{class:R(`icon-${n.icon}`)},null,2),r("span",{title:n.label},M(n.label),9,ke)],2)]),_:1},8,["modelValue"])]),r("div",Ce,[s(re,{onClick:E,type:"2"}),r("div",Ve,[s(ve,{type:1,onControlBtnClick:B,ref_key:"echartsEl",ref:g},null,512)])]),r("div",we,[s(F,{size:"small"},{default:u(()=>[s(N,{modelValue:"first"},{default:u(()=>[s(y,{label:"图表属性",name:"first"},{default:u(()=>[Object.keys(c.value).length?(k(),D(Q,{key:0},[s(d,{label:"自定义Class"},{default:u(()=>[s(i,{placeholder:"自定义Class",modelValue:c.value.class,"onUpdate:modelValue":t[1]||(t[1]=n=>c.value.class=n)},null,8,["modelValue"])]),_:1}),s(d,{label:"字段标识"},{default:u(()=>[s(i,{placeholder:"字段标识",modelValue:c.value.name,"onUpdate:modelValue":t[2]||(t[2]=n=>c.value.name=n)},null,8,["modelValue"])]),_:1}),s(d,{label:"图表宽度"},{default:u(()=>[s(i,{placeholder:"图表宽度,数字类型",modelValue:c.value.width,"onUpdate:modelValue":t[3]||(t[3]=n=>c.value.width=n),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),s(d,{label:"图表高度"},{default:u(()=>[s(i,{placeholder:"图表高度,数字类型",modelValue:c.value.height,"onUpdate:modelValue":t[4]||(t[4]=n=>c.value.height=n),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1})],64)):S("",!0)]),_:1}),s(y,{label:"图表配置",name:"two"},{default:u(()=>[s(d,{label:"保存名称"},{default:u(()=>[s(i,{placeholder:"保存名称",modelValue:e.name,"onUpdate:modelValue":t[5]||(t[5]=n=>e.name=n)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})]),s(z,{modelValue:e.visible,"onUpdate:modelValue":t[6]||(t[6]=n=>e.visible=n),size:"60%",direction:e.direction,class:"ace-dialog","append-to-body":!0,"before-close":l},{header:u(()=>[r("div",{innerHTML:e.dialogTitle},null,8,De)]),default:u(()=>[e.visible?(k(),D("div",Te)):S("",!0),r("div",xe,[s(J,{type:"primary",size:"small",onClick:o},{default:u(()=>[X(" 确定 ")]),_:1})])]),_:1},8,["modelValue","direction"]),s(ce,{ref_key:"vueFileEl",ref:v},null,512)])),[[I,e.loading]])}}});export{Re as default};