| 12345678910111213141516171819202122232425 |
- import{_ as S,aD as z,aE as U,aF as P,a2 as ne,r as s,o as i,d as u,w as d,f as a,b as r,c as m,t as V,u as p,m as O,D as y,v as oe,a9 as ae,aa as se,j as le,C as ie,a as T,F as j,k as re,l as b}from"./index-34ec9885.js";import{M as B}from"./monaco-editor-4ba4293e.js";const ce={inject:["contain"],components:{AvueEchartCommon:z,AvueEchartVue:U,AvueEchartHtml:P,MonacoEditor:B},watch:{"form.content"(n){this.handleOption()},modelValue:{handler(n){this.form=n},deep:!0},form:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},props:{modelValue:{}},data(){return{common:ne,error:"",vueOption:"",box:!1,reload:!1,options:{height:600,language:"javascript"},form:{}}},methods:{errorChange(n){this.error=n},handleOpen(){this.form=this.modelValue,this.box=!0,this.$nextTick(()=>{this.handleOption()})},handleClose(){this.$emit("update:modelValue",this.form),this.box=!1},handleOption(){this.reload=!1,this.vueOption=this.deepClone(this.form),this.$nextTick(()=>{this.reload=!0})}}},he={class:"code-edit"},de={class:"left"},ue={key:0,class:"right"},me={key:0,class:"tip"};function pe(n,t,c,h,e,l){const k=s("monaco-editor"),_=s("avue-echart-vue"),E=s("avue-echart-common"),x=s("avue-echart-html"),D=s("el-dialog");return i(),u(D,{title:"代码编辑",fullscreen:"","modal-append-to-body":"",modelValue:e.box,"onUpdate:modelValue":t[1]||(t[1]=f=>e.box=f),"append-to-body":"","close-on-click-modal":!1,width:"100%"},{default:d(()=>[a("div",he,[a("div",de,[r(k,{modelValue:e.form.content,"onUpdate:modelValue":t[0]||(t[0]=f=>e.form.content=f),language:e.options.language,height:e.options.height,options:e.options},null,8,["modelValue","language","height","options"])]),e.reload?(i(),m("div",ue,[e.error?(i(),m("div",me,V(e.error),1)):p("",!0),e.form.type==0?(i(),u(_,O({key:1},l.contain&&l.contain.activeObj,{option:e.vueOption,onErrorChange:l.errorChange,width:"100%",height:"100%"}),null,16,["option","onErrorChange"])):e.form.type==1?(i(),u(E,O({key:2},l.contain&&l.contain.activeObj,{"echart-formatter-str":e.vueOption.content,onErrorChange:l.errorChange,width:"100%"}),null,16,["echart-formatter-str","onErrorChange"])):e.form.type==2?(i(),u(x,O({key:3},l.contain&&l.contain.activeObj,{option:e.vueOption,onErrorChange:l.errorChange,width:"100%"}),null,16,["option","onErrorChange"])):p("",!0)])):p("",!0)])]),_:1},8,["modelValue"])}const _e=S(ce,[["render",pe],["__scopeId","data-v-b4a49101"]]),C=oe+"/component",ge=n=>y({url:C+"/list",method:"get",params:n}),L=n=>y({url:C+"/detail",method:"get",params:{id:n}}),fe=n=>y({url:C+"/save",method:"post",data:n}),ve=n=>y({url:C+"/update",method:"post",data:n}),be=n=>y({url:C+"/remove",method:"post",params:{ids:n}});const w=[{label:"vue组件",value:0,content:`<template>
- <div>
-
- </div>
- </template>
- <script>
- export default{
- data(){
- return {}
- },
- created(){
- },
- methods:{
- }
- }
- <\/script>
- <style>
- </style>`},{label:"echart组件",value:1,content:`function (data,params){
- const myChart = this.myChart;
- return option;
- }`},{label:"html组件",value:2,content:"<div style=''>html</div>"}],ye={components:{codeEdit:_e,AvueEchartCommon:z,AvueEchartVue:U,AvueEchartHtml:P,MonacoEditor:B},props:{menu:{type:Boolean,default:!0},activeName:""},data(){return{search:{},error:"",loading:!1,reload:!1,active:0,dicData:w,options:{height:300,language:"javascript"},content:"",index:-1,isEdit:!1,form:{},vueOption:{},data:[],type:"",page:{size:50,page:1,total:0},dialog:!1,option:{labelWidth:120,column:[{label:"组件名称",prop:"name",row:!0,rules:[{required:!0,message:"请输入组件名称",trigger:"blur"}]},{label:"组件类型",prop:"type",type:"select",dicData:w,rules:[{required:!0,message:"请选择组件类型",trigger:"blur"}]},{label:"组件数据",prop:"content",span:24},{label:"组件预览",prop:"view",span:24}]},publicPath:"/DataV/"}},created(){this.menu||(this.active=this.activeName),this.getList()},watch:{"form.content"(n){this.handleOption()},"form.type"(n){if(this.isEdit){this.isEdit=!1;return}let t=w.find(c=>c.value==n)||{};this.form.content=t.content}},methods:{errorChange(n){this.error=n},handleTabClick(n){this.active=n.props.name,this.page.page=1,this.$nextTick(()=>{this.getList()})},getTypeLabel(n){return w.find(t=>t.value==n).label},handleRow(n,t){this.$emit("change",n)},validData(n){return[0,1,2,3,4].includes(n)},rowDel(n,t){if(this.validData(t)&&this.$website.isDemo)return this.$message.error(this.$website.isDemoTip),!1;this.$confirm("此操作将永久删除, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{be(n.id).then(()=>{this.$message.success("删除成功"),this.getList()})})},handleOption(){this.reload=!1,this.vueOption=this.deepClone(this.form),this.$nextTick(()=>{this.reload=!0})},getImg(){return new Promise(n=>{html2canvas(document.querySelector(".view"),{useCORS:!0,backgroundColor:null,logging:!1,allowTaint:!0}).then(t=>{let c=t.toDataURL("image/jpeg",.1);c.length<10&&n("");var h=ae(c,new Date().getTime()+".jpg"),e=new FormData;e.append("file",h),se(e,"screenShot").then(l=>{const _=l.data.data.link;n(_)})})})},handleAdd(){this.form={name:"",type:"",content:""},this.type="add",this.isEdit=!0,this.handleOption(),this.dialog=!0},handleEdit(n,t){this.index=t,this.type="edit",this.isEdit=!0,L(n.id).then(c=>{const h=c.data.data;this.form=h,this.handleOption(),this.dialog=!0})},handleSubmit(n,t){this.type=="add"?this.rowSave(this.from,t):this.type=="edit"&&this.rowUpdate(this.from,this.index,t)},rowUpdate(n,t,c,h){if(this.validData(t)&&this.$website.isDemo)return c(),this.$message.error(this.$website.isDemoTip),!1;this.getImg().then(e=>(this.form.img=e,ve(this.form))).then(()=>{c(),this.dialog=!1,this.$message.success("修改成功"),this.getList()}).catch(e=>{h()})},rowSave(n,t,c){this.getImg().then(h=>(this.form.img=h,fe(this.form))).then(()=>{t(),this.dialog=!1,this.$message.success("新增成功"),this.getList()}).catch(h=>{c()})},handleView(n,t){this.type="edit",this.isEdit=!0,L(n.id).then(c=>{const h=c.data.data;this.form=h,this.vueOption=this.deepClone({content:h.content}),this.$refs.code.handleOpen()})},handleCurrentChange(n){this.page.page=n,this.getList()},handleSizeChange(n){this.page.size=n,this.getList()},getList(){this.loading=!0,this.data=[],ge({name:this.search.name,current:this.page.page,size:this.page.size,type:this.active}).then(n=>{this.loading=!1;const t=n.data.data;this.page.total=t.total,this.data=t.records,this.data.forEach((c,h)=>{this.data[h].type=this.data[h].type||0,this.data[h]._menu=!1})})}}},Ce={class:"content__box content__nav"},ke=["src"],we={class:"content__page"},Ve={class:"list-search"},Oe={class:"content__box"},Ee=["onMouseenter","onMouseleave"],xe={class:"content__info"},De=["src"],je={key:0,class:"content__menu"},Te={class:"content__right"},Le={class:"content__start"},Se=["onClick"],ze=["onClick"],Ue=["onClick"],Pe={class:"content__main"},Be={class:"content__name"},Ie={class:"content__status"},Me={key:0},Ae={key:0,class:"view"},Ne={key:0,class:"components__tip"};function Fe(n,t,c,h,e,l){const k=s("el-icon-search"),_=s("el-icon"),E=s("el-input"),x=s("el-pagination"),D=s("el-tab-pane"),f=s("el-tabs"),I=s("el-header"),M=s("el-icon-view"),A=s("el-tooltip"),N=s("el-icon-edit"),F=s("el-icon-delete"),R=s("el-icon-check"),q=s("svg-icon"),K=s("el-empty"),H=s("el-main"),W=s("monaco-editor"),G=s("el-button"),J=s("avue-echart-vue"),Q=s("avue-echart-common"),X=s("avue-echart-html"),Y=s("avue-form"),Z=s("el-dialog"),$=s("code-edit"),ee=s("el-container"),te=le("loading");return i(),u(ee,{class:"list"},{default:d(()=>[r(I,{class:"content__header"},{default:d(()=>[a("div",Ce,[c.menu?(i(),m("div",{key:0,class:"content__add",onClick:t[0]||(t[0]=(...o)=>l.handleAdd&&l.handleAdd(...o))},[a("img",{src:`${e.publicPath}img/components.png`,height:"40px",alt:""},null,8,ke),t[9]||(t[9]=a("div",null,[a("p",null,"创建组件"),a("span",null,"丰富组件,按需引入项目")],-1))])):p("",!0),a("div",we,[a("div",Ve,[r(E,{modelValue:e.search.name,"onUpdate:modelValue":t[1]||(t[1]=o=>e.search.name=o),onKeyup:ie(l.getList,["enter"]),placeholder:"请输入名称"},{suffix:d(()=>[r(_,{onClick:l.getList,class:"el-input__icon"},{default:d(()=>[r(k)]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"])]),e.page.total>0?(i(),u(x,{key:0,layout:"total, prev, pager, next,jumper",background:"",size:"small",onSizeChange:l.handleSizeChange,onCurrentChange:l.handleCurrentChange,"page-size":e.page.size,"current-page":e.page.page,"onUpdate:currentPage":t[2]||(t[2]=o=>e.page.page=o),total:e.page.total},null,8,["onSizeChange","onCurrentChange","page-size","current-page","total"])):p("",!0)])]),c.menu?(i(),u(f,{key:0,class:"list-tabs",modelValue:e.active,"onUpdate:modelValue":t[3]||(t[3]=o=>e.active=o),onTabClick:l.handleTabClick},{default:d(()=>[(i(!0),m(j,null,T(e.dicData,(o,g)=>(i(),u(D,{key:g,label:o.label,name:o.value},null,8,["label","name"]))),128))]),_:1},8,["modelValue","onTabClick"])):p("",!0)]),_:1}),re((i(),u(H,O({class:"content"},n.$loadingParams),{default:d(()=>[a("div",Oe,[e.data.length>0?(i(!0),m(j,{key:0},T(e.data,(o,g)=>(i(),m("div",{class:"content__item",onMouseenter:v=>o._menu=!0,onMouseleave:v=>o._menu=!1,key:g},[a("div",xe,[a("img",{src:n.computedImgUrl(o.img)||`${e.publicPath}img/components-default.png`,alt:""},null,8,De),o._menu?(i(),m("div",je,[a("div",Te,[r(A,{content:"预览"},{default:d(()=>[r(_,{onClick:v=>l.handleView(o,g)},{default:d(()=>[r(M)]),_:1},8,["onClick"])]),_:2},1024)]),a("div",Le,[c.menu?(i(),m(j,{key:0},[a("div",{class:"content__btn",onClick:v=>l.handleEdit(o,g)},[r(_,null,{default:d(()=>[r(N)]),_:1})],8,Se),a("div",{class:"content__btn",onClick:v=>l.rowDel(o,g)},[r(_,null,{default:d(()=>[r(F)]),_:1})],8,ze)],64)):(i(),m("div",{key:1,class:"content__btn",onClick:v=>l.handleRow(o,g)},[r(_,null,{default:d(()=>[r(R)]),_:1})],8,Ue))])])):p("",!0)]),a("div",Pe,[a("span",Be,V(o.name),1),a("span",Ie,V(l.getTypeLabel(o.type)),1)])],40,Ee))),128)):(i(),u(K,{key:1,class:"content__empty",description:"暂无数据"},{image:d(()=>[r(q,{"icon-class":"empty"})]),_:1}))])]),_:1},16)),[[te,e.loading]]),r(Z,{title:"编辑组件",width:"70%","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,modelValue:e.dialog,"onUpdate:modelValue":t[7]||(t[7]=o=>e.dialog=o)},{default:d(()=>[r(Y,{option:e.option,modelValue:e.form,"onUpdate:modelValue":t[6]||(t[6]=o=>e.form=o),onSubmit:l.handleSubmit},{content:d(()=>[r(W,{modelValue:e.form.content,"onUpdate:modelValue":t[4]||(t[4]=o=>e.form.content=o),language:e.options.language,height:e.options.height,options:e.options},null,8,["modelValue","language","height","options"]),t[12]||(t[12]=a("br",null,null,-1)),e.form.type==1?(i(),m("div",Me,[...t[10]||(t[10]=[a("span",null,[a("a",{href:"https://echarts.apache.org/examples/zh/index.html",target:"_blank"},"官方组件库")],-1),b(" ",-1),a("span",null,[a("a",{href:"http://chart.majh.top",target:"_blank"},"三方组件库1")],-1),b(" ",-1),a("span",null,[a("a",{href:"http://echarts.zhangmuchen.top",target:"_blank"},"三方组件库2")],-1),b(" ",-1),a("span",null,[a("a",{href:"https://madeapie.com",target:"_blank"},"三方组件库3")],-1),b(" ",-1),a("span",null,[a("a",{href:"http://ppchart.com",target:"_blank"},"三方组件库4")],-1)])])):p("",!0),r(G,{icon:"el-icon-edit",type:"primary",onClick:t[5]||(t[5]=o=>n.$refs.code.handleOpen())},{default:d(()=>[...t[11]||(t[11]=[b("放大编辑器",-1)])]),_:1})]),view:d(()=>[e.reload?(i(),m("div",Ae,[e.error?(i(),m("div",Ne,V(e.error),1)):p("",!0),e.form.type==0?(i(),u(J,{key:1,option:e.vueOption,onErrorChange:l.errorChange,width:"100%",height:"100%"},null,8,["option","onErrorChange"])):e.form.type==1?(i(),u(Q,{key:2,"echart-formatter-str":e.vueOption.content,onErrorChange:l.errorChange,width:"100%"},null,8,["echart-formatter-str","onErrorChange"])):e.form.type==2?(i(),u(X,{key:3,option:e.vueOption,onErrorChange:l.errorChange,width:"100%",height:"100%"},null,8,["option","onErrorChange"])):p("",!0)])):p("",!0)]),_:1},8,["option","modelValue","onSubmit"])]),_:1},8,["modelValue"]),r($,{ref:"code",modelValue:e.form,"onUpdate:modelValue":t[8]||(t[8]=o=>e.form=o)},null,8,["modelValue"])]),_:1})}const Re=S(ye,[["render",Fe],["__scopeId","data-v-03b9aae9"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Re},Symbol.toStringTag,{value:"Module"}));export{Re as a,He as b,_e as c,L as g};
|