Commit 966bf72c authored by zhangzhaohui's avatar zhangzhaohui

增加sql执行功能

parent 8d21d29b
This diff is collapsed.
......@@ -9,7 +9,7 @@
window.SITE_CONFIG = {};
window.SITE_CONFIG['version'] = 'v1.0.0';
window.SITE_CONFIG['nodeEnv'] = '<%= process.env.VUE_APP_NODE_ENV %>';
window.SITE_CONFIG['apiURL'] = 'http://localhost:18000/hmit-admin'; // api请求地址
window.SITE_CONFIG['apiURL'] = 'http://192.168.10.229:18000/hmit-admin'; // api请求地址
window.SITE_CONFIG['storeState'] = {}; // vuex本地储存初始化状态(用于不刷新页面的情况下,也能重置初始化项目中所有状态)
window.SITE_CONFIG['contentTabDefault'] = { // 内容标签页默认属性对象
'name': '', // 名称, 由 this.$route.name 自动赋值(默认,名称 === 路由名称 === 路由路径)
......
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-demo__sql-execute">
<el-input type="textarea" :rows="4" v-model="sqlContent"/>
<el-button type="primary" @click="execute">执行</el-button>
<el-tabs type="border-card" v-if="executeResult.length > 0">
<el-tab-pane :label="`结果集${index + 1}`" :key="index" v-for="(item, index) in executeResult">
<el-table :data="item.data">
<el-table-column v-for="column in item.keys" :key="column.keys" :label="column" :prop="column"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</el-card>
</template>
<script>
export default {
data() {
return {
sqlContent: '',
executeResult: []
}
},
methods: {
execute() {
this.$http.post('/database/executeSql?sql=' + this.sqlContent).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.executeResult = res.data.result
this.executeResult.forEach(result => {
result.keys = []
Object.keys(result.data[0]).forEach(i => {
result.keys.push(i)
})
})
})
}
},
mounted() {
}
}
</script>
<style>
</style>
\ No newline at end of file
......@@ -89,7 +89,7 @@ export default {
},
// 获取信息
getInfo () {
this.$http.get(`/demo/syssqllog/${this.dataForm.id}`).then(({ data: res }) => {
this.$http.get(`/datasource/syssqllog/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
......@@ -105,7 +105,7 @@ export default {
if (!valid) {
return false
}
this.$http[!this.dataForm.id ? 'post' : 'put']('/demo/syssqllog/', this.dataForm).then(({ data: res }) => {
this.$http[!this.dataForm.id ? 'post' : 'put']('/datasource/syssqllog/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
......
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-demo__syssqllog}">
<div class="mod-datasource__syssqllog}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
......@@ -12,10 +12,10 @@
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('demo:syssqllog:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
<el-button v-if="$hasPermission('datasource:syssqllog:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('demo:syssqllog:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('datasource:syssqllog:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
......@@ -23,17 +23,13 @@
<el-table-column prop="id" label="编号" header-align="center" align="center"></el-table-column>
<el-table-column prop="sqlLogName" label="日志名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="sqlLogContent" label="SQL内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="sqlLogResult" label="SQL结果" header-align="center" align="center"></el-table-column>
<el-table-column prop="sqlLogIp" label="执行IP" header-align="center" align="center"></el-table-column>
<el-table-column prop="sqlExecuteTime" label="执行时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="status" label="状态" header-align="center" align="center"></el-table-column>
<el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column>
<el-table-column prop="creator" label="创建人" header-align="center" align="center"></el-table-column>
<el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button v-if="$hasPermission('demo:syssqllog:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('demo:syssqllog:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
<el-button v-if="$hasPermission('datasource:syssqllog:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('datasource:syssqllog:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -60,10 +56,10 @@ export default {
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/demo/syssqllog/page',
getDataListURL: '/datasource/syssqllog/page',
getDataListIsPage: true,
exportURL: '/demo/syssqllog/export',
deleteURL: '/demo/syssqllog',
exportURL: '/datasource/syssqllog/export',
deleteURL: '/datasource/syssqllog',
deleteIsBatch: true
},
dataForm: {
......
......@@ -2,6 +2,7 @@
* 配置参考: https://cli.vuejs.org/zh/config/
*/
module.exports = {
lintOnSave: false,
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
chainWebpack: config => {
const svgRule = config.module.rule('svg')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment