diff --git a/mayfly_go_web/package.json b/mayfly_go_web/package.json index 52c95bf9..dce3bf01 100644 --- a/mayfly_go_web/package.json +++ b/mayfly_go_web/package.json @@ -13,7 +13,7 @@ "countup.js": "^2.0.7", "cropperjs": "^1.5.11", "echarts": "^5.3.3", - "element-plus": "^2.2.10", + "element-plus": "2.2.9", "jsencrypt": "^3.2.1", "jsoneditor": "^9.9.0", "lodash": "^4.17.21", diff --git a/mayfly_go_web/src/views/ops/db/SqlExec.vue b/mayfly_go_web/src/views/ops/db/SqlExec.vue index aa96672a..93dd6dd7 100644 --- a/mayfly_go_web/src/views/ops/db/SqlExec.vue +++ b/mayfly_go_web/src/views/ops/db/SqlExec.vue @@ -152,6 +152,10 @@ + + + gi + + + + + @@ -353,6 +361,10 @@ export default defineComponent({ condition: '=', value: null, }, + genSqlDialog: { + visible: false, + sql: '', + }, cmOptions: { tabSize: 4, mode: 'text/x-sql', @@ -1016,6 +1028,38 @@ export default defineComponent({ }); }; + const onGenerateInsertSql = async () => { + const queryTab = isQueryTab(); + const datas = queryTab ? state.queryTab.selectionDatas : state.dataTabs[state.activeName].selectionDatas; + isTrue(datas && datas.length > 0, '请先选择要生成insert语句的数据'); + const tableName = state.nowTableName; + const columns: any = await getColumns(tableName); + + const sqls = []; + for (let data of datas) { + let colNames = []; + let values = []; + for (let column of columns) { + const colName = column.columnName; + colNames.push(colName); + values.push(wrapValueByType(data[colName])); + } + sqls.push(`INSERT INTO ${tableName} (${colNames.join(', ')}) VALUES(${values.join(', ')})`); + } + state.genSqlDialog.sql = sqls.join(';\n') + ';'; + state.genSqlDialog.visible = true; + }; + + const wrapValueByType = (val: any) => { + if (val == null) { + return 'NULL'; + } + if (typeof val == 'number') { + return val; + } + return `'${val}'`; + }; + /** * 是否为查询tab */ @@ -1192,6 +1236,7 @@ export default defineComponent({ onDataSelectionChange, onDeleteData, onTableSortChange, + onGenerateInsertSql, showExecBtns, closeExecBtns, }; diff --git a/mayfly_go_web/src/views/ops/machine/FileManage.vue b/mayfly_go_web/src/views/ops/machine/FileManage.vue index 00d6d30d..54188b40 100755 --- a/mayfly_go_web/src/views/ops/machine/FileManage.vue +++ b/mayfly_go_web/src/views/ops/machine/FileManage.vue @@ -57,7 +57,7 @@ - +