2.7.1版本提交 (#1844)

* feature:表格模板自动化生成 (#1841)

* feature:  为导出模板增加自动化功能

* feature:  视频按钮修改

* feature: 发布2.7.1Beta版本,视频集中处理。

---------

Co-authored-by: krank <emosick@qq.com>
This commit is contained in:
PiexlMax(奇淼
2024-08-04 16:06:00 +08:00
committed by GitHub
co-authored by krank
parent a44133d0c9
commit 7121968081
17 changed files with 190 additions and 77 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "gin-vue-admin",
"version": "2.7.0",
"version": "2.7.1",
"private": true,
"scripts": {
"serve": "node openDocument.js && vite --host --mode development",
+1 -1
View File
@@ -20,7 +20,7 @@ export const viteLogo = (env) => {
)
console.log(
chalk.green(
`> 当前版本:v2.7.0`
`> 当前版本:v2.7.1`
)
)
console.log(
+1 -1
View File
@@ -10,7 +10,7 @@ export default {
register(app)
console.log(`
欢迎使用 Gin-Vue-Admin
当前版本:v2.7.0
当前版本:v2.7.1
加群方式:微信:shouzi_1994 QQ群:622360840
项目地址:https://github.com/flipped-aurora/gin-vue-admin
插件市场:https://plugin.gin-vue-admin.com
+1 -1
View File
@@ -47,7 +47,7 @@
.el-dropdown{
outline: none;
div{
*{
outline: none;
}
}
+78
View File
@@ -5,6 +5,25 @@
<template>
<div class="flex items-center mx-4 gap-4">
<el-tooltip
class=""
effect="dark"
content="视频教程"
placement="bottom"
>
<el-dropdown @command="toDoc">
<el-icon class="w-8 h-8 shadow rounded-full border border-gray-200 dark:border-gray-600 cursor-pointer border-solid">
<Film />
</el-icon>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-for="item in videoList" :key="item.link" :command="item.link">{{ item.title }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</el-tooltip>
<el-tooltip
class=""
effect="dark"
@@ -68,6 +87,7 @@ import GvaSetting from "@/view/layout/setting/index.vue"
import { ref } from "vue"
import { emitter } from "@/utils/bus.js";
import CommandMenu from "@/components/commandMenu/index.vue";
import {toDoc} from "@/utils/doc";
const appStore = useAppStore()
const showSettingDrawer = ref(false)
@@ -112,6 +132,64 @@ const initPage = () => {
initPage();
const videoList = [
{
title:"1.clone项目和安装依赖",
link:"https://www.bilibili.com/video/BV1jx4y1s7xx",
},
{
title:"2.初始化项目",
link:"https://www.bilibili.com/video/BV1sr421K7sv",
},
{
title:"3.开启调试工具+创建初始化包",
link:"https://www.bilibili.com/video/BV1iH4y1c7Na",
},
{
title:"4.手动使用自动化创建功能",
link:"https://www.bilibili.com/video/BV1UZ421T7fV",
},
{
title:"5.使用已有表格创建业务",
link:"https://www.bilibili.com/video/BV1NE4m1977s",
},
{
title:"6.使用AI创建业务和创建数据源模式的可选项",
link:"https://www.bilibili.com/video/BV17i421a7DE",
},
{
title:"7.创建自己的后端方法",
link:"https://www.bilibili.com/video/BV1Yw4m1k7fg",
},
{
title:"8.新增一个前端页面",
link:"https://www.bilibili.com/video/BV12y411i7oE",
},
{
title:"9.配置一个前端二级页面",
link:"https://www.bilibili.com/video/BV1ZM4m1y7i3",
},
{
title:"10.配置一个前端菜单参数",
link:"https://www.bilibili.com/video/BV1WS42197DZ",
},
{
title:"11.菜单参数实战+动态菜单标题+菜单高亮配置",
link:"https://www.bilibili.com/video/BV1Bb421J7oW",
},
{
title:"12.增加菜单可控按钮",
link:"https://www.bilibili.com/video/BV1Sw4m1k746",
},
{
title:"14.新增客户角色和其相关配置教学",
link:"https://www.bilibili.com/video/BV1Ki421a7X2",
},
{
title:"15.发布项目上线",
link:"https://www.bilibili.com/video/BV1Lx4y1s77D",
}
]
</script>
+1 -1
View File
@@ -108,7 +108,7 @@
<BottomInfo class="left-0 right-0 absolute bottom-3 mx-auto w-full z-20">
<div class="links items-center justify-center gap-2 hidden md:flex">
<a
href="http://doc.henrongyi.top/"
href="https://www.gin-vue-admin.com/"
target="_blank"
>
<img
-8
View File
@@ -72,12 +72,6 @@
>
新增
</el-button>
<el-icon
class="cursor-pointer"
@click="toDoc('https://www.bilibili.com/video/BV1kv4y1g7nT?p=7&vd_source=f2640257c21e3b547a790461ed94875e')"
>
<VideoCameraFilled />
</el-icon>
<el-button
icon="delete"
:disabled="!apis.length"
@@ -483,8 +477,6 @@ import { toSQLLine } from '@/utils/stringFun'
import WarningBar from '@/components/warningBar/warningBar.vue'
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { VideoCameraFilled } from '@element-plus/icons-vue'
import { toDoc } from '@/utils/doc'
import ExportExcel from '@/components/exportExcel/exportExcel.vue'
import ExportTemplate from '@/components/exportExcel/exportTemplate.vue'
import ImportExcel from '@/components/exportExcel/importExcel.vue'
@@ -8,10 +8,6 @@
icon="plus"
@click="addAuthority(0)"
>新增角色</el-button>
<el-icon
class="cursor-pointer"
@click="toDoc('https://www.bilibili.com/video/BV1kv4y1g7nT?p=8&vd_source=f2640257c21e3b547a790461ed94875e')"
><VideoCameraFilled /></el-icon>
</div>
<el-table
:data="tableData"
@@ -189,8 +185,7 @@ import WarningBar from '@/components/warningBar/warningBar.vue'
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { toDoc } from '@/utils/doc'
import { VideoCameraFilled } from '@element-plus/icons-vue'
defineOptions({
name: 'Authority'
+1 -31
View File
@@ -9,16 +9,6 @@
>
新增根菜单
</el-button>
<el-icon
class="cursor-pointer"
@click="
toDoc(
'https://www.bilibili.com/video/BV1kv4y1g7nT/?p=4&vd_source=f2640257c21e3b547a790461ed94875e'
)
"
>
<VideoCameraFilled />
</el-icon>
</div>
<!-- 由于此处菜单跟左侧列表一一对应所以不需要分页 pageSize默认999 -->
@@ -423,16 +413,6 @@
>
新增菜单参数
</el-button>
<el-icon
class="cursor-pointer"
@click="
toDoc(
'https://www.bilibili.com/video/BV1kv4y1g7nT?p=9&vd_source=f2640257c21e3b547a790461ed94875e'
)
"
>
<VideoCameraFilled />
</el-icon>
</div>
<el-table
:data="form.parameters"
@@ -516,16 +496,6 @@
>
<QuestionFilled />
</el-icon>
<el-icon
class="cursor-pointer"
@click="
toDoc(
'https://www.bilibili.com/video/BV1kv4y1g7nT?p=11&vd_source=f2640257c21e3b547a790461ed94875e'
)
"
>
<VideoCameraFilled />
</el-icon>
</div>
<el-table
@@ -588,7 +558,7 @@ import WarningBar from '@/components/warningBar/warningBar.vue'
import { canRemoveAuthorityBtnApi } from '@/api/authorityBtn'
import { reactive, ref, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { QuestionFilled, VideoCameraFilled } from '@element-plus/icons-vue'
import { QuestionFilled } from '@element-plus/icons-vue'
import pathInfo from '@/pathInfo.json'
import { toDoc } from '@/utils/doc'
+1 -8
View File
@@ -13,12 +13,7 @@
>
新增
</el-button>
<el-icon
class="cursor-pointer"
@click="toDoc('https://www.bilibili.com/video/BV1kv4y1g7nT?p=3&vd_source=f2640257c21e3b547a790461ed94875e')"
>
<VideoCameraFilled />
</el-icon>
</div>
<el-table :data="tableData">
<el-table-column
@@ -153,8 +148,6 @@ import {
import { ref } from 'vue'
import WarningBar from '@/components/warningBar/warningBar.vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { toDoc } from '@/utils/doc'
import { VideoCameraFilled } from '@element-plus/icons-vue'
defineOptions({
name: 'AutoPkg',
@@ -122,7 +122,7 @@
width="120"
>
<template #default="scope">
<span>{{ scope.row.dbNname || "GVA库" }}</span>
<span>{{ scope.row.dbName || "GVA库" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -227,16 +227,17 @@
</el-tooltip>
</template>
<el-select
v-model="formData.dbName"
clearable
placeholder="选择业务库"
v-model="formData.dbName"
clearable
@change="dbNameChange"
placeholder="选择业务库"
>
<el-option
v-for="item in dbList"
:key="item.aliasName"
:value="item.aliasName"
:label="item.aliasName"
:disabled="item.disable"
v-for="item in dbList"
:key="item.aliasName"
:value="item.aliasName"
:label="item.aliasName"
:disabled="item.disable"
>
<div>
<span>{{ item.aliasName }}</span>
@@ -258,13 +259,34 @@
</el-form-item>
<el-form-item
label="表名称:"
clearable
prop="tableName"
>
<el-input
<!-- <el-input
v-model="formData.tableName"
:clearable="true"
placeholder="请输入要导出的表名称"
/>
/>-->
<div
class="w-full flex gap-4"
>
<el-select
v-model="formData.tableName"
class="flex-1"
filterable
placeholder="请选择表"
>
<el-option
v-for="item in tableOptions"
:key="item.tableName"
:label="item.tableName"
:value="item.tableName"
/>
</el-select>
<el-button type="primary" @click="getColumnFunc">自动生成模板</el-button>
</div>
</el-form-item>
<el-form-item
label="模板标识:"
@@ -416,7 +438,7 @@ import { formatDate } from '@/utils/format'
import { ElMessage, ElMessageBox } from 'element-plus'
import { ref, reactive } from 'vue'
import WarningBar from '@/components/warningBar/warningBar.vue'
import { getDB } from '@/api/autoCode'
import {getDB, getTable, getColumn} from '@/api/autoCode'
defineOptions({
name: 'ExportTemplate'
@@ -438,6 +460,7 @@ JOINS模式下不支持导入
const formData = ref({
name: '',
tableName: '',
dbName: '',
templateID: '',
templateInfo: '',
limit: 0,
@@ -566,7 +589,9 @@ const total = ref(0)
const pageSize = ref(10)
const tableData = ref([])
const searchInfo = ref({})
const dbList = ref([])
const tableOptions = ref([])
const getDbFunc = async() => {
const res = await getDB()
@@ -577,6 +602,45 @@ const getDbFunc = async() => {
getDbFunc()
const dbNameChange = () => {
formData.value.tableName = ''
formData.value.templateInfo = ''
getTableFunc()
}
const getTableFunc = async() => {
const res = await getTable({ businessDB: formData.value.dbName })
if (res.code === 0) {
tableOptions.value = res.data.tables
}
formData.value.tableName = ''
}
getTableFunc()
const getColumnFunc = async () => {
if(!formData.value.tableName) {
ElMessage({
type: 'error',
message: '请先选择业务库及选择表后再进行操作'
})
return
}
formData.value.templateInfo = ""
const res = await getColumn({
businessDB: formData.value.dbName,
tableName: formData.value.tableName
})
if(res.code === 0) {
// 把返回值的data.columns做尊换,制作一组JSON数据,columnName做keycolumnComment做value
const templateInfo = {}
res.data.columns.forEach(item => {
templateInfo[item.columnName] = item.columnComment || item.columnName
})
formData.value.templateInfo = JSON.stringify(templateInfo, null, 2)
}
}
// 重置
const onReset = () => {
searchInfo.value = {}