| 1 |
- import{_ as B,E as _,G as O,H as A,I as N,J as K,K as M,r as l,j as H,o as u,d as p,w as c,k as C,m as D,b as d,l as F,f as n,C as W,u as S,c as f,a as G,t as v,F as I,L as J}from"./index-34ec9885.js";import{d as Q}from"./db-3225034f.js";import"./monaco-editor-4ba4293e.js";const b=[{label:"mysql",value:"com.mysql.cj.jdbc.Driver",url:"jdbc:mysql://localhost:3306/bladex_report"},{label:"sqlServer",value:"com.microsoft.sqlserver.jdbc.SQLServerDriver",url:"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=bladex"},{label:"postgreSql",value:"org.postgresql.Driver",url:"jdbc:postgresql://127.0.0.1:5432/bladex"},{label:"oracle",value:"oracle.jdbc.OracleDriver",url:"jdbc:oracle:thin:@127.0.0.1:1521:orcl"}],$={data(){return{search:{},loading:!1,isEdit:!1,form:{},page:{pageSize:10,currentPage:1,total:0},option:{height:"auto",calcHeight:360,header:!1,index:!0,copyBtn:!0,labelWidth:110,menuWidth:280,column:[{label:"名称",prop:"name",width:120,rules:[{required:!0,message:"请输入数据源名称",trigger:"blur"}]},{label:"类型",prop:"driverClass",type:"select",width:200,dicData:b,rules:[{required:!0,message:"请选择类型",trigger:"blur"}]},{label:"用户名",prop:"username",width:120,rules:[{required:!0,message:"请输入用户名",trigger:"blur"}]},{label:"密码",prop:"password",type:"password",hide:!0,rules:[{required:!0,message:"请输入密码",trigger:"blur"}]},{label:"连接地址",prop:"url",type:"textarea",overHidden:!0,span:24,rules:[{required:!0,message:"请输入连接地址",trigger:"blur"}]},{label:"备注",prop:"remark",span:24,minRows:3,hide:!0,type:"textarea"}]},data:[],publicPath:"/DataV/"}},components:{db:Q},watch:{"form.driverClass"(t){if(this.isEdit){this.isEdit=!1;return}let e=b.find(o=>o.value==t)||{};this.form.url=e.url}},methods:{validData(t){return[0,1,2,3].includes(t)},getTypeLabel(t){return b.find(e=>e.value==t).label},handleEdit(t,e){this.$refs.crud.rowEdit(t,e)},rowSave(t,e,o){t.password=_.encryptAES(t.password),O(t).then(()=>{this.onLoad(),this.$message({type:"success",message:"操作成功!"}),e()}).catch(i=>{o()})},rowUpdate(t,e,o,i){if(this.validData(e)&&this.$website.isDemo)return this.$message.error(this.$website.isDemoTip),o(),!1;t.password=_.encryptAES(t.password),A(t).then(()=>{o(),this.onLoad(),this.$message({type:"success",message:"操作成功!"})}).catch(s=>{i()})},rowDel(t,e){if(this.validData(e)&&this.$website.isDemo)return this.$message.error(this.$website.isDemoTip),!1;this.$confirm("确定将选择数据删除?",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>N(t.id)).then(()=>{this.onLoad(),this.$message({type:"success",message:"操作成功!"})})},beforeOpen(t,e){["edit","view"].includes(e)?K(this.form.id).then(o=>{const i=o.data.data;this.form={...i,password:_.decryptAES(i.password)},t()}):t()},refreshChange(){this.onLoad()},handleTest(t){let e=!1;t&&(e=!0);const o=t||{...this.form,password:_.encryptAES(this.form.password)},i=()=>{J({driverClass:o.driverClass,url:o.url,username:o.username,password:o.password}).then(s=>{s.data&&s.data.code==200?(this.$message.success(s.data&&s.data.msg||"连接成功"),e&&this.$refs.db.handleOpen(t.id)):this.$message.error(s.data&&s.data.msg||"连接失败,请检查相关配置参数")})};this.$refs.crud&&this.$refs.crud.validate&&!t?this.$refs.crud.validate((s,r,w)=>{if(s)r(),i();else return!1}):i()},onLoad(){this.loading=!0,M({name:this.search.name,current:this.page.currentPage,size:this.page.pageSize}).then(t=>{this.loading=!1;const e=t.data.data;let o=e.records;o.forEach(i=>i._menu=!1),this.page.total=e.total,this.data=o})},handleCurrentChange(t){this.page.currentPage=t,this.onLoad()},handleSizeChange(t){this.page.pageSize=t,this.onLoad()}}},X={class:"content__box content__nav"},Y=["src"],Z={class:"content__page"},ee={class:"list-search"},te={class:"content__box"},se=["onMouseenter","onMouseleave"],ae={class:"content__info"},ne={class:"content__logo"},oe=["src"],re={key:0,class:"content__menu"},le={class:"content__start"},ie=["onClick"],de=["onClick"],ce={class:"content__main"},ue={class:"content__name"},pe={class:"content__status"};function _e(t,e,o,i,s,r){const w=l("el-button"),k=l("avue-crud"),L=l("el-icon-search"),h=l("el-icon"),q=l("el-input"),x=l("el-pagination"),E=l("el-header"),z=l("el-icon-edit"),P=l("el-icon-delete"),j=l("svg-icon"),V=l("el-empty"),T=l("el-main"),R=l("db",!0),U=l("el-container"),y=H("loading");return u(),p(U,{class:"list"},{default:c(()=>[C((u(),p(k,D({ref:"crud",style:{display:"none"},option:s.option,data:s.data,page:s.page,"onUpdate:page":e[1]||(e[1]=a=>s.page=a),"before-open":r.beforeOpen,modelValue:s.form,"onUpdate:modelValue":e[2]||(e[2]=a=>s.form=a)},t.$loadingParams,{onRowUpdate:r.rowUpdate,onRowSave:r.rowSave,onRowDel:r.rowDel,onRefreshChange:r.refreshChange,onOnLoad:r.onLoad}),{"menu-form":c(()=>[d(w,{type:"primary",icon:"el-icon-connection",onClick:e[0]||(e[0]=a=>r.handleTest())},{default:c(()=>[...e[6]||(e[6]=[F("测试连接",-1)])]),_:1})]),_:1},16,["option","data","page","before-open","modelValue","onRowUpdate","onRowSave","onRowDel","onRefreshChange","onOnLoad"])),[[y,s.loading]]),d(E,{class:"content__header"},{default:c(()=>[n("div",X,[n("div",{class:"content__add",onClick:e[3]||(e[3]=a=>t.$refs.crud.rowAdd())},[n("img",{src:`${s.publicPath}img/db.png`,height:"40px",alt:""},null,8,Y),e[7]||(e[7]=n("div",null,[n("p",null,"创建数据源"),n("span",null,"多库查询 自由组合")],-1))]),n("div",Z,[n("div",ee,[d(q,{modelValue:s.search.name,"onUpdate:modelValue":e[4]||(e[4]=a=>s.search.name=a),onKeyup:W(r.onLoad,["enter"]),placeholder:"请输入名称"},{suffix:c(()=>[d(h,{onClick:r.onLoad,class:"el-input__icon"},{default:c(()=>[d(L)]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"])]),s.page.total>0?(u(),p(x,{key:0,layout:"total, prev, pager, next,jumper",background:"",size:"small",onSizeChange:r.handleSizeChange,onCurrentChange:r.handleCurrentChange,"page-size":s.page.pageSize,"current-page":s.page.currentPage,"onUpdate:currentPage":e[5]||(e[5]=a=>s.page.currentPage=a),total:s.page.total},null,8,["onSizeChange","onCurrentChange","page-size","current-page","total"])):S("",!0)])])]),_:1}),C((u(),p(T,D({class:"content"},t.$loadingParams),{default:c(()=>[n("div",te,[s.data.length>0?(u(!0),f(I,{key:0},G(s.data,(a,g)=>(u(),f("div",{class:"content__item",onMouseenter:m=>a._menu=!0,onMouseleave:m=>a._menu=!1,key:g},[n("div",ae,[n("div",ne,[n("img",{src:`${s.publicPath}img/${r.getTypeLabel(a.driverClass)}.png`,alt:""},null,8,oe),n("span",null,v(a.url),1)]),a._menu?(u(),f("div",re,[n("div",le,[n("div",{class:"content__btn",onClick:m=>r.handleEdit(a,g)},[d(h,null,{default:c(()=>[d(z)]),_:1})],8,ie),n("div",{class:"content__btn",onClick:m=>r.rowDel(a,g)},[d(h,null,{default:c(()=>[d(P)]),_:1})],8,de)])])):S("",!0)]),n("div",ce,[n("span",ue,v(a.name),1),n("span",pe,v(a.username),1)])],40,se))),128)):(u(),p(V,{key:1,class:"content__empty",description:"暂无数据"},{image:c(()=>[d(j,{"icon-class":"empty"})]),_:1}))])]),_:1},16)),[[y,s.loading]]),d(R,{ref:"db"},null,512)]),_:1})}const fe=B($,[["render",_e]]);export{fe as default};
|