mirror of
https://gitee.com/myxzgzs/boyue_jnpf.git
synced 2025-08-08 07:12:42 +08:00
14 lines
13 KiB
JavaScript
14 lines
13 KiB
JavaScript
import{d as te}from"./db-e07de7fa.js";import{_ as oe,R as L,M as le,H as q,S as ae,T as S,U as ne,V as se,O as ie,W as re,X as de,Y as ue,Z as me,$ as ce,r,j as pe,o as u,d as c,w as s,k,m as x,b as n,l as T,c as g,F as b,u as f,f as m,C as he,a as fe,t as D}from"./index-f87df9cc.js";import{M as _e}from"./monaco-editor-f9caa2e2.js";L.dataType.splice(4,1);const Q=L.dataType,ge={components:{MonacoEditor:_e,db:te},data(){return{boxLoading:!1,box:!1,search:{},loading:!1,tabs:0,box:!1,client:{},mqClient:{},DIC:{method:L.dataMethod,sql:[]},result:{},form:{},data:[],page:{pageSize:10,currentPage:1,total:0},option:{height:"auto",calcHeight:140,header:!1,labelWidth:130,index:!0,align:"center",headerAlign:"center",column:[{label:"名称",prop:"name",rules:[{required:!0,message:"请输入名称",trigger:"blur"}]},{label:"类型",prop:"dataType",type:"select",dicData:Q,rules:[{required:!0,message:"请选择类型",trigger:"blur"}]},{label:"",prop:"content",hide:!0,labelWidth:0,span:24}]},publicPath:"/DataV/"}},computed:{isStatic(){return this.form.dataType===0},isApi(){return this.form.dataType==1},isSql(){return this.form.dataType==2},isWs(){return this.form.dataType===3},isMqtt(){return this.form.dataType==6},isNode(){return this.form.dataType==7}},watch:{"form.dataType"(){this.result="",this.tabs="0"}},created(){this.init()},methods:{init(){le({current:1,size:100}).then(o=>{const t=o.data.data;this.DIC.sql=t.records.map(i=>({label:i.name,value:i.id}))})},getTypeLabel(o){return Q.find(t=>t.value==o).label},getSql(o){return JSON.stringify({id:o.dbId,sql:q.encryptAES(o.dbSql)})},handleClose(){this.mqClient.end&&this.mqClient.end(),this.mqClient.close&&this.mqClient.close(),this.client.close&&this.client.close()},handleResult(o){this.form=o,this.box=!0,this.beforeOpen(()=>{},"edit")},handleTest(){this.$refs.db.handleOpen(this.form.dbId)},handleRes(o=!0){this.boxLoading=!0;const t=i=>{this.boxLoading=!1;const d=S(this.form.dataFormatter);return o&&this.$message.success("数据刷新成功"),typeof d=="function"?d(i):i};if(this.isStatic){let i=ae(this.form.data);this.result=t(i)}else if(this.isApi){let i=S(this.form.dataQuery);i=typeof i=="function"&&i(this.form.url)||{};let d=S(this.form.dataHeader);d=typeof d=="function"&&d(this.form.url)||{};let e=i,a={},h=this.form.dataMethod;if(this.form.proxy&&(d.proxy=!0),["post","put"].includes(h)){if(a.data=i,this.form.dataQueryType=="form"){this.form.proxy&&(d.form=!0);let _=[];Object.keys(e).forEach(y=>{_.push(`${y}=${e[y]}`)}),a.data=_.join("&")}}else["get","delete"].includes(h)&&(a.params=i);this.$axios({method:this.form.dataMethod,url:this.form.url,headers:d,...a}).then(_=>{this.result=t(_.data)})}else if(this.isSql)ne(this.getSql(this.form)).then(i=>{this.result=t(i.data.data)});else if(this.isWs){this.handleClose();let i=this.form.dataQuery?S(this.form.dataQuery)():{},d=this.form.wsUrl+se(i);this.client=new WebSocket(d),this.client.onmessage=(e={})=>{const a=JSON.parse(e.data);this.result=t(a)}}else if(this.isMqtt){this.handleClose();let i=this.form.mqttUrl,d=JSON.parse(this.form.mqttConfig);d.clientId="mqttjs_"+new Date().getTime(),this.mqClient=ie.connect(i,d),this.mqClient.on("connect",()=>{this.mqClient.subscribe(d.topic.name,{qos:d.topic.qos||0},(e,a)=>{console.log("Subscribe to topics res",a,e)})}),this.mqClient.on("message",(e,a)=>{let h=d.topic;if(e===h.name){let _=JSON.parse(a);this.result=t(_)}})}},handleImport(o,t){this.$Export.xlsx(o.raw).then(i=>{this.form.data=i.results,this.$message.success("导入成功")})},validData(o){return[0,1,2].includes(o)},beforeClose(o){this.handleClose(),o()},beforeOpen(o,t){this.result="",t=="edit"?re(this.form.id).then(i=>{const d=i.data.data;if(this.form=d,this.isSql){let e=JSON.parse(this.form.data);this.form.dbId=e.id,this.form.dbSql=q.decryptAES(e.sql)}this.handleRes(!1),o&&o()}):o&&o(),this.form.dataFormatter=this.form.dataFormatter||`(data)=>{
|
||
return {
|
||
data
|
||
}
|
||
}`,this.form.dataQuery=this.form.dataQuery||`()=>{
|
||
return {
|
||
|
||
}
|
||
}`,this.form.dataHeader=this.form.dataHeader||`()=>{
|
||
return {
|
||
|
||
}
|
||
}`},handleEdit(o,t){this.$refs.crud.rowEdit(o,t)},rowDel(o,t){if(this.validData(t)&&this.$website.isDemo)return this.$message.error(this.$website.isDemoTip),!1;this.$confirm("此操作将永久删除, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{de(o.id).then(()=>{this.$message.success("删除成功"),this.onLoad()})}).catch(()=>{})},rowUpdate(o,t,i,d){if(this.validData(t)&&this.$website.isDemo)return i(),this.$message.error(this.$website.isDemoTip),!1;this.isSql&&(o.data=this.getSql(o),o.dbSql=q.encryptAES(o.dbSql)),ue(o).then(()=>{i(),this.$message.success("修改成功"),this.onLoad()}).catch(e=>{d()})},rowSave(o,t,i){this.isSql&&(o.data=this.getSql(o),o.dbSql=q.encryptAES(o.dbSql)),me(o).then(()=>{this.$message.success("新增成功"),this.onLoad(),t()}).catch(d=>{i()})},handleCurrentChange(o){this.page.currentPage=o,this.onLoad()},handleSizeChange(o){this.page.pageSize=o,this.onLoad()},onLoad(){this.loading=!0,ce({name:this.search.name,current:this.page.currentPage,size:this.page.pageSize}).then(o=>{this.loading=!1;const t=o.data.data;let i=t.records;i.forEach(d=>d._menu=!1),this.page.total=t.total,this.data=i})}}},be=m("br",null,null,-1),ye={class:"content__box content__nav"},ve=["src"],Ve=m("div",null,[m("p",null,"创建数据集"),m("span",null,"多种查询方式 自由组合")],-1),Ce={class:"content__page"},qe={class:"list-search"},Se={class:"content__box"},ke=["onMouseenter","onMouseleave"],xe={class:"content__info"},Te={class:"content__logo"},Ue={key:0,class:"content__menu"},we={class:"content__right"},De={class:"content__start"},Le=["onClick"],Me=["onClick"],Oe={class:"content__main"},je={class:"content__name"},Ee={class:"content__status"};function Qe(o,t,i,d,e,a){const h=r("monaco-editor"),_=r("el-button"),y=r("el-upload"),p=r("el-form-item"),M=r("avue-select"),z=r("avue-input"),A=r("avue-switch"),U=r("el-input"),O=r("el-radio"),R=r("el-radio-group"),j=r("el-tab-pane"),P=r("el-tabs"),E=r("json-viewer"),I=r("avue-crud"),N=r("el-icon-search"),v=r("el-icon"),F=r("el-pagination"),H=r("el-header"),W=r("el-icon-connection"),B=r("el-tooltip"),J=r("el-icon-edit"),K=r("el-icon-delete"),X=r("svg-icon"),Y=r("el-empty"),Z=r("el-main"),G=r("db"),$=r("el-dialog"),ee=r("el-container"),V=pe("loading");return u(),c(ee,{class:"list"},{default:s(()=>[k((u(),c(I,x({ref:"crud",option:e.option,modelValue:e.form,"onUpdate:modelValue":t[14]||(t[14]=l=>e.form=l),style:{display:"none"},page:e.page,"onUpdate:page":t[15]||(t[15]=l=>e.page=l),onRowSave:a.rowSave,onRowUpdate:a.rowUpdate,onRowDel:a.rowDel,onOnLoad:a.onLoad},o.$loadingParams,{"before-close":a.beforeClose,"before-open":a.beforeOpen,data:e.data}),{"content-form":s(({})=>[a.isStatic?(u(),c(p,{key:0,label:"数据值","label-position":"top"},{default:s(()=>[n(h,{modelValue:e.form.data,"onUpdate:modelValue":t[0]||(t[0]=l=>e.form.data=l),language:"javascript",height:"100"},null,8,["modelValue"]),be,n(y,{"show-file-list":!1,"auto-upload":!1,style:{display:"inline-block"},accept:".xls,.xlsx","on-change":a.handleImport},{default:s(()=>[n(_,{icon:"el-icon-upload",type:"success"},{default:s(()=>[T("导入数据(Excel)")]),_:1})]),_:1},8,["on-change"])]),_:1})):a.isSql?(u(),g(b,{key:1},[n(p,{label:"数据源选择"},{default:s(()=>[n(M,{dic:e.DIC.sql,modelValue:e.form.dbId,"onUpdate:modelValue":t[1]||(t[1]=l=>e.form.dbId=l)},null,8,["dic","modelValue"])]),_:1}),n(p,{label:"SQL语句","label-position":"top"},{default:s(()=>[n(h,{modelValue:e.form.dbSql,"onUpdate:modelValue":t[2]||(t[2]=l=>e.form.dbSql=l),language:"sql",height:"100"},null,8,["modelValue"])]),_:1})],64)):a.isApi||a.isNode?(u(),g(b,{key:2},[a.isApi?(u(),c(p,{key:0,label:"请求方式"},{default:s(()=>[n(M,{modelValue:e.form.dataMethod,"onUpdate:modelValue":t[3]||(t[3]=l=>e.form.dataMethod=l),dic:e.DIC.method},null,8,["modelValue","dic"])]),_:1})):f("",!0),a.isApi?(u(),c(p,{key:1,label:"地址"},{default:s(()=>[n(z,{modelValue:e.form.url,"onUpdate:modelValue":t[4]||(t[4]=l=>e.form.url=l),placeholder:"请输入地址"},null,8,["modelValue"])]),_:1})):f("",!0),a.isApi?(u(),c(p,{key:2,label:"开启跨域"},{default:s(()=>[n(A,{modelValue:e.form.proxy,"onUpdate:modelValue":t[5]||(t[5]=l=>e.form.proxy=l),onClick:a.handleRes},null,8,["modelValue","onClick"])]),_:1})):f("",!0)],64)):a.isWs?(u(),c(p,{key:3,label:"WS地址"},{default:s(()=>[n(U,{modelValue:e.form.wsUrl,"onUpdate:modelValue":t[6]||(t[6]=l=>e.form.wsUrl=l)},null,8,["modelValue"])]),_:1})):a.isMqtt?(u(),g(b,{key:4},[n(p,{label:"MQTT地址"},{default:s(()=>[n(U,{modelValue:e.form.mqttUrl,"onUpdate:modelValue":t[7]||(t[7]=l=>e.form.mqttUrl=l)},null,8,["modelValue"])]),_:1}),n(p,{label:"MQTT配置"},{default:s(()=>[n(h,{modelValue:e.form.mqttConfig,"onUpdate:modelValue":t[8]||(t[8]=l=>e.form.mqttConfig=l),height:"250"},null,8,["modelValue"])]),_:1})],64)):f("",!0),a.isWs||a.isApi?(u(),c(p,{key:5,label:"请求配置"},{default:s(()=>[n(P,{class:"menu__tabs",modelValue:e.tabs,"onUpdate:modelValue":t[12]||(t[12]=l=>e.tabs=l)},{default:s(()=>[n(j,{label:"请求参数(Body)",name:"0"},{default:s(()=>[e.tabs==0?(u(),g(b,{key:0},[["post","put"].includes(e.form.dataMethod)?(u(),c(R,{key:0,size:"small",modelValue:e.form.dataQueryType,"onUpdate:modelValue":t[9]||(t[9]=l=>e.form.dataQueryType=l)},{default:s(()=>[n(O,{label:"json"},{default:s(()=>[T("JSON数据")]),_:1}),n(O,{label:"form"},{default:s(()=>[T("FORM表单")]),_:1})]),_:1},8,["modelValue"])):f("",!0),n(h,{modelValue:e.form.dataQuery,"onUpdate:modelValue":t[10]||(t[10]=l=>e.form.dataQuery=l),language:"javascript",height:"100"},null,8,["modelValue"])],64)):f("",!0)]),_:1}),a.isApi?(u(),c(j,{key:0,label:"请求头(Headers)",name:"1"},{default:s(()=>[e.tabs==1?(u(),c(h,{key:0,modelValue:e.form.dataHeader,"onUpdate:modelValue":t[11]||(t[11]=l=>e.form.dataHeader=l),language:"javascript",height:"100"},null,8,["modelValue"])):f("",!0)]),_:1})):f("",!0)]),_:1},8,["modelValue"])]),_:1})):f("",!0),n(p,{label:"过滤器"},{default:s(()=>[n(h,{modelValue:e.form.dataFormatter,"onUpdate:modelValue":t[13]||(t[13]=l=>e.form.dataFormatter=l),height:"100"},null,8,["modelValue"])]),_:1}),n(p,{label:"响应数据"},{default:s(()=>[k(n(E,x({value:e.result},o.$loadingParams,{copyable:"",theme:"avue-json-theme",boxed:""}),null,16,["value"]),[[V,e.boxLoading]])]),_:1})]),"menu-form":s(()=>[n(_,{onClick:a.handleRes,icon:"el-icon-upload",type:"primary"},{default:s(()=>[T("刷新数据")]),_:1},8,["onClick"])]),_:1},16,["option","modelValue","page","onRowSave","onRowUpdate","onRowDel","onOnLoad","before-close","before-open","data"])),[[V,e.loading]]),n(H,{class:"content__header"},{default:s(()=>[m("div",ye,[m("div",{class:"content__add",onClick:t[16]||(t[16]=l=>o.$refs.crud.rowAdd())},[m("img",{src:`${e.publicPath}img/db.png`,height:"40px",alt:""},null,8,ve),Ve]),m("div",Ce,[m("div",qe,[n(U,{modelValue:e.search.name,"onUpdate:modelValue":t[17]||(t[17]=l=>e.search.name=l),onKeyup:he(a.onLoad,["enter"]),placeholder:"请输入名称"},{suffix:s(()=>[n(v,{onClick:a.onLoad,class:"el-input__icon"},{default:s(()=>[n(N)]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"])]),e.page.total>0?(u(),c(F,{key:0,layout:"total, prev, pager, next,jumper",background:"",size:"small",onSizeChange:a.handleSizeChange,onCurrentChange:a.handleCurrentChange,"page-size":e.page.size,"current-page":e.page.page,"onUpdate:currentPage":t[18]||(t[18]=l=>e.page.page=l),total:e.page.total},null,8,["onSizeChange","onCurrentChange","page-size","current-page","total"])):f("",!0)])])]),_:1}),k((u(),c(Z,x({class:"content"},o.$loadingParams),{default:s(()=>[m("div",Se,[e.data.length>0?(u(!0),g(b,{key:0},fe(e.data,(l,w)=>(u(),g("div",{class:"content__item",onMouseenter:C=>l._menu=!0,onMouseleave:C=>l._menu=!1,key:w},[m("div",xe,[m("div",Te,[m("p",null,D(a.getTypeLabel(l.dataType)),1)]),l._menu?(u(),g("div",Ue,[m("div",we,[n(B,{content:"测试"},{default:s(()=>[n(v,{onClick:C=>a.handleResult(l)},{default:s(()=>[n(W)]),_:2},1032,["onClick"])]),_:2},1024)]),m("div",De,[m("div",{class:"content__btn",onClick:C=>a.handleEdit(l,w)},[n(v,null,{default:s(()=>[n(J)]),_:1})],8,Le),m("div",{class:"content__btn",onClick:C=>a.rowDel(l,w)},[n(v,null,{default:s(()=>[n(K)]),_:1})],8,Me)])])):f("",!0)]),m("div",Oe,[m("span",je,D(l.name),1),m("span",Ee,D(l.username),1)])],40,ke))),128)):(u(),c(Y,{key:1,class:"content__empty",description:"暂无数据"},{image:s(()=>[n(X,{"icon-class":"empty"})]),_:1}))])]),_:1},16)),[[V,e.loading]]),n(G,{ref:"db"},null,512),n($,{title:e.form.name,class:"avue-dialog",modelValue:e.box,"onUpdate:modelValue":t[19]||(t[19]=l=>e.box=l),width:"50%"},{default:s(()=>[k(n(E,x({value:e.result,copyable:""},o.$loadingParams,{theme:"avue-json-theme",boxed:""}),null,16,["value"]),[[V,e.boxLoading]])]),_:1},8,["title","modelValue"])]),_:1})}const Pe=oe(ge,[["render",Qe]]);export{Pe as default};
|