diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java index d1b29f70..b54cd332 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java @@ -1,24 +1,16 @@ package com.zyplayer.doc.db.controller; -import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.RandomUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.util.TypeUtils; import com.zyplayer.doc.core.annotation.AuthMan; -import com.zyplayer.doc.core.exception.ConfirmException; import com.zyplayer.doc.core.json.ResponseJson; import com.zyplayer.doc.core.util.StringUtil; -import com.zyplayer.doc.data.config.security.DocUserUtil; -import com.zyplayer.doc.data.repository.support.consts.DocAuthConst; import com.zyplayer.doc.db.controller.download.FormatDownloadConst; import com.zyplayer.doc.db.controller.download.FormatDownloadService; import com.zyplayer.doc.db.controller.param.DataViewParam; -import com.zyplayer.doc.db.controller.vo.TableColumnVo; -import com.zyplayer.doc.db.framework.consts.DbAuthType; -import com.zyplayer.doc.db.framework.db.dto.TableColumnDescDto; import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteParam; import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteResult; import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteType; @@ -41,8 +33,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; /** * 表数据查看控制器 diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java new file mode 100644 index 00000000..d692d8ae --- /dev/null +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java @@ -0,0 +1,160 @@ +package com.zyplayer.doc.db.controller.download; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.zyplayer.doc.db.controller.param.DataViewParam; +import com.zyplayer.doc.db.controller.vo.TableColumnVo; +import com.zyplayer.doc.db.framework.db.dto.TableColumnDescDto; +import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteParam; +import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteResult; +import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteType; +import com.zyplayer.doc.db.framework.db.mapper.base.SqlExecutor; +import com.zyplayer.doc.db.service.common.ExecuteAuthService; +import com.zyplayer.doc.db.service.database.DatabaseServiceFactory; +import com.zyplayer.doc.db.service.database.DbBaseService; +import com.zyplayer.doc.db.service.download.BaseDownloadService; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.net.URLEncoder; +import java.sql.Timestamp; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * excel格式化数据下载服务 + * + * @author 暮光:城中城 + * @since 2021-08-14 + */ +@Service(FormatDownloadConst.EXCEL) +public class ExcelFormatDownloadService implements FormatDownloadService { + private static Logger logger = LoggerFactory.getLogger(ExcelFormatDownloadService.class); + + @Resource + ExecuteAuthService executeAuthService; + @Resource + DatabaseServiceFactory databaseServiceFactory; + @Resource + BaseDownloadService baseDownloadService; + @Resource + SqlExecutor sqlExecutor; + + @Override + public void download(HttpServletResponse response, DataViewParam param, String[] tableNameArr) throws Exception { + DbBaseService dbBaseService = databaseServiceFactory.getDbBaseService(param.getSourceId()); + boolean multipleFile = Objects.equals(param.getDownloadFileType(), 2); + JSONObject conditionMap = StringUtils.isBlank(param.getConditionJson()) ? new JSONObject() : JSON.parseObject(param.getConditionJson()); + JSONObject conditionColumnMap = StringUtils.isBlank(param.getConditionColumnJson()) ? new JSONObject() : JSON.parseObject(param.getConditionColumnJson()); + JSONObject getRetainColumnMap = StringUtils.isBlank(param.getRetainColumnJson()) ? new JSONObject() : JSON.parseObject(param.getRetainColumnJson()); + // 结果 + String tempDir = System.getProperty("java.io.tmpdir"); + String tempDirName = tempDir + "zyplayer-doc-" + IdUtil.fastSimpleUUID(); + ExcelWriter excelWriter = null; + boolean excelWriterIsFinish = false; + try { + String suffix = ".xlsx"; + if (!multipleFile) { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + String fileNameOrigin = "数据库表数据导出." + DateTime.now().toString("yyyyMMddHHmmss"); + String fileName = URLEncoder.encode(fileNameOrigin, "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + suffix); + excelWriter = EasyExcel.write(response.getOutputStream()).build(); + } + // 创建临时文件夹 + FileUtil.mkdir(tempDirName); + // 再分表查数据 + int tableIndex = 0; + for (String tableName : tableNameArr) { + param.setTableName(tableName); + param.setCondition(conditionMap.getString(tableName)); + param.setConditionColumn(conditionColumnMap.getString(tableName)); + param.setRetainColumn(getRetainColumnMap.getString(tableName)); + ExecuteType executeType = executeAuthService.getExecuteType(param.getSourceId()); + // 获取列信息等 + TableColumnVo tableColumnVo = dbBaseService.getTableColumnList(param.getSourceId(), param.getDbName(), tableName); + List columnList = tableColumnVo.getColumnList(); + // 保留的列 + Set retainColumnSet = StringUtils.isBlank(param.getRetainColumn()) ? Collections.emptySet() : Stream.of(param.getRetainColumn().split(",")).collect(Collectors.toSet()); + List columnListRetain = columnList.stream().filter(item -> retainColumnSet.isEmpty() || retainColumnSet.contains(item.getName())).collect(Collectors.toList()); + // 数据查询 + String queryAllSql = dbBaseService.getQueryAllSql(param); + ExecuteParam executeParam = new ExecuteParam(); + executeParam.setDatasourceId(param.getSourceId()); + executeParam.setExecuteId(param.getExecuteId()); + executeParam.setExecuteType(executeType); + executeParam.setSql(queryAllSql); + ExecuteResult executeResult = sqlExecutor.execute(executeParam); + List> executeResultData = executeResult.getResult(); + if (CollectionUtils.isEmpty(executeResultData)) { + executeResultData = Collections.emptyList(); + if (StringUtils.isNotBlank(executeResult.getErrMsg())) { + logger.error("执行sql失败:{}, {}", executeResult.getSql(), executeResult.getErrMsg()); + } + } + // 处理成表格下载所需格式 + List> downloadDataList = new LinkedList<>(); + for (Map dataMap : executeResultData) { + downloadDataList.add(new LinkedList() {{ + for (TableColumnDescDto columnDto : columnListRetain) { + Object data = dataMap.get(columnDto.getName()); + // 数据格式处理,不处理有些格式会造成乱码,打不开文件 + if (!(data == null || data instanceof Number || data instanceof CharSequence)) { + if (data instanceof Timestamp) { + data = DateTime.of(((Timestamp) data).getTime()).toJdkDate(); + } else { + data = String.valueOf(data); + } + } + add(data); + } + }}); + } + List> sheetHeadList = this.getSheetHeadList(columnListRetain); + if (multipleFile) { + // 写入临时文件 + File tempFile = FileUtil.file(tempDirName + "/" + tableName + suffix); + EasyExcel.write(tempFile).head(sheetHeadList).sheet(tableName).doWrite(downloadDataList); + } else { + WriteSheet writeSheet = EasyExcel.writerSheet(tableIndex++, tableName).head(sheetHeadList).build(); + excelWriter.write(downloadDataList, writeSheet); + } + } + if (multipleFile) { + baseDownloadService.sendResponse(response, param.getDbName(), tempDirName); + } else { + excelWriter.finish(); + excelWriterIsFinish = true; + } + } finally { + FileUtil.del(tempDirName); + if (excelWriterIsFinish && excelWriter != null) { + excelWriter.finish(); + } + } + } + + private List> getSheetHeadList(List columnListRetain) { + List> sheetHeadList = new ArrayList<>(); + for (TableColumnDescDto dataCol : columnListRetain) { + sheetHeadList.add(new ArrayList() {{ + add(dataCol.getName()); + }}); + } + return sheetHeadList; + } +} diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DbBaseService.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DbBaseService.java index 1d6ed79a..69bc5901 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DbBaseService.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DbBaseService.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.zyplayer.doc.core.exception.ConfirmException; import com.zyplayer.doc.data.config.security.DocUserUtil; import com.zyplayer.doc.data.repository.support.consts.DocAuthConst; +import com.zyplayer.doc.db.controller.download.FormatDownloadConst; import com.zyplayer.doc.db.controller.param.DataViewParam; import com.zyplayer.doc.db.controller.param.ProcedureListParam; import com.zyplayer.doc.db.controller.vo.TableColumnVo; @@ -354,27 +355,6 @@ public abstract class DbBaseService { return sqlSb.toString(); } - /** - * 导出单表数据 - * - * @author 暮光:城中城 - * @since 2020年6月5日 - */ - public void downloadSingleTableData(HttpServletResponse response, DataViewParam param, ExecuteParam executeParam, List dataCols, Set conditionSet) throws Exception { - DatabaseProductEnum databaseProduct = databaseServiceFactory.getDbBaseService(param.getSourceId()).getDatabaseProduct(); - DownloadService downloadService = databaseServiceFactory.getDownloadService(databaseProduct); - if (Objects.equals(param.getDownloadType(), "insert")) { - String resultStr = downloadService.downloadDataByInsert(param, executeParam, dataCols, conditionSet); - baseDownloadService.sendResponse(response, param.getTableName(), ".sql", resultStr); - } else if (Objects.equals(param.getDownloadType(), "update")) { - String resultStr = downloadService.downloadDataByUpdate(param, executeParam, dataCols, conditionSet); - baseDownloadService.sendResponse(response, param.getTableName(), ".sql", resultStr); - } else if (Objects.equals(param.getDownloadType(), "json")) { - String resultStr = downloadService.downloadDataByJson(param, executeParam, dataCols, conditionSet); - baseDownloadService.sendResponse(response, param.getTableName(), ".json", resultStr); - } - } - /** * 获取表数据 * @@ -384,11 +364,11 @@ public abstract class DbBaseService { public String getDownloadTableData(DataViewParam param, ExecuteParam executeParam, List dataCols, Set conditionSet) throws Exception { DatabaseProductEnum databaseProduct = databaseServiceFactory.getDbBaseService(param.getSourceId()).getDatabaseProduct(); DownloadService downloadService = databaseServiceFactory.getDownloadService(databaseProduct); - if (Objects.equals(param.getDownloadType(), "insert")) { + if (Objects.equals(param.getDownloadType(), FormatDownloadConst.INSERT)) { return downloadService.downloadDataByInsert(param, executeParam, dataCols, conditionSet); - } else if (Objects.equals(param.getDownloadType(), "update")) { + } else if (Objects.equals(param.getDownloadType(), FormatDownloadConst.UPDATE)) { return downloadService.downloadDataByUpdate(param, executeParam, dataCols, conditionSet); - } else if (Objects.equals(param.getDownloadType(), "json")) { + } else if (Objects.equals(param.getDownloadType(), FormatDownloadConst.JSON)) { return downloadService.downloadDataByJson(param, executeParam, dataCols, conditionSet); } return null; diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/download/BaseDownloadService.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/download/BaseDownloadService.java index cfc8ce77..fdbfa0a6 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/download/BaseDownloadService.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/download/BaseDownloadService.java @@ -159,11 +159,7 @@ public class BaseDownloadService implements DownloadService { for (TableColumnDescDto dataCol : dataCols) { result.put(dataCol.getName(), item.get(dataCol.getName())); } - String resultData = result.toJSONString(); - if (resultSb.length() > 1) { - resultSb.append(","); - } - resultSb.append(resultData); + resultSb.append((resultSb.length() > 1) ? "," : "").append(result.toJSONString()); }); resultSb.append("]\n"); return resultSb.toString(); diff --git a/zyplayer-doc-db/src/main/resources/dist/doc-db.html b/zyplayer-doc-db/src/main/resources/dist/doc-db.html index bbee1df7..f90771bc 100644 --- a/zyplayer-doc-db/src/main/resources/dist/doc-db.html +++ b/zyplayer-doc-db/src/main/resources/dist/doc-db.html @@ -1 +1 @@ -数据库文档管理
\ No newline at end of file +数据库文档管理
\ No newline at end of file diff --git a/zyplayer-doc-db/src/main/resources/dist/js/index.d7e1d74e.js b/zyplayer-doc-db/src/main/resources/dist/js/index.d7e1d74e.js new file mode 100644 index 00000000..cbfa218b --- /dev/null +++ b/zyplayer-doc-db/src/main/resources/dist/js/index.d7e1d74e.js @@ -0,0 +1 @@ +(function(e){function t(t){for(var o,i,s=t[0],l=t[1],c=t[2],d=0,h=[];d0&&e.children[0].needLoad&&(console.log("加载节点:",e),1==e.type&&this.loadGetTableList(e))},databaseActionDropdown:function(e){if("refresh"==e.command)e.node.loading=!0,e.node.data.children=[],this.loadGetTableList(e.node.data,(function(){setTimeout((function(){return e.node.loading=!1}),500)}));else if("procedure"==e.command){var t=e.node.data,a={sourceId:this.choiceDatasourceId,dbName:t.dbName,host:t.host};this.$router.push({path:"/procedure/list",query:a})}else this.$message.warning("暂未支持的选项")},loadGetTableList:function(e,t){b.tableList({sourceId:this.choiceDatasourceId,dbName:e.dbName}).then((function(a){for(var o=[],r=a.data||[],n=0;n0||(this.choiceDatasourceId=parseInt(e.sourceId),this.loadDatabaseList(e.sourceId,e.host).then((function(){t.databaseExpandedKeys=[e.host]})))},dragChangeRightAsideWidth:function(){var e=this,t=this.$refs.rightResize,a=this.$refs.rightResizeBar;t.onmousedown=function(o){var r=o.clientX;return t.style.background="#ccc",a.style.background="#aaa",t.left=t.offsetLeft,document.onmousemove=function(t){var a=t.clientX,o=r-a;(o<0&&e.rightAsideWidth<600||o>0&&e.rightAsideWidth>200)&&(r=a,e.rightAsideWidth-=o)},document.onmouseup=function(){t.style.background="#fafafa",a.style.background="#ccc",document.onmousemove=null,document.onmouseup=null},!1}}}},I=S,k=(a("034f"),Object(C["a"])(I,i,s,!1,null,null,null)),L=k.exports,E=a("8c4f"),P=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{padding:"10px"}},[a("div",{staticStyle:{"max-width":"1200px",margin:"20px auto"}},[a("div",{staticStyle:{"text-align":"center"}},[e._v("欢迎使用"),a("span",{on:{dblclick:e.showErGraph}},[e._v('ヾ(๑╹◡╹)ノ"')]),e._v(" - 在左上角选择一个数据源吧~")])])])},N=[],T={data:function(){return{}},mounted:function(){},methods:{showErGraph:function(){}}},O=T,q=Object(C["a"])(O,P,N,!1,null,null,null),z=q.exports,$=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{padding:"10px"}},[a("er-graph")],1)},j=[],A=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"styles.erGraphDemo"},[a("ERGraphDemo")],1)},R=[],F=a("779d"),V=a.n(F),U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{width:"100%",height:"650px"}},[a("ERGraph",{attrs:{graphData:e.graphData}})],1)},Q=[],B=(a("d81d"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"er-editor-demo-container"},[a("div",{ref:"refContainer",staticStyle:{width:"100%",height:"100%"},attrs:{id:"refContainer"}}),a("div",{ref:"refMinimapContainer",staticClass:"minimap-container",attrs:{id:"refMinimapContainer"}})])}),M=[],G=(a("a4d3"),a("e439"),a("dbb4"),a("b64b"),a("2fa7")),H=(a("f32d"),a("9f12")),J=a("53fe"),W=a("5728"),K=(a("99af"),a("dfdf")),X=a("2ef0"),Y=a.n(X);a("3e2f");function Z(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ee(e){for(var t=1;t0&&(this.graph.removeCells(e),this.nodes=Y.a.pullAll(this.nodes,e))}},{key:"removeNode",value:function(e){if(e)if(e instanceof Node)this.removeNodes([e]);else{var t=this.findNodeById(e);t&&this.removeNodes([t])}}},{key:"addEdges",value:function(e){var t=this;e.forEach((function(e){t.addEdge(e)}))}},{key:"addEdge",value:function(e){var t=e.id,a=e.source,o=e.target,r=(e.render,e.data),n=Object(K["a"])(e,["id","source","target","render","data"]),i=Y.a.find(this.nodes,(function(e){return e.id===a})),s=Y.a.find(this.nodes,(function(e){return e.id===o}));if(!a||!o)throw new Error("edge must has source and target!");var l=this.graph.addEdge(ee({id:t||"".concat(a,"-").concat(o),data:r||void 0,source:i,target:s,attrs:{line:{stroke:"#B4BDCF",strokeWidth:1}}},n));this.edges.push(l)}},{key:"updateEdge",value:function(e,t){Y.a.isEqual(e.data,t.data)||e.setData(t.data)}},{key:"removeEdges",value:function(e){this.graph.removeCells(e),this.edges=Y.a.pullAll(this.edges,e)}},{key:"removeEdge",value:function(e){if(e)if(e instanceof W["a"])this.graph.removeCells([e]),this.removeEdges([e]);else{var t=this.findEdgeById(e);t&&this.removeEdges([t])}}},{key:"findNodeById",value:function(e){return this.nodes.find((function(t){return t.id===e}))}},{key:"findEdgeById",value:function(e){return this.edges.find((function(t){return t.id===e}))}}]),e}(),oe=function e(t){var a=this;Object(H["a"])(this,e),Object(G["a"])(this,"registerEvent",(function(e){e&&e.forEach((function(e){switch(e.eventName){case"scale":a.graph.on("scale",(function(t){var a=t.sx,o=(t.sy,t.ox,t.oy,a);e.handler&&e.handler({scale:o})}));break;case"graph:mouseenter":a.graph.on("graph:mouseenter",(function(t){t.e;e.handler&&e.handler()}));break;case"graph:mouseleave":a.graph.on("graph:mouseleave",(function(t){t.e;e.handler&&e.handler()}));break;case"blank:mouseDown":a.graph.on("blank:mousedown",(function(t){t.e;var a=t.x,o=t.y;e.handler&&e.handler({x:a,y:o})}));break;case"blank:mouseUp":a.graph.on("blank:mouseup",(function(t){t.e;var a=t.x,o=t.y;e.handler&&e.handler({x:a,y:o})}));break;case"node:added":a.graph.on("node:added",(function(e){var t=e.node;a.x6BaseGraph.bringNodesToFront([t])}));break;case"node:removed":a.graph.on("node:removed",(function(e){e.node}));break;case"edge:added":a.graph.on("edge:added",(function(e){e.edge}));break;case"edge:removed":a.graph.on("edge:removed",(function(e){e.edge;a.isDeleteX6DefaultEdge}));break;case"node:mousedown":a.graph.on("node:mousedown",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:mousemove":a.graph.on("node:mousemove",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:mouseup":a.graph.on("node:mouseup",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:click":a.graph.on("node:click",(function(t){var a=t.view;e.handler&&e.handler({node:a.cell})}));break;case"node:dbclick":a.graph.on("node:dblclick",(function(t){var a=t.view;e.handler&&e.handler({node:a.cell})}));break;case"edge:connected":a.graph.on("edge:connected",(function(e){e.edge}));break;case"selection:changed":a.graph.on("selection:changed",(function(t){var o=t.selected,r=t.removed,n=t.added;e.handler&&e.handler({selected:o,removed:r,added:n}),a.x6BaseGraph.bringCellsToFront(o)}));break;default:break}}))})),this.x6BaseGraph=t,this.graph=t.graph};function re(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ne(e){for(var t=1;t0&&t.cellController.addNodes(o),r&&r.length>0&&t.cellController.addEdges(r)}))}},{key:"zoomGraph",value:function(e){"number"===typeof e?this.graph.zoom(e):"fit"===e?this.graph.zoomToFit({padding:12}):e&&(this.graph.scale(1),this.graph.centerContent())}},{key:"focusNodeToGraphCenter",value:function(e){if(e instanceof Node)this.graph.centerCell(e);else{var t=this.cellController.findNodeById(e);t&&this.graph.centerCell(t)}}},{key:"bringNodesToFront",value:function(e){e.forEach((function(e){e.toBack()}))}},{key:"bringNodesToBack",value:function(e){e.forEach((function(e){e.toBack()}))}},{key:"clearGraph",value:function(){}},{key:"registerEvent",value:function(e){this.eventController.registerEvent(e)}},{key:"graphContentDiff",value:function(e){var t=this,a=e.nodes,o=e.edges,r=[];a.forEach((function(e){var a=t.cellController.findNodeById(e.id);a||r.push(e)}));var n=[],i=[],s=[];this.cellController.nodes.forEach((function(e){var o=a.find((function(t){return t.id===e.id}));o?Y.a.isEqual(e.data,o.data)?n.push(e):(i.push(e),t.cellController.updateNode(e,o)):s.push(e)}));var l=[];o.forEach((function(e){if(e.id){var a=t.cellController.findEdgeById(e.id);a||l.push(e)}}));var c=[],u=[],d=[];return this.cellController.edges.forEach((function(e){var a=o.find((function(t){return t.id===e.id}));a?Y.a.isEqual(e.data,a.data)?c.push(e):(u.push(e),t.cellController.updateEdge(e,a)):d.push(e)})),this.cellController.removeNodes(s),this.cellController.removeEdges(d),{addNodesData:r,addEdgesData:l}}}]),e}();function se(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function le(e){for(var t=1;t',data:function(){return{entity:e}},components:{Entity:we}}}})),this.graphData.edges=fe.map((function(e){var t=e.relationId,a=e.sourceEntityId,o=e.targetEntityId;return{id:t,source:a,target:o,label:"1:N",data:e}}))}}},_e=Ce,De=Object(C["a"])(_e,U,Q,!1,null,"29ea1468",null),Se=De.exports,Ie={name:"index",components:{ERGraphDemo:Se},data:function(){return{visible:!1,graph:"",styles:V.a}},mounted:function(){},methods:{showDrawer:function(){this.visible=!0},onClose:function(){this.visible=!1}}},ke=Ie,Le=Object(C["a"])(ke,A,R,!1,null,"1e71010a",null),Ee=Le.exports,Pe={data:function(){return{}},components:{erGraph:Ee},mounted:function(){},methods:{}},Ne=Pe,Te=Object(C["a"])(Ne,$,j,!1,null,null,null),Oe=(Te.exports,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{"padding-top":"50px"}},[a("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[a("h3",{staticClass:"title"},[e._v("系统登录")]),a("el-form-item",{attrs:{prop:"username"}},[a("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),a("el-form-item",{attrs:{prop:"password"}},[a("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),a("el-form-item",{staticStyle:{width:"100%"}},[a("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.logining},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1)}),qe=[],ze={data:function(){return{logining:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},checked:!0}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&f.userLogin(e.loginParam).then((function(){e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()}))}))}}},$e=ze,je=(a("9231"),Object(C["a"])($e,Oe,qe,!1,null,null,null)),Ae=je.exports,Re=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"my-info-vue"},[a("div",{staticStyle:{margin:"0 auto","max-width":"1000px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e._v("我的信息")]),a("el-form",{staticClass:"search-form-box",attrs:{"label-width":"100px"}},[a("el-form-item",{attrs:{label:"账号:"}},[e._v(e._s(e.userInfo.userNo))]),a("el-form-item",{attrs:{label:"用户名:"}},[e._v(e._s(e.userInfo.userName))]),a("el-form-item",{attrs:{label:"手机号:"}},[e._v(e._s(e.userInfo.phone))]),a("el-form-item",{attrs:{label:"邮箱:"}},[e._v(e._s(e.userInfo.email))]),a("el-form-item",{attrs:{label:"状态:"}},[e._v(e._s(0==e.userInfo.delFlag?"正常":"停用"))]),a("el-form-item",{attrs:{label:"性别:"}},[e._v(e._s(0==e.userInfo.sex?"女":"男"))])],1)],1)],1)])},Fe=[],Ve={data:function(){return{userInfo:{}}},mounted:function(){this.getUserInfo()},methods:{getUserInfo:function(){var e=this;f.getSelfUserInfo().then((function(t){e.userInfo=t.data}))}}},Ue=Ve,Qe=(a("dcfc"),Object(C["a"])(Ue,Re,Fe,!1,null,null,null)),Be=Qe.exports,Me=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("router-view")},Ge=[],He={},Je=Object(C["a"])(He,Me,Ge,!1,null,null,null),We=Je.exports,Ke=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-tabs",{staticStyle:{padding:"5px 10px 0"},attrs:{type:"card",closable:""},on:{"tab-click":e.changePage,"tab-remove":e.removePageTab},model:{value:e.activePage,callback:function(t){e.activePage=t},expression:"activePage"}},e._l(e.pageList,(function(t){return a("el-tab-pane",{attrs:{label:e.pageTabNameMap[t.fullPath]||t.name,name:t.fullPath}})})),1),a("keep-alive",[a("router-view",{key:e.$route.fullPath,on:{initLoadDataList:e.initLoadDataList,loadDatasourceList:e.loadDatasourceList}})],1)],1)},Xe=[],Ye=(a("c975"),{name:"PageTableView",components:{},data:function(){return{pageList:[],linkList:[],activePage:"",multiPage:!0}},computed:{pageTabNameMap:function(){return this.$store.state.global.pageTabNameMap}},created:function(){this.pageList.push(this.$route),this.linkList.push(this.$route.fullPath),this.activePage=this.$route.fullPath},watch:{$route:function(e,t){this.activePage=e.fullPath,this.linkList.indexOf(e.fullPath)<0&&(this.linkList.push(e.fullPath),this.pageList.push(e))},activePage:function(e){this.$router.push(e)}},methods:{initLoadDataList:function(e){this.$emit("initLoadDataList",e)},loadDatasourceList:function(){this.$emit("loadDatasourceList")},changePage:function(e){this.activePage=e.name},editPage:function(e,t){this[t](e)},removePageTab:function(e){if(1!==this.pageList.length){this.pageList=this.pageList.filter((function(t){return t.fullPath!==e}));var t=this.linkList.indexOf(e);this.linkList=this.linkList.filter((function(t){return t!==e})),t=t>=this.linkList.length?this.linkList.length-1:t,this.activePage=this.linkList[t]}else this.$message.warning("这是最后一页,不能再关闭了啦")}}}),Ze=Ye,et=Object(C["a"])(Ze,Ke,Xe,!1,null,"a596d90e",null),tt=et.exports,at=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"table-info-vue"},[a("el-tabs",{on:{"tab-click":e.tabActiveNameChange},model:{value:e.tabActiveName,callback:function(t){e.tabActiveName=t},expression:"tabActiveName"}},[a("el-tab-pane",{attrs:{label:"表字段",name:"columns"}},[a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.columnListLoading,expression:"columnListLoading"}]},[a("el-row",{staticClass:"row-bg",staticStyle:{"margin-bottom":"10px"},attrs:{type:"flex",justify:"space-between"}},[a("el-col",{staticStyle:{color:"#606266","line-height":"40px"}},[a("span",[e._v("表名:"+e._s(e.tableStatusInfo.name))]),a("span",{staticStyle:{"margin-left":"20px"}},[1==e.tableInfo.inEdit?a("span",[a("el-input",{staticStyle:{width:"500px"},attrs:{placeholder:"输入表注释"},on:{blur:e.saveTableDescription},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.saveTableDescription(t)}},model:{value:e.tableInfo.newDesc,callback:function(t){e.$set(e.tableInfo,"newDesc",t)},expression:"tableInfo.newDesc"}})],1):a("span",[e._v(e._s(e.tableInfo.description||"暂无表注释")+" "),a("i",{staticClass:"el-icon-edit edit-table-desc",on:{click:function(t){e.tableInfo.inEdit=1}}})])])]),a("el-col",{staticStyle:{width:"100px","text-align":"right"}},[a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{plain:"",type:"primary",icon:"el-icon-magic-stick"},on:{click:e.showCreateTableDdl}},[e._v("DDL")])],1)],1),a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.columnList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"name",label:"字段名",width:"220"}}),a("el-table-column",{attrs:{label:"自增",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(t.row.selfIncrement?"是":"否"))]}}])}),a("el-table-column",{attrs:{prop:"type",label:"类型",width:"110"}}),a("el-table-column",{attrs:{prop:"length",label:"长度",width:"110"}}),a("el-table-column",{attrs:{prop:"numericScale",label:"小数点",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(0==t.row.numericScale?"":t.row.numericScale))]}}])}),a("el-table-column",{attrs:{prop:"nullable",label:"空值",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.nullable?"允许":"不允许"))]}}])}),a("el-table-column",{attrs:{label:"主键",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.primaryKey?"是":"否"))]}}])}),a("el-table-column",{scopedSlots:e._u([{key:"header",fn:function(t){return[e._v(" 注释 "),a("el-tooltip",{attrs:{effect:"dark",content:"点击注释列可编辑字段注释",placement:"top"}},[a("i",{staticClass:"el-icon-info",staticStyle:{color:"#999"}})])]}},{key:"default",fn:function(t){return[1==t.row.inEdit?a("div",[a("el-input",{attrs:{placeholder:"输入字段注释"},on:{blur:function(a){return e.saveColumnDescription(t.row)}},nativeOn:{keyup:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.saveColumnDescription(t.row)}},model:{value:t.row.newDesc,callback:function(a){e.$set(t.row,"newDesc",a)},expression:"scope.row.newDesc"}})],1):a("div",{staticClass:"description",on:{click:function(a){return e.descBoxClick(t.row)}}},[e._v(e._s(t.row.description))])]}}])})],1)],1)]),a("el-tab-pane",{attrs:{label:"表信息",name:"tableInfo"}},[a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:24}},[a("span",{staticClass:"label"},[e._v("数据源:")]),e._v(e._s(e.vueQueryParam.host))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据库:")]),e._v(e._s(e.vueQueryParam.dbName))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据表:")]),e._v(e._s(e.tableStatusInfo.name))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("引擎:")]),e._v(e._s(e.tableStatusInfo.engine))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("行数:")]),e._v(e._s(e.tableStatusInfo.rows||0))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("自动递增:")]),e._v(e._s(e.tableStatusInfo.avgRowLength||0))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("行格式:")]),e._v(e._s(e.tableStatusInfo.rowFormat))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("排序规则:")]),e._v(e._s(e.tableStatusInfo.collation))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("索引长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.indexLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.dataLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("最大长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.maxDataLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("可用空间:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.dataFree)))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("创建时间:")]),e._v(e._s(e.tableStatusInfo.createTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("修改时间:")]),e._v(e._s(e.tableStatusInfo.updateTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("检查时间:")]),e._v(e._s(e.tableStatusInfo.checkTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("创建选项:")]),e._v(e._s(e.tableStatusInfo.createOptions))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:24}},[a("span",{staticClass:"label"},[e._v("表注释:")]),1==e.tableInfo.inEdit?a("span",[a("el-input",{staticStyle:{width:"500px"},attrs:{placeholder:"输入表注释"},on:{blur:e.saveTableDescription},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.saveTableDescription(t)}},model:{value:e.tableInfo.newDesc,callback:function(t){e.$set(e.tableInfo,"newDesc",t)},expression:"tableInfo.newDesc"}})],1):a("span",[e._v(e._s(e.tableInfo.description||"暂无注释")+" "),a("i",{staticClass:"el-icon-edit edit-table-desc",on:{click:function(t){e.tableInfo.inEdit=1}}})])])],1)],1),a("el-tab-pane",{attrs:{label:"关系图",name:"relationChart"}},[a("table-relation-charts",{ref:"relationChart"})],1),a("el-tab-pane",{attrs:{label:"表数据",name:"tableData"}},[a("data-preview",{ref:"dataPreview"})],1)],1),a("el-dialog",{attrs:{visible:e.tableDDLInfoDialogVisible,footer:null,width:"760px"},on:{"update:visible":function(t){e.tableDDLInfoDialogVisible=t}}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("span",{staticStyle:{"margin-right":"15px"}},[e._v("DDL")]),a("el-button",{directives:[{name:"clipboard",rawName:"v-clipboard:copy",value:e.tableDDLInfo[e.tableDDLInfoTab],expression:"tableDDLInfo[tableDDLInfoTab]",arg:"copy"},{name:"clipboard",rawName:"v-clipboard:success",value:e.onCopySuccess,expression:"onCopySuccess",arg:"success"},{name:"clipboard",rawName:"v-clipboard:error",value:e.onCopyError,expression:"onCopyError",arg:"error"}],attrs:{size:"small",icon:"el-icon-document-copy"}},[e._v("复制")])],1),a("el-tabs",{model:{value:e.tableDDLInfoTab,callback:function(t){e.tableDDLInfoTab=t},expression:"tableDDLInfoTab"}},[e.tableDDLInfo.mysql?a("el-tab-pane",{attrs:{label:"mysql",name:"mysql"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.mysql)}})])])]):e._e(),e.tableDDLInfo.sqlserver?a("el-tab-pane",{attrs:{label:"sqlserver",name:"sqlserver"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.sqlserver)}})])])]):e._e(),e.tableDDLInfo.oracle?a("el-tab-pane",{attrs:{label:"oracle",name:"oracle"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.oracle)}})])])]):e._e(),e.tableDDLInfo.postgresql?a("el-tab-pane",{attrs:{label:"postgresql",name:"postgresql"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.postgresql)}})])])]):e._e(),e.tableDDLInfo.hive?a("el-tab-pane",{attrs:{label:"hive",name:"hive"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.hive)}})])])]):e._e()],1)],1)],1)},ot=[],rt=(a("e01a"),a("b680"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-executor-vue"},[a("div",{staticStyle:{padding:"0 10px 10px",height:"100%","box-sizing":"border-box"}},[a("el-card",{staticStyle:{"margin-bottom":"10px"}},[a("ace-editor",{staticStyle:{"margin-bottom":"10px"},attrs:{lang:"sql",theme:"monokai",width:"100%",height:"60",options:e.sqlEditorConfig,source:e.executorSource},on:{init:e.sqlExecutorInit},model:{value:e.sqlExecutorContent,callback:function(t){e.sqlExecutorContent=t},expression:"sqlExecutorContent"}}),a("div",[e.sqlExecuting?a("el-button",{attrs:{type:"primary",plain:"",size:"small",icon:"el-icon-video-pause"},on:{click:e.cancelExecutorSql}},[e._v("取消执行")]):a("el-tooltip",{attrs:{effect:"dark",content:"Ctrl+R、Ctrl+Enter",placement:"top"}},[a("el-button",{attrs:{type:"primary",plain:"",size:"small",icon:"el-icon-video-play"},on:{click:e.doExecutorClick}},[e._v("筛选")])],1),a("el-button",{attrs:{icon:"el-icon-refresh-left",size:"small"},on:{click:e.refreshData}},[e._v("重置")]),a("el-button",{staticStyle:{"margin-left":"30px"},attrs:{type:"success",size:"small",icon:"el-icon-download",plain:""},on:{click:e.downloadTableData}},[e._v("导出")])],1)],1),a("el-card",[e.executeError?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(e.executeError))]):e.sqlExecuting?a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.sqlExecuting,expression:"sqlExecuting"}],staticStyle:{padding:"20px 0"}},[e._v("数据加载中...")]):e.executeResultList.length<=0?a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.sqlExecuting,expression:"sqlExecuting"}],staticStyle:{padding:"20px 0"}},[e._v("暂无数据")]):a("div",{staticStyle:{position:"relative"}},[a("div",{directives:[{name:"show",rawName:"v-show",value:this.choiceResultObj[this.executeShowTable]&&this.choiceResultObj[this.executeShowTable].length>0,expression:"this.choiceResultObj[this.executeShowTable] && this.choiceResultObj[this.executeShowTable].length > 0"}],staticStyle:{position:"absolute",right:"0","z-index":"1"}},[a("el-button",{staticStyle:{"margin-right":"10px"},attrs:{icon:"el-icon-delete",size:"small",type:"danger",plain:""},on:{click:e.deleteCheckLine}},[e._v("删除")]),a("el-dropdown",{on:{command:e.handleCopyCheckLineCommand}},[a("el-button",{attrs:{type:"primary",size:"small",icon:"el-icon-document-copy"}},[e._v(" 复制选中行"),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"insert"}},[e._v("SQL Inserts")]),a("el-dropdown-item",{attrs:{command:"update"}},[e._v("SQL Updates")]),a("el-dropdown-item",{attrs:{command:"json"}},[e._v("JSON")])],1)],1)],1),a("el-tabs",{model:{value:e.executeShowTable,callback:function(t){e.executeShowTable=t},expression:"executeShowTable"}},[a("el-tab-pane",{attrs:{label:"信息",name:"table0"}},[a("pre",[e._v(e._s(e.executeResultInfo))])]),e._l(e.executeResultList,(function(t){return t.index?a("el-tab-pane",{attrs:{label:"结果"+t.index,name:t.name}},[t.errMsg?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(t.errMsg))]):t.dataList.length<=0?a("div",{staticStyle:{"text-align":"center",color:"#aaa",padding:"20px 0"}},[e._v("暂无数据")]):[a("el-table",{staticClass:"execute-result-table",staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:t.dataList,stripe:"",border:"","max-height":e.tableMaxHeight,"default-sort":e.tableSort},on:{"selection-change":e.handleSelectionChange,"sort-change":e.tableSortChange}},[a("el-table-column",{attrs:{type:"selection",width:"55"}}),a("el-table-column",{attrs:{type:"index",width:"50"}}),e._l(t.dataCols,(function(t){return a("el-table-column",{attrs:{sortable:"",prop:t.prop,label:t.prop,width:t.width},scopedSlots:e._u([{key:"header",fn:function(o){return[a("el-tooltip",{attrs:{effect:"dark",content:t.desc,placement:"top"}},[a("span",[e._v(e._s(t.prop))])])]}},{key:"default",fn:function(e){return[a("textarea",{staticClass:"el-textarea__inner",attrs:{readonly:"",rows:"1"},domProps:{value:e.row[t.prop]}})]}}],null,!0)})}))],2),a("el-pagination",{staticStyle:{"margin-top":"10px"},attrs:{"current-page":e.currentPage,"page-sizes":[50,100,300,500],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.tableTotalCount},on:{"size-change":e.handlePageSizeChange,"current-change":e.handleCurrentChange}})]],2):e._e()}))],2)],1)])],1),a("el-dialog",{attrs:{visible:e.exportConditionVisible,width:"500px",title:"选择更新语句条件"},on:{"update:visible":function(t){e.exportConditionVisible=t}}},[a("div",[e._v(" 更新条件列: "),a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"请选择"},model:{value:e.conditionDataColsChoice,callback:function(t){e.conditionDataColsChoice=t},expression:"conditionDataColsChoice"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.exportConditionVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doCopyCheckLineUpdate}},[e._v("确 定")])],1)]),a("el-dialog",{attrs:{visible:e.downloadDataVisible,width:"600px",title:"表数据导出"},on:{"update:visible":function(t){e.downloadDataVisible=t}}},[a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"导出类型:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{filterable:"",placeholder:"请选择导出类型"},model:{value:e.downloadDataParam.downloadType,callback:function(t){e.$set(e.downloadDataParam,"downloadType",t)},expression:"downloadDataParam.downloadType"}},[a("el-option",{attrs:{label:"SQL Inserts",value:"insert"}}),a("el-option",{attrs:{label:"SQL Updates",value:"update"}}),a("el-option",{attrs:{label:"JSON",value:"json"}}),a("el-option",{attrs:{label:"Excel",value:"excel"}})],1)],1),"insert"===e.downloadDataParam.downloadType?a("el-form-item",{attrs:{label:"数据表:"}},[a("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.dropTableFlagChange},model:{value:e.downloadDataParam.dropTableFlag,callback:function(t){e.$set(e.downloadDataParam,"dropTableFlag",t)},expression:"downloadDataParam.dropTableFlag"}},[e._v("删除表"+e._s(1==e.downloadDataParam.dropTableFlag?"!!":""))]),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.createTableFlagChange},model:{value:e.downloadDataParam.createTableFlag,callback:function(t){e.$set(e.downloadDataParam,"createTableFlag",t)},expression:"downloadDataParam.createTableFlag"}},[e._v("创建表")])],1):e._e(),a("el-form-item",{attrs:{label:"保留的列:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"不选则保留全部列"},model:{value:e.downloadDataParam.retainColumnArr,callback:function(t){e.$set(e.downloadDataParam,"retainColumnArr",t)},expression:"downloadDataParam.retainColumnArr"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),"update"===e.downloadDataParam.downloadType?a("el-form-item",{attrs:{label:"更新条件列:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"不选则是没有条件的更新"},model:{value:e.downloadDataParam.conditionColumnArr,callback:function(t){e.$set(e.downloadDataParam,"conditionColumnArr",t)},expression:"downloadDataParam.conditionColumnArr"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1):e._e()],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.downloadDataVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doDownloadTableData}},[e._v("确 定")])],1)],1),a("form",{ref:"downloadForm",attrs:{method:"post",action:e.downloadFormParam.url,target:"_blank"}},e._l(e.downloadFormParam.param,(function(e,t){return a("input",{attrs:{type:"hidden",name:t},domProps:{value:e}})})),0),a("span",{staticStyle:{visibility:"hidden","white-space":"nowrap",position:"fixed"},attrs:{id:"widthCalculate"}})],1)}),nt=[],it=(a("a15b"),a("0d03"),{insert:function(e,t,a,o){var r=a?a+".":"";r+=o||"table";var n="",i="";return e.forEach((function(e){i.length>0&&(i+=", "),i+=e.prop})),t.forEach((function(t){var a="";e.forEach((function(e){a.length>0&&(a+=", ");var o=t[e.prop]||"";"number"!==typeof o||isNaN(o)?(o=String(o).replaceAll("'","''"),a+="'"+o+"'"):a+=o})),n+="insert into "+r+" ("+i+") values ("+a+");\n"})),n},update:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,n=o?o+".":"";n+=r||"table";var i="";return t.forEach((function(t){var o="",r="";e.forEach((function(e){var n=t[e.prop]||"";a.indexOf(e.prop)>=0?"number"!==typeof n||isNaN(n)?(r.length>0&&(r+=" and "),r+=e.prop+" = '"+n+"'"):(r.length>0&&(r+=" and "),r+=e.prop+" = "+n):(o.length>0&&(o+=", "),o+=e.prop+"=","number"!==typeof n||isNaN(n)?(n=String(n).replaceAll("'","''"),o+="'"+n+"'"):o+=n)})),r.length>0&&(r=" where "+r),i+="update "+n+" set "+o+r+";\n"})),i},json:function(e,t,a,o){return JSON.stringify(t)}}),st={insert:function(e,t,a,o){var r=a?a+"..":"";r+=o||"table";var n="",i="";return e.forEach((function(e){i.length>0&&(i+=", "),i+=e.prop})),t.forEach((function(t){var a="";e.forEach((function(e){a.length>0&&(a+=", ");var o=t[e.prop]||"";"number"!==typeof o||isNaN(o)?(o=String(o).replaceAll("'","''"),a+="'"+o+"'"):a+=o})),n+="insert into "+r+" ("+i+") values ("+a+");\n"})),n},update:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,n=o?o+"..":"";n+=r||"table";var i="";return t.forEach((function(t){var o="",r="";e.forEach((function(e){var n=t[e.prop]||"";a.indexOf(e.prop)>=0?"number"!==typeof n||isNaN(n)?(r.length>0&&(r+=" and "),r+=e.prop+" = '"+n+"'"):(r.length>0&&(r+=" and "),r+=e.prop+" = "+n):(o.length>0&&(o+=", "),o+=e.prop+"=","number"!==typeof n||isNaN(n)?(n=String(n).replaceAll("'","''"),o+="'"+n+"'"):o+=n)})),r.length>0&&(r=" where "+r),i+="update "+n+" set "+o+r+";\n"})),i},json:function(e,t,a,o){return JSON.stringify(t)}},lt={format:function(e,t,a,o,r,n,i){var s=this.getProduct(t);return"insert"===e?s.insert(a,o,n,i):"update"===e?s.update(a,o,r,n,i):"json"===e?s.json(a,o,n,i):void 0},getProduct:function(e){return"sqlserver"===e?st:it}},ct=a("db05"),ut=a.n(ct),dt=a("061c"),ht=a.n(dt),pt=(a("2099"),a("842f"),a("6e63"),a("818b"),a("b039"),a("14d4"),a("8a79"),a("96cf"),{isInit:!1,source:{},databaseInfo:{},tableInfo:{},columnInfo:{},lastCallbackArr:[],isAutocomplete:!1,change:function(e){var t=this;if(this.source=e,this.lastCallbackArr=[],console.log("change(sourceId):"+JSON.stringify(this.source)),!this.isInit){console.log("change(sourceId),isInit:"+this.isInit),this.isInit=!0;var a=ace.acequire("ace/ext/language_tools");a.addCompleter(this)}if(this.source.sourceId){var o=this.databaseInfo[this.source.sourceId]||[];if(o.length<=0&&b.databaseList({sourceId:this.source.sourceId}).then((function(e){t.databaseInfo[t.source.sourceId]=e.data||[]})),this.source.dbName){var r=this.source.sourceId+"_"+this.source.dbName,n=this.tableInfo[r]||[];n.length<=0&&b.tableList({sourceId:this.source.sourceId,dbName:this.source.dbName}).then((function(e){t.tableInfo[r]=e.data||[]}))}if(this.source.tableName){var i=this.source.sourceId+"_"+this.source.dbName+"_"+this.source.tableName,s=this.columnInfo[i]||[];s.length<=0&&b.tableColumnList({sourceId:this.source.sourceId,dbName:this.source.dbName,tableName:this.source.tableName}).then((function(e){t.columnInfo[i]=e.data.columnList||[]}))}}},startAutocomplete:function(e){this.isAutocomplete=!0,e.execCommand("startAutocomplete")},getCompletions:function(e,t,a,o,r){var n,i,s;return regeneratorRuntime.async((function(e){while(1)switch(e.prev=e.next){case 0:if(n=[],i=this.isAutocomplete?a.column:a.column-1,s=t.getLine(a.row).substring(0,i),this.isAutocomplete=!1,console.log("Executor.vue getCompletions,sourceId:"+JSON.stringify(this.source)+", lineStr:"+s,a),!this.source.tableName){e.next=12;break}return e.next=8,regeneratorRuntime.awrap(this.getAssignTableColumns(this.source.dbName,this.source.tableName));case 8:n=e.sent,r(null,n),e.next=35;break;case 12:if(!(s.endsWith("from ")||s.endsWith("join ")||s.endsWith("into ")||s.endsWith("update ")||s.endsWith("table "))){e.next=18;break}n=this.getDatabasesAndTables(),this.lastCallbackArr=n,r(null,n),e.next=35;break;case 18:if(!s.endsWith(".")){e.next=26;break}return e.next=21,regeneratorRuntime.awrap(this.getTablesAndColumns(s));case 21:n=e.sent,this.lastCallbackArr=n,r(null,n),e.next=35;break;case 26:if(!(s.endsWith("select ")||s.endsWith("where ")||s.endsWith("and ")||s.endsWith("or ")||s.endsWith("set "))){e.next=34;break}return e.next=29,regeneratorRuntime.awrap(this.getTableColumns(t,a));case 29:n=e.sent,this.lastCallbackArr=n,r(null,n),e.next=35;break;case 34:r(null,this.lastCallbackArr);case 35:case"end":return e.stop()}}),null,this)},getDatabasesAndTables:function(){var e=[],t=this.tableInfo[this.source.sourceId+"_"+this.source.dbName]||[];t.forEach((function(t){return e.push({caption:t.tableComment?t.tableName+"-"+t.tableComment:t.tableName,snippet:t.tableName,meta:"表",type:"snippet",score:1e3})}));var a=this.databaseInfo[this.source.sourceId]||[];return a.forEach((function(t){return e.push({caption:t.dbName,snippet:t.dbName,meta:"库",type:"snippet",score:1e3})})),e},getTablesAndColumns:function(e){var t,a,o,r,n,i,s,l,c,u;return regeneratorRuntime.async((function(d){while(1)switch(d.prev=d.next){case 0:t=!1,a=[],o=this.databaseInfo[this.source.sourceId]||[],r=0;case 4:if(!(r=0)){h.next=10;break}if(r=e.getLine(o),a=r+" "+a,!(r.indexOf(";")>=0)){h.next=7;break}return h.abrupt("break",10);case 7:o--,h.next=2;break;case 10:n=t.row+1;case 11:if(!(n=0)){h.next=16;break}return h.abrupt("break",19);case 16:n++,h.next=11;break;case 19:s=[],l=this.tableInfo[this.source.sourceId+"_"+this.source.dbName]||[],c=0;case 22:if(!(c=0)){h.next=29;break}return h.next=27,regeneratorRuntime.awrap(this.getAssignTableColumns(this.source.dbName,u));case 27:d=h.sent,s=s.concat(d);case 29:c++,h.next=22;break;case 32:return h.abrupt("return",s);case 33:case"end":return h.stop()}}),null,this)},getAssignTableColumns:function(e,t){var a,o,r,n;return regeneratorRuntime.async((function(i){while(1)switch(i.prev=i.next){case 0:if(a=this.source.sourceId+"_"+e+"_"+t,o=this.columnInfo[a]||[],!(o.length<=0)){i.next=8;break}return i.next=5,regeneratorRuntime.awrap(b.tableColumnList({sourceId:this.source.sourceId,dbName:e,tableName:t}));case 5:r=i.sent,o=r.data.columnList||[],this.columnInfo[a]=o;case 8:return n=[],o.forEach((function(e){var t=e.description?e.name+"-"+e.description:e.name;n.push({caption:t,snippet:e.name,meta:"字段",type:"snippet",score:1e3})})),i.abrupt("return",n);case 11:case"end":return i.stop()}}),null,this)}}),mt=(a("aa11"),{render:function(e){var t=this.height?this.px(this.height):"100%",a=this.width?this.px(this.width):"100%";return e("div",{attrs:{style:"height: "+t+"; width: "+a}})},props:{value:String,source:Object,lang:!0,theme:String,height:!0,width:!0,options:Object},data:function(){return{editor:null,contentBackup:""}},watch:{value:function(e){this.contentBackup!==e&&(this.editor.session.setValue(e,1),this.contentBackup=e)},theme:function(e){this.editor.setTheme("ace/theme/"+e)},lang:function(e){this.editor.getSession().setMode("string"===typeof e?"ace/mode/"+e:e)},options:function(e){this.editor.setOptions(e)},height:function(){this.$nextTick((function(){this.editor.resize()}))},width:function(){this.$nextTick((function(){this.editor.resize()}))},source:function(e){pt.change(e)}},beforeDestroy:function(){this.editor.destroy(),this.editor.container.remove()},activated:function(){pt.change(this.source)},mounted:function(){var e=this,t=this.lang||"text",o=this.theme||"chrome";a("b378");var r=e.editor=ht.a.edit(this.$el);r.$blockScrolling=1/0,this.$emit("init",r),r.getSession().setMode("string"===typeof t?"ace/mode/"+t:t),r.setTheme("ace/theme/"+o),this.value&&r.setValue(this.value,1),this.contentBackup=this.value,r.on("change",(function(){var t=r.getValue();e.$emit("input",t),e.contentBackup=t})),r.commands.addCommand({name:"start-autocomplete",bindKey:{win:"Alt-Enter",mac:"Alt-Enter"},exec:function(e){pt.startAutocomplete(e)}}),e.options&&r.setOptions(e.options),pt.change(this.source)},methods:{px:function(e){return/^\d*$/.test(e)?e+"px":e}}}),ft={name:"dataPreview",data:function(){return{sqlExecuting:!1,executeResultList:[],executeResultInfo:"",executeShowTable:"table1",sqlExecutorEditor:{},nowExecutorId:1,executeError:"",pageParam:{},vueQueryParam:{},pageSize:50,currentPage:1,tableTotalCount:0,tableSort:{},tableMaxHeight:600,tableStatusInfo:{},choiceResultObj:{},exportConditionVisible:!1,conditionDataCols:[],conditionDataColsChoice:[],downloadDataVisible:!1,downloadDataParam:{downloadType:"insert",dropTableFlag:0,createTableFlag:0,conditionColumnArr:[],retainColumnArr:[]},downloadFormParam:{url:"zyplayer-doc-db/data-view/downloadMultiple",param:{}},sqlExecutorContent:"",sqlEditorConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:3,maxLines:3},executorSource:{},columnMap:{},primaryKeyColumn:{}}},components:{"ace-editor":mt},mounted:function(){var e=this,t=function(){e.tableMaxHeight=document.body.clientHeight-420};t(),window.onresize=t},methods:{init:function(e,t){var a=this;this.pageParam.sourceId!=e.sourceId&&(this.pageParam=e,this.executorSource={sourceId:e.sourceId,dbName:e.dbName,tableName:e.tableName},this.columnMap={},t.forEach((function(e){a.columnMap[e.name]=e,1==e.primaryKey&&(a.primaryKeyColumn=e)})),this.doExecutorSqlCommon())},sqlExecutorInit:function(e){this.sqlExecutorEditor=e,this.sqlExecutorEditor.setFontSize(16);var t=this;this.sqlExecutorEditor.commands.addCommand({name:"execute-sql",bindKey:{win:"Ctrl-R|Ctrl-Shift-R|Ctrl-Enter",mac:"Command-R|Command-Shift-R|Command-Enter"},exec:function(e){t.doExecutorClick()}})},handleCurrentChange:function(e){this.currentPage=e,this.doExecutorSqlCommon()},handlePageSizeChange:function(e){this.pageSize=e,this.currentPage=1,this.doExecutorSqlCommon()},tableSortChange:function(e){this.tableSort.prop===e.prop&&this.tableSort.order===e.order||(this.tableSort={prop:e.prop,order:e.order},this.doExecutorSqlCommon())},refreshData:function(){this.tableSort={},this.currentPage=1,this.sqlExecutorEditor.setValue("",1),this.doExecutorSqlCommon()},cancelExecutorSql:function(){var e=this;b.executeSqlCancel({executeId:this.nowExecutorId}).then((function(){e.sqlExecuting=!1,e.$message.success("取消成功")}))},doExecutorClick:function(){this.tableSort={},this.currentPage=1,this.doExecutorSqlCommon()},doExecutorSqlCommon:function(){var e=this;if(this.pageParam.sourceId){this.tableSort.prop||(this.tableSort={prop:this.pageParam.orderColumn,order:"ascending"});var t=this.sqlExecutorEditor.getSelectedText();t=t||this.sqlExecutorEditor.getValue(),t=t||"",this.executeError="",this.executeUseTime="",this.choiceResultObj={},this.executeResultList=[],this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random()),this.sqlExecuting=!0;var a={sourceId:this.pageParam.sourceId,dbName:this.pageParam.dbName,tableName:this.pageParam.tableName,executeId:this.nowExecutorId,condition:t,pageNum:this.currentPage,pageSize:this.pageSize,orderColumn:this.tableSort.prop,orderType:"ascending"===this.tableSort.order?"asc":"desc",params:""};b.dataViewQuery(a).then((function(t){if(e.sqlExecuting=!1,200===t.errCode){for(var a=t.data||[],o=[],r="",n=1,i=0;i=0&&(t+="\n> 影响行数:"+e.updateCount),t+="\n> 耗时:"+(e.useTime||0)/1e3+"s",t+="\n\n",t},dealExecuteResult:function(e){var t=e.result||[],a=[];if(t.length>0){var o=t[0];for(var r in o){document.getElementById("widthCalculate").innerText=r;var n=document.getElementById("widthCalculate").offsetWidth;document.getElementById("widthCalculate").innerText=o[r];var i=document.getElementById("widthCalculate").offsetWidth,s=n>i?n:i;s=s<50?50:s,s=s>200?200:s;var l=this.columnMap[r]||{};a.push({prop:r,width:s+50,desc:l.description||r})}}var c={};return c.dataList=t,c.dataCols=a,c.useTime=e.useTime||0,c.errMsg=e.errMsg||"",c.updateCount=e.updateCount,c},handleSelectionChange:function(e){this.$set(this.choiceResultObj,this.executeShowTable,e)},doCopyCheckLineUpdate:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.executeResultList.find((function(t){return t.name===e.executeShowTable})).dataCols,o=lt.format("update",this.pageParam.dbType,a,t,this.conditionDataColsChoice,this.pageParam.dbName,this.pageParam.tableName);this.conditionDataColsChoice=[],this.exportConditionVisible=!1,this.$copyText(o).then((function(t){return e.$message.success("内容已复制到剪切板!")}),(function(t){return e.$message.error("抱歉,复制失败!")}))}},deleteCheckLine:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.primaryKeyColumn.name;if(!a)return void this.$message.error("删除失败,未找到数据表的主键列");var o=[];t.forEach((function(e){var t={};t[a]=e[a],o.push(t)})),this.$confirm("确定要删除选中的".concat(t.length,"行数据吗?"),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){var t={sourceId:e.pageParam.sourceId,dbName:e.pageParam.dbName,tableName:e.pageParam.tableName,lineJson:JSON.stringify(o)};b.deleteTableLineData(t).then((function(){e.$message.success("删除成功!"),e.refreshData()}))})).catch((function(){}))}},handleCopyCheckLineCommand:function(e){var t=this,a=this.choiceResultObj[this.executeShowTable]||[];if(a.length>0){this.conditionDataColsChoice=[];var o=this.executeResultList.find((function(e){return e.name===t.executeShowTable})).dataCols;if("update"===e){if(!this.primaryKeyColumn.name)return this.conditionDataCols=o,void(this.exportConditionVisible=!0);this.conditionDataColsChoice=[this.primaryKeyColumn.name]}var r=lt.format(e,this.pageParam.dbType,o,a,this.conditionDataColsChoice,this.pageParam.dbName,this.pageParam.tableName);this.$copyText(r).then((function(e){return t.$message.success("内容已复制到剪切板!")}),(function(e){return t.$message.error("抱歉,复制失败!")}))}},doDownloadTableData:function(){var e=this,t=this.sqlExecutorEditor.getSelectedText();t=t||this.sqlExecutorEditor.getValue(),t=t||"",this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random());var a={},o={},r={};a[this.pageParam.tableName]=t,o[this.pageParam.tableName]=this.downloadDataParam.conditionColumnArr.join(","),r[this.pageParam.tableName]=this.downloadDataParam.retainColumnArr.join(","),this.downloadFormParam.param={executeId:this.nowExecutorId,sourceId:this.pageParam.sourceId,dbName:this.pageParam.dbName,tableNames:this.pageParam.tableName,downloadType:this.downloadDataParam.downloadType,dropTableFlag:this.downloadDataParam.dropTableFlag,createTableFlag:this.downloadDataParam.createTableFlag,conditionJson:JSON.stringify(a),conditionColumnJson:JSON.stringify(o),retainColumnJson:JSON.stringify(r)},setTimeout((function(){return e.$refs.downloadForm.submit()}),0),this.downloadDataVisible=!1},downloadTableData:function(){var e=this,t=this.executeResultList.find((function(t){return t.name===e.executeShowTable}));if(!t||!t.dataList||t.dataList.length<=0)this.$message.warning("当前筛选条件下无数据,请重新筛选后再操作导出");else{var a=this.primaryKeyColumn.name;this.downloadDataParam.conditionColumnArr.length<=0&&a&&(this.downloadDataParam.conditionColumnArr=[a]),this.conditionDataCols=t.dataCols,this.downloadDataVisible=!0}},dropTableFlagChange:function(){1===this.downloadDataParam.dropTableFlag&&(this.downloadDataParam.createTableFlag=1)},createTableFlagChange:function(){0==this.downloadDataParam.createTableFlag&&(this.downloadDataParam.dropTableFlag=0)}}},bt=ft,gt=(a("f52e"),Object(C["a"])(bt,rt,nt,!1,null,null,null)),vt=gt.exports,yt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-executor-vue"},[e._m(0),a("el-dialog",{attrs:{visible:e.choiceRelationColumnVisible,width:"750px",title:"选择关联的表字段 "+e.editNodeInfo.tableName+"."+e.editNodeInfo.columnName},on:{"update:visible":function(t){e.choiceRelationColumnVisible=t}}},[e._l(e.editRelationArr,(function(t){return a("div",{staticStyle:{"margin-top":"10px"}},[a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择数据库"},on:{change:function(a){return e.dbNameChangeEvents(t)}},model:{value:t.dbName,callback:function(a){e.$set(t,"dbName",a)},expression:"item.dbName"}},e._l(e.databaseList,(function(e){return a("el-option",{key:e.dbName,attrs:{label:e.dbName,value:e.dbName}})})),1),a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择数据表"},on:{change:function(a){return e.tableNameChangeEvents(t)}},model:{value:t.tableName,callback:function(a){e.$set(t,"tableName",a)},expression:"item.tableName"}},e._l(e.dbTableList[t.dbName],(function(e){return a("el-option",{key:e.tableName,attrs:{label:e.tableName,value:e.tableName}})})),1),a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择表字段"},model:{value:t.columnName,callback:function(a){e.$set(t,"columnName",a)},expression:"item.columnName"}},e._l(e.dbTableColumnList[t.dbName+"."+t.tableName],(function(e){return a("el-option",{key:e.name,attrs:{label:e.name,value:e.name}})})),1),a("el-button",{attrs:{icon:"el-icon-delete",circle:""},on:{click:function(a){return e.delTableColumnRelation(t)}}})],1)})),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:e.addTableColumnRelation}},[e._v("添加关联")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doUpdateTableColumnRelation}},[e._v("确 定")])],1)],2)],1)},xt=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{width:"max(100%, 1000px)",height:"calc(100vh - 160px)",overflow:"auto"}},[a("div",{staticStyle:{width:"1500px",height:"1000px"},attrs:{id:"relationChart"}})])}],wt=a("313e"),Ct={name:"tableRelation",data:function(){return{pageParam:{},relationChart:{},relationChartData:{},relationChartOption:{},editNodeInfo:{},editRelationArr:[],databaseList:[],dbTableList:{},dbTableColumnList:{},choiceRelationColumnVisible:!1,columnListLoading:!1}},mounted:function(){},methods:{init:function(e){var t=this;this.pageParam.sourceId!=e.sourceId&&(this.pageParam=e,this.relationChartData.name=e.tableName,this.relationChart=wt["init"](document.getElementById("relationChart")),this.relationChartOption={tooltip:{trigger:"item",triggerOn:"mousemove"},series:[{type:"tree",id:0,name:"tree1",data:[this.relationChartData],top:"10%",left:"8%",bottom:"22%",right:"20%",symbolSize:7,edgeShape:"polyline",edgeForkPosition:"63%",initialTreeDepth:3,lineStyle:{width:2},label:{backgroundColor:"#fff",position:"right",verticalAlign:"middle",align:"left"},leaves:{label:{position:"right",verticalAlign:"middle",align:"left"}},emphasis:{focus:"descendant"},expandAndCollapse:!1,animationDuration:550,animationDurationUpdate:750}]},this.relationChart.setOption(this.relationChartOption),this.relationChart.on("click",(function(e){if(1==e.data.nodeType){t.editNodeInfo=e.data;var a=t.editNodeInfo.children||[];t.editRelationArr=[],a.length<=0?t.editRelationArr.push({dbName:t.pageParam.dbName,tableName:"",columnName:""}):a.forEach((function(e){t.editRelationArr.push({dbName:e.dbName,tableName:e.tableName,columnName:e.columnName})}));var o=[],r=[];t.editRelationArr.forEach((function(e){o.indexOf(e.dbName)<0&&(o.push(e.dbName),t.dbNameChangeEvents(e)),r.indexOf(e.dbName+"."+e.tableName)<0&&(r.push(e.dbName+"."+e.tableName),t.tableNameChangeEvents(e))})),t.choiceRelationColumnVisible=!0}})),this.relationChart.on("contextmenu",(function(e){console.log(e)})),this.doGetTableColumnRelation(),b.databaseList({sourceId:this.pageParam.sourceId}).then((function(e){t.databaseList=e.data||[]})))},doGetTableColumnRelation:function(){var e=this;this.relationChart.clear(),b.getTableColumnRelation(this.pageParam).then((function(t){e.relationChartData=t.data||{},e.relationChartOption.series[0].data=[t.data||{}],e.columnListLoading=!1,e.relationChart.setOption(e.relationChartOption),setTimeout((function(){return e.relationChart.resize()}),0)}))},delTableColumnRelation:function(e){this.editRelationArr=this.editRelationArr.filter((function(t){return t!==e}))},addTableColumnRelation:function(){this.editRelationArr.push({dbName:this.pageParam.dbName,tableName:"",columnName:""})},doUpdateTableColumnRelation:function(){var e=this,t={dbName:this.editNodeInfo.dbName,tableName:this.editNodeInfo.tableName,columnName:this.editNodeInfo.columnName,sourceId:this.pageParam.sourceId,relation:JSON.stringify(this.editRelationArr)};b.updateTableColumnRelation(t).then((function(t){e.choiceRelationColumnVisible=!1,e.doGetTableColumnRelation()}))},dbNameChangeEvents:function(e){var t=this;b.tableList({sourceId:this.pageParam.sourceId,dbName:e.dbName}).then((function(a){t.$set(t.dbTableList,e.dbName,a.data||[])}))},tableNameChangeEvents:function(e){var t=this;b.tableColumnList({sourceId:this.pageParam.sourceId,dbName:e.dbName,tableName:e.tableName}).then((function(a){t.$set(t.dbTableColumnList,e.dbName+"."+e.tableName,a.data.columnList||[])}))}}},_t=Ct,Dt=(a("499b"),Object(C["a"])(_t,yt,xt,!1,null,null,null)),St=Dt.exports,It={data:function(){return{columnListLoading:!1,vueQueryParam:{},tableStatusInfo:{},columnList:[],tableInfo:{},nowExecutorId:1,tableDDLInfoTab:"",tableDDLInfo:"",tableDDLInfoDialogVisible:!1,tabActiveName:"columns"}},mounted:function(){var e=this;setTimeout((function(){e.$emit("initLoadDataList",{sourceId:e.vueQueryParam.sourceId,host:e.vueQueryParam.host,dbName:e.vueQueryParam.dbName})}),500)},activated:function(){this.initQueryParam(this.$route)},components:{"data-preview":vt,"table-relation-charts":St},methods:{initQueryParam:function(e){var t=this;this.columnListLoading||(this.columnListLoading=!0,this.vueQueryParam=e.query,b.tableColumnList(this.vueQueryParam).then((function(e){for(var a=e.data.columnList||[],o=0;o0?"编辑数据源":"新增数据源",visible:e.datasourceDialogVisible,width:"760px","close-on-click-modal":!1},on:{"update:visible":function(t){e.datasourceDialogVisible=t}}},[a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"分组:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择或输入新的分组名字",filterable:"","allow-create":""},model:{value:e.newDatasource.groupName,callback:function(t){e.$set(e.newDatasource,"groupName",t)},expression:"newDatasource.groupName"}},[a("el-option",{attrs:{value:""}},[e._v("未分组")]),e._l(e.datasourceGroupList,(function(e){return a("el-option",{attrs:{value:e}})}))],2)],1),a("el-form-item",{attrs:{label:"数据源名称:"}},[a("el-input",{attrs:{placeholder:"给数据源起个中文名称"},model:{value:e.newDatasource.name,callback:function(t){e.$set(e.newDatasource,"name",t)},expression:"newDatasource.name"}})],1),a("el-form-item",{attrs:{label:"驱动类:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"驱动类"},on:{change:e.driverClassNameChange},model:{value:e.newDatasource.driverClassName,callback:function(t){e.$set(e.newDatasource,"driverClassName",t)},expression:"newDatasource.driverClassName"}},[a("el-option",{attrs:{label:"com.mysql.jdbc.Driver",value:"com.mysql.jdbc.Driver"}}),a("el-option",{attrs:{label:"net.sourceforge.jtds.jdbc.Driver",value:"net.sourceforge.jtds.jdbc.Driver"}}),a("el-option",{attrs:{label:"oracle.jdbc.driver.OracleDriver",value:"oracle.jdbc.driver.OracleDriver"}}),a("el-option",{attrs:{label:"org.postgresql.Driver",value:"org.postgresql.Driver"}}),a("el-option",{attrs:{label:"org.apache.hive.jdbc.HiveDriver",value:"org.apache.hive.jdbc.HiveDriver"}})],1)],1),a("el-form-item",{attrs:{label:"数据源URL:"}},[a("el-input",{attrs:{placeholder:e.urlPlaceholder},model:{value:e.newDatasource.sourceUrl,callback:function(t){e.$set(e.newDatasource,"sourceUrl",t)},expression:"newDatasource.sourceUrl"}})],1),a("el-form-item",{attrs:{label:"账号:"}},[a("el-input",{attrs:{placeholder:"账号"},model:{value:e.newDatasource.sourceName,callback:function(t){e.$set(e.newDatasource,"sourceName",t)},expression:"newDatasource.sourceName"}})],1),a("el-form-item",{attrs:{label:"密码:"}},[a("el-input",{attrs:{placeholder:"密码"},model:{value:e.newDatasource.sourcePassword,callback:function(t){e.$set(e.newDatasource,"sourcePassword",t)},expression:"newDatasource.sourcePassword"}})],1),a("el-form-item",{attrs:{label:"测试连接:"}},[a("el-button",{directives:[{name:"loading",rawName:"v-loading",value:e.testDatasourceErrLoading,expression:"testDatasourceErrLoading"}],attrs:{type:"primary"},on:{click:e.testDatasource}},[e._v("测试数据源")])],1)],1),a("div",{staticStyle:{"text-align":"center"},attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"primary"},on:{click:e.saveDatasource}},[e._v("保存")]),a("el-button",{attrs:{plain:""},on:{click:function(t){e.datasourceDialogVisible=!1}}},[e._v("取消")])],1)],1),a("el-dialog",{attrs:{visible:e.dbSourceAuthDialogVisible,width:"900px","close-on-click-modal":!1},on:{"update:visible":function(t){e.dbSourceAuthDialogVisible=t}}},[a("span",{attrs:{slot:"title"},slot:"title"},[a("span",[e._v("权限编辑")]),a("span",{staticStyle:{"margin-left":"10px",color:"#999","font-size":"12px"}},[a("i",{staticClass:"el-icon-info"}),e._v(" 添加、删除或编辑之后记得点击保存哦~")])]),a("el-row",[a("el-select",{staticStyle:{width:"750px","margin-right":"10px"},attrs:{filterable:"",remote:"","reserve-keyword":"",autoComplete:"new-password",placeholder:"请输入名字、邮箱、账号搜索用户","remote-method":e.getSearchUserList,loading:e.dbSourceAuthUserLoading},model:{value:e.dbSourceAuthNewUser,callback:function(t){e.dbSourceAuthNewUser=t},expression:"dbSourceAuthNewUser"}},e._l(e.searchUserList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.userName,value:e.id}})})),1),a("el-button",{on:{click:e.addDbSourceAuthUser}},[e._v("添加")])],1),a("el-table",{staticStyle:{width:"100%",margin:"10px 0"},attrs:{data:e.dbSourceAuthUserList,border:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"userName",label:"用户",width:"150"}}),a("el-table-column",{attrs:{label:"权限"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-select",{staticStyle:{width:"150px","margin-right":"10px"},attrs:{placeholder:"选择权限"},model:{value:t.row.executeAuth,callback:function(a){e.$set(t.row,"executeAuth",a)},expression:"scope.row.executeAuth"}},[a("el-option",{attrs:{value:""}},[e._v("无权限")]),a("el-option",{attrs:{value:1,label:"库表查看权"}}),a("el-option",{attrs:{value:2,label:"数据查询权"}}),a("el-option",{attrs:{value:3,label:"所有权限"}})],1),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:t.row.descEditAuth,callback:function(a){e.$set(t.row,"descEditAuth",a)},expression:"scope.row.descEditAuth"}},[e._v("表字段注释修改权")]),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:t.row.procEditAuth,callback:function(a){e.$set(t.row,"procEditAuth",a)},expression:"scope.row.procEditAuth"}},[e._v("函数修改权")])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"small",type:"danger",plain:""},on:{click:function(a){return e.deleteUserDbSourceAuth(t.row)}}},[e._v("删除")])]}}])})],1),a("div",[a("el-button",{attrs:{type:"primary"},on:{click:e.saveUserDbSourceAuth}},[e._v("保存配置")])],1)],1),a("el-dialog",{attrs:{title:"测试数据源失败",visible:e.testDatasourceErrVisible,footer:null,width:"760px"},on:{"update:visible":function(t){e.testDatasourceErrVisible=t}}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.testDatasourceErrInfo)}})])])])],1)},Zt=[];function ea(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ta(e){for(var t=1;t0?a("div",{staticClass:"sql-params"},e._l(e.sqlParams,(function(t){return a("el-input",{attrs:{placeholder:"请输入"+t.key+"的值"},model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"param.value"}},[a("template",{slot:"prepend"},[e._v(e._s(t.key))])],2)})),1):e._e()],1),a("el-card",[a("div",{staticStyle:{position:"relative"}},[a("div",{staticStyle:{position:"absolute",right:"0","z-index":"1"}},[a("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:this.choiceResultObj[this.executeShowTable]&&this.choiceResultObj[this.executeShowTable].length>0,expression:"this.choiceResultObj[this.executeShowTable] && this.choiceResultObj[this.executeShowTable].length > 0"}],on:{command:e.handleCopyCheckLineCommand}},[a("el-button",{attrs:{type:"primary",size:"small",icon:"el-icon-document-copy"}},[e._v(" 复制选中行"),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"insert"}},[e._v("SQL Inserts")]),a("el-dropdown-item",{attrs:{command:"update"}},[e._v("SQL Updates")]),a("el-dropdown-item",{attrs:{command:"json"}},[e._v("JSON")])],1)],1)],1),a("el-tabs",{model:{value:e.executeShowTable,callback:function(t){e.executeShowTable=t},expression:"executeShowTable"}},[a("el-tab-pane",{attrs:{label:"执行历史",name:"tabHistory"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.myHistoryListList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"createTime",label:"执行时间",width:"160px"}}),a("el-table-column",{attrs:{prop:"content",label:"SQL"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("pre",{staticClass:"sql-content-line",attrs:{title:t.row.content},on:{dblclick:function(a){return e.inputFavoriteSql(t.row)}}},[e._v(e._s(t.row.content))])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"160px"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.inputFavoriteSql(t.row)}}},[e._v("输入")]),a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{size:"mini",type:"success"},on:{click:function(a){return e.addFavorite(t.row.content)}}},[e._v("收藏")])]}}])})],1)],1),a("el-tab-pane",{attrs:{label:"我的收藏",name:"tabFavorite"}},[a("el-table",{directives:[{name:"infinite-scroll",rawName:"v-infinite-scroll"}],staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.myFavoriteList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"createTime",label:"执行时间",width:"160px"}}),a("el-table-column",{attrs:{prop:"content",label:"SQL"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("pre",{staticClass:"sql-content-line",attrs:{title:t.row.content},on:{dblclick:function(a){return e.inputFavoriteSql(t.row)}}},[e._v(e._s(t.row.content))])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"160px"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.inputFavoriteSql(t.row)}}},[e._v("输入")]),a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{size:"mini",type:"danger"},on:{click:function(a){return e.delFavorite(t.row)}}},[e._v("删除")])]}}])})],1)],1),e.executeResultInfo?a("el-tab-pane",{attrs:{label:"信息",name:"tabInfo"}},[a("pre",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.executeResultInfo))])]):e._e(),e.executeError?a("el-tab-pane",{attrs:{label:"错误",name:"tabError"}},[a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(e.executeError))])]):e._l(e.executeResultList,(function(t){return t.index?a("el-tab-pane",{attrs:{label:"结果"+t.index,name:t.name}},[t.errMsg?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(t.errMsg))]):t.dataList.length<=0?a("div",{staticStyle:{"text-align":"center",color:"#aaa",padding:"20px 0"}},[e._v("暂无数据")]):a("el-table",{staticClass:"execute-result-table",staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:t.dataList,stripe:"",border:"","max-height":"600"},on:{"selection-change":e.handleSelectionChange}},[a("el-table-column",{attrs:{type:"selection",width:"55"}}),a("el-table-column",{attrs:{type:"index",width:"50"}}),e._l(t.dataCols,(function(t){return a("el-table-column",{attrs:{prop:t.prop,label:t.prop,width:t.width},scopedSlots:e._u([{key:"default",fn:function(e){return[a("textarea",{staticClass:"el-textarea__inner",attrs:{readonly:"",rows:"1"},domProps:{value:e.row[t.prop]}})]}}],null,!0)})}))],2)],1):e._e()}))],2)],1)])],1),a("el-dialog",{attrs:{visible:e.exportConditionVisible,width:"500px",title:"选择更新语句条件"},on:{"update:visible":function(t){e.exportConditionVisible=t}}},[a("div",[e._v(" 更新条件列: "),a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"请选择"},model:{value:e.conditionDataColsChoice,callback:function(t){e.conditionDataColsChoice=t},expression:"conditionDataColsChoice"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.exportConditionVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doCopyCheckLineUpdate}},[e._v("确 定")])],1)]),a("span",{staticStyle:{visibility:"hidden","white-space":"nowrap",position:"fixed"},attrs:{id:"widthCalculate"}})],1)},pa=[],ma={parser:function(e,t,a){var o=[];if(!e)return o;var r=e.indexOf(t,0);if(-1==r)return o;var n=0,i="";while(r>-1){if(r>0&&"\\"==e[r-1])n=r+t.length;else{i="",n=r+t.length;var s=e.indexOf(a,n);while(s>-1){if(!(s>n&&"\\"==e[s-1])){i+=e.substr(n,s-n),n=s+a.length;break}i+=e.substr(n,s-n-1),n=s+a.length,s=e.indexOf(a,n)}-1==s?n=e.length:(i&&o.push(i),n=s+a.length)}r=e.indexOf(t,n)}return o},parserArr:function(e,t){var a=this,o={};t.forEach((function(t){var r=a.parser(e,t.start,t.end);r.forEach((function(e){return o[e]=1}))}));var r=[];for(var n in o)r.push(n);return r}},fa={data:function(){return{datasourceList:[],choiceDatasourceId:"",datasourceOptions:[],datasourceGroupList:[],choiceDatasourceGroup:"",databaseList:[],choiceDatabase:"",editorDbProduct:"",editorDbInfo:[],editorDbTableInfo:{},editorColumnInfo:{},sqlExecuting:!1,executeResultList:[],executeResultInfo:"",executeShowTable:"tabHistory",sqlExecutorEditor:{},nowExecutorId:1,executeError:"",myFavoriteList:[],myHistoryListList:[],choiceResultObj:{},exportConditionVisible:!1,conditionDataCols:[],conditionDataColsChoice:[],sqlExecutorContent:"",sqlEditorConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:15,maxLines:40},executorSource:{},sqlParams:[],sqlParamWaiting:!1,sqlParamHistory:{}}},components:{"ace-editor":mt},mounted:function(){this.loadDatasourceList()},methods:{sqlExecutorInit:function(e){var t=this;this.sqlExecutorEditor=e,this.sqlExecutorEditor.setFontSize(16);var a=this;this.sqlExecutorEditor.commands.addCommand({name:"execute-sql",bindKey:{win:"Ctrl-R|Ctrl-Shift-R|Ctrl-Enter",mac:"Command-R|Command-Shift-R|Command-Enter"},exec:function(e){a.doExecutorSql()}}),e.on("change",(function(){t.sqlParamWaiting||(t.sqlParamWaiting=!0,setTimeout((function(){var a=e.getValue(),o=ma.parserArr(a,[{start:"${",end:"}"},{start:"#{",end:"}"}]);t.sqlParams=[],o.forEach((function(e){t.sqlParams.push({key:e,value:t.sqlParamHistory[e]||""})})),t.sqlParamWaiting=!1}),300))}))},cancelExecutorSql:function(){var e=this;b.executeSqlCancel({executeId:this.nowExecutorId}).then((function(){e.$message.success("取消成功")}))},loadHistoryAndFavoriteList:function(){this.loadHistoryList(),this.loadFavoriteList()},loadFavoriteList:function(){var e=this;b.favoriteList({sourceId:this.choiceDatasourceId}).then((function(t){e.myFavoriteList=t.data||[]}))},loadHistoryList:function(){var e=this;b.historyList({sourceId:this.choiceDatasourceId}).then((function(t){e.myHistoryListList=t.data||[]}))},addFavorite:function(e){var t=this;e||(e=this.sqlExecutorEditor.getSelectedText(),e||(e=this.sqlExecutorEditor.getValue()));var a={};this.sqlParams.forEach((function(e){e.value&&(a[e.key]=e.value)}));var o={name:"我的收藏",content:e,paramJson:JSON.stringify(a),datasourceId:this.choiceDatasourceId};b.updateFavorite(o).then((function(){t.$message.success("收藏成功"),t.loadFavoriteList()}))},delFavorite:function(e){var t=this;b.updateFavorite({id:e.id,yn:0}).then((function(){t.$message.success("删除成功"),t.loadFavoriteList()}))},inputFavoriteSql:function(e){if(this.sqlExecutorEditor.setValue(e.content,1),e.paramJson){var t=JSON.parse(e.paramJson);for(var a in t)this.sqlParamHistory[a]=t[a]}},formatterSql:function(){var e=this.sqlExecutorEditor.getSelectedText();if(e){var t=this.sqlExecutorEditor.getSelectionRange();this.sqlExecutorEditor.remove(t)}else e=this.sqlExecutorEditor.getValue(),this.sqlExecutorEditor.setValue("",1);e&&(e=ut.a.format(e),this.sqlExecutorEditor.insert(e))},doExecutorSql:function(){var e=this;if(this.choiceDatasourceId){this.executeError="",this.executeUseTime="",this.executeResultList=[];var t={};this.sqlParams.forEach((function(a){a.value&&(t[a.key]=a.value,e.sqlParamHistory[a.key]=a.value)})),this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random());var a=this.sqlExecutorEditor.getSelectedText();a||(a=this.sqlExecutorEditor.getValue()),this.sqlExecuting=!0,b.queryExecuteSql({sourceId:this.choiceDatasourceId,dbName:this.choiceDatabase,executeId:this.nowExecutorId,sql:a,params:JSON.stringify(t)}).then((function(t){if(e.sqlExecuting=!1,200!=t.errCode)return e.executeShowTable="tabError",void(e.executeError=t.errMsg);for(var a=t.data||[],o=[],r="",n=1,i=0;i0&&(e.choiceDatasourceId=e.datasourceList[0].id,e.executorSource={sourceId:e.choiceDatasourceId},e.loadDatabaseList(),e.loadSourceBaseInfo(),e.loadHistoryAndFavoriteList())}))},loadDatabaseList:function(){var e=this;b.databaseList({sourceId:this.choiceDatasourceId}).then((function(t){if(e.databaseList=t.data||[],e.databaseList.length>0){var a=["information_schema","master","model","msdb","tempdb"],o=e.databaseList.find((function(e){return a.indexOf(e.dbName)<0}));e.choiceDatabase=o?o.dbName:e.databaseList[0].dbName,e.executorSource={sourceId:e.choiceDatasourceId,dbName:e.choiceDatabase}}}))},loadSourceBaseInfo:function(){var e=this;b.getSourceBaseInfo({sourceId:this.choiceDatasourceId}).then((function(t){var a=t.data||{};e.editorDbProduct=a.product||""}))},sourceGroupChangeEvents:function(){for(var e=[],t=0;t0&&(this.choiceDatasourceId=e[0].id,this.executorSource={sourceId:this.choiceDatasourceId},this.loadDatabaseList(),this.loadSourceBaseInfo(),this.loadHistoryAndFavoriteList())},datasourceChangeEvents:function(){this.executorSource={sourceId:this.choiceDatasourceId},this.loadDatabaseList(),this.loadSourceBaseInfo(),this.loadHistoryAndFavoriteList()},databaseChangeEvents:function(){this.executorSource={sourceId:this.choiceDatasourceId,dbName:this.choiceDatabase}},getExecuteInfoStr:function(e){var t=e.sql;return t+="\n> 状态:"+(e.errMsg?"ERROR":"OK"),e.updateCount>=0&&(t+="\n> 影响行数:"+e.updateCount),t+="\n> 耗时:"+(e.useTime||0)/1e3+"s",t+="\n\n",t},dealExecuteResult:function(e){var t=e.result||[],a=[];if(t.length>0){var o=t[0];for(var r in o){document.getElementById("widthCalculate").innerText=r;var n=document.getElementById("widthCalculate").offsetWidth;document.getElementById("widthCalculate").innerText=o[r];var i=document.getElementById("widthCalculate").offsetWidth,s=n>i?n:i;s=s<50?50:s,s=s>200?200:s,a.push({prop:r,width:s+25})}}var l={};return l.dataList=t,l.dataCols=a,l.useTime=e.useTime||0,l.errMsg=e.errMsg||"",l.updateCount=e.updateCount,l},handleSelectionChange:function(e){this.$set(this.choiceResultObj,this.executeShowTable,e)},doCopyCheckLineUpdate:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.executeResultList.find((function(t){return t.name===e.executeShowTable})).dataCols,o=lt.format("update",this.editorDbProduct,a,t,this.conditionDataColsChoice);this.conditionDataColsChoice=[],this.exportConditionVisible=!1,this.$copyText(o).then((function(t){return e.$message.success("内容已复制到剪切板!")}),(function(t){return e.$message.error("抱歉,复制失败!")}))}},handleCopyCheckLineCommand:function(e){var t=this,a=this.choiceResultObj[this.executeShowTable]||[];if(a.length>0){var o=this.executeResultList.find((function(e){return e.name===t.executeShowTable})).dataCols;if("update"===e)return this.conditionDataCols=o,void(this.exportConditionVisible=!0);var r=lt.format(e,this.editorDbProduct,o,a,"");this.$copyText(r).then((function(e){return t.$message.success("内容已复制到剪切板!")}),(function(e){return t.$message.error("抱歉,复制失败!")}))}}}},ba=fa,ga=(a("7002"),Object(C["a"])(ba,ha,pa,!1,null,null,null)),va=ga.exports,ya=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-transfer-vue"},[a("div",{staticStyle:{padding:"0 10px",height:"100%","box-sizing":"border-box"}},[a("el-card",[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("span",[e._v("数据互导工具")]),a("a",{attrs:{target:"_blank",title:"点击查看如何使用",href:"http://doc.zyplayer.com/zyplayer-doc-manage/doc-wiki#/page/share/view?pageId=128&space=23f3f59a60824d21af9f7c3bbc9bc3cb"}},[a("i",{staticClass:"el-icon-info",staticStyle:{color:"#999"}})])]),a("div",{staticStyle:{"margin-bottom":"10px","text-align":"right"}},[a("el-button",{attrs:{type:"success",icon:"el-icon-plus"},on:{click:e.createNewTask}},[e._v("新建")]),a("el-button",{attrs:{type:"primary",loading:e.loadDataListLoading,icon:"el-icon-refresh"},on:{click:e.loadGetTaskList}},[e._v("查询")])],1),a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.taskList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"ID",width:"55"}}),a("el-table-column",{attrs:{prop:"name",label:"任务名称"}}),a("el-table-column",{attrs:{label:"条数查询"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.needCount?"是":"否"))]}}])}),a("el-table-column",{attrs:{prop:"lastExecuteStatus",label:"最后执行状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.lastExecuteStatus?a("el-tag",[e._v("未执行")]):1==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"info"}},[e._v("执行中")]):2==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"success"}},[e._v("执行成功")]):3==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"danger"}},[e._v("执行失败")]):4==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"warning"}},[e._v("取消执行")]):e._e()]}}])}),a("el-table-column",{attrs:{prop:"lastExecuteTime",label:"最后执行时间"}}),a("el-table-column",{attrs:{prop:"createUserName",label:"创建人"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}}),a("el-table-column",{attrs:{label:"操作",width:"290"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.viewTask(t.row.id)}}},[e._v("查看")]),a("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(a){return e.editTask(t.row)}}},[e._v("编辑")]),a("el-button",{attrs:{size:"mini",type:"warning"},on:{click:function(a){return e.executeTask(t.row.id)}}},[e._v("执行")]),a("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(a){return e.deleteTask(t.row.id)}}},[e._v("删除")])]}}])})],1)],1)],1),a("el-dialog",{attrs:{visible:e.taskEditDialogVisible,width:"900px","close-on-click-modal":!1},on:{"update:visible":function(t){e.taskEditDialogVisible=t}}},[e.taskEditInfo.id?a("span",{attrs:{slot:"title"},slot:"title"},[e._v("编辑任务")]):a("span",{attrs:{slot:"title"},slot:"title"},[e._v("新建任务")]),a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"任务名称:"}},[a("el-input",{attrs:{placeholder:"任务名称"},model:{value:e.taskEditInfo.name,callback:function(t){e.$set(e.taskEditInfo,"name",t)},expression:"taskEditInfo.name"}})],1),a("el-form-item",{attrs:{label:"查询数据源:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择查询数据源"},model:{value:e.taskEditInfo.queryDatasourceId,callback:function(t){e.$set(e.taskEditInfo,"queryDatasourceId",t)},expression:"taskEditInfo.queryDatasourceId"}},e._l(e.datasourceOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",{attrs:{label:"查询SQL:"}},[a("ace-editor",{attrs:{lang:"sql",theme:"monokai",width:"100%",height:"100",options:e.editSqlConfig},on:{init:e.querySqlInit},model:{value:e.querySqlContent,callback:function(t){e.querySqlContent=t},expression:"querySqlContent"}})],1),a("el-form-item",{attrs:{label:"总条数查询:"}},[a("el-radio",{attrs:{label:0},model:{value:e.taskEditInfo.needCount,callback:function(t){e.$set(e.taskEditInfo,"needCount",t)},expression:"taskEditInfo.needCount"}},[e._v("不查询")]),a("el-radio",{attrs:{label:1},model:{value:e.taskEditInfo.needCount,callback:function(t){e.$set(e.taskEditInfo,"needCount",t)},expression:"taskEditInfo.needCount"}},[e._v("自动查询")])],1),a("el-form-item",{attrs:{label:"入库数据源:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择写入数据源"},model:{value:e.taskEditInfo.storageDatasourceId,callback:function(t){e.$set(e.taskEditInfo,"storageDatasourceId",t)},expression:"taskEditInfo.storageDatasourceId"}},e._l(e.datasourceOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",{attrs:{label:"入库SQL:"}},[a("ace-editor",{attrs:{lang:"sql",theme:"monokai",width:"100%",height:"100",options:e.editSqlConfig},on:{init:e.storageSqlInit},model:{value:e.storageSqlContent,callback:function(t){e.storageSqlContent=t},expression:"storageSqlContent"}}),a("el-button",{staticStyle:{"margin-top":"10px"},on:{click:e.autoFillStorageSql}},[e._v("智能填充")])],1)],1),a("div",{staticStyle:{"text-align":"center"}},[a("el-button",{attrs:{type:"primary"},on:{click:e.saveEditTask}},[e._v("保存")]),a("el-button",{attrs:{type:"warning"},on:{click:function(t){e.taskEditDialogVisible=!1}}},[e._v("取消")])],1)],1),a("el-dialog",{attrs:{visible:e.taskViewDialogVisible,width:"80%"},on:{"update:visible":function(t){e.taskViewDialogVisible=t}}},[a("span",{attrs:{slot:"title"},slot:"title"},[e._v("查看任务")]),a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"任务名称:"}},[e._v(e._s(e.taskEditInfo.name))]),a("el-form-item",{attrs:{label:"最后执行状态:"}},[0==e.taskEditInfo.lastExecuteStatus?a("el-tag",[e._v("未执行")]):1==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"info"}},[e._v("执行中")]):2==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"success"}},[e._v("执行成功")]):3==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"danger"}},[e._v("执行失败")]):4==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"warning"}},[e._v("取消执行")]):e._e()],1),a("el-form-item",{attrs:{label:"最后执行时间:"}},[e._v(e._s(e.taskEditInfo.lastExecuteTime))]),a("el-form-item",{attrs:{label:"执行信息:"}},[a("pre",{staticStyle:{"word-wrap":"break-word","word-break":"break-all","white-space":"pre-wrap","line-height":"22px"}},[e._v(e._s(e.taskEditInfo.lastExecuteInfo))])]),1==e.taskEditInfo.lastExecuteStatus?a("el-form-item",{attrs:{label:"操作:"}},[a("el-button",{attrs:{type:"success",icon:"el-icon-refresh",loading:e.viewTaskLoading},on:{click:function(t){return e.viewTask(e.taskEditInfo.id)}}},[e._v("刷新")]),a("el-button",{attrs:{type:"danger"},on:{click:e.cancelTask}},[e._v("取消执行")])],1):e._e()],1)],1)],1)},xa=[],wa={data:function(){return{viewTaskLoading:!1,loadDataListLoading:!1,datasourceOptions:[],queryDatasourceId:"",storageDatasourceId:"",taskList:[],datasourceMap:{},taskViewDialogVisible:!1,taskEditDialogVisible:!1,taskEditInfo:{},querySqlEditor:{},storageSqlEditor:{},querySqlContent:"",storageSqlContent:"",editSqlConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:10,maxLines:25}}},components:{"ace-editor":mt},mounted:function(){this.loadDatasourceList()},methods:{editTask:function(e){var t=this;this.taskEditInfo=JSON.parse(JSON.stringify(e)),this.taskEditDialogVisible=!0,setTimeout((function(){t.querySqlEditor.setValue(t.taskEditInfo.querySql,1),t.storageSqlEditor.setValue(t.taskEditInfo.storageSql,1)}),200)},querySqlInit:function(e){this.querySqlEditor=e,this.querySqlEditor.setFontSize(16)},storageSqlInit:function(e){this.storageSqlEditor=e,this.storageSqlEditor.setFontSize(16)},createNewTask:function(){var e=this;this.taskEditInfo={querySql:"",storageSql:"",name:"",needCount:1,queryDatasourceId:"",storageDatasourceId:""},this.taskEditDialogVisible=!0,setTimeout((function(){e.querySqlEditor.setValue("",1),e.storageSqlEditor.setValue("",1)}),200)},deleteTask:function(e){var t=this;this.$confirm("确定要删除此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferUpdate({id:e,delFlag:1}).then((function(){t.$message.success("删除成功"),t.loadGetTaskList()}))})).catch((function(){}))},executeTask:function(e){var t=this;this.$confirm("确定要执行一次此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferStart({id:e}).then((function(){t.$message.success("任务提交成功")}))})).catch((function(){}))},saveEditTask:function(){var e=this;this.taskEditInfo.querySql=this.querySqlEditor.getValue(),this.taskEditInfo.storageSql=this.storageSqlEditor.getValue(),b.transferUpdate(this.taskEditInfo).then((function(){e.$message.success("保存成功"),e.taskEditDialogVisible=!1,e.loadGetTaskList()}))},viewTask:function(e){var t=this;this.viewTaskLoading=!0,this.taskViewDialogVisible=!0,b.transferDetail({id:e}).then((function(e){t.taskEditInfo=e.data||{},setTimeout((function(){t.viewTaskLoading=!1}),300)}))},cancelTask:function(){var e=this;this.$confirm("确定要取消执行此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferCancel({id:e.taskEditInfo.id}).then((function(){e.$message.success("取消成功"),e.viewTask(e.taskEditInfo.id)}))})).catch((function(){}))},loadGetTaskList:function(){var e=this;this.loadDataListLoading=!0,b.transferList({}).then((function(t){e.taskList=t.data||[],setTimeout((function(){e.loadDataListLoading=!1}),800)}))},autoFillStorageSql:function(){var e=this,t=this.querySqlEditor.getValue();b.transferSqlColumns({sql:t}).then((function(t){var a=t.data||[];if(a.length<=0)e.$message.error("查询的字段不明确,不能自动填充");else{var o="\n";o+="insert into TableName (\n";for(var r=0;r0&&e.children[0].needLoad&&(console.log("加载节点:",e),1==e.type&&this.loadGetTableList(e))},databaseActionDropdown:function(e){if("refresh"==e.command)e.node.loading=!0,e.node.data.children=[],this.loadGetTableList(e.node.data,(function(){setTimeout((function(){return e.node.loading=!1}),500)}));else if("procedure"==e.command){var t=e.node.data,a={sourceId:this.choiceDatasourceId,dbName:t.dbName,host:t.host};this.$router.push({path:"/procedure/list",query:a})}else this.$message.warning("暂未支持的选项")},loadGetTableList:function(e,t){b.tableList({sourceId:this.choiceDatasourceId,dbName:e.dbName}).then((function(a){for(var o=[],r=a.data||[],n=0;n0||(this.choiceDatasourceId=parseInt(e.sourceId),this.loadDatabaseList(e.sourceId,e.host).then((function(){t.databaseExpandedKeys=[e.host]})))},dragChangeRightAsideWidth:function(){var e=this,t=this.$refs.rightResize,a=this.$refs.rightResizeBar;t.onmousedown=function(o){var r=o.clientX;return t.style.background="#ccc",a.style.background="#aaa",t.left=t.offsetLeft,document.onmousemove=function(t){var a=t.clientX,o=r-a;(o<0&&e.rightAsideWidth<600||o>0&&e.rightAsideWidth>200)&&(r=a,e.rightAsideWidth-=o)},document.onmouseup=function(){t.style.background="#fafafa",a.style.background="#ccc",document.onmousemove=null,document.onmouseup=null},!1}}}},I=S,k=(a("034f"),Object(C["a"])(I,i,s,!1,null,null,null)),L=k.exports,E=a("8c4f"),P=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{padding:"10px"}},[a("div",{staticStyle:{"max-width":"1200px",margin:"20px auto"}},[a("div",{staticStyle:{"text-align":"center"}},[e._v("欢迎使用"),a("span",{on:{dblclick:e.showErGraph}},[e._v('ヾ(๑╹◡╹)ノ"')]),e._v(" - 在左上角选择一个数据源吧~")])])])},N=[],T={data:function(){return{}},mounted:function(){},methods:{showErGraph:function(){}}},O=T,q=Object(C["a"])(O,P,N,!1,null,null,null),z=q.exports,$=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{padding:"10px"}},[a("er-graph")],1)},j=[],A=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"styles.erGraphDemo"},[a("ERGraphDemo")],1)},R=[],F=a("779d"),V=a.n(F),U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{width:"100%",height:"650px"}},[a("ERGraph",{attrs:{graphData:e.graphData}})],1)},Q=[],B=(a("d81d"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"er-editor-demo-container"},[a("div",{ref:"refContainer",staticStyle:{width:"100%",height:"100%"},attrs:{id:"refContainer"}}),a("div",{ref:"refMinimapContainer",staticClass:"minimap-container",attrs:{id:"refMinimapContainer"}})])}),M=[],G=(a("a4d3"),a("e439"),a("dbb4"),a("b64b"),a("2fa7")),H=(a("f32d"),a("9f12")),J=a("53fe"),W=a("5728"),K=(a("99af"),a("dfdf")),X=a("2ef0"),Y=a.n(X);a("3e2f");function Z(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ee(e){for(var t=1;t0&&(this.graph.removeCells(e),this.nodes=Y.a.pullAll(this.nodes,e))}},{key:"removeNode",value:function(e){if(e)if(e instanceof Node)this.removeNodes([e]);else{var t=this.findNodeById(e);t&&this.removeNodes([t])}}},{key:"addEdges",value:function(e){var t=this;e.forEach((function(e){t.addEdge(e)}))}},{key:"addEdge",value:function(e){var t=e.id,a=e.source,o=e.target,r=(e.render,e.data),n=Object(K["a"])(e,["id","source","target","render","data"]),i=Y.a.find(this.nodes,(function(e){return e.id===a})),s=Y.a.find(this.nodes,(function(e){return e.id===o}));if(!a||!o)throw new Error("edge must has source and target!");var l=this.graph.addEdge(ee({id:t||"".concat(a,"-").concat(o),data:r||void 0,source:i,target:s,attrs:{line:{stroke:"#B4BDCF",strokeWidth:1}}},n));this.edges.push(l)}},{key:"updateEdge",value:function(e,t){Y.a.isEqual(e.data,t.data)||e.setData(t.data)}},{key:"removeEdges",value:function(e){this.graph.removeCells(e),this.edges=Y.a.pullAll(this.edges,e)}},{key:"removeEdge",value:function(e){if(e)if(e instanceof W["a"])this.graph.removeCells([e]),this.removeEdges([e]);else{var t=this.findEdgeById(e);t&&this.removeEdges([t])}}},{key:"findNodeById",value:function(e){return this.nodes.find((function(t){return t.id===e}))}},{key:"findEdgeById",value:function(e){return this.edges.find((function(t){return t.id===e}))}}]),e}(),oe=function e(t){var a=this;Object(H["a"])(this,e),Object(G["a"])(this,"registerEvent",(function(e){e&&e.forEach((function(e){switch(e.eventName){case"scale":a.graph.on("scale",(function(t){var a=t.sx,o=(t.sy,t.ox,t.oy,a);e.handler&&e.handler({scale:o})}));break;case"graph:mouseenter":a.graph.on("graph:mouseenter",(function(t){t.e;e.handler&&e.handler()}));break;case"graph:mouseleave":a.graph.on("graph:mouseleave",(function(t){t.e;e.handler&&e.handler()}));break;case"blank:mouseDown":a.graph.on("blank:mousedown",(function(t){t.e;var a=t.x,o=t.y;e.handler&&e.handler({x:a,y:o})}));break;case"blank:mouseUp":a.graph.on("blank:mouseup",(function(t){t.e;var a=t.x,o=t.y;e.handler&&e.handler({x:a,y:o})}));break;case"node:added":a.graph.on("node:added",(function(e){var t=e.node;a.x6BaseGraph.bringNodesToFront([t])}));break;case"node:removed":a.graph.on("node:removed",(function(e){e.node}));break;case"edge:added":a.graph.on("edge:added",(function(e){e.edge}));break;case"edge:removed":a.graph.on("edge:removed",(function(e){e.edge;a.isDeleteX6DefaultEdge}));break;case"node:mousedown":a.graph.on("node:mousedown",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:mousemove":a.graph.on("node:mousemove",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:mouseup":a.graph.on("node:mouseup",(function(t){t.e;var a=t.view,o=t.x,r=t.y;e.handler&&e.handler({node:a.cell,x:o,y:r})}));break;case"node:click":a.graph.on("node:click",(function(t){var a=t.view;e.handler&&e.handler({node:a.cell})}));break;case"node:dbclick":a.graph.on("node:dblclick",(function(t){var a=t.view;e.handler&&e.handler({node:a.cell})}));break;case"edge:connected":a.graph.on("edge:connected",(function(e){e.edge}));break;case"selection:changed":a.graph.on("selection:changed",(function(t){var o=t.selected,r=t.removed,n=t.added;e.handler&&e.handler({selected:o,removed:r,added:n}),a.x6BaseGraph.bringCellsToFront(o)}));break;default:break}}))})),this.x6BaseGraph=t,this.graph=t.graph};function re(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ne(e){for(var t=1;t0&&t.cellController.addNodes(o),r&&r.length>0&&t.cellController.addEdges(r)}))}},{key:"zoomGraph",value:function(e){"number"===typeof e?this.graph.zoom(e):"fit"===e?this.graph.zoomToFit({padding:12}):e&&(this.graph.scale(1),this.graph.centerContent())}},{key:"focusNodeToGraphCenter",value:function(e){if(e instanceof Node)this.graph.centerCell(e);else{var t=this.cellController.findNodeById(e);t&&this.graph.centerCell(t)}}},{key:"bringNodesToFront",value:function(e){e.forEach((function(e){e.toBack()}))}},{key:"bringNodesToBack",value:function(e){e.forEach((function(e){e.toBack()}))}},{key:"clearGraph",value:function(){}},{key:"registerEvent",value:function(e){this.eventController.registerEvent(e)}},{key:"graphContentDiff",value:function(e){var t=this,a=e.nodes,o=e.edges,r=[];a.forEach((function(e){var a=t.cellController.findNodeById(e.id);a||r.push(e)}));var n=[],i=[],s=[];this.cellController.nodes.forEach((function(e){var o=a.find((function(t){return t.id===e.id}));o?Y.a.isEqual(e.data,o.data)?n.push(e):(i.push(e),t.cellController.updateNode(e,o)):s.push(e)}));var l=[];o.forEach((function(e){if(e.id){var a=t.cellController.findEdgeById(e.id);a||l.push(e)}}));var c=[],u=[],d=[];return this.cellController.edges.forEach((function(e){var a=o.find((function(t){return t.id===e.id}));a?Y.a.isEqual(e.data,a.data)?c.push(e):(u.push(e),t.cellController.updateEdge(e,a)):d.push(e)})),this.cellController.removeNodes(s),this.cellController.removeEdges(d),{addNodesData:r,addEdgesData:l}}}]),e}();function se(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function le(e){for(var t=1;t',data:function(){return{entity:e}},components:{Entity:xe}}}})),this.graphData.edges=fe.map((function(e){var t=e.relationId,a=e.sourceEntityId,o=e.targetEntityId;return{id:t,source:a,target:o,label:"1:N",data:e}}))}}},_e=Ce,De=Object(C["a"])(_e,U,Q,!1,null,"29ea1468",null),Se=De.exports,Ie={name:"index",components:{ERGraphDemo:Se},data:function(){return{visible:!1,graph:"",styles:V.a}},mounted:function(){},methods:{showDrawer:function(){this.visible=!0},onClose:function(){this.visible=!1}}},ke=Ie,Le=Object(C["a"])(ke,A,R,!1,null,"1e71010a",null),Ee=Le.exports,Pe={data:function(){return{}},components:{erGraph:Ee},mounted:function(){},methods:{}},Ne=Pe,Te=Object(C["a"])(Ne,$,j,!1,null,null,null),Oe=(Te.exports,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{"padding-top":"50px"}},[a("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[a("h3",{staticClass:"title"},[e._v("系统登录")]),a("el-form-item",{attrs:{prop:"username"}},[a("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),a("el-form-item",{attrs:{prop:"password"}},[a("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),a("el-form-item",{staticStyle:{width:"100%"}},[a("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.logining},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1)}),qe=[],ze={data:function(){return{logining:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},checked:!0}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&f.userLogin(e.loginParam).then((function(){e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()}))}))}}},$e=ze,je=(a("9231"),Object(C["a"])($e,Oe,qe,!1,null,null,null)),Ae=je.exports,Re=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"my-info-vue"},[a("div",{staticStyle:{margin:"0 auto","max-width":"1000px"}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e._v("我的信息")]),a("el-form",{staticClass:"search-form-box",attrs:{"label-width":"100px"}},[a("el-form-item",{attrs:{label:"账号:"}},[e._v(e._s(e.userInfo.userNo))]),a("el-form-item",{attrs:{label:"用户名:"}},[e._v(e._s(e.userInfo.userName))]),a("el-form-item",{attrs:{label:"手机号:"}},[e._v(e._s(e.userInfo.phone))]),a("el-form-item",{attrs:{label:"邮箱:"}},[e._v(e._s(e.userInfo.email))]),a("el-form-item",{attrs:{label:"状态:"}},[e._v(e._s(0==e.userInfo.delFlag?"正常":"停用"))]),a("el-form-item",{attrs:{label:"性别:"}},[e._v(e._s(0==e.userInfo.sex?"女":"男"))])],1)],1)],1)])},Fe=[],Ve={data:function(){return{userInfo:{}}},mounted:function(){this.getUserInfo()},methods:{getUserInfo:function(){var e=this;f.getSelfUserInfo().then((function(t){e.userInfo=t.data}))}}},Ue=Ve,Qe=(a("dcfc"),Object(C["a"])(Ue,Re,Fe,!1,null,null,null)),Be=Qe.exports,Me=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("router-view")},Ge=[],He={},Je=Object(C["a"])(He,Me,Ge,!1,null,null,null),We=Je.exports,Ke=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-tabs",{staticStyle:{padding:"5px 10px 0"},attrs:{type:"card",closable:""},on:{"tab-click":e.changePage,"tab-remove":e.removePageTab},model:{value:e.activePage,callback:function(t){e.activePage=t},expression:"activePage"}},e._l(e.pageList,(function(t){return a("el-tab-pane",{attrs:{label:e.pageTabNameMap[t.fullPath]||t.name,name:t.fullPath}})})),1),a("keep-alive",[a("router-view",{key:e.$route.fullPath,on:{initLoadDataList:e.initLoadDataList,loadDatasourceList:e.loadDatasourceList}})],1)],1)},Xe=[],Ye=(a("c975"),{name:"PageTableView",components:{},data:function(){return{pageList:[],linkList:[],activePage:"",multiPage:!0}},computed:{pageTabNameMap:function(){return this.$store.state.global.pageTabNameMap}},created:function(){this.pageList.push(this.$route),this.linkList.push(this.$route.fullPath),this.activePage=this.$route.fullPath},watch:{$route:function(e,t){this.activePage=e.fullPath,this.linkList.indexOf(e.fullPath)<0&&(this.linkList.push(e.fullPath),this.pageList.push(e))},activePage:function(e){this.$router.push(e)}},methods:{initLoadDataList:function(e){this.$emit("initLoadDataList",e)},loadDatasourceList:function(){this.$emit("loadDatasourceList")},changePage:function(e){this.activePage=e.name},editPage:function(e,t){this[t](e)},removePageTab:function(e){if(1!==this.pageList.length){this.pageList=this.pageList.filter((function(t){return t.fullPath!==e}));var t=this.linkList.indexOf(e);this.linkList=this.linkList.filter((function(t){return t!==e})),t=t>=this.linkList.length?this.linkList.length-1:t,this.activePage=this.linkList[t]}else this.$message.warning("这是最后一页,不能再关闭了啦")}}}),Ze=Ye,et=Object(C["a"])(Ze,Ke,Xe,!1,null,"a596d90e",null),tt=et.exports,at=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"table-info-vue"},[a("el-tabs",{on:{"tab-click":e.tabActiveNameChange},model:{value:e.tabActiveName,callback:function(t){e.tabActiveName=t},expression:"tabActiveName"}},[a("el-tab-pane",{attrs:{label:"表字段",name:"columns"}},[a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.columnListLoading,expression:"columnListLoading"}]},[a("el-row",{staticClass:"row-bg",staticStyle:{"margin-bottom":"10px"},attrs:{type:"flex",justify:"space-between"}},[a("el-col",{staticStyle:{color:"#606266","line-height":"40px"}},[a("span",[e._v("表名:"+e._s(e.tableStatusInfo.name))]),a("span",{staticStyle:{"margin-left":"20px"}},[1==e.tableInfo.inEdit?a("span",[a("el-input",{staticStyle:{width:"500px"},attrs:{placeholder:"输入表注释"},on:{blur:e.saveTableDescription},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.saveTableDescription(t)}},model:{value:e.tableInfo.newDesc,callback:function(t){e.$set(e.tableInfo,"newDesc",t)},expression:"tableInfo.newDesc"}})],1):a("span",[e._v(e._s(e.tableInfo.description||"暂无表注释")+" "),a("i",{staticClass:"el-icon-edit edit-table-desc",on:{click:function(t){e.tableInfo.inEdit=1}}})])])]),a("el-col",{staticStyle:{width:"100px","text-align":"right"}},[a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{plain:"",type:"primary",icon:"el-icon-magic-stick"},on:{click:e.showCreateTableDdl}},[e._v("DDL")])],1)],1),a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.columnList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"name",label:"字段名",width:"220"}}),a("el-table-column",{attrs:{label:"自增",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(t.row.selfIncrement?"是":"否"))]}}])}),a("el-table-column",{attrs:{prop:"type",label:"类型",width:"110"}}),a("el-table-column",{attrs:{prop:"length",label:"长度",width:"110"}}),a("el-table-column",{attrs:{prop:"numericScale",label:"小数点",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(0==t.row.numericScale?"":t.row.numericScale))]}}])}),a("el-table-column",{attrs:{prop:"nullable",label:"空值",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.nullable?"允许":"不允许"))]}}])}),a("el-table-column",{attrs:{label:"主键",width:"50"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.primaryKey?"是":"否"))]}}])}),a("el-table-column",{scopedSlots:e._u([{key:"header",fn:function(t){return[e._v(" 注释 "),a("el-tooltip",{attrs:{effect:"dark",content:"点击注释列可编辑字段注释",placement:"top"}},[a("i",{staticClass:"el-icon-info",staticStyle:{color:"#999"}})])]}},{key:"default",fn:function(t){return[1==t.row.inEdit?a("div",[a("el-input",{attrs:{placeholder:"输入字段注释"},on:{blur:function(a){return e.saveColumnDescription(t.row)}},nativeOn:{keyup:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.saveColumnDescription(t.row)}},model:{value:t.row.newDesc,callback:function(a){e.$set(t.row,"newDesc",a)},expression:"scope.row.newDesc"}})],1):a("div",{staticClass:"description",on:{click:function(a){return e.descBoxClick(t.row)}}},[e._v(e._s(t.row.description))])]}}])})],1)],1)]),a("el-tab-pane",{attrs:{label:"表信息",name:"tableInfo"}},[a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:24}},[a("span",{staticClass:"label"},[e._v("数据源:")]),e._v(e._s(e.vueQueryParam.host))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据库:")]),e._v(e._s(e.vueQueryParam.dbName))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据表:")]),e._v(e._s(e.tableStatusInfo.name))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("引擎:")]),e._v(e._s(e.tableStatusInfo.engine))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("行数:")]),e._v(e._s(e.tableStatusInfo.rows||0))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("自动递增:")]),e._v(e._s(e.tableStatusInfo.avgRowLength||0))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("行格式:")]),e._v(e._s(e.tableStatusInfo.rowFormat))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("排序规则:")]),e._v(e._s(e.tableStatusInfo.collation))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("索引长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.indexLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("数据长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.dataLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("最大长度:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.maxDataLength)))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("可用空间:")]),e._v(e._s(e.getBytesSize(e.tableStatusInfo.dataFree)))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("创建时间:")]),e._v(e._s(e.tableStatusInfo.createTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("修改时间:")]),e._v(e._s(e.tableStatusInfo.updateTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("检查时间:")]),e._v(e._s(e.tableStatusInfo.checkTime))]),a("el-col",{attrs:{span:6}},[a("span",{staticClass:"label"},[e._v("创建选项:")]),e._v(e._s(e.tableStatusInfo.createOptions))])],1),a("el-row",{staticClass:"status-info-row"},[a("el-col",{attrs:{span:24}},[a("span",{staticClass:"label"},[e._v("表注释:")]),1==e.tableInfo.inEdit?a("span",[a("el-input",{staticStyle:{width:"500px"},attrs:{placeholder:"输入表注释"},on:{blur:e.saveTableDescription},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.saveTableDescription(t)}},model:{value:e.tableInfo.newDesc,callback:function(t){e.$set(e.tableInfo,"newDesc",t)},expression:"tableInfo.newDesc"}})],1):a("span",[e._v(e._s(e.tableInfo.description||"暂无注释")+" "),a("i",{staticClass:"el-icon-edit edit-table-desc",on:{click:function(t){e.tableInfo.inEdit=1}}})])])],1)],1),a("el-tab-pane",{attrs:{label:"关系图",name:"relationChart"}},[a("table-relation-charts",{ref:"relationChart"})],1),a("el-tab-pane",{attrs:{label:"表数据",name:"tableData"}},[a("data-preview",{ref:"dataPreview"})],1)],1),a("el-dialog",{attrs:{visible:e.tableDDLInfoDialogVisible,footer:null,width:"760px"},on:{"update:visible":function(t){e.tableDDLInfoDialogVisible=t}}},[a("div",{attrs:{slot:"title"},slot:"title"},[a("span",{staticStyle:{"margin-right":"15px"}},[e._v("DDL")]),a("el-button",{directives:[{name:"clipboard",rawName:"v-clipboard:copy",value:e.tableDDLInfo[e.tableDDLInfoTab],expression:"tableDDLInfo[tableDDLInfoTab]",arg:"copy"},{name:"clipboard",rawName:"v-clipboard:success",value:e.onCopySuccess,expression:"onCopySuccess",arg:"success"},{name:"clipboard",rawName:"v-clipboard:error",value:e.onCopyError,expression:"onCopyError",arg:"error"}],attrs:{size:"small",icon:"el-icon-document-copy"}},[e._v("复制")])],1),a("el-tabs",{model:{value:e.tableDDLInfoTab,callback:function(t){e.tableDDLInfoTab=t},expression:"tableDDLInfoTab"}},[e.tableDDLInfo.mysql?a("el-tab-pane",{attrs:{label:"mysql",name:"mysql"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.mysql)}})])])]):e._e(),e.tableDDLInfo.sqlserver?a("el-tab-pane",{attrs:{label:"sqlserver",name:"sqlserver"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.sqlserver)}})])])]):e._e(),e.tableDDLInfo.oracle?a("el-tab-pane",{attrs:{label:"oracle",name:"oracle"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.oracle)}})])])]):e._e(),e.tableDDLInfo.postgresql?a("el-tab-pane",{attrs:{label:"postgresql",name:"postgresql"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.postgresql)}})])])]):e._e(),e.tableDDLInfo.hive?a("el-tab-pane",{attrs:{label:"hive",name:"hive"}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.tableDDLInfo.hive)}})])])]):e._e()],1)],1)],1)},ot=[],rt=(a("e01a"),a("b680"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-executor-vue"},[a("div",{staticStyle:{padding:"0 10px 10px",height:"100%","box-sizing":"border-box"}},[a("el-card",{staticStyle:{"margin-bottom":"10px"}},[a("ace-editor",{staticStyle:{"margin-bottom":"10px"},attrs:{lang:"sql",theme:"monokai",width:"100%",height:"60",options:e.sqlEditorConfig,source:e.executorSource},on:{init:e.sqlExecutorInit},model:{value:e.sqlExecutorContent,callback:function(t){e.sqlExecutorContent=t},expression:"sqlExecutorContent"}}),a("div",[e.sqlExecuting?a("el-button",{attrs:{type:"primary",plain:"",size:"small",icon:"el-icon-video-pause"},on:{click:e.cancelExecutorSql}},[e._v("取消执行")]):a("el-tooltip",{attrs:{effect:"dark",content:"Ctrl+R、Ctrl+Enter",placement:"top"}},[a("el-button",{attrs:{type:"primary",plain:"",size:"small",icon:"el-icon-video-play"},on:{click:e.doExecutorClick}},[e._v("筛选")])],1),a("el-button",{attrs:{icon:"el-icon-refresh-left",size:"small"},on:{click:e.refreshData}},[e._v("重置")]),a("el-button",{staticStyle:{"margin-left":"30px"},attrs:{type:"success",size:"small",icon:"el-icon-download",plain:""},on:{click:e.downloadTableData}},[e._v("导出")])],1)],1),a("el-card",[e.executeError?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(e.executeError))]):e.sqlExecuting?a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.sqlExecuting,expression:"sqlExecuting"}],staticStyle:{padding:"20px 0"}},[e._v("数据加载中...")]):e.executeResultList.length<=0?a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.sqlExecuting,expression:"sqlExecuting"}],staticStyle:{padding:"20px 0"}},[e._v("暂无数据")]):a("div",{staticStyle:{position:"relative"}},[a("div",{directives:[{name:"show",rawName:"v-show",value:this.choiceResultObj[this.executeShowTable]&&this.choiceResultObj[this.executeShowTable].length>0,expression:"this.choiceResultObj[this.executeShowTable] && this.choiceResultObj[this.executeShowTable].length > 0"}],staticStyle:{position:"absolute",right:"0","z-index":"1"}},[a("el-button",{staticStyle:{"margin-right":"10px"},attrs:{icon:"el-icon-delete",size:"small",type:"danger",plain:""},on:{click:e.deleteCheckLine}},[e._v("删除")]),a("el-dropdown",{on:{command:e.handleCopyCheckLineCommand}},[a("el-button",{attrs:{type:"primary",size:"small",icon:"el-icon-document-copy"}},[e._v(" 复制选中行"),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"insert"}},[e._v("SQL Inserts")]),a("el-dropdown-item",{attrs:{command:"update"}},[e._v("SQL Updates")]),a("el-dropdown-item",{attrs:{command:"json"}},[e._v("JSON")])],1)],1)],1),a("el-tabs",{model:{value:e.executeShowTable,callback:function(t){e.executeShowTable=t},expression:"executeShowTable"}},[a("el-tab-pane",{attrs:{label:"信息",name:"table0"}},[a("pre",[e._v(e._s(e.executeResultInfo))])]),e._l(e.executeResultList,(function(t){return t.index?a("el-tab-pane",{attrs:{label:"结果"+t.index,name:t.name}},[t.errMsg?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(t.errMsg))]):t.dataList.length<=0?a("div",{staticStyle:{"text-align":"center",color:"#aaa",padding:"20px 0"}},[e._v("暂无数据")]):[a("el-table",{staticClass:"execute-result-table",staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:t.dataList,stripe:"",border:"","max-height":e.tableMaxHeight,"default-sort":e.tableSort},on:{"selection-change":e.handleSelectionChange,"sort-change":e.tableSortChange}},[a("el-table-column",{attrs:{type:"selection",width:"55"}}),a("el-table-column",{attrs:{type:"index",width:"50"}}),e._l(t.dataCols,(function(t){return a("el-table-column",{attrs:{sortable:"",prop:t.prop,label:t.prop,width:t.width},scopedSlots:e._u([{key:"header",fn:function(o){return[a("el-tooltip",{attrs:{effect:"dark",content:t.desc,placement:"top"}},[a("span",[e._v(e._s(t.prop))])])]}},{key:"default",fn:function(e){return[a("textarea",{staticClass:"el-textarea__inner",attrs:{readonly:"",rows:"1"},domProps:{value:e.row[t.prop]}})]}}],null,!0)})}))],2),a("el-pagination",{staticStyle:{"margin-top":"10px"},attrs:{"current-page":e.currentPage,"page-sizes":[50,100,300,500],"page-size":e.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.tableTotalCount},on:{"size-change":e.handlePageSizeChange,"current-change":e.handleCurrentChange}})]],2):e._e()}))],2)],1)])],1),a("el-dialog",{attrs:{visible:e.exportConditionVisible,width:"500px",title:"选择更新语句条件"},on:{"update:visible":function(t){e.exportConditionVisible=t}}},[a("div",[e._v(" 更新条件列: "),a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"请选择"},model:{value:e.conditionDataColsChoice,callback:function(t){e.conditionDataColsChoice=t},expression:"conditionDataColsChoice"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.exportConditionVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doCopyCheckLineUpdate}},[e._v("确 定")])],1)]),a("el-dialog",{attrs:{visible:e.downloadDataVisible,width:"600px",title:"表数据导出"},on:{"update:visible":function(t){e.downloadDataVisible=t}}},[a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"导出类型:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{filterable:"",placeholder:"请选择导出类型"},model:{value:e.downloadDataParam.downloadType,callback:function(t){e.$set(e.downloadDataParam,"downloadType",t)},expression:"downloadDataParam.downloadType"}},[a("el-option",{attrs:{label:"SQL Inserts",value:"insert"}}),a("el-option",{attrs:{label:"SQL Updates",value:"update"}}),a("el-option",{attrs:{label:"JSON",value:"json"}})],1)],1),"insert"===e.downloadDataParam.downloadType?a("el-form-item",{attrs:{label:"数据表:"}},[a("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.dropTableFlagChange},model:{value:e.downloadDataParam.dropTableFlag,callback:function(t){e.$set(e.downloadDataParam,"dropTableFlag",t)},expression:"downloadDataParam.dropTableFlag"}},[e._v("删除表"+e._s(1==e.downloadDataParam.dropTableFlag?"!!":""))]),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.createTableFlagChange},model:{value:e.downloadDataParam.createTableFlag,callback:function(t){e.$set(e.downloadDataParam,"createTableFlag",t)},expression:"downloadDataParam.createTableFlag"}},[e._v("创建表")])],1):e._e(),a("el-form-item",{attrs:{label:"保留的列:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"不选则保留全部列"},model:{value:e.downloadDataParam.retainColumnArr,callback:function(t){e.$set(e.downloadDataParam,"retainColumnArr",t)},expression:"downloadDataParam.retainColumnArr"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),"update"===e.downloadDataParam.downloadType?a("el-form-item",{attrs:{label:"更新条件列:"}},[a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"不选则是没有条件的更新"},model:{value:e.downloadDataParam.conditionColumnArr,callback:function(t){e.$set(e.downloadDataParam,"conditionColumnArr",t)},expression:"downloadDataParam.conditionColumnArr"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1):e._e()],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.downloadDataVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doDownloadTableData}},[e._v("确 定")])],1)],1),a("form",{ref:"downloadForm",attrs:{method:"post",action:e.downloadFormParam.url,target:"_blank"}},e._l(e.downloadFormParam.param,(function(e,t){return a("input",{attrs:{type:"hidden",name:t},domProps:{value:e}})})),0),a("span",{staticStyle:{visibility:"hidden","white-space":"nowrap",position:"fixed"},attrs:{id:"widthCalculate"}})],1)}),nt=[],it=(a("a15b"),a("0d03"),{insert:function(e,t,a,o){var r=a?a+".":"";r+=o||"table";var n="",i="";return e.forEach((function(e){i.length>0&&(i+=", "),i+=e.prop})),t.forEach((function(t){var a="";e.forEach((function(e){a.length>0&&(a+=", ");var o=t[e.prop]||"";"number"!==typeof o||isNaN(o)?(o=String(o).replaceAll("'","''"),a+="'"+o+"'"):a+=o})),n+="insert into "+r+" ("+i+") values ("+a+");\n"})),n},update:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,n=o?o+".":"";n+=r||"table";var i="";return t.forEach((function(t){var o="",r="";e.forEach((function(e){var n=t[e.prop]||"";a.indexOf(e.prop)>=0?"number"!==typeof n||isNaN(n)?(r.length>0&&(r+=" and "),r+=e.prop+" = '"+n+"'"):(r.length>0&&(r+=" and "),r+=e.prop+" = "+n):(o.length>0&&(o+=", "),o+=e.prop+"=","number"!==typeof n||isNaN(n)?(n=String(n).replaceAll("'","''"),o+="'"+n+"'"):o+=n)})),r.length>0&&(r=" where "+r),i+="update "+n+" set "+o+r+";\n"})),i},json:function(e,t,a,o){return JSON.stringify(t)}}),st={insert:function(e,t,a,o){var r=a?a+"..":"";r+=o||"table";var n="",i="";return e.forEach((function(e){i.length>0&&(i+=", "),i+=e.prop})),t.forEach((function(t){var a="";e.forEach((function(e){a.length>0&&(a+=", ");var o=t[e.prop]||"";"number"!==typeof o||isNaN(o)?(o=String(o).replaceAll("'","''"),a+="'"+o+"'"):a+=o})),n+="insert into "+r+" ("+i+") values ("+a+");\n"})),n},update:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,n=o?o+"..":"";n+=r||"table";var i="";return t.forEach((function(t){var o="",r="";e.forEach((function(e){var n=t[e.prop]||"";a.indexOf(e.prop)>=0?"number"!==typeof n||isNaN(n)?(r.length>0&&(r+=" and "),r+=e.prop+" = '"+n+"'"):(r.length>0&&(r+=" and "),r+=e.prop+" = "+n):(o.length>0&&(o+=", "),o+=e.prop+"=","number"!==typeof n||isNaN(n)?(n=String(n).replaceAll("'","''"),o+="'"+n+"'"):o+=n)})),r.length>0&&(r=" where "+r),i+="update "+n+" set "+o+r+";\n"})),i},json:function(e,t,a,o){return JSON.stringify(t)}},lt={format:function(e,t,a,o,r,n,i){var s=this.getProduct(t);return"insert"===e?s.insert(a,o,n,i):"update"===e?s.update(a,o,r,n,i):"json"===e?s.json(a,o,n,i):void 0},getProduct:function(e){return"sqlserver"===e?st:it}},ct=a("db05"),ut=a.n(ct),dt=a("061c"),ht=a.n(dt),pt=(a("2099"),a("842f"),a("6e63"),a("818b"),a("b039"),a("14d4"),a("8a79"),a("96cf"),{isInit:!1,source:{},databaseInfo:{},tableInfo:{},columnInfo:{},lastCallbackArr:[],isAutocomplete:!1,change:function(e){var t=this;if(this.source=e,this.lastCallbackArr=[],console.log("change(sourceId):"+JSON.stringify(this.source)),!this.isInit){console.log("change(sourceId),isInit:"+this.isInit),this.isInit=!0;var a=ace.acequire("ace/ext/language_tools");a.addCompleter(this)}if(this.source.sourceId){var o=this.databaseInfo[this.source.sourceId]||[];if(o.length<=0&&b.databaseList({sourceId:this.source.sourceId}).then((function(e){t.databaseInfo[t.source.sourceId]=e.data||[]})),this.source.dbName){var r=this.source.sourceId+"_"+this.source.dbName,n=this.tableInfo[r]||[];n.length<=0&&b.tableList({sourceId:this.source.sourceId,dbName:this.source.dbName}).then((function(e){t.tableInfo[r]=e.data||[]}))}if(this.source.tableName){var i=this.source.sourceId+"_"+this.source.dbName+"_"+this.source.tableName,s=this.columnInfo[i]||[];s.length<=0&&b.tableColumnList({sourceId:this.source.sourceId,dbName:this.source.dbName,tableName:this.source.tableName}).then((function(e){t.columnInfo[i]=e.data.columnList||[]}))}}},startAutocomplete:function(e){this.isAutocomplete=!0,e.execCommand("startAutocomplete")},getCompletions:function(e,t,a,o,r){var n,i,s;return regeneratorRuntime.async((function(e){while(1)switch(e.prev=e.next){case 0:if(n=[],i=this.isAutocomplete?a.column:a.column-1,s=t.getLine(a.row).substring(0,i),this.isAutocomplete=!1,console.log("Executor.vue getCompletions,sourceId:"+JSON.stringify(this.source)+", lineStr:"+s,a),!this.source.tableName){e.next=12;break}return e.next=8,regeneratorRuntime.awrap(this.getAssignTableColumns(this.source.dbName,this.source.tableName));case 8:n=e.sent,r(null,n),e.next=35;break;case 12:if(!(s.endsWith("from ")||s.endsWith("join ")||s.endsWith("into ")||s.endsWith("update ")||s.endsWith("table "))){e.next=18;break}n=this.getDatabasesAndTables(),this.lastCallbackArr=n,r(null,n),e.next=35;break;case 18:if(!s.endsWith(".")){e.next=26;break}return e.next=21,regeneratorRuntime.awrap(this.getTablesAndColumns(s));case 21:n=e.sent,this.lastCallbackArr=n,r(null,n),e.next=35;break;case 26:if(!(s.endsWith("select ")||s.endsWith("where ")||s.endsWith("and ")||s.endsWith("or ")||s.endsWith("set "))){e.next=34;break}return e.next=29,regeneratorRuntime.awrap(this.getTableColumns(t,a));case 29:n=e.sent,this.lastCallbackArr=n,r(null,n),e.next=35;break;case 34:r(null,this.lastCallbackArr);case 35:case"end":return e.stop()}}),null,this)},getDatabasesAndTables:function(){var e=[],t=this.tableInfo[this.source.sourceId+"_"+this.source.dbName]||[];t.forEach((function(t){return e.push({caption:t.tableComment?t.tableName+"-"+t.tableComment:t.tableName,snippet:t.tableName,meta:"表",type:"snippet",score:1e3})}));var a=this.databaseInfo[this.source.sourceId]||[];return a.forEach((function(t){return e.push({caption:t.dbName,snippet:t.dbName,meta:"库",type:"snippet",score:1e3})})),e},getTablesAndColumns:function(e){var t,a,o,r,n,i,s,l,c,u;return regeneratorRuntime.async((function(d){while(1)switch(d.prev=d.next){case 0:t=!1,a=[],o=this.databaseInfo[this.source.sourceId]||[],r=0;case 4:if(!(r=0)){h.next=10;break}if(r=e.getLine(o),a=r+" "+a,!(r.indexOf(";")>=0)){h.next=7;break}return h.abrupt("break",10);case 7:o--,h.next=2;break;case 10:n=t.row+1;case 11:if(!(n=0)){h.next=16;break}return h.abrupt("break",19);case 16:n++,h.next=11;break;case 19:s=[],l=this.tableInfo[this.source.sourceId+"_"+this.source.dbName]||[],c=0;case 22:if(!(c=0)){h.next=29;break}return h.next=27,regeneratorRuntime.awrap(this.getAssignTableColumns(this.source.dbName,u));case 27:d=h.sent,s=s.concat(d);case 29:c++,h.next=22;break;case 32:return h.abrupt("return",s);case 33:case"end":return h.stop()}}),null,this)},getAssignTableColumns:function(e,t){var a,o,r,n;return regeneratorRuntime.async((function(i){while(1)switch(i.prev=i.next){case 0:if(a=this.source.sourceId+"_"+e+"_"+t,o=this.columnInfo[a]||[],!(o.length<=0)){i.next=8;break}return i.next=5,regeneratorRuntime.awrap(b.tableColumnList({sourceId:this.source.sourceId,dbName:e,tableName:t}));case 5:r=i.sent,o=r.data.columnList||[],this.columnInfo[a]=o;case 8:return n=[],o.forEach((function(e){var t=e.description?e.name+"-"+e.description:e.name;n.push({caption:t,snippet:e.name,meta:"字段",type:"snippet",score:1e3})})),i.abrupt("return",n);case 11:case"end":return i.stop()}}),null,this)}}),mt=(a("aa11"),{render:function(e){var t=this.height?this.px(this.height):"100%",a=this.width?this.px(this.width):"100%";return e("div",{attrs:{style:"height: "+t+"; width: "+a}})},props:{value:String,source:Object,lang:!0,theme:String,height:!0,width:!0,options:Object},data:function(){return{editor:null,contentBackup:""}},watch:{value:function(e){this.contentBackup!==e&&(this.editor.session.setValue(e,1),this.contentBackup=e)},theme:function(e){this.editor.setTheme("ace/theme/"+e)},lang:function(e){this.editor.getSession().setMode("string"===typeof e?"ace/mode/"+e:e)},options:function(e){this.editor.setOptions(e)},height:function(){this.$nextTick((function(){this.editor.resize()}))},width:function(){this.$nextTick((function(){this.editor.resize()}))},source:function(e){pt.change(e)}},beforeDestroy:function(){this.editor.destroy(),this.editor.container.remove()},activated:function(){pt.change(this.source)},mounted:function(){var e=this,t=this.lang||"text",o=this.theme||"chrome";a("b378");var r=e.editor=ht.a.edit(this.$el);r.$blockScrolling=1/0,this.$emit("init",r),r.getSession().setMode("string"===typeof t?"ace/mode/"+t:t),r.setTheme("ace/theme/"+o),this.value&&r.setValue(this.value,1),this.contentBackup=this.value,r.on("change",(function(){var t=r.getValue();e.$emit("input",t),e.contentBackup=t})),r.commands.addCommand({name:"start-autocomplete",bindKey:{win:"Alt-Enter",mac:"Alt-Enter"},exec:function(e){pt.startAutocomplete(e)}}),e.options&&r.setOptions(e.options),pt.change(this.source)},methods:{px:function(e){return/^\d*$/.test(e)?e+"px":e}}}),ft={name:"dataPreview",data:function(){return{sqlExecuting:!1,executeResultList:[],executeResultInfo:"",executeShowTable:"table1",sqlExecutorEditor:{},nowExecutorId:1,executeError:"",pageParam:{},vueQueryParam:{},pageSize:50,currentPage:1,tableTotalCount:0,tableSort:{},tableMaxHeight:600,tableStatusInfo:{},choiceResultObj:{},exportConditionVisible:!1,conditionDataCols:[],conditionDataColsChoice:[],downloadDataVisible:!1,downloadDataParam:{downloadType:"insert",dropTableFlag:0,createTableFlag:0,conditionColumnArr:[],retainColumnArr:[]},downloadFormParam:{url:"zyplayer-doc-db/data-view/downloadMultiple",param:{}},sqlExecutorContent:"",sqlEditorConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:3,maxLines:3},executorSource:{},columnMap:{},primaryKeyColumn:{}}},components:{"ace-editor":mt},mounted:function(){var e=this,t=function(){e.tableMaxHeight=document.body.clientHeight-420};t(),window.onresize=t},methods:{init:function(e,t){var a=this;this.pageParam.sourceId!=e.sourceId&&(this.pageParam=e,this.executorSource={sourceId:e.sourceId,dbName:e.dbName,tableName:e.tableName},this.columnMap={},t.forEach((function(e){a.columnMap[e.name]=e,1==e.primaryKey&&(a.primaryKeyColumn=e)})),this.doExecutorSqlCommon())},sqlExecutorInit:function(e){this.sqlExecutorEditor=e,this.sqlExecutorEditor.setFontSize(16);var t=this;this.sqlExecutorEditor.commands.addCommand({name:"execute-sql",bindKey:{win:"Ctrl-R|Ctrl-Shift-R|Ctrl-Enter",mac:"Command-R|Command-Shift-R|Command-Enter"},exec:function(e){t.doExecutorClick()}})},handleCurrentChange:function(e){this.currentPage=e,this.doExecutorSqlCommon()},handlePageSizeChange:function(e){this.pageSize=e,this.currentPage=1,this.doExecutorSqlCommon()},tableSortChange:function(e){this.tableSort.prop===e.prop&&this.tableSort.order===e.order||(this.tableSort={prop:e.prop,order:e.order},this.doExecutorSqlCommon())},refreshData:function(){this.tableSort={},this.currentPage=1,this.sqlExecutorEditor.setValue("",1),this.doExecutorSqlCommon()},cancelExecutorSql:function(){var e=this;b.executeSqlCancel({executeId:this.nowExecutorId}).then((function(){e.sqlExecuting=!1,e.$message.success("取消成功")}))},doExecutorClick:function(){this.tableSort={},this.currentPage=1,this.doExecutorSqlCommon()},doExecutorSqlCommon:function(){var e=this;if(this.pageParam.sourceId){this.tableSort.prop||(this.tableSort={prop:this.pageParam.orderColumn,order:"ascending"});var t=this.sqlExecutorEditor.getSelectedText();t=t||this.sqlExecutorEditor.getValue(),t=t||"",this.executeError="",this.executeUseTime="",this.choiceResultObj={},this.executeResultList=[],this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random()),this.sqlExecuting=!0;var a={sourceId:this.pageParam.sourceId,dbName:this.pageParam.dbName,tableName:this.pageParam.tableName,executeId:this.nowExecutorId,condition:t,pageNum:this.currentPage,pageSize:this.pageSize,orderColumn:this.tableSort.prop,orderType:"ascending"===this.tableSort.order?"asc":"desc",params:""};b.dataViewQuery(a).then((function(t){if(e.sqlExecuting=!1,200===t.errCode){for(var a=t.data||[],o=[],r="",n=1,i=0;i=0&&(t+="\n> 影响行数:"+e.updateCount),t+="\n> 耗时:"+(e.useTime||0)/1e3+"s",t+="\n\n",t},dealExecuteResult:function(e){var t=e.result||[],a=[];if(t.length>0){var o=t[0];for(var r in o){document.getElementById("widthCalculate").innerText=r;var n=document.getElementById("widthCalculate").offsetWidth;document.getElementById("widthCalculate").innerText=o[r];var i=document.getElementById("widthCalculate").offsetWidth,s=n>i?n:i;s=s<50?50:s,s=s>200?200:s;var l=this.columnMap[r]||{};a.push({prop:r,width:s+50,desc:l.description||r})}}var c={};return c.dataList=t,c.dataCols=a,c.useTime=e.useTime||0,c.errMsg=e.errMsg||"",c.updateCount=e.updateCount,c},handleSelectionChange:function(e){this.$set(this.choiceResultObj,this.executeShowTable,e)},doCopyCheckLineUpdate:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.executeResultList.find((function(t){return t.name===e.executeShowTable})).dataCols,o=lt.format("update",this.pageParam.dbType,a,t,this.conditionDataColsChoice,this.pageParam.dbName,this.pageParam.tableName);this.conditionDataColsChoice=[],this.exportConditionVisible=!1,this.$copyText(o).then((function(t){return e.$message.success("内容已复制到剪切板!")}),(function(t){return e.$message.error("抱歉,复制失败!")}))}},deleteCheckLine:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.primaryKeyColumn.name;if(!a)return void this.$message.error("删除失败,未找到数据表的主键列");var o=[];t.forEach((function(e){var t={};t[a]=e[a],o.push(t)})),this.$confirm("确定要删除选中的".concat(t.length,"行数据吗?"),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){var t={sourceId:e.pageParam.sourceId,dbName:e.pageParam.dbName,tableName:e.pageParam.tableName,lineJson:JSON.stringify(o)};b.deleteTableLineData(t).then((function(){e.$message.success("删除成功!"),e.refreshData()}))})).catch((function(){}))}},handleCopyCheckLineCommand:function(e){var t=this,a=this.choiceResultObj[this.executeShowTable]||[];if(a.length>0){this.conditionDataColsChoice=[];var o=this.executeResultList.find((function(e){return e.name===t.executeShowTable})).dataCols;if("update"===e){if(!this.primaryKeyColumn.name)return this.conditionDataCols=o,void(this.exportConditionVisible=!0);this.conditionDataColsChoice=[this.primaryKeyColumn.name]}var r=lt.format(e,this.pageParam.dbType,o,a,this.conditionDataColsChoice,this.pageParam.dbName,this.pageParam.tableName);this.$copyText(r).then((function(e){return t.$message.success("内容已复制到剪切板!")}),(function(e){return t.$message.error("抱歉,复制失败!")}))}},doDownloadTableData:function(){var e=this,t=this.sqlExecutorEditor.getSelectedText();t=t||this.sqlExecutorEditor.getValue(),t=t||"",this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random());var a={},o={},r={};a[this.pageParam.tableName]=t,o[this.pageParam.tableName]=this.downloadDataParam.conditionColumnArr.join(","),r[this.pageParam.tableName]=this.downloadDataParam.retainColumnArr.join(","),this.downloadFormParam.param={executeId:this.nowExecutorId,sourceId:this.pageParam.sourceId,dbName:this.pageParam.dbName,tableNames:this.pageParam.tableName,downloadType:this.downloadDataParam.downloadType,dropTableFlag:this.downloadDataParam.dropTableFlag,createTableFlag:this.downloadDataParam.createTableFlag,conditionJson:JSON.stringify(a),conditionColumnJson:JSON.stringify(o),retainColumnJson:JSON.stringify(r)},setTimeout((function(){return e.$refs.downloadForm.submit()}),0),this.downloadDataVisible=!1},downloadTableData:function(){var e=this,t=this.executeResultList.find((function(t){return t.name===e.executeShowTable}));if(!t||!t.dataList||t.dataList.length<=0)this.$message.warning("当前筛选条件下无数据,请重新筛选后再操作导出");else{var a=this.primaryKeyColumn.name;this.downloadDataParam.conditionColumnArr.length<=0&&a&&(this.downloadDataParam.conditionColumnArr=[a]),this.conditionDataCols=t.dataCols,this.downloadDataVisible=!0}},dropTableFlagChange:function(){1===this.downloadDataParam.dropTableFlag&&(this.downloadDataParam.createTableFlag=1)},createTableFlagChange:function(){0==this.downloadDataParam.createTableFlag&&(this.downloadDataParam.dropTableFlag=0)}}},bt=ft,gt=(a("f52e"),Object(C["a"])(bt,rt,nt,!1,null,null,null)),vt=gt.exports,yt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-executor-vue"},[e._m(0),a("el-dialog",{attrs:{visible:e.choiceRelationColumnVisible,width:"750px",title:"选择关联的表字段 "+e.editNodeInfo.tableName+"."+e.editNodeInfo.columnName},on:{"update:visible":function(t){e.choiceRelationColumnVisible=t}}},[e._l(e.editRelationArr,(function(t){return a("div",{staticStyle:{"margin-top":"10px"}},[a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择数据库"},on:{change:function(a){return e.dbNameChangeEvents(t)}},model:{value:t.dbName,callback:function(a){e.$set(t,"dbName",a)},expression:"item.dbName"}},e._l(e.databaseList,(function(e){return a("el-option",{key:e.dbName,attrs:{label:e.dbName,value:e.dbName}})})),1),a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择数据表"},on:{change:function(a){return e.tableNameChangeEvents(t)}},model:{value:t.tableName,callback:function(a){e.$set(t,"tableName",a)},expression:"item.tableName"}},e._l(e.dbTableList[t.dbName],(function(e){return a("el-option",{key:e.tableName,attrs:{label:e.tableName,value:e.tableName}})})),1),a("el-select",{staticStyle:{"margin-right":"10px",width:"200px"},attrs:{filterable:"",placeholder:"请选择表字段"},model:{value:t.columnName,callback:function(a){e.$set(t,"columnName",a)},expression:"item.columnName"}},e._l(e.dbTableColumnList[t.dbName+"."+t.tableName],(function(e){return a("el-option",{key:e.name,attrs:{label:e.name,value:e.name}})})),1),a("el-button",{attrs:{icon:"el-icon-delete",circle:""},on:{click:function(a){return e.delTableColumnRelation(t)}}})],1)})),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:e.addTableColumnRelation}},[e._v("添加关联")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doUpdateTableColumnRelation}},[e._v("确 定")])],1)],2)],1)},wt=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticStyle:{width:"max(100%, 1000px)",height:"calc(100vh - 160px)",overflow:"auto"}},[a("div",{staticStyle:{width:"1500px",height:"1000px"},attrs:{id:"relationChart"}})])}],xt=a("313e"),Ct={name:"tableRelation",data:function(){return{pageParam:{},relationChart:{},relationChartData:{},relationChartOption:{},editNodeInfo:{},editRelationArr:[],databaseList:[],dbTableList:{},dbTableColumnList:{},choiceRelationColumnVisible:!1,columnListLoading:!1}},mounted:function(){},methods:{init:function(e){var t=this;this.pageParam.sourceId!=e.sourceId&&(this.pageParam=e,this.relationChartData.name=e.tableName,this.relationChart=xt["init"](document.getElementById("relationChart")),this.relationChartOption={tooltip:{trigger:"item",triggerOn:"mousemove"},series:[{type:"tree",id:0,name:"tree1",data:[this.relationChartData],top:"10%",left:"8%",bottom:"22%",right:"20%",symbolSize:7,edgeShape:"polyline",edgeForkPosition:"63%",initialTreeDepth:3,lineStyle:{width:2},label:{backgroundColor:"#fff",position:"right",verticalAlign:"middle",align:"left"},leaves:{label:{position:"right",verticalAlign:"middle",align:"left"}},emphasis:{focus:"descendant"},expandAndCollapse:!1,animationDuration:550,animationDurationUpdate:750}]},this.relationChart.setOption(this.relationChartOption),this.relationChart.on("click",(function(e){if(1==e.data.nodeType){t.editNodeInfo=e.data;var a=t.editNodeInfo.children||[];t.editRelationArr=[],a.length<=0?t.editRelationArr.push({dbName:t.pageParam.dbName,tableName:"",columnName:""}):a.forEach((function(e){t.editRelationArr.push({dbName:e.dbName,tableName:e.tableName,columnName:e.columnName})}));var o=[],r=[];t.editRelationArr.forEach((function(e){o.indexOf(e.dbName)<0&&(o.push(e.dbName),t.dbNameChangeEvents(e)),r.indexOf(e.dbName+"."+e.tableName)<0&&(r.push(e.dbName+"."+e.tableName),t.tableNameChangeEvents(e))})),t.choiceRelationColumnVisible=!0}})),this.relationChart.on("contextmenu",(function(e){console.log(e)})),this.doGetTableColumnRelation(),b.databaseList({sourceId:this.pageParam.sourceId}).then((function(e){t.databaseList=e.data||[]})))},doGetTableColumnRelation:function(){var e=this;this.relationChart.clear(),b.getTableColumnRelation(this.pageParam).then((function(t){e.relationChartData=t.data||{},e.relationChartOption.series[0].data=[t.data||{}],e.columnListLoading=!1,e.relationChart.setOption(e.relationChartOption),setTimeout((function(){return e.relationChart.resize()}),0)}))},delTableColumnRelation:function(e){this.editRelationArr=this.editRelationArr.filter((function(t){return t!==e}))},addTableColumnRelation:function(){this.editRelationArr.push({dbName:this.pageParam.dbName,tableName:"",columnName:""})},doUpdateTableColumnRelation:function(){var e=this,t={dbName:this.editNodeInfo.dbName,tableName:this.editNodeInfo.tableName,columnName:this.editNodeInfo.columnName,sourceId:this.pageParam.sourceId,relation:JSON.stringify(this.editRelationArr)};b.updateTableColumnRelation(t).then((function(t){e.choiceRelationColumnVisible=!1,e.doGetTableColumnRelation()}))},dbNameChangeEvents:function(e){var t=this;b.tableList({sourceId:this.pageParam.sourceId,dbName:e.dbName}).then((function(a){t.$set(t.dbTableList,e.dbName,a.data||[])}))},tableNameChangeEvents:function(e){var t=this;b.tableColumnList({sourceId:this.pageParam.sourceId,dbName:e.dbName,tableName:e.tableName}).then((function(a){t.$set(t.dbTableColumnList,e.dbName+"."+e.tableName,a.data.columnList||[])}))}}},_t=Ct,Dt=(a("499b"),Object(C["a"])(_t,yt,wt,!1,null,null,null)),St=Dt.exports,It={data:function(){return{columnListLoading:!1,vueQueryParam:{},tableStatusInfo:{},columnList:[],tableInfo:{},nowExecutorId:1,tableDDLInfoTab:"",tableDDLInfo:"",tableDDLInfoDialogVisible:!1,tabActiveName:"columns"}},mounted:function(){var e=this;setTimeout((function(){e.$emit("initLoadDataList",{sourceId:e.vueQueryParam.sourceId,host:e.vueQueryParam.host,dbName:e.vueQueryParam.dbName})}),500)},activated:function(){this.initQueryParam(this.$route)},components:{"data-preview":vt,"table-relation-charts":St},methods:{initQueryParam:function(e){var t=this;this.columnListLoading||(this.columnListLoading=!0,this.vueQueryParam=e.query,b.tableColumnList(this.vueQueryParam).then((function(e){for(var a=e.data.columnList||[],o=0;o0?"编辑数据源":"新增数据源",visible:e.datasourceDialogVisible,width:"760px","close-on-click-modal":!1},on:{"update:visible":function(t){e.datasourceDialogVisible=t}}},[a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"分组:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择或输入新的分组名字",filterable:"","allow-create":""},model:{value:e.newDatasource.groupName,callback:function(t){e.$set(e.newDatasource,"groupName",t)},expression:"newDatasource.groupName"}},[a("el-option",{attrs:{value:""}},[e._v("未分组")]),e._l(e.datasourceGroupList,(function(e){return a("el-option",{attrs:{value:e}})}))],2)],1),a("el-form-item",{attrs:{label:"数据源名称:"}},[a("el-input",{attrs:{placeholder:"给数据源起个中文名称"},model:{value:e.newDatasource.name,callback:function(t){e.$set(e.newDatasource,"name",t)},expression:"newDatasource.name"}})],1),a("el-form-item",{attrs:{label:"驱动类:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"驱动类"},on:{change:e.driverClassNameChange},model:{value:e.newDatasource.driverClassName,callback:function(t){e.$set(e.newDatasource,"driverClassName",t)},expression:"newDatasource.driverClassName"}},[a("el-option",{attrs:{label:"com.mysql.jdbc.Driver",value:"com.mysql.jdbc.Driver"}}),a("el-option",{attrs:{label:"net.sourceforge.jtds.jdbc.Driver",value:"net.sourceforge.jtds.jdbc.Driver"}}),a("el-option",{attrs:{label:"oracle.jdbc.driver.OracleDriver",value:"oracle.jdbc.driver.OracleDriver"}}),a("el-option",{attrs:{label:"org.postgresql.Driver",value:"org.postgresql.Driver"}}),a("el-option",{attrs:{label:"org.apache.hive.jdbc.HiveDriver",value:"org.apache.hive.jdbc.HiveDriver"}})],1)],1),a("el-form-item",{attrs:{label:"数据源URL:"}},[a("el-input",{attrs:{placeholder:e.urlPlaceholder},model:{value:e.newDatasource.sourceUrl,callback:function(t){e.$set(e.newDatasource,"sourceUrl",t)},expression:"newDatasource.sourceUrl"}})],1),a("el-form-item",{attrs:{label:"账号:"}},[a("el-input",{attrs:{placeholder:"账号"},model:{value:e.newDatasource.sourceName,callback:function(t){e.$set(e.newDatasource,"sourceName",t)},expression:"newDatasource.sourceName"}})],1),a("el-form-item",{attrs:{label:"密码:"}},[a("el-input",{attrs:{placeholder:"密码"},model:{value:e.newDatasource.sourcePassword,callback:function(t){e.$set(e.newDatasource,"sourcePassword",t)},expression:"newDatasource.sourcePassword"}})],1),a("el-form-item",{attrs:{label:"测试连接:"}},[a("el-button",{directives:[{name:"loading",rawName:"v-loading",value:e.testDatasourceErrLoading,expression:"testDatasourceErrLoading"}],attrs:{type:"primary"},on:{click:e.testDatasource}},[e._v("测试数据源")])],1)],1),a("div",{staticStyle:{"text-align":"center"},attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"primary"},on:{click:e.saveDatasource}},[e._v("保存")]),a("el-button",{attrs:{plain:""},on:{click:function(t){e.datasourceDialogVisible=!1}}},[e._v("取消")])],1)],1),a("el-dialog",{attrs:{visible:e.dbSourceAuthDialogVisible,width:"900px","close-on-click-modal":!1},on:{"update:visible":function(t){e.dbSourceAuthDialogVisible=t}}},[a("span",{attrs:{slot:"title"},slot:"title"},[a("span",[e._v("权限编辑")]),a("span",{staticStyle:{"margin-left":"10px",color:"#999","font-size":"12px"}},[a("i",{staticClass:"el-icon-info"}),e._v(" 添加、删除或编辑之后记得点击保存哦~")])]),a("el-row",[a("el-select",{staticStyle:{width:"750px","margin-right":"10px"},attrs:{filterable:"",remote:"","reserve-keyword":"",autoComplete:"new-password",placeholder:"请输入名字、邮箱、账号搜索用户","remote-method":e.getSearchUserList,loading:e.dbSourceAuthUserLoading},model:{value:e.dbSourceAuthNewUser,callback:function(t){e.dbSourceAuthNewUser=t},expression:"dbSourceAuthNewUser"}},e._l(e.searchUserList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.userName,value:e.id}})})),1),a("el-button",{on:{click:e.addDbSourceAuthUser}},[e._v("添加")])],1),a("el-table",{staticStyle:{width:"100%",margin:"10px 0"},attrs:{data:e.dbSourceAuthUserList,border:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"userName",label:"用户",width:"150"}}),a("el-table-column",{attrs:{label:"权限"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-select",{staticStyle:{width:"150px","margin-right":"10px"},attrs:{placeholder:"选择权限"},model:{value:t.row.executeAuth,callback:function(a){e.$set(t.row,"executeAuth",a)},expression:"scope.row.executeAuth"}},[a("el-option",{attrs:{value:""}},[e._v("无权限")]),a("el-option",{attrs:{value:1,label:"库表查看权"}}),a("el-option",{attrs:{value:2,label:"数据查询权"}}),a("el-option",{attrs:{value:3,label:"所有权限"}})],1),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:t.row.descEditAuth,callback:function(a){e.$set(t.row,"descEditAuth",a)},expression:"scope.row.descEditAuth"}},[e._v("表字段注释修改权")]),a("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:t.row.procEditAuth,callback:function(a){e.$set(t.row,"procEditAuth",a)},expression:"scope.row.procEditAuth"}},[e._v("函数修改权")])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"small",type:"danger",plain:""},on:{click:function(a){return e.deleteUserDbSourceAuth(t.row)}}},[e._v("删除")])]}}])})],1),a("div",[a("el-button",{attrs:{type:"primary"},on:{click:e.saveUserDbSourceAuth}},[e._v("保存配置")])],1)],1),a("el-dialog",{attrs:{title:"测试数据源失败",visible:e.testDatasourceErrVisible,footer:null,width:"760px"},on:{"update:visible":function(t){e.testDatasourceErrVisible=t}}},[a("div",{directives:[{name:"highlight",rawName:"v-highlight"}]},[a("pre",[a("code",{domProps:{innerHTML:e._s(e.testDatasourceErrInfo)}})])])])],1)},Zt=[];function ea(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function ta(e){for(var t=1;t0?a("div",{staticClass:"sql-params"},e._l(e.sqlParams,(function(t){return a("el-input",{attrs:{placeholder:"请输入"+t.key+"的值"},model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"param.value"}},[a("template",{slot:"prepend"},[e._v(e._s(t.key))])],2)})),1):e._e()],1),a("el-card",[a("div",{staticStyle:{position:"relative"}},[a("div",{staticStyle:{position:"absolute",right:"0","z-index":"1"}},[a("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:this.choiceResultObj[this.executeShowTable]&&this.choiceResultObj[this.executeShowTable].length>0,expression:"this.choiceResultObj[this.executeShowTable] && this.choiceResultObj[this.executeShowTable].length > 0"}],on:{command:e.handleCopyCheckLineCommand}},[a("el-button",{attrs:{type:"primary",size:"small",icon:"el-icon-document-copy"}},[e._v(" 复制选中行"),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"insert"}},[e._v("SQL Inserts")]),a("el-dropdown-item",{attrs:{command:"update"}},[e._v("SQL Updates")]),a("el-dropdown-item",{attrs:{command:"json"}},[e._v("JSON")])],1)],1)],1),a("el-tabs",{model:{value:e.executeShowTable,callback:function(t){e.executeShowTable=t},expression:"executeShowTable"}},[a("el-tab-pane",{attrs:{label:"执行历史",name:"tabHistory"}},[a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.myHistoryListList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"createTime",label:"执行时间",width:"160px"}}),a("el-table-column",{attrs:{prop:"content",label:"SQL"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("pre",{staticClass:"sql-content-line",attrs:{title:t.row.content},on:{dblclick:function(a){return e.inputFavoriteSql(t.row)}}},[e._v(e._s(t.row.content))])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"160px"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.inputFavoriteSql(t.row)}}},[e._v("输入")]),a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{size:"mini",type:"success"},on:{click:function(a){return e.addFavorite(t.row.content)}}},[e._v("收藏")])]}}])})],1)],1),a("el-tab-pane",{attrs:{label:"我的收藏",name:"tabFavorite"}},[a("el-table",{directives:[{name:"infinite-scroll",rawName:"v-infinite-scroll"}],staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.myFavoriteList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"createTime",label:"执行时间",width:"160px"}}),a("el-table-column",{attrs:{prop:"content",label:"SQL"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("pre",{staticClass:"sql-content-line",attrs:{title:t.row.content},on:{dblclick:function(a){return e.inputFavoriteSql(t.row)}}},[e._v(e._s(t.row.content))])]}}])}),a("el-table-column",{attrs:{label:"操作",width:"160px"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.inputFavoriteSql(t.row)}}},[e._v("输入")]),a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{size:"mini",type:"danger"},on:{click:function(a){return e.delFavorite(t.row)}}},[e._v("删除")])]}}])})],1)],1),e.executeResultInfo?a("el-tab-pane",{attrs:{label:"信息",name:"tabInfo"}},[a("pre",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.executeResultInfo))])]):e._e(),e.executeError?a("el-tab-pane",{attrs:{label:"错误",name:"tabError"}},[a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(e.executeError))])]):e._l(e.executeResultList,(function(t){return t.index?a("el-tab-pane",{attrs:{label:"结果"+t.index,name:t.name}},[t.errMsg?a("div",{staticStyle:{color:"#f00"}},[e._v(e._s(t.errMsg))]):t.dataList.length<=0?a("div",{staticStyle:{"text-align":"center",color:"#aaa",padding:"20px 0"}},[e._v("暂无数据")]):a("el-table",{staticClass:"execute-result-table",staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:t.dataList,stripe:"",border:"","max-height":"600"},on:{"selection-change":e.handleSelectionChange}},[a("el-table-column",{attrs:{type:"selection",width:"55"}}),a("el-table-column",{attrs:{type:"index",width:"50"}}),e._l(t.dataCols,(function(t){return a("el-table-column",{attrs:{prop:t.prop,label:t.prop,width:t.width},scopedSlots:e._u([{key:"default",fn:function(e){return[a("textarea",{staticClass:"el-textarea__inner",attrs:{readonly:"",rows:"1"},domProps:{value:e.row[t.prop]}})]}}],null,!0)})}))],2)],1):e._e()}))],2)],1)])],1),a("el-dialog",{attrs:{visible:e.exportConditionVisible,width:"500px",title:"选择更新语句条件"},on:{"update:visible":function(t){e.exportConditionVisible=t}}},[a("div",[e._v(" 更新条件列: "),a("el-select",{staticStyle:{width:"370px"},attrs:{multiple:"",placeholder:"请选择"},model:{value:e.conditionDataColsChoice,callback:function(t){e.conditionDataColsChoice=t},expression:"conditionDataColsChoice"}},e._l(e.conditionDataCols,(function(e){return a("el-option",{key:e.prop,attrs:{label:e.prop,value:e.prop}})})),1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.exportConditionVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.doCopyCheckLineUpdate}},[e._v("确 定")])],1)]),a("span",{staticStyle:{visibility:"hidden","white-space":"nowrap",position:"fixed"},attrs:{id:"widthCalculate"}})],1)},pa=[],ma={parser:function(e,t,a){var o=[];if(!e)return o;var r=e.indexOf(t,0);if(-1==r)return o;var n=0,i="";while(r>-1){if(r>0&&"\\"==e[r-1])n=r+t.length;else{i="",n=r+t.length;var s=e.indexOf(a,n);while(s>-1){if(!(s>n&&"\\"==e[s-1])){i+=e.substr(n,s-n),n=s+a.length;break}i+=e.substr(n,s-n-1),n=s+a.length,s=e.indexOf(a,n)}-1==s?n=e.length:(i&&o.push(i),n=s+a.length)}r=e.indexOf(t,n)}return o},parserArr:function(e,t){var a=this,o={};t.forEach((function(t){var r=a.parser(e,t.start,t.end);r.forEach((function(e){return o[e]=1}))}));var r=[];for(var n in o)r.push(n);return r}},fa={data:function(){return{datasourceList:[],choiceDatasourceId:"",datasourceOptions:[],datasourceGroupList:[],choiceDatasourceGroup:"",databaseList:[],choiceDatabase:"",editorDbProduct:"",editorDbInfo:[],editorDbTableInfo:{},editorColumnInfo:{},sqlExecuting:!1,executeResultList:[],executeResultInfo:"",executeShowTable:"tabHistory",sqlExecutorEditor:{},nowExecutorId:1,executeError:"",myFavoriteList:[],myHistoryListList:[],choiceResultObj:{},exportConditionVisible:!1,conditionDataCols:[],conditionDataColsChoice:[],sqlExecutorContent:"",sqlEditorConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:15,maxLines:40},executorSource:{},sqlParams:[],sqlParamWaiting:!1,sqlParamHistory:{}}},components:{"ace-editor":mt},mounted:function(){this.loadDatasourceList()},methods:{sqlExecutorInit:function(e){var t=this;this.sqlExecutorEditor=e,this.sqlExecutorEditor.setFontSize(16);var a=this;this.sqlExecutorEditor.commands.addCommand({name:"execute-sql",bindKey:{win:"Ctrl-R|Ctrl-Shift-R|Ctrl-Enter",mac:"Command-R|Command-Shift-R|Command-Enter"},exec:function(e){a.doExecutorSql()}}),e.on("change",(function(){t.sqlParamWaiting||(t.sqlParamWaiting=!0,setTimeout((function(){var a=e.getValue(),o=ma.parserArr(a,[{start:"${",end:"}"},{start:"#{",end:"}"}]);t.sqlParams=[],o.forEach((function(e){t.sqlParams.push({key:e,value:t.sqlParamHistory[e]||""})})),t.sqlParamWaiting=!1}),300))}))},cancelExecutorSql:function(){var e=this;b.executeSqlCancel({executeId:this.nowExecutorId}).then((function(){e.$message.success("取消成功")}))},loadHistoryAndFavoriteList:function(){this.loadHistoryList(),this.loadFavoriteList()},loadFavoriteList:function(){var e=this;b.favoriteList({sourceId:this.choiceDatasourceId}).then((function(t){e.myFavoriteList=t.data||[]}))},loadHistoryList:function(){var e=this;b.historyList({sourceId:this.choiceDatasourceId}).then((function(t){e.myHistoryListList=t.data||[]}))},addFavorite:function(e){var t=this;e||(e=this.sqlExecutorEditor.getSelectedText(),e||(e=this.sqlExecutorEditor.getValue()));var a={};this.sqlParams.forEach((function(e){e.value&&(a[e.key]=e.value)}));var o={name:"我的收藏",content:e,paramJson:JSON.stringify(a),datasourceId:this.choiceDatasourceId};b.updateFavorite(o).then((function(){t.$message.success("收藏成功"),t.loadFavoriteList()}))},delFavorite:function(e){var t=this;b.updateFavorite({id:e.id,yn:0}).then((function(){t.$message.success("删除成功"),t.loadFavoriteList()}))},inputFavoriteSql:function(e){if(this.sqlExecutorEditor.setValue(e.content,1),e.paramJson){var t=JSON.parse(e.paramJson);for(var a in t)this.sqlParamHistory[a]=t[a]}},formatterSql:function(){var e=this.sqlExecutorEditor.getSelectedText();if(e){var t=this.sqlExecutorEditor.getSelectionRange();this.sqlExecutorEditor.remove(t)}else e=this.sqlExecutorEditor.getValue(),this.sqlExecutorEditor.setValue("",1);e&&(e=ut.a.format(e),this.sqlExecutorEditor.insert(e))},doExecutorSql:function(){var e=this;if(this.choiceDatasourceId){this.executeError="",this.executeUseTime="",this.executeResultList=[];var t={};this.sqlParams.forEach((function(a){a.value&&(t[a.key]=a.value,e.sqlParamHistory[a.key]=a.value)})),this.nowExecutorId=(new Date).getTime()+Math.ceil(1e3*Math.random());var a=this.sqlExecutorEditor.getSelectedText();a||(a=this.sqlExecutorEditor.getValue()),this.sqlExecuting=!0,b.queryExecuteSql({sourceId:this.choiceDatasourceId,dbName:this.choiceDatabase,executeId:this.nowExecutorId,sql:a,params:JSON.stringify(t)}).then((function(t){if(e.sqlExecuting=!1,200!=t.errCode)return e.executeShowTable="tabError",void(e.executeError=t.errMsg);for(var a=t.data||[],o=[],r="",n=1,i=0;i0&&(e.choiceDatasourceId=e.datasourceList[0].id,e.executorSource={sourceId:e.choiceDatasourceId},e.loadDatabaseList(),e.loadSourceBaseInfo(),e.loadHistoryAndFavoriteList())}))},loadDatabaseList:function(){var e=this;b.databaseList({sourceId:this.choiceDatasourceId}).then((function(t){if(e.databaseList=t.data||[],e.databaseList.length>0){var a=["information_schema","master","model","msdb","tempdb"],o=e.databaseList.find((function(e){return a.indexOf(e.dbName)<0}));e.choiceDatabase=o?o.dbName:e.databaseList[0].dbName,e.executorSource={sourceId:e.choiceDatasourceId,dbName:e.choiceDatabase}}}))},loadSourceBaseInfo:function(){var e=this;b.getSourceBaseInfo({sourceId:this.choiceDatasourceId}).then((function(t){var a=t.data||{};e.editorDbProduct=a.product||""}))},sourceGroupChangeEvents:function(){for(var e=[],t=0;t0&&(this.choiceDatasourceId=e[0].id,this.executorSource={sourceId:this.choiceDatasourceId},this.loadDatabaseList(),this.loadSourceBaseInfo(),this.loadHistoryAndFavoriteList())},datasourceChangeEvents:function(){this.executorSource={sourceId:this.choiceDatasourceId},this.loadDatabaseList(),this.loadSourceBaseInfo(),this.loadHistoryAndFavoriteList()},databaseChangeEvents:function(){this.executorSource={sourceId:this.choiceDatasourceId,dbName:this.choiceDatabase}},getExecuteInfoStr:function(e){var t=e.sql;return t+="\n> 状态:"+(e.errMsg?"ERROR":"OK"),e.updateCount>=0&&(t+="\n> 影响行数:"+e.updateCount),t+="\n> 耗时:"+(e.useTime||0)/1e3+"s",t+="\n\n",t},dealExecuteResult:function(e){var t=e.result||[],a=[];if(t.length>0){var o=t[0];for(var r in o){document.getElementById("widthCalculate").innerText=r;var n=document.getElementById("widthCalculate").offsetWidth;document.getElementById("widthCalculate").innerText=o[r];var i=document.getElementById("widthCalculate").offsetWidth,s=n>i?n:i;s=s<50?50:s,s=s>200?200:s,a.push({prop:r,width:s+25})}}var l={};return l.dataList=t,l.dataCols=a,l.useTime=e.useTime||0,l.errMsg=e.errMsg||"",l.updateCount=e.updateCount,l},handleSelectionChange:function(e){this.$set(this.choiceResultObj,this.executeShowTable,e)},doCopyCheckLineUpdate:function(){var e=this,t=this.choiceResultObj[this.executeShowTable]||[];if(t.length>0){var a=this.executeResultList.find((function(t){return t.name===e.executeShowTable})).dataCols,o=lt.format("update",this.editorDbProduct,a,t,this.conditionDataColsChoice);this.conditionDataColsChoice=[],this.exportConditionVisible=!1,this.$copyText(o).then((function(t){return e.$message.success("内容已复制到剪切板!")}),(function(t){return e.$message.error("抱歉,复制失败!")}))}},handleCopyCheckLineCommand:function(e){var t=this,a=this.choiceResultObj[this.executeShowTable]||[];if(a.length>0){var o=this.executeResultList.find((function(e){return e.name===t.executeShowTable})).dataCols;if("update"===e)return this.conditionDataCols=o,void(this.exportConditionVisible=!0);var r=lt.format(e,this.editorDbProduct,o,a,"");this.$copyText(r).then((function(e){return t.$message.success("内容已复制到剪切板!")}),(function(e){return t.$message.error("抱歉,复制失败!")}))}}}},ba=fa,ga=(a("7002"),Object(C["a"])(ba,ha,pa,!1,null,null,null)),va=ga.exports,ya=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-transfer-vue"},[a("div",{staticStyle:{padding:"0 10px",height:"100%","box-sizing":"border-box"}},[a("el-card",[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("span",[e._v("数据互导工具")]),a("a",{attrs:{target:"_blank",title:"点击查看如何使用",href:"http://doc.zyplayer.com/zyplayer-doc-manage/doc-wiki#/page/share/view?pageId=128&space=23f3f59a60824d21af9f7c3bbc9bc3cb"}},[a("i",{staticClass:"el-icon-info",staticStyle:{color:"#999"}})])]),a("div",{staticStyle:{"margin-bottom":"10px","text-align":"right"}},[a("el-button",{attrs:{type:"success",icon:"el-icon-plus"},on:{click:e.createNewTask}},[e._v("新建")]),a("el-button",{attrs:{type:"primary",loading:e.loadDataListLoading,icon:"el-icon-refresh"},on:{click:e.loadGetTaskList}},[e._v("查询")])],1),a("el-table",{staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{data:e.taskList,stripe:"",border:""}},[a("el-table-column",{attrs:{prop:"id",label:"ID",width:"55"}}),a("el-table-column",{attrs:{prop:"name",label:"任务名称"}}),a("el-table-column",{attrs:{label:"条数查询"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(1==t.row.needCount?"是":"否"))]}}])}),a("el-table-column",{attrs:{prop:"lastExecuteStatus",label:"最后执行状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.lastExecuteStatus?a("el-tag",[e._v("未执行")]):1==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"info"}},[e._v("执行中")]):2==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"success"}},[e._v("执行成功")]):3==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"danger"}},[e._v("执行失败")]):4==t.row.lastExecuteStatus?a("el-tag",{attrs:{type:"warning"}},[e._v("取消执行")]):e._e()]}}])}),a("el-table-column",{attrs:{prop:"lastExecuteTime",label:"最后执行时间"}}),a("el-table-column",{attrs:{prop:"createUserName",label:"创建人"}}),a("el-table-column",{attrs:{prop:"createTime",label:"创建时间"}}),a("el-table-column",{attrs:{label:"操作",width:"290"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.viewTask(t.row.id)}}},[e._v("查看")]),a("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(a){return e.editTask(t.row)}}},[e._v("编辑")]),a("el-button",{attrs:{size:"mini",type:"warning"},on:{click:function(a){return e.executeTask(t.row.id)}}},[e._v("执行")]),a("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(a){return e.deleteTask(t.row.id)}}},[e._v("删除")])]}}])})],1)],1)],1),a("el-dialog",{attrs:{visible:e.taskEditDialogVisible,width:"900px","close-on-click-modal":!1},on:{"update:visible":function(t){e.taskEditDialogVisible=t}}},[e.taskEditInfo.id?a("span",{attrs:{slot:"title"},slot:"title"},[e._v("编辑任务")]):a("span",{attrs:{slot:"title"},slot:"title"},[e._v("新建任务")]),a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"任务名称:"}},[a("el-input",{attrs:{placeholder:"任务名称"},model:{value:e.taskEditInfo.name,callback:function(t){e.$set(e.taskEditInfo,"name",t)},expression:"taskEditInfo.name"}})],1),a("el-form-item",{attrs:{label:"查询数据源:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择查询数据源"},model:{value:e.taskEditInfo.queryDatasourceId,callback:function(t){e.$set(e.taskEditInfo,"queryDatasourceId",t)},expression:"taskEditInfo.queryDatasourceId"}},e._l(e.datasourceOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",{attrs:{label:"查询SQL:"}},[a("ace-editor",{attrs:{lang:"sql",theme:"monokai",width:"100%",height:"100",options:e.editSqlConfig},on:{init:e.querySqlInit},model:{value:e.querySqlContent,callback:function(t){e.querySqlContent=t},expression:"querySqlContent"}})],1),a("el-form-item",{attrs:{label:"总条数查询:"}},[a("el-radio",{attrs:{label:0},model:{value:e.taskEditInfo.needCount,callback:function(t){e.$set(e.taskEditInfo,"needCount",t)},expression:"taskEditInfo.needCount"}},[e._v("不查询")]),a("el-radio",{attrs:{label:1},model:{value:e.taskEditInfo.needCount,callback:function(t){e.$set(e.taskEditInfo,"needCount",t)},expression:"taskEditInfo.needCount"}},[e._v("自动查询")])],1),a("el-form-item",{attrs:{label:"入库数据源:"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择写入数据源"},model:{value:e.taskEditInfo.storageDatasourceId,callback:function(t){e.$set(e.taskEditInfo,"storageDatasourceId",t)},expression:"taskEditInfo.storageDatasourceId"}},e._l(e.datasourceOptions,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),a("el-form-item",{attrs:{label:"入库SQL:"}},[a("ace-editor",{attrs:{lang:"sql",theme:"monokai",width:"100%",height:"100",options:e.editSqlConfig},on:{init:e.storageSqlInit},model:{value:e.storageSqlContent,callback:function(t){e.storageSqlContent=t},expression:"storageSqlContent"}}),a("el-button",{staticStyle:{"margin-top":"10px"},on:{click:e.autoFillStorageSql}},[e._v("智能填充")])],1)],1),a("div",{staticStyle:{"text-align":"center"}},[a("el-button",{attrs:{type:"primary"},on:{click:e.saveEditTask}},[e._v("保存")]),a("el-button",{attrs:{type:"warning"},on:{click:function(t){e.taskEditDialogVisible=!1}}},[e._v("取消")])],1)],1),a("el-dialog",{attrs:{visible:e.taskViewDialogVisible,width:"80%"},on:{"update:visible":function(t){e.taskViewDialogVisible=t}}},[a("span",{attrs:{slot:"title"},slot:"title"},[e._v("查看任务")]),a("el-form",{attrs:{"label-width":"120px"}},[a("el-form-item",{attrs:{label:"任务名称:"}},[e._v(e._s(e.taskEditInfo.name))]),a("el-form-item",{attrs:{label:"最后执行状态:"}},[0==e.taskEditInfo.lastExecuteStatus?a("el-tag",[e._v("未执行")]):1==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"info"}},[e._v("执行中")]):2==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"success"}},[e._v("执行成功")]):3==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"danger"}},[e._v("执行失败")]):4==e.taskEditInfo.lastExecuteStatus?a("el-tag",{attrs:{type:"warning"}},[e._v("取消执行")]):e._e()],1),a("el-form-item",{attrs:{label:"最后执行时间:"}},[e._v(e._s(e.taskEditInfo.lastExecuteTime))]),a("el-form-item",{attrs:{label:"执行信息:"}},[a("pre",{staticStyle:{"word-wrap":"break-word","word-break":"break-all","white-space":"pre-wrap","line-height":"22px"}},[e._v(e._s(e.taskEditInfo.lastExecuteInfo))])]),1==e.taskEditInfo.lastExecuteStatus?a("el-form-item",{attrs:{label:"操作:"}},[a("el-button",{attrs:{type:"success",icon:"el-icon-refresh",loading:e.viewTaskLoading},on:{click:function(t){return e.viewTask(e.taskEditInfo.id)}}},[e._v("刷新")]),a("el-button",{attrs:{type:"danger"},on:{click:e.cancelTask}},[e._v("取消执行")])],1):e._e()],1)],1)],1)},wa=[],xa={data:function(){return{viewTaskLoading:!1,loadDataListLoading:!1,datasourceOptions:[],queryDatasourceId:"",storageDatasourceId:"",taskList:[],datasourceMap:{},taskViewDialogVisible:!1,taskEditDialogVisible:!1,taskEditInfo:{},querySqlEditor:{},storageSqlEditor:{},querySqlContent:"",storageSqlContent:"",editSqlConfig:{wrap:!0,autoScrollEditorIntoView:!0,enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,minLines:10,maxLines:25}}},components:{"ace-editor":mt},mounted:function(){this.loadDatasourceList()},methods:{editTask:function(e){var t=this;this.taskEditInfo=JSON.parse(JSON.stringify(e)),this.taskEditDialogVisible=!0,setTimeout((function(){t.querySqlEditor.setValue(t.taskEditInfo.querySql,1),t.storageSqlEditor.setValue(t.taskEditInfo.storageSql,1)}),200)},querySqlInit:function(e){this.querySqlEditor=e,this.querySqlEditor.setFontSize(16)},storageSqlInit:function(e){this.storageSqlEditor=e,this.storageSqlEditor.setFontSize(16)},createNewTask:function(){var e=this;this.taskEditInfo={querySql:"",storageSql:"",name:"",needCount:1,queryDatasourceId:"",storageDatasourceId:""},this.taskEditDialogVisible=!0,setTimeout((function(){e.querySqlEditor.setValue("",1),e.storageSqlEditor.setValue("",1)}),200)},deleteTask:function(e){var t=this;this.$confirm("确定要删除此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferUpdate({id:e,delFlag:1}).then((function(){t.$message.success("删除成功"),t.loadGetTaskList()}))})).catch((function(){}))},executeTask:function(e){var t=this;this.$confirm("确定要执行一次此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferStart({id:e}).then((function(){t.$message.success("任务提交成功")}))})).catch((function(){}))},saveEditTask:function(){var e=this;this.taskEditInfo.querySql=this.querySqlEditor.getValue(),this.taskEditInfo.storageSql=this.storageSqlEditor.getValue(),b.transferUpdate(this.taskEditInfo).then((function(){e.$message.success("保存成功"),e.taskEditDialogVisible=!1,e.loadGetTaskList()}))},viewTask:function(e){var t=this;this.viewTaskLoading=!0,this.taskViewDialogVisible=!0,b.transferDetail({id:e}).then((function(e){t.taskEditInfo=e.data||{},setTimeout((function(){t.viewTaskLoading=!1}),300)}))},cancelTask:function(){var e=this;this.$confirm("确定要取消执行此任务吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){b.transferCancel({id:e.taskEditInfo.id}).then((function(){e.$message.success("取消成功"),e.viewTask(e.taskEditInfo.id)}))})).catch((function(){}))},loadGetTaskList:function(){var e=this;this.loadDataListLoading=!0,b.transferList({}).then((function(t){e.taskList=t.data||[],setTimeout((function(){e.loadDataListLoading=!1}),800)}))},autoFillStorageSql:function(){var e=this,t=this.querySqlEditor.getValue();b.transferSqlColumns({sql:t}).then((function(t){var a=t.data||[];if(a.length<=0)e.$message.error("查询的字段不明确,不能自动填充");else{var o="\n";o+="insert into TableName (\n";for(var r=0;r - - + diff --git a/zyplayer-doc-ui/db-ui/src/views/data/Export.vue b/zyplayer-doc-ui/db-ui/src/views/data/Export.vue index 59571fe7..9471c23e 100644 --- a/zyplayer-doc-ui/db-ui/src/views/data/Export.vue +++ b/zyplayer-doc-ui/db-ui/src/views/data/Export.vue @@ -47,6 +47,7 @@ +