mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-22 09:00:25 +08:00
合并冲突
This commit is contained in:
@@ -29,11 +29,8 @@
|
||||
|
||||
<el-button v-waves @click="formatSql" type="primary" icon="el-icon-magic-stick" size="mini" plain>格式化</el-button> -->
|
||||
|
||||
<el-button v-waves @click="saveSql" type="primary" icon="el-icon-document-add" size="mini" plain>保存</el-button>
|
||||
</div>
|
||||
|
||||
<div style="float: right" class="fl">
|
||||
<el-upload
|
||||
style="display: inline-block; margin-left: 10px"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="execSqlFileSuccess"
|
||||
:headers="{ Authorization: token }"
|
||||
@@ -46,9 +43,29 @@
|
||||
multiple
|
||||
:limit="100"
|
||||
>
|
||||
<el-button class="fr" v-waves type="success" icon="el-icon-video-play" size="mini" plain>sql脚本执行</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-video-play" size="mini" plain>sql脚本执行</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
|
||||
<div style="float: right" class="fl">
|
||||
<el-select
|
||||
v-model="sqlName"
|
||||
placeholder="选择or输入SQL模板名"
|
||||
@change="changeSqlTemplate"
|
||||
filterable
|
||||
allow-create
|
||||
default-first-option
|
||||
size="mini"
|
||||
class="mr10"
|
||||
>
|
||||
<el-option v-for="item in sqlNames" :key="item" :label="item.database" :value="item">
|
||||
{{ item }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-button v-waves @click="saveSql" type="primary" icon="el-icon-document-add" size="mini" plain>保存</el-button>
|
||||
<el-button v-waves @click="deleteSql" type="danger" icon="el-icon-delete" size="mini" plain>删除</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<codemirror
|
||||
@mousemove="listenMouse"
|
||||
@@ -123,7 +140,7 @@ import 'codemirror/addon/hint/sql-hint.js';
|
||||
|
||||
import sqlFormatter from 'sql-formatter';
|
||||
import { notNull, notEmpty } from '@/common/assert';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import ProjectEnvSelect from '../component/ProjectEnvSelect.vue';
|
||||
import config from '@/common/config';
|
||||
import { getSession } from '@/common/utils/storage';
|
||||
@@ -146,6 +163,8 @@ export default defineComponent({
|
||||
tableName: '',
|
||||
tableMetadata: [],
|
||||
columnMetadata: [],
|
||||
sqlName: '',
|
||||
sqlNames: [],
|
||||
sql: '',
|
||||
sqlTabs: {
|
||||
tabs: [] as any,
|
||||
@@ -322,9 +341,9 @@ export default defineComponent({
|
||||
// 设置最小宽度
|
||||
flexWidth = 80;
|
||||
}
|
||||
if (flexWidth > 350) {
|
||||
if (flexWidth > 500) {
|
||||
// 设置最大宽度
|
||||
flexWidth = 350;
|
||||
flexWidth = 500;
|
||||
}
|
||||
return flexWidth + 'px';
|
||||
};
|
||||
@@ -341,13 +360,6 @@ export default defineComponent({
|
||||
return selectSql;
|
||||
};
|
||||
|
||||
const saveSql = async () => {
|
||||
notEmpty(state.sql, 'sql内容不能为空');
|
||||
notNull(state.dbId, '请先选择数据库');
|
||||
await dbApi.saveSql.request({ id: state.dbId, sql: state.sql, type: 1 });
|
||||
ElMessage.success('保存成功');
|
||||
};
|
||||
|
||||
/**
|
||||
* 更改数据库事件
|
||||
*/
|
||||
@@ -373,13 +385,72 @@ export default defineComponent({
|
||||
state.cmOptions.hintOptions.tables = res;
|
||||
});
|
||||
|
||||
dbApi.getSql.request({ id, type: 1 }).then((res) => {
|
||||
getSqlNames();
|
||||
};
|
||||
|
||||
const changeSqlTemplate = () => {
|
||||
getUserSql();
|
||||
};
|
||||
|
||||
const getUserSql = () => {
|
||||
notNull(state.dbId, '请先选择数据库');
|
||||
dbApi.getSql.request({ id: state.dbId, type: 1, name: state.sqlName }).then((res) => {
|
||||
if (res) {
|
||||
state.sql = res.sql;
|
||||
} else {
|
||||
state.sql = '';
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const getSqlNames = () => {
|
||||
dbApi.getSqlNames
|
||||
.request({
|
||||
id: state.dbId,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res && res.length > 0) {
|
||||
state.sqlNames = res.map((r: any) => r.name);
|
||||
state.sqlName = state.sqlNames[0];
|
||||
} else {
|
||||
state.sqlNames = ['default'] as any;
|
||||
state.sqlName = 'default';
|
||||
}
|
||||
|
||||
getUserSql();
|
||||
});
|
||||
};
|
||||
|
||||
const saveSql = async () => {
|
||||
notEmpty(state.sql, 'sql内容不能为空');
|
||||
notNull(state.dbId, '请先选择数据库');
|
||||
await dbApi.saveSql.request({ id: state.dbId, sql: state.sql, type: 1, name: state.sqlName });
|
||||
ElMessage.success('保存成功');
|
||||
|
||||
dbApi.getSqlNames
|
||||
.request({
|
||||
id: state.dbId,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
state.sqlNames = res.map((r: any) => r.name);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const deleteSql = async () => {
|
||||
try {
|
||||
await ElMessageBox.confirm(`确定删除【${state.sqlName}】该SQL模板?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
});
|
||||
await dbApi.deleteDbSql.request({ id: state.dbId, name: state.sqlName });
|
||||
ElMessage.success('删除成功');
|
||||
getSqlNames();
|
||||
} catch (err) {}
|
||||
};
|
||||
|
||||
// 清空数据库事件
|
||||
const clearDb = () => {
|
||||
state.tableName = '';
|
||||
@@ -466,6 +537,8 @@ export default defineComponent({
|
||||
getUploadSqlFileUrl,
|
||||
execSqlFileSuccess,
|
||||
flexColumnWidth,
|
||||
changeSqlTemplate,
|
||||
deleteSql,
|
||||
saveSql,
|
||||
changeDb,
|
||||
clearDb,
|
||||
|
||||
Reference in New Issue
Block a user