Commit 966bf72c authored by zhangzhaohui's avatar zhangzhaohui

增加sql执行功能

parent 8d21d29b
This diff is collapsed.
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
window.SITE_CONFIG = {}; window.SITE_CONFIG = {};
window.SITE_CONFIG['version'] = 'v1.0.0'; window.SITE_CONFIG['version'] = 'v1.0.0';
window.SITE_CONFIG['nodeEnv'] = '<%= process.env.VUE_APP_NODE_ENV %>'; 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['storeState'] = {}; // vuex本地储存初始化状态(用于不刷新页面的情况下,也能重置初始化项目中所有状态)
window.SITE_CONFIG['contentTabDefault'] = { // 内容标签页默认属性对象 window.SITE_CONFIG['contentTabDefault'] = { // 内容标签页默认属性对象
'name': '', // 名称, 由 this.$route.name 自动赋值(默认,名称 === 路由名称 === 路由路径) '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 { ...@@ -89,7 +89,7 @@ export default {
}, },
// 获取信息 // 获取信息
getInfo () { 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) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
if (!valid) { if (!valid) {
return false 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) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
......
<template> <template>
<el-card shadow="never" class="aui-card--fill"> <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 :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item> <el-form-item>
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> <el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button> <el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item> </el-form-item>
<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-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-item>
</el-form> </el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
...@@ -23,17 +23,13 @@ ...@@ -23,17 +23,13 @@
<el-table-column prop="id" label="编号" header-align="center" align="center"></el-table-column> <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="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="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="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="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 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"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope"> <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('datasource: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:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -60,10 +56,10 @@ export default { ...@@ -60,10 +56,10 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/demo/syssqllog/page', getDataListURL: '/datasource/syssqllog/page',
getDataListIsPage: true, getDataListIsPage: true,
exportURL: '/demo/syssqllog/export', exportURL: '/datasource/syssqllog/export',
deleteURL: '/demo/syssqllog', deleteURL: '/datasource/syssqllog',
deleteIsBatch: true deleteIsBatch: true
}, },
dataForm: { dataForm: {
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* 配置参考: https://cli.vuejs.org/zh/config/ * 配置参考: https://cli.vuejs.org/zh/config/
*/ */
module.exports = { module.exports = {
lintOnSave: false,
publicPath: process.env.NODE_ENV === 'production' ? './' : '/', publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
chainWebpack: config => { chainWebpack: config => {
const svgRule = config.module.rule('svg') 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