Merge pull request '邓洁 : 修改页面细节' (#10) from dengjie into master
Reviewed-on: http://git.feashow.cn/feashow/tunnel-cloud-front/pulls/10
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-form :model="queryParams" inline class="query-form" ref="queryForm">
|
<el-form :model="queryParams" inline class="query-form" ref="queryForm">
|
||||||
<el-form-item label="数据源名称" prop="dsName">
|
<el-form-item label="数据模型名称" prop="dsName">
|
||||||
<el-input v-model="queryParams.dsName" placeholder="请输入数据源名称" clearable></el-input>
|
<el-input v-model="queryParams.dsName" placeholder="请输入数据模型名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数据库名称" prop="dbName">
|
<el-form-item label="数据库名称" prop="dbName">
|
||||||
<el-input v-model="queryParams.dbName" placeholder="请输入数据库名称" clearable></el-input>
|
<el-input v-model="queryParams.dbName" placeholder="请输入数据库名称" clearable></el-input>
|
||||||
@@ -20,9 +20,8 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<div class="query-btn">
|
<div class="query-btn">
|
||||||
<el-button type="primary" v-perm="['query:source:add']" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
<el-button type="primary" v-perm="['query:source:add']" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
||||||
<el-button type="danger" v-perm="['query:source:del']" @click="handleDelete" :icon="Delete" plain
|
<popover-delete :name="sourceName" btn-type="danger" :type="'数据模型'" :is-plain="true" :btn-icon="Delete" :is-disabled="disabled" :perm="['query:source:del']"
|
||||||
:disabled="disabled">删除
|
@delete="handleDelete(sourceId)"/>
|
||||||
</el-button>
|
|
||||||
<el-button type="warning" v-perm="['query:source:export']" @click="handleExport" :icon="Download" plain>导出
|
<el-button type="warning" v-perm="['query:source:export']" @click="handleExport" :icon="Download" plain>导出
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -37,27 +36,23 @@
|
|||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55"/>
|
<el-table-column type="selection" width="55"/>
|
||||||
<el-table-column label="序号" type="index" width="60" align="center"/>
|
<el-table-column label="序号" type="index" width="60" align="center"/>
|
||||||
<el-table-column prop="dsName" label="数据源名称" align="center"/>
|
<el-table-column prop="dsName" label="数据模型名称" align="center"/>
|
||||||
<el-table-column prop="dbName" label="数据库名称" align="center"/>
|
<el-table-column prop="dbName" label="数据库名称" align="center"/>
|
||||||
<el-table-column prop="username" label="数据源用户名" align="center"/>
|
<el-table-column prop="username" label="数据模型用户名" align="center"/>
|
||||||
<el-table-column prop="type" label="数据源类型" align="center"/>
|
<el-table-column prop="type" label="数据模型类型" align="center"/>
|
||||||
<el-table-column prop="confType" label="数据源配置类型" align="center">
|
<el-table-column prop="confType" label="数据模型配置类型" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.configType === 1? '':'warning'">{{
|
<tag dict-type="data_source_config" :value="scope.row.configType"/>
|
||||||
scope.row.configType === 1 ? '主机' : 'JDBC'
|
|
||||||
}}
|
|
||||||
</el-tag>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="url" label="数据源连接地址" align="center"/>
|
<el-table-column prop="url" label="数据模型连接地址" align="center"/>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" v-perm="['query:source:edit']"
|
<el-button type="text" size="mini" v-perm="['query:source:edit']"
|
||||||
@click="handleEdit(scope.row.id)" :icon="Edit">编辑
|
@click="handleEdit(scope.row.id)" >编辑
|
||||||
</el-button>
|
|
||||||
<el-button type="text" size="mini" v-perm="['query:source:del']" @click="handleDelete(scope.row)"
|
|
||||||
:icon="Delete">删除
|
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<popover-delete :name="scope.row.dsName" :type="'数据模型'" :perm="['query:source:del']"
|
||||||
|
@delete="handleDelete(scope.row.id)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -68,23 +63,23 @@
|
|||||||
<el-form :model="form" ref="formInstance" :rules="formRules" class="dialog-form" :validate-on-rule-change="false">
|
<el-form :model="form" ref="formInstance" :rules="formRules" class="dialog-form" :validate-on-rule-change="false">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-form-item label="数据源名称" prop="dsName">
|
<el-form-item label="数据模型名称" prop="dsName">
|
||||||
<el-input v-model="form.dsName" placeholder="请输入数据源名称"></el-input>
|
<el-input v-model="form.dsName" placeholder="请输入数据模型名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="数据源用户名" prop="username">
|
<el-form-item label="数据模型用户名" prop="username">
|
||||||
<el-input v-model="form.username" placeholder="请输入数据源用户名"></el-input>
|
<el-input v-model="form.username" placeholder="请输入数据模型用户名"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-form-item label="数据源密码" prop="password">
|
<el-form-item label="数据模型密码" prop="password">
|
||||||
<el-input v-model="form.password" placeholder="请输入数据源密码"></el-input>
|
<el-input v-model="form.password" placeholder="请输入数据模型密码"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="数据源类型" prop="type">
|
<el-form-item label="数据模型类型" prop="type">
|
||||||
<el-select v-model="form.type" placeholder="请选择数据源类型" filterable @change="handleTypeChange(form.type)">
|
<el-select v-model="form.type" placeholder="请选择数据模型类型" filterable @change="handleTypeChange(form.type)">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="typeItem in typeList"
|
v-for="typeItem in typeList"
|
||||||
:key="typeItem.value"
|
:key="typeItem.value"
|
||||||
@@ -103,13 +98,13 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2" v-if="form.configType === 1">
|
<el-col :span="11" :offset="2" v-if="form.configType === 1">
|
||||||
<el-form-item label="数据源端口" prop="port">
|
<el-form-item label="数据模型端口" prop="port">
|
||||||
<el-input-number v-model="form.port"></el-input-number>
|
<el-input-number v-model="form.port"></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" v-if="form.configType === 1">
|
<el-col :span="11" v-if="form.configType === 1">
|
||||||
<el-form-item label="数据源服务地址" prop="host">
|
<el-form-item label="数据模型服务地址" prop="host">
|
||||||
<el-input v-model="form.host" placeholder="请输入数据源服务地址"></el-input>
|
<el-input v-model="form.host" placeholder="请输入数据模型服务地址"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
@@ -118,14 +113,14 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="form.configType === 2">
|
<el-col :span="24" v-if="form.configType === 2">
|
||||||
<el-form-item label="数据源连接地址" prop="url">
|
<el-form-item label="数据模型连接地址" prop="url">
|
||||||
<el-input v-model="form.url" :rows="2"
|
<el-input v-model="form.url" :rows="4"
|
||||||
type="textarea" placeholder="请输入数据源连接地址"></el-input>
|
type="textarea" placeholder="请输入数据模型连接地址"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="form.configType === 1">
|
<el-col :span="24" v-if="form.configType === 1">
|
||||||
<el-form-item label="配置参数" prop="args">
|
<el-form-item label="配置参数" prop="args">
|
||||||
<el-input v-model="form.args" :rows="2"
|
<el-input v-model="form.args" :rows="4"
|
||||||
type="textarea" placeholder="请输入配置参数"></el-input>
|
type="textarea" placeholder="请输入配置参数"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -142,10 +137,8 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span>
|
|
||||||
<el-button @click="handleCancel">取消</el-button>
|
<el-button @click="handleCancel">取消</el-button>
|
||||||
<el-button type="primary" @click="handleSubmit(formInstance)">确定</el-button>
|
<el-button type="primary" @click="handleSubmit(formInstance)">确定</el-button>
|
||||||
</span>
|
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
@@ -183,21 +176,22 @@ const queryForm = ref([])
|
|||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const total = ref()
|
const total = ref()
|
||||||
const sourceId = ref()
|
const sourceId = ref()
|
||||||
|
const sourceName = ref()
|
||||||
const singleTable = ref()
|
const singleTable = ref()
|
||||||
const title = ref('')
|
const title = ref('')
|
||||||
const isVisited = ref(false)
|
const isVisited = ref(false)
|
||||||
const form = ref()
|
const form = ref()
|
||||||
const formInstance = ref()
|
const formInstance = ref()
|
||||||
const formRules = ref({
|
const formRules = ref({
|
||||||
dsName: [{required: true, message: '请输入数据源名称', trigger: 'blur'}],
|
dsName: [{required: true, message: '请输入数据模型名称', trigger: 'blur'}],
|
||||||
username: [{required: true, message: '请输入数据源用户名', trigger: 'blur'}],
|
username: [{required: true, message: '请输入数据模型用户名', trigger: 'blur'}],
|
||||||
password: [{required: true, message: '请输入数据源密码', trigger: 'blur'}],
|
password: [{required: true, message: '请输入数据模型密码', trigger: 'blur'}],
|
||||||
type: [{required: true, message: '请选择数据源类型', trigger: 'blur'}],
|
type: [{required: true, message: '请选择数据模型类型', trigger: 'blur'}],
|
||||||
configType: [{required: true, message: '请选择配置类型', trigger: 'blur'}],
|
configType: [{required: true, message: '请选择配置类型', trigger: 'blur'}],
|
||||||
port: [{required: true, message: '请输入数据源端口', trigger: 'blur'}],
|
port: [{required: true, message: '请输入数据模型端口', trigger: 'blur'}],
|
||||||
host: [{required: true, message: '请输入数据源服务地址', trigger: 'blur'}],
|
host: [{required: true, message: '请输入数据模型服务地址', trigger: 'blur'}],
|
||||||
dbName: [{required: true, message: '请输入数据库名称', trigger: 'blur'}],
|
dbName: [{required: true, message: '请输入数据库名称', trigger: 'blur'}],
|
||||||
url: [{required: true, message: '请输入数据源连接地址', trigger: 'blur'}],
|
url: [{required: true, message: '请输入数据模型连接地址', trigger: 'blur'}],
|
||||||
params:{
|
params:{
|
||||||
serviceName: [{required: true, message: '请输入服务名称', trigger: 'blur'}],
|
serviceName: [{required: true, message: '请输入服务名称', trigger: 'blur'}],
|
||||||
namespace: [{required: true, message: '请输入命名空间', trigger: 'blur'}]
|
namespace: [{required: true, message: '请输入命名空间', trigger: 'blur'}]
|
||||||
@@ -278,7 +272,7 @@ const handleSubmit = async (instance) => {
|
|||||||
if (!instance) return
|
if (!instance) return
|
||||||
instance.validate(async (valid) => {
|
instance.validate(async (valid) => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
if (title.value === '新增数据源管理') {
|
if (title.value === '新增数据模型管理') {
|
||||||
addDataSourceManage(form.value).then(res => {
|
addDataSourceManage(form.value).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
@@ -305,7 +299,7 @@ const handleSubmit = async (instance) => {
|
|||||||
const handleAdd = async () => {
|
const handleAdd = async () => {
|
||||||
formRules.value.password[0].required = true
|
formRules.value.password[0].required = true
|
||||||
restFrom()
|
restFrom()
|
||||||
title.value = "新增数据源管理"
|
title.value = "新增数据模型管理"
|
||||||
isVisited.value = true
|
isVisited.value = true
|
||||||
nextTick(()=>{
|
nextTick(()=>{
|
||||||
// 清空校验
|
// 清空校验
|
||||||
@@ -320,7 +314,7 @@ const handleEdit = async (id) => {
|
|||||||
console.log('res', res.data)
|
console.log('res', res.data)
|
||||||
formRules.value.password[0].required = false
|
formRules.value.password[0].required = false
|
||||||
form.value = res.data
|
form.value = res.data
|
||||||
title.value = "编辑数据源管理"
|
title.value = "编辑数据模型管理"
|
||||||
isVisited.value = true
|
isVisited.value = true
|
||||||
nextTick(()=>{
|
nextTick(()=>{
|
||||||
// 清空校验
|
// 清空校验
|
||||||
@@ -341,6 +335,7 @@ const handleSelect = async (selection, row) => {
|
|||||||
if (selection.length !== 0) {
|
if (selection.length !== 0) {
|
||||||
disabled.value = false
|
disabled.value = false
|
||||||
sourceId.value = row.id
|
sourceId.value = row.id
|
||||||
|
sourceName.value = row.dsName
|
||||||
if (selection.length > 1) {
|
if (selection.length > 1) {
|
||||||
const del_row = selection.shift();
|
const del_row = selection.shift();
|
||||||
singleTable.value.toggleRowSelection(del_row, false);
|
singleTable.value.toggleRowSelection(del_row, false);
|
||||||
@@ -362,13 +357,8 @@ const handleCurrentChange = async (val) => {
|
|||||||
await getList()
|
await getList()
|
||||||
}
|
}
|
||||||
//删除
|
//删除
|
||||||
const handleDelete = async (row) => {
|
const handleDelete = async (id) => {
|
||||||
ElMessageBox.confirm(`确认删除名称为${row.dsName}的数据源管理吗?`, '系统提示', {
|
delDataSourceManage(id).then(res => {
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
delDataSourceManage(row.id).then(res => {
|
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
getList()
|
getList()
|
||||||
@@ -376,7 +366,6 @@ const handleDelete = async (row) => {
|
|||||||
ElMessage.error(res.msg)
|
ElMessage.error(res.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getTypeOption()
|
getTypeOption()
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ const getData = () => {
|
|||||||
queryData.push(queryItem)
|
queryData.push(queryItem)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
tableLoading.value = true
|
||||||
getPageData(pageInfo,{list:queryData,queryId}).then(res=>{
|
getPageData(pageInfo,{list:queryData,queryId}).then(res=>{
|
||||||
let data = res.data
|
let data = res.data
|
||||||
tableData.value = data.rows
|
tableData.value = data.rows
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<div class="query-btn">
|
<div class="query-btn">
|
||||||
<el-button type="primary" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
<el-button type="primary" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
||||||
<el-button type="danger" @click="handleMoreDelete" :icon="Delete" plain>删除</el-button>
|
<popover-delete :name="uqNameList" btn-type="danger" :type="'SQL查询'"
|
||||||
|
:is-disabled="disabled" :is-plain="true" :btn-icon="Delete"
|
||||||
|
@delete="handleDelete(uqIds)"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<el-table
|
<el-table
|
||||||
@@ -48,14 +50,13 @@
|
|||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.publish == false">
|
<div v-if="scope.row.publish == false">
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleEdit(scope.row.id)" :icon="Edit">编辑
|
@click="handleEdit(scope.row.id)" >编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleDesign(scope.row)" :icon="Edit">设计
|
@click="handleDesign(scope.row)" >设计
|
||||||
</el-button>
|
|
||||||
<el-button type="text" size="mini" @click="handleDelete(scope.row)"
|
|
||||||
:icon="Delete" style="color: red">删除
|
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<popover-delete :name="scope.row.uqName" :type="'SQL查询'"
|
||||||
|
@delete="handleDelete(scope.row.id)"/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<el-button type="text" size="mini" @click="handleDownLine(scope.row)"
|
<el-button type="text" size="mini" @click="handleDownLine(scope.row)"
|
||||||
@@ -133,9 +134,12 @@ const queryParams = reactive({
|
|||||||
})
|
})
|
||||||
const dataSourceOption = ref([])
|
const dataSourceOption = ref([])
|
||||||
const queryForm = ref([])
|
const queryForm = ref([])
|
||||||
|
const uqIds = ref([])
|
||||||
|
const uqNameList = ref([])
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
const total = ref()
|
const total = ref()
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
|
const disabled = ref(true)
|
||||||
const title = ref('')
|
const title = ref('')
|
||||||
const isVisited = ref(false)
|
const isVisited = ref(false)
|
||||||
const pageInfo = reactive({
|
const pageInfo = reactive({
|
||||||
@@ -253,15 +257,15 @@ const handleDownLine = (row) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//单个删除
|
//单个删除
|
||||||
const handleDelete = async (row) => {
|
const handleDelete = async (id) => {
|
||||||
let list = []
|
// let list = []
|
||||||
list.push(row.id)
|
// list.push(row.id)
|
||||||
ElMessageBox.confirm(`确认删除名称为${row.uqName}的数据吗?`, '系统提示', {
|
// ElMessageBox.confirm(`确认删除名称为${row.uqName}的数据吗?`, '系统提示', {
|
||||||
confirmButtonText: '确定',
|
// confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
// cancelButtonText: '取消',
|
||||||
type: 'warning'
|
// type: 'warning'
|
||||||
}).then(() => {
|
// }).then(() => {
|
||||||
delSql(list).then(res => {
|
delSql(id).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
getList()
|
getList()
|
||||||
@@ -269,7 +273,7 @@ const handleDelete = async (row) => {
|
|||||||
ElMessage.error(res.msg)
|
ElMessage.error(res.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
//取消
|
//取消
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
@@ -305,14 +309,16 @@ const handleSubmit = async (instance) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//可删除多行
|
|
||||||
const handleMoreDelete = () => {
|
|
||||||
|
|
||||||
}
|
|
||||||
//勾选table数据行事件
|
//勾选table数据行事件
|
||||||
const handleSelect = (selection) => {
|
const handleSelect = async (selection) => {
|
||||||
console.log('selection', selection)
|
if (selection.length !== 0) {
|
||||||
// tableNameArray.value=selection.map(item => item.tableName)
|
disabled.value = false
|
||||||
|
uqIds.value=selection.map(item => item.id).join()
|
||||||
|
uqNameList.value = selection.map(item => item.uqName).join()
|
||||||
|
} else {
|
||||||
|
disabled.value = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//切换每页显示条数
|
//切换每页显示条数
|
||||||
const handleSizeChange = async (val) => {
|
const handleSizeChange = async (val) => {
|
||||||
|
|||||||
@@ -39,13 +39,13 @@
|
|||||||
<el-table
|
<el-table
|
||||||
:data="queryParams.relationMappings"
|
:data="queryParams.relationMappings"
|
||||||
row-key="mainId"
|
row-key="mainId"
|
||||||
:lazy="true"
|
v-loading="loading"
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
:header-cell-style="{'background':'#f5f5f8'}"
|
:header-cell-style="{'background':'#f5f5f8'}"
|
||||||
ref="relationalMap">
|
ref="relationalMap">
|
||||||
<el-table-column type="selection" width="55" align="center" prop="index"/>
|
<el-table-column type="selection" width="55" align="center" prop="index"/>
|
||||||
<el-table-column label="序号" align="center" type="index" width="55"/>
|
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||||
<el-table-column label="外键" prop="mainKey">
|
<el-table-column label="外键" prop="mainKey" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-select v-model="scope.row.mainKey" placeholder="外键" filterable clearable>
|
<el-select v-model="scope.row.mainKey" placeholder="外键" filterable clearable>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="关联表" prop="childId">
|
<el-table-column label="关联表" prop="childId" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-select v-model="scope.row.childId" placeholder="关联表" filterable clearable>
|
<el-select v-model="scope.row.childId" placeholder="关联表" filterable clearable>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="关联字段" prop="childKey">
|
<el-table-column label="关联字段" prop="childKey" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-select v-model="scope.row.childKey" placeholder="关联字段"
|
<el-select v-model="scope.row.childKey" placeholder="关联字段"
|
||||||
@visible-change="handleVisibleChange(scope.row.childId,scope.$index,$event)" filterable
|
@visible-change="handleVisibleChange(scope.row.childId,scope.$index,$event)" filterable
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="关联方式" prop="type">
|
<el-table-column label="关联方式" prop="type" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-select v-model="scope.row.type" multiple placeholder="关联方式" filterable clearable>
|
<el-select v-model="scope.row.type" multiple placeholder="关联方式" filterable clearable>
|
||||||
<el-option label="hasOne" value="1"/>
|
<el-option label="hasOne" value="1"/>
|
||||||
@@ -101,21 +101,22 @@
|
|||||||
:data="queryParams.columnList"
|
:data="queryParams.columnList"
|
||||||
row-key="columnId"
|
row-key="columnId"
|
||||||
:lazy="true"
|
:lazy="true"
|
||||||
|
v-loading="loading"
|
||||||
:header-cell-style="{'background':'#f5f5f8'}"
|
:header-cell-style="{'background':'#f5f5f8'}"
|
||||||
ref="topSearchColumn">
|
ref="topSearchColumn">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
<el-table-column label="序号" align="center" type="index" width="60" />
|
||||||
<el-table-column label="列名称" prop="columnName">
|
<el-table-column label="列名称" prop="columnName" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.columnName }}</span>
|
<span>{{ scope.row.columnName }}</span>
|
||||||
<span class="isPk" v-if="scope.row.pk">*</span>
|
<span class="isPk" v-if="scope.row.pk">*</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="列描述" prop="columnComment">
|
<el-table-column label="列描述" prop="columnComment" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.columnComment" placeholder="请输入列描述"/>
|
<el-input v-model="scope.row.columnComment" placeholder="请输入列描述"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="列类型" prop="columnType">
|
<el-table-column label="列类型" prop="columnType" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.columnType }}</span>
|
<span>{{ scope.row.columnType }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -149,7 +150,7 @@ import {
|
|||||||
import {getRoleOption} from "@/api/role/role";
|
import {getRoleOption} from "@/api/role/role";
|
||||||
|
|
||||||
const isVisited = ref(false)
|
const isVisited = ref(false)
|
||||||
const queryParams = reactive({
|
let queryParams = reactive({
|
||||||
table: {
|
table: {
|
||||||
dataSourceId: '',
|
dataSourceId: '',
|
||||||
dataSourceType: '',
|
dataSourceType: '',
|
||||||
@@ -161,6 +162,7 @@ const queryParams = reactive({
|
|||||||
columnList: []
|
columnList: []
|
||||||
})
|
})
|
||||||
const roleList = ref([]);
|
const roleList = ref([]);
|
||||||
|
const loading = ref(true)
|
||||||
const tableInfoList = ref([]);
|
const tableInfoList = ref([]);
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
roleIds: [
|
roleIds: [
|
||||||
@@ -178,6 +180,19 @@ const props = defineProps({
|
|||||||
default: ''
|
default: ''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
const restForm = () => {
|
||||||
|
queryParams = {
|
||||||
|
table: {
|
||||||
|
dataSourceId: '',
|
||||||
|
dataSourceType: '',
|
||||||
|
tableName: '',
|
||||||
|
tableComment: '',
|
||||||
|
},
|
||||||
|
roleIds: [],
|
||||||
|
relationMappings: [],
|
||||||
|
columnList: []
|
||||||
|
}
|
||||||
|
}
|
||||||
//获取角色option
|
//获取角色option
|
||||||
const getRole = () => {
|
const getRole = () => {
|
||||||
getRoleOption().then(res => {
|
getRoleOption().then(res => {
|
||||||
@@ -206,10 +221,10 @@ const handleVisibleChange = (id, index, e) => {
|
|||||||
}
|
}
|
||||||
//获取表详情
|
//获取表详情
|
||||||
const getTableDetail = async () => {
|
const getTableDetail = async () => {
|
||||||
// console.log('props.tableId',props.tableId)
|
loading.value = true
|
||||||
getTableDetails(props.tableId).then(res => {
|
await getTableDetails(props.tableId).then(res => {
|
||||||
console.log('详情', res)
|
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
|
loading.value = false
|
||||||
if (res.data.roleIds) {
|
if (res.data.roleIds) {
|
||||||
queryParams.table = res.data.table
|
queryParams.table = res.data.table
|
||||||
getAssociationOption(res.data.table.dataSourceId)
|
getAssociationOption(res.data.table.dataSourceId)
|
||||||
@@ -224,6 +239,7 @@ const getTableDetail = async () => {
|
|||||||
queryParams.columnList = res.data.columnList
|
queryParams.columnList = res.data.columnList
|
||||||
}
|
}
|
||||||
isVisited.value = true
|
isVisited.value = true
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error(res.msg)
|
ElMessage.error(res.msg)
|
||||||
}
|
}
|
||||||
@@ -269,7 +285,8 @@ const show = () => {
|
|||||||
getRole()
|
getRole()
|
||||||
}
|
}
|
||||||
defineExpose({
|
defineExpose({
|
||||||
show
|
show,
|
||||||
|
restForm
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -21,10 +21,11 @@
|
|||||||
<el-config-provider>
|
<el-config-provider>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="dateValue"
|
v-model="dateValue"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
|
:shortcuts="shortcuts"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
/>
|
/>
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -42,8 +43,9 @@
|
|||||||
@selection-change="handleSelect"
|
@selection-change="handleSelect"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55"/>
|
<el-table-column type="selection" width="55"/>
|
||||||
|
<el-table-column label="序号" type="index" width="60" align="center"/>
|
||||||
<el-table-column prop="tableName" label="表名称" align="center"/>
|
<el-table-column prop="tableName" label="表名称" align="center"/>
|
||||||
<el-table-column prop="tableComment" label="表描述" sortable align="center"/>
|
<el-table-column prop="tableComment" label="表描述" align="center"/>
|
||||||
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
||||||
<el-table-column prop="updateTime" label="更新时间" sortable align="center"/>
|
<el-table-column prop="updateTime" label="更新时间" sortable align="center"/>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -69,7 +71,7 @@ import Paging from "@/components/pagination/index.vue";
|
|||||||
|
|
||||||
const emit = defineEmits(['importSuccess','changeEdit'])
|
const emit = defineEmits(['importSuccess','changeEdit'])
|
||||||
|
|
||||||
const queryParams = reactive({
|
let queryParams = reactive({
|
||||||
dataSourceId: '',
|
dataSourceId: '',
|
||||||
tableName: '',
|
tableName: '',
|
||||||
tableComment: ''
|
tableComment: ''
|
||||||
@@ -80,9 +82,38 @@ const pageInfo = reactive({
|
|||||||
})
|
})
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
const tableNameArray = ref([])
|
const tableNameArray = ref([])
|
||||||
const queryForm = ref([])
|
const queryForm = ref()
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const dateValue = ref();
|
const dateValue = ref();
|
||||||
|
const shortcuts = [
|
||||||
|
{
|
||||||
|
text: "上周",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "上月",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "三月前",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const isVisited = ref(false)
|
const isVisited = ref(false)
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -91,9 +122,11 @@ const props = defineProps({
|
|||||||
default: []
|
default: []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const show = () => {
|
const show = () => {
|
||||||
isVisited.value = true
|
isVisited.value = true
|
||||||
queryParams.dataSourceId = props.dataSourceOption[0].value
|
queryParams.dataSourceId = props.dataSourceOption[0].value
|
||||||
|
dateValue.value = []
|
||||||
searchTableSearch()
|
searchTableSearch()
|
||||||
}
|
}
|
||||||
const searchTableSearch = async () => {
|
const searchTableSearch = async () => {
|
||||||
@@ -108,7 +141,6 @@ const searchTableSearch = async () => {
|
|||||||
}
|
}
|
||||||
loading.value = true
|
loading.value = true
|
||||||
getDynamicTableList(params).then(res => {
|
getDynamicTableList(params).then(res => {
|
||||||
console.log('searchTableSearch',res)
|
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
list.value = res.data.rows
|
list.value = res.data.rows
|
||||||
total.value = res.data.total
|
total.value = res.data.total
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-form :model="queryParams" inline class="query-form" ref="queryForm">
|
<el-form :model="queryParams" inline class="query-form" ref="queryForm">
|
||||||
<el-form-item label="数据源" prop="dataSourceId">
|
<el-form-item label="数据源" prop="dataSourceId">
|
||||||
<el-select v-model="queryParams.dataSourceId" placeholder="数据源" clearable filterable>
|
<el-select v-model="queryParams.dataSourceId" placeholder="数据源" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dataSourceOption"
|
v-for="item in dataSourceOption"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -18,10 +18,11 @@
|
|||||||
<el-config-provider>
|
<el-config-provider>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="dateValue"
|
v-model="dateValue"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
|
:shortcuts="shortcuts"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
/>
|
/>
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -43,12 +44,12 @@
|
|||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
@selection-change="handleSelect"
|
@selection-change="handleSelect"
|
||||||
>
|
>
|
||||||
<!-- <el-table-column type="selection" width="55"/>-->
|
<!-- <el-table-column type="selection" width="55"/>-->
|
||||||
<el-table-column label="序号" type="index" width="60" align="center"/>
|
<el-table-column label="序号" type="index" width="60" align="center"/>
|
||||||
<el-table-column prop="tableName" label="表名" align="center"/>
|
<el-table-column prop="tableName" label="表名" align="center"/>
|
||||||
<el-table-column prop="dataSourceId" label="数据源名称" align="center">
|
<el-table-column prop="dataSourceId" label="数据源名称" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ getDataSourceOptionItem(scope.row.dataSourceId) }}
|
<el-tag> {{ getDataSourceOptionItem(scope.row.dataSourceId) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="dataSourceType" label="数据源类型" align="center"/>
|
<el-table-column prop="dataSourceType" label="数据源类型" align="center"/>
|
||||||
@@ -57,18 +58,18 @@
|
|||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleEdit(scope.row.tableId)" :icon="Edit">编辑
|
@click="handleEdit(scope.row.tableId)">编辑
|
||||||
</el-button>
|
|
||||||
<el-button type="text" size="mini" @click="handleDelete(scope.row)"
|
|
||||||
:icon="Delete">删除
|
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<popover-delete :name="scope.row.tableName" :type="'表格'"
|
||||||
|
@delete="handleDelete(scope.row.tableId)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<paging :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :page-sizes="[10, 20, 30, 40,50]"
|
<paging :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :page-sizes="[10, 20, 30, 40,50]"
|
||||||
:total="total" @changeSize="handleSizeChange" @goPage="handleCurrentChange"/>
|
:total="total" @changeSize="handleSizeChange" @goPage="handleCurrentChange"/>
|
||||||
<import-table ref="importTableRef" :data-source-option="dataSourceOption" @importSuccess="getList" @changeEdit="changeEdit"/>
|
<import-table ref="importTableRef" :data-source-option="dataSourceOption" @importSuccess="getList"
|
||||||
|
@changeEdit="changeEdit"/>
|
||||||
|
|
||||||
<edit-table ref="editTableRef" :data-source-name="dataSourceName" :table-id="editTableId"/>
|
<edit-table ref="editTableRef" :data-source-name="dataSourceName" :table-id="editTableId"/>
|
||||||
|
|
||||||
@@ -81,7 +82,7 @@ import EditTable from "./editTable.vue";
|
|||||||
import {Search, Refresh, Delete, Edit, UploadFilled, Download} from '@element-plus/icons-vue'
|
import {Search, Refresh, Delete, Edit, UploadFilled, Download} from '@element-plus/icons-vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {useRouter} from "vue-router";
|
import {useRouter} from "vue-router";
|
||||||
import {getTableInfo,delTable} from "@/api/custom-query/table";
|
import {getTableInfo, delTable} from "@/api/custom-query/table";
|
||||||
import {getDataSourceOption} from "@/api/custom-query/datamodel";
|
import {getDataSourceOption} from "@/api/custom-query/datamodel";
|
||||||
import Paging from "@/components/pagination/index.vue";
|
import Paging from "@/components/pagination/index.vue";
|
||||||
|
|
||||||
@@ -99,6 +100,35 @@ const editTableId = ref()
|
|||||||
const queryForm = ref([])
|
const queryForm = ref([])
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
const dateValue = ref();
|
const dateValue = ref();
|
||||||
|
const shortcuts = [
|
||||||
|
{
|
||||||
|
text: "上周",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "上月",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "三月前",
|
||||||
|
value: () => {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||||
|
return [start, end];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
const dataSourceName = ref()
|
const dataSourceName = ref()
|
||||||
const dataSourceOption = ref()
|
const dataSourceOption = ref()
|
||||||
const total = ref()
|
const total = ref()
|
||||||
@@ -150,7 +180,7 @@ const getOption = () => {
|
|||||||
const getDataSourceOptionItem = (dataSourceId) => {
|
const getDataSourceOptionItem = (dataSourceId) => {
|
||||||
for (let item of dataSourceOption.value) {
|
for (let item of dataSourceOption.value) {
|
||||||
if (item.value === dataSourceId) {
|
if (item.value === dataSourceId) {
|
||||||
dataSourceName.value=item.label
|
dataSourceName.value = item.label
|
||||||
return item.label;
|
return item.label;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,7 +193,7 @@ const handleImport = async () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//导入单个表格, 直接进入编辑页面
|
//导入单个表格, 直接进入编辑页面
|
||||||
const changeEdit=(data)=>{
|
const changeEdit = (data) => {
|
||||||
editTableId.value = data
|
editTableId.value = data
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
editTableRef.value.show()
|
editTableRef.value.show()
|
||||||
@@ -178,20 +208,14 @@ const handleEdit = async (tableId) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//删除
|
//删除
|
||||||
const handleDelete = async (row) => {
|
const handleDelete = async (tableId) => {
|
||||||
ElMessageBox.confirm(`确认删除名称为${row.tableName}的表格吗?`, '系统提示', {
|
delTable(tableId).then(res => {
|
||||||
confirmButtonText: '确定',
|
if (res.code === 1000) {
|
||||||
cancelButtonText: '取消',
|
ElMessage.success(res.msg)
|
||||||
type: 'warning'
|
getList()
|
||||||
}).then(() => {
|
} else {
|
||||||
delTable(row.tableId).then(res => {
|
ElMessage.error(res.msg)
|
||||||
if (res.code === 1000) {
|
}
|
||||||
ElMessage.success(res.msg)
|
|
||||||
getList()
|
|
||||||
} else {
|
|
||||||
ElMessage.error(res.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//切换每页显示条数
|
//切换每页显示条数
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否发布" prop="publish">
|
<el-form-item label="是否发布" prop="publish">
|
||||||
<el-select v-model="queryParams.publish" placeholder="请选择发布类型" clearable filterable>
|
<el-select v-model="queryParams.publish" placeholder="请选择发布类型" clearable filterable>
|
||||||
<el-option label="已发布" value="2"/>
|
<el-option label="已发布" value="1"/>
|
||||||
<el-option label="未发布" value="0"/>
|
<el-option label="未发布" value="0"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -17,7 +17,9 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<div class="query-btn">
|
<div class="query-btn">
|
||||||
<el-button type="primary" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
<el-button type="primary" @click="handleAdd" :icon="Plus" plain>新增</el-button>
|
||||||
<el-button type="danger" @click="handleMoreDelete" :icon="Delete" plain>删除</el-button>
|
<popover-delete :name="uqNameList" btn-type="danger" :type="'拓扑图查询'"
|
||||||
|
:is-disabled="disabled" :is-plain="true" :btn-icon="Delete"
|
||||||
|
@delete="handleDelete(uqIds)"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<el-table
|
<el-table
|
||||||
@@ -44,25 +46,24 @@
|
|||||||
<el-table-column prop="uqDescribe" label="描述" align="center"/>
|
<el-table-column prop="uqDescribe" label="描述" align="center"/>
|
||||||
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
||||||
<el-table-column prop="updateTime" label="更新时间" align="center"/>
|
<el-table-column prop="updateTime" label="更新时间" align="center"/>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.publish == false">
|
<div v-if="scope.row.publish == false">
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleEdit(scope.row.id)" :icon="Edit">编辑
|
@click="handleEdit(scope.row.id)" >编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleDesign(scope.row)" :icon="Edit">设计
|
@click="handleDesign(scope.row)" >设计
|
||||||
</el-button>
|
|
||||||
<el-button type="text" size="mini" @click="handleDelete(scope.row)"
|
|
||||||
:icon="Delete" style="color: red">删除
|
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<popover-delete :name="scope.row.uqName" :type="'拓扑图查询'"
|
||||||
|
@delete="handleDelete(scope.row.id)"/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<el-button type="text" size="mini" @click="handleDownLine(scope.row)"
|
<el-button type="text" size="mini" @click="handleDownLine(scope.row)"
|
||||||
:icon="Bottom" style="color: red">下线
|
:icon="Bottom" style="color: red">下线
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" size="mini"
|
<el-button type="text" size="mini"
|
||||||
@click="handleView(scope.row)" :icon="View">查看
|
@click="handleView(scope.row.id)" :icon="View">查看
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -134,8 +135,11 @@ const queryParams = reactive({
|
|||||||
const dataSourceOption = ref()
|
const dataSourceOption = ref()
|
||||||
const queryForm = ref([])
|
const queryForm = ref([])
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
|
const uqIds = ref([])
|
||||||
|
const uqNameList = ref([])
|
||||||
const total = ref()
|
const total = ref()
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
|
const disabled = ref(true)
|
||||||
const title = ref('')
|
const title = ref('')
|
||||||
const isVisited = ref(false)
|
const isVisited = ref(false)
|
||||||
const pageInfo = reactive({
|
const pageInfo = reactive({
|
||||||
@@ -160,6 +164,7 @@ const getOption = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const getDataSourceOptionItem = (dataSourceId) => {
|
const getDataSourceOptionItem = (dataSourceId) => {
|
||||||
|
if(dataSourceOption.value===undefined)return;
|
||||||
for (let item of dataSourceOption.value) {
|
for (let item of dataSourceOption.value) {
|
||||||
if (item.value === dataSourceId) {
|
if (item.value === dataSourceId) {
|
||||||
return item.label;
|
return item.label;
|
||||||
@@ -251,17 +256,25 @@ const handleDownLine = (row) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//查看
|
||||||
|
const handleView=(id)=>{
|
||||||
|
//router.push({path: `/custom/query/page/${id}`})
|
||||||
|
}
|
||||||
//单个删除
|
//单个删除
|
||||||
const handleDelete = async (row) => {
|
const handleDelete = async (id) => {
|
||||||
let list = []
|
// let list = []
|
||||||
list.push(row.id)
|
// if(Array.isArray(id)){
|
||||||
ElMessageBox.confirm(`确认删除名称为${row.uqName}的拓扑图吗?`, '系统提示', {
|
// list=Object.values(id)
|
||||||
confirmButtonText: '确定',
|
// }else {
|
||||||
cancelButtonText: '取消',
|
// list.push(id)
|
||||||
type: 'warning'
|
// }
|
||||||
}).then(() => {
|
// console.log(list,'list')
|
||||||
delTopo(list).then(res => {
|
// ElMessageBox.confirm(`确认删除名称为${row.uqName}的拓扑图吗?`, '系统提示', {
|
||||||
|
// confirmButtonText: '确定',
|
||||||
|
// cancelButtonText: '取消',
|
||||||
|
// type: 'warning'
|
||||||
|
// }).then(() => {
|
||||||
|
delTopo(id).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
ElMessage.success(res.msg)
|
ElMessage.success(res.msg)
|
||||||
getList()
|
getList()
|
||||||
@@ -269,7 +282,7 @@ const handleDelete = async (row) => {
|
|||||||
ElMessage.error(res.msg)
|
ElMessage.error(res.msg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
//取消
|
//取消
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
@@ -304,15 +317,16 @@ const handleSubmit = async (instance) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
|
||||||
//可删除多行
|
|
||||||
const handleMoreDelete = () => {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//勾选table数据行事件
|
//勾选table数据行事件
|
||||||
const handleSelect = (selection) => {
|
const handleSelect = async (selection) => {
|
||||||
console.log('selection', selection)
|
if (selection.length !== 0) {
|
||||||
// tableNameArray.value=selection.map(item => item.tableName)
|
disabled.value = false
|
||||||
|
uqIds.value=selection.map(item => item.id).join()
|
||||||
|
uqNameList.value = selection.map(item => item.uqName).join()
|
||||||
|
} else {
|
||||||
|
disabled.value = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//切换每页显示条数
|
//切换每页显示条数
|
||||||
const handleSizeChange = async (val) => {
|
const handleSizeChange = async (val) => {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable></el-input>
|
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="state">
|
<el-form-item label="状态" prop="state">
|
||||||
<el-select v-model="queryParams.state" placeholder="登录状态" clearable filterable>
|
<el-select v-model="queryParams.state" placeholder="登录状态" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in [{label:'成功',value: '0'},{label:'失败',value: '1'}]"
|
v-for="item in [{label:'成功',value: '0'},{label:'失败',value: '1'}]"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -35,7 +35,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="query-btn">
|
<div class="query-btn">
|
||||||
<el-button type="danger" @click="handleDelete(infoId)" :icon="Delete" plain :disabled="disabled">删除</el-button>
|
<popover-delete :name="infoId" btn-type="danger" :type="'日志'"
|
||||||
|
:is-disabled="disabled" :is-plain="true" :btn-icon="Delete"
|
||||||
|
@delete="handleDelete(infoId)"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<el-table
|
<el-table
|
||||||
@@ -48,21 +50,22 @@
|
|||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55"/>
|
<el-table-column type="selection" width="55"/>
|
||||||
<el-table-column prop="infoId" label="访问编号" align="center"/>
|
<el-table-column prop="infoId" label="访问编号" align="center"/>
|
||||||
<el-table-column prop="userName" label="用户名称" sortable align="center"/>
|
<el-table-column prop="userName" label="用户名称" align="center"/>
|
||||||
<el-table-column prop="ipddr" label="登录地址" align="center"/>
|
<el-table-column prop="ipddr" label="登录地址" align="center"/>
|
||||||
<el-table-column prop="loginLocation" label="登录地点" align="center"/>
|
<el-table-column prop="loginLocation" label="登录地点" align="center"/>
|
||||||
<el-table-column prop="browser" label="浏览器" align="center"/>
|
<el-table-column prop="browser" label="浏览器" align="center"/>
|
||||||
<el-table-column prop="os" label="操作系统" align="center"/>
|
<el-table-column prop="os" label="操作系统" align="center"/>
|
||||||
<el-table-column prop="state" label="登录状态" align="center">
|
<el-table-column prop="state" label="登录状态" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.state == '0'? '':'danger'">{{ scope.row.state == '0' ? '成功' : '失败' }}</el-tag>
|
<tag dict-type="common_state" :value="scope.row.state"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="msg" label="操作信息" align="center"/>
|
<el-table-column prop="msg" label="操作信息" align="center"/>
|
||||||
<el-table-column prop="loginTime" label="登录日期" sortable align="center"/>
|
<el-table-column prop="loginTime" label="登录日期" sortable align="center"/>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" @click="handleDelete(scope.row.infoId)" :icon="Delete" style="color: red">删除</el-button>
|
<popover-delete :name="scope.row.userName" :type="'日志'"
|
||||||
|
@delete="handleDelete(scope.row.infoId)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -157,19 +160,13 @@ const handleReset = () => {
|
|||||||
|
|
||||||
//删除功能
|
//删除功能
|
||||||
const handleDelete = async (infoId) => {
|
const handleDelete = async (infoId) => {
|
||||||
ElMessageBox.confirm(`是否确认删除访问编号为${infoId}的数据项吗?`, '系统提示', {
|
deleteLoginLog(infoId).then(res => {
|
||||||
confirmButtonText: '确定',
|
if (res.code === 1000) {
|
||||||
cancelButtonText: '取消',
|
ElMessage.success(res.msg)
|
||||||
type: 'warning'
|
getList()
|
||||||
}).then(() => {
|
} else {
|
||||||
deleteLoginLog(infoId).then(res => {
|
ElMessage.error(res.msg)
|
||||||
if (res.code === 1000) {
|
}
|
||||||
ElMessage.success(res.msg)
|
|
||||||
getList()
|
|
||||||
} else {
|
|
||||||
ElMessage.error(res.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +174,7 @@ const handleDelete = async (infoId) => {
|
|||||||
const handleSelect = async (selection) => {
|
const handleSelect = async (selection) => {
|
||||||
if (selection.length !== 0) {
|
if (selection.length !== 0) {
|
||||||
disabled.value = false
|
disabled.value = false
|
||||||
infoId.value=selection.map(item=>item.infoId).join()
|
infoId.value = selection.map(item => item.infoId).join()
|
||||||
} else {
|
} else {
|
||||||
disabled.value = true
|
disabled.value = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<!-- <el-table-column type="selection" width="55" align="center"/>-->
|
<!-- <el-table-column type="selection" width="55" align="center"/>-->
|
||||||
<!-- <el-table-column prop="tokenId" label="会话id" align="center"/>-->
|
<!-- <el-table-column prop="tokenId" label="会话id" align="center"/>-->
|
||||||
<el-table-column prop="username" label="用户名" align="center"/>
|
<el-table-column prop="username" label="用户名" align="center"/>
|
||||||
<el-table-column prop="deptName" label="部门名称" sortable align="center"/>
|
<el-table-column prop="deptName" label="部门名称" align="center"/>
|
||||||
<el-table-column prop="ipAddr" label="登录ip" align="center"/>
|
<el-table-column prop="ipAddr" label="登录ip" align="center"/>
|
||||||
<el-table-column prop="loginLocation" label="登录地点" align="center"/>
|
<el-table-column prop="loginLocation" label="登录地点" align="center"/>
|
||||||
<el-table-column prop="browser" label="浏览器类型" align="center"/>
|
<el-table-column prop="browser" label="浏览器类型" align="center"/>
|
||||||
|
|||||||
@@ -66,16 +66,16 @@
|
|||||||
<tag dict-type="oper_type" :value="scope.row.businessType"/>
|
<tag dict-type="oper_type" :value="scope.row.businessType"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="operName" label="操作人员" sortable align="center"/>
|
<el-table-column prop="operName" label="操作人员" align="center"/>
|
||||||
<el-table-column prop="operIp" label="操作地址" align="center"/>
|
<el-table-column prop="operIp" label="操作地址" align="center"/>
|
||||||
<el-table-column prop="operLocation" label="操作地点" align="center"/>
|
<el-table-column prop="operLocation" label="操作地点" align="center"/>
|
||||||
<el-table-column prop="state" label="操作状态" align="center">
|
<el-table-column prop="state" label="操作状态" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.state == '0'? '':'danger'">{{ scope.row.state == "0" ? "成功" : "失败" }}</el-tag>
|
<tag dict-type="common_state" :value="scope.row.state"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="operTime" label="操作日期" sortable align="center"/>
|
<el-table-column prop="operTime" label="操作日期" sortable align="center"/>
|
||||||
<el-table-column prop="consumeTime" label="消耗时间" align="center">
|
<el-table-column prop="consumeTime" label="消耗时间" sortable align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.consumeTime }}ms
|
{{ scope.row.consumeTime }}ms
|
||||||
</template>
|
</template>
|
||||||
@@ -83,9 +83,8 @@
|
|||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" @click="handleViewDetails(scope.row.operId)" >详细</el-button>
|
<el-button type="text" size="mini" @click="handleViewDetails(scope.row.operId)" >详细</el-button>
|
||||||
<popover-delete :name="operIds" btn-type="text" :type="'日志'"
|
<popover-delete :name="operIds" :type="'日志'"
|
||||||
:is-plain="false"
|
@delete="handleDelete(scope.row.operId)"/>
|
||||||
@delete="handleDelete(scope.row.operId)" />
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -148,7 +147,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="操作状态:" prop="state">
|
<el-form-item label="操作状态:" prop="state">
|
||||||
<el-tag :type="form.state == '0'? '':'danger'">{{ form.state == "0" ? "成功" : "失败" }}</el-tag>
|
<tag dict-type="common_state" :value="form.state"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
|||||||
@@ -44,9 +44,9 @@
|
|||||||
>
|
>
|
||||||
<el-table-column type="selection" width="80"/>
|
<el-table-column type="selection" width="80"/>
|
||||||
<el-table-column prop="tableName" label="表名称" align="center"/>
|
<el-table-column prop="tableName" label="表名称" align="center"/>
|
||||||
<el-table-column prop="tableComment" label="表描述" sortable align="center"/>
|
<el-table-column prop="tableComment" label="表描述" align="center"/>
|
||||||
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
||||||
<el-table-column prop="updateTime" label="更新时间" align="center"/>
|
<el-table-column prop="updateTime" label="更新时间" sortable align="center"/>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" @click="handleImport(scope.row)" :icon="View">导入</el-button>
|
<el-button type="text" size="mini" @click="handleImport(scope.row)" :icon="View">导入</el-button>
|
||||||
|
|||||||
@@ -47,23 +47,24 @@
|
|||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
>
|
>
|
||||||
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
||||||
<el-table-column prop="tableName" label="表名称" align="center"/>
|
<el-table-column prop="tableName" label="表名称" align="center"/>
|
||||||
<el-table-column prop="tableComment" label="表描述" sortable align="center"/>
|
<el-table-column prop="tableComment" label="表描述" align="center"/>
|
||||||
<el-table-column prop="className" label="实体类" align="center"/>
|
<el-table-column prop="className" label="实体类" align="center"/>
|
||||||
<el-table-column prop="dataSourceId" label="数据源" align="center">
|
<el-table-column prop="dataSourceId" label="数据源" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ getDataSourceOptionItem(scope.row.dataSourceId) }}
|
<el-tag >{{ getDataSourceOptionItem(scope.row.dataSourceId) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
<el-table-column prop="createTime" label="创建时间" sortable align="center"/>
|
||||||
<el-table-column prop="updateTime" label="更新时间" align="center"/>
|
<el-table-column prop="updateTime" label="更新时间" sortable align="center"/>
|
||||||
<el-table-column label="操作" width="300" align="center">
|
<el-table-column label="操作" width="260" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" @click="handlePreview(scope.row.tableId)" :icon="View">预览</el-button>
|
<el-button type="text" size="mini" @click="handlePreview(scope.row.tableId)">预览</el-button>
|
||||||
<el-button type="text" size="mini" @click="handleEdit(scope.row.tableId)" :icon="Edit">编辑</el-button>
|
<el-button type="text" size="mini" @click="handleEdit(scope.row.tableId)">编辑</el-button>
|
||||||
<el-button type="text" size="mini" @click="handleDownLoad(scope.row.tableId)" :icon="Download">下载
|
<el-button type="text" size="mini" @click="handleDownLoad(scope.row.tableId)">下载
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" size="mini" @click="handleDeleteTable(scope.row)" :icon="Delete">删除</el-button>
|
<popover-delete :name="scope.row.tableName" :type="'表'"
|
||||||
|
@delete="handleDeleteTable(scope.row.tableId)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -231,20 +232,14 @@ const handleCurrentChange = (val) => {
|
|||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleDeleteTable = async (item) => {
|
const handleDeleteTable = async (tableId) => {
|
||||||
ElMessageBox.confirm(`确认删除名称为${item.tableName}的表吗?`, '系统提示', {
|
deleteTable(tableId).then(res => {
|
||||||
confirmButtonText: '确定',
|
if (res.code === 1000) {
|
||||||
cancelButtonText: '取消',
|
ElMessage.success(res.msg)
|
||||||
type: 'warning'
|
getList()
|
||||||
}).then(() => {
|
} else {
|
||||||
deleteTable(item.tableId).then(res => {
|
ElMessage.error(res.msg)
|
||||||
if (res.code === 1000) {
|
}
|
||||||
ElMessage.success(res.msg)
|
|
||||||
getList()
|
|
||||||
} else {
|
|
||||||
ElMessage.error(res.msg)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,14 +27,11 @@
|
|||||||
<el-table-column label="序号" type="index" width="60" align="center"/>
|
<el-table-column label="序号" type="index" width="60" align="center"/>
|
||||||
<el-table-column prop="dsName" label="数据源名称" align="center"/>
|
<el-table-column prop="dsName" label="数据源名称" align="center"/>
|
||||||
<el-table-column prop="dbName" label="数据库名称" align="center"/>
|
<el-table-column prop="dbName" label="数据库名称" align="center"/>
|
||||||
<el-table-column prop="username" label="用户名称" sortable align="center"/>
|
<el-table-column prop="username" label="用户名称" align="center"/>
|
||||||
<el-table-column prop="jdbcUrl" label="数据库连接url" sortable align="center" width="140" />
|
<el-table-column prop="jdbcUrl" label="数据库连接url" align="center" width="140" />
|
||||||
<el-table-column prop="confType" label="数据源配置类型" align="center">
|
<el-table-column prop="confType" label="数据源配置类型" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.confType === 1? '':'warning'">{{
|
<tag dict-type="data_source_config" :value="scope.row.confType"/>
|
||||||
scope.row.confType === 1 ? '主机' : 'JDBC'
|
|
||||||
}}
|
|
||||||
</el-tag>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
||||||
@@ -104,13 +101,13 @@
|
|||||||
<el-col :span="24" v-if="form.confType === 2">
|
<el-col :span="24" v-if="form.confType === 2">
|
||||||
<el-form-item label="连接地址" prop="jdbcUrl">
|
<el-form-item label="连接地址" prop="jdbcUrl">
|
||||||
<el-input v-model="form.jdbcUrl"
|
<el-input v-model="form.jdbcUrl"
|
||||||
:rows="2"
|
:rows="4"
|
||||||
type="textarea" placeholder="请输入连接地址"></el-input>
|
type="textarea" placeholder="请输入连接地址"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="form.confType === 1">
|
<el-col :span="24" v-if="form.confType === 1">
|
||||||
<el-form-item label="配置参数" prop="args">
|
<el-form-item label="配置参数" prop="args">
|
||||||
<el-input v-model="form.args" :rows="3"
|
<el-input v-model="form.args" :rows="4"
|
||||||
type="textarea" placeholder="请输入配置参数"></el-input>
|
type="textarea" placeholder="请输入配置参数"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
@@ -23,10 +23,7 @@
|
|||||||
<el-table-column prop="noticeTitle" label="公告标题" align="center"/>
|
<el-table-column prop="noticeTitle" label="公告标题" align="center"/>
|
||||||
<el-table-column prop="state" label="阅读状态" align="center">
|
<el-table-column prop="state" label="阅读状态" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag :type="scope.row.state == 0? '':'warning'">{{
|
<tag dict-type="read_state" :value="scope.row.state"/>
|
||||||
scope.row.state == 0 ? '未读' : '已读'
|
|
||||||
}}
|
|
||||||
</el-tag>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
|
|||||||
@@ -82,11 +82,10 @@
|
|||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="text" size="mini" v-perm="['dict:data:edit']"
|
<el-button type="text" size="mini" v-perm="['dict:data:edit']"
|
||||||
@click="handleEditData(scope.row.dictCode)" :icon="Edit">编辑
|
@click="handleEditData(scope.row.dictCode)">编辑
|
||||||
</el-button>
|
|
||||||
<el-button type="text" size="mini" v-perm="['dict:data:del']" @click="handleDeleteData(scope.row)"
|
|
||||||
:icon="Delete">删除
|
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<popover-delete :name="scope.row.dictLabel" :type="'字典数据'" :perm="['dict:data:del']" :btn-icon="Delete"
|
||||||
|
@delete="handleDeleteData(scope.row.dictCode)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -474,19 +473,13 @@ const handleEditData = async (dictCode) => {
|
|||||||
};
|
};
|
||||||
//删除字典数据
|
//删除字典数据
|
||||||
const handleDeleteData = async (row) => {
|
const handleDeleteData = async (row) => {
|
||||||
ElMessageBox.confirm(`确认删除标签名为${row.dictLabel}的字典类型表吗?`, "系统提示", {
|
delDictData(row.dictCode).then(res => {
|
||||||
confirmButtonText: "确定",
|
if (res.code === 1000) {
|
||||||
cancelButtonText: "取消",
|
ElMessage.success(res.msg);
|
||||||
type: "warning"
|
getList('', typeData.value);
|
||||||
}).then(() => {
|
} else {
|
||||||
delDictData(row.dictCode).then(res => {
|
ElMessage.error(res.msg);
|
||||||
if (res.code === 1000) {
|
}
|
||||||
ElMessage.success(res.msg);
|
|
||||||
getList('', typeData.value);
|
|
||||||
} else {
|
|
||||||
ElMessage.error(res.msg);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user