| 1 |
- import{_ as R,as as z,at as A,au as U,av as B,aw as J,ax as F,ay as w,r as s,j as P,o as u,d as c,w as i,b as d,f as o,C as E,k as g,m,az as I,t as W,l as _,u as q}from"./index-34ec9885.js";const K={props:{menu:{type:Boolean,default:!0}},components:{AvueEchartMap:z},computed:{isEdit(){return this.boxType=="edit"}},data(){return{boxType:null,mapFormatter:A,search:{},publicPath:"/DataV/",loading:!1,form:{data:""},data:[],option:{lazy:!0,dialogWidth:"600",height:"auto",calcHeight:140,header:!1,labelWidth:100,menuWidth:350,column:[{label:"上一级别",hide:!0,span:24,disabled:!0,prop:"parentName"},{label:"地图名称",prop:"name",span:24,row:!0,rules:[{required:!0,message:"请输入地图名称",trigger:"blur"}]},{label:"地图级别",prop:"level",width:100,align:"center",headerAlign:"center",type:"select",dicData:[{label:"国家",value:0},{label:"省份",value:1},{label:"城市",value:2},{label:"区县",value:3}],rules:[{required:!0,message:"请选择地图级别",trigger:"blur"}],span:24},{label:"地图编号",prop:"code",width:100,align:"center",headerAlign:"center",span:24,row:!0,rules:[{required:!0,message:"请输入地图编号",trigger:"blur"}]},{span:24,label:"地图数据",prop:"data",hide:!0,formslot:!0,type:"textarea",minRows:20}]},viewObj:{option:{width:600,height:700,option:{mapData:1,tipBackgroundColor:"rgba(13, 255, 255, .5)",tipColor:"rgba(217, 38, 10, 1)",tipFontSize:"20",borderWidth:1,scale:100,type:0,borderColor:"#0dffff",areaColor:"rgba(6, 29, 51, 0.59)",banner:!0,bannerTime:3e3,fontSize:12,zoom:.5,roam:!0,empAreaColor:"rgba(35, 183, 229, 0.42)",empColor:"rgba(217, 38, 10, 1)",color:"rgba(13, 255, 255, 1)"}},box:!1,form:{}}}},created(){this.option.menu=this.menu,this.onLoad()},methods:{expanded(){const e=document.getElementsByClassName("el-table__expand-icon");this.$nextTick(()=>{e[0]&&e[0].click()})},handleCurrentRowChange(e){this.$emit("submit",e)},goDraw(){window.open("https://datav.aliyun.com/tools/atlas/#&lat=33.521903996156105&lng=104.29849999999999&zoom=4")},handleView(e){e=e||this.form,this.viewObj.form=e,this.viewObj.box=!0,this.viewObj.option.option.mapData=e.id},handleLefAdd(e,t){this.form.parentId=e.id,this.form.parentName=e.name,this.form.parentCode=e.code,this.$refs.crud.rowAdd()},uploadFile(e){this.loading=!0;const t=new FileReader;t.readAsText(e.raw,"UTF-8"),t.onload=n=>{const p=n.target.result;let a=JSON.parse(p)||{};this.form.data=a||"",this.loading=!1}},beforeOpen(e,t){this.boxType=t,t=="edit"?(e(),this.loading=!0,U(this.form.id).then(n=>{this.loading=!1;const p=n.data.data;this.form=p,this.form.code=this.form.code.replace(this.form.parentCode,""),this.form.data=JSON.parse(this.form.data)}).catch(n=>{this.loading=!1})):(this.form.parentCode=this.form.parentCode||0,e())},rowDel(e,t,n){this.$confirm("此操作将永久删除, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{B(e.id).then(()=>{this.$message.success("删除成功"),n(e)})}).catch(()=>{})},isValidJSON(e){try{return JSON.stringify(e),!0}catch{return!1}},rowUpdate(e,t,n){this.isValidJSON(e.data)&&(e.data=JSON.stringify(e.data)),J(e).then(()=>{n(e),this.$message.success("修改成功")})},handleEdit(e,t){this.$refs.crud.rowEdit(e,t)},rowSave(e,t,n){this.isValidJSON(e.data)&&(e.data=JSON.stringify(e.data)),e.parentId=e.parentId||0,e.parentCode=e.parentCode||e.code,e.code=e.parentCode+e.code,F(e).then(()=>{this.$message.success("新增成功"),this.data=[],this.onLoad(),t(e)}).catch(p=>{n()})},treeLoad(e,t,n){w({parentId:e.id}).then(p=>{const a=p.data.data.map(l=>({...l,data:""}));n(a)})},onLoad(){this.loading=!0,w({name:this.search.name,parentId:0}).then(e=>{this.loading=!1;const t=e.data.data.map(n=>({...n,data:""}));this.data=t,this.$nextTick(()=>{this.expanded()})})}}},M={class:"content__box content__nav"},H={class:"avue-flex"},G=["src"],Q=["src"],X={class:"content__page"},Y={class:"list-search"},Z={class:"content__box"};function $(e,t,n,p,a,l){const x=s("el-icon-search"),y=s("el-icon"),b=s("el-input"),O=s("el-header"),V=s("json-viewer"),h=s("el-button"),j=s("el-upload"),k=s("avue-crud"),D=s("el-main"),N=s("avue-echart-map"),S=s("el-dialog"),T=s("el-container"),f=P("loading");return u(),c(T,{class:"list"},{default:i(()=>[d(O,{class:"content__header"},{default:i(()=>[o("div",M,[o("div",H,[o("div",{class:"content__add",onClick:t[0]||(t[0]=r=>e.$refs.crud.rowAdd())},[o("img",{src:`${a.publicPath}img/map.png`,height:"40px",alt:""},null,8,G),t[6]||(t[6]=o("div",null,[o("p",null,"创建地图"),o("span",null,"自定义地图 随心所欲")],-1))]),o("div",{class:"content__add",onClick:t[1]||(t[1]=(...r)=>l.goDraw&&l.goDraw(...r))},[o("img",{src:`${a.publicPath}img/download.png`,height:"40px",alt:""},null,8,Q),t[7]||(t[7]=o("div",null,[o("p",null,"地图下载"),o("span",null,"全国任意地图下载")],-1))])]),o("div",X,[o("div",Y,[d(b,{modelValue:a.search.name,"onUpdate:modelValue":t[2]||(t[2]=r=>a.search.name=r),onKeyup:E(l.onLoad,["enter"]),placeholder:"请输入名称"},{suffix:i(()=>[d(y,{onClick:l.onLoad,class:"el-input__icon"},{default:i(()=>[d(x)]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"])])])])]),_:1}),g((u(),c(D,m({class:"content"},e.$loadingParams),{default:i(()=>[o("div",Z,[g((u(),c(k,m({ref:"crud",option:a.option,modelValue:a.form,"onUpdate:modelValue":t[4]||(t[4]=r=>a.form=r),onRowSave:l.rowSave,onRowUpdate:l.rowUpdate,onRowDel:l.rowDel,onTreeLoad:l.treeLoad,onCurrentRowChange:l.handleCurrentRowChange},e.$loadingParams,{"before-open":l.beforeOpen,data:a.data}),{"code-form":i(()=>[d(b,{placeholder:"请输入内容",modelValue:a.form.code,"onUpdate:modelValue":t[3]||(t[3]=r=>a.form.code=r)},I({_:2},[a.form.parentCode?{name:"prepend",fn:i(()=>[o("span",null,W(a.form.parentCode),1)]),key:"0"}:void 0]),1032,["modelValue"])]),"data-form":i(()=>[g(d(V,m({value:a.form.data},e.$loadingParams,{copyable:"","expand-depth":2,theme:"avue-json-theme",boxed:""}),null,16,["value"]),[[f,a.loading]]),d(j,{action:"#",style:{"margin-top":"20px"},"show-file-list":!1,"auto-upload":!1,"on-change":l.uploadFile},{default:i(()=>[d(h,{loading:a.loading,icon:"el-icon-upload",type:"primary"},{default:i(()=>[...t[8]||(t[8]=[_("点击上传",-1)])]),_:1},8,["loading"])]),_:1},8,["on-change"])]),menu:i(({row:r,index:v,size:C})=>[d(h,{type:"primary",text:"",size:C,onClick:L=>l.handleLefAdd(r,v),icon:"el-icon-plus"},{default:i(()=>[...t[9]||(t[9]=[_(" 增加子级 ",-1)])]),_:1},8,["size","onClick"]),d(h,{type:"primary",text:"",size:C,onClick:L=>l.handleView(r,v),icon:"el-icon-view"},{default:i(()=>[...t[10]||(t[10]=[_(" 预览 ",-1)])]),_:1},8,["size","onClick"])]),_:1},16,["option","modelValue","onRowSave","onRowUpdate","onRowDel","onTreeLoad","onCurrentRowChange","before-open","data"])),[[f,a.loading]])])]),_:1},16)),[[f,a.loading]]),d(S,{title:a.viewObj.form.name+" 预览",class:"avue-dialog",width:"50%",modelValue:a.viewObj.box,"onUpdate:modelValue":t[5]||(t[5]=r=>a.viewObj.box=r)},{default:i(()=>[a.viewObj.box?(u(),c(N,m({key:0},a.viewObj.option,{"map-formatter":a.mapFormatter}),null,16,["map-formatter"])):q("",!0)]),_:1},8,["title","modelValue"])]),_:1})}const te=R(K,[["render",$]]);export{te as default};
|