Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
FLIPPED-AURORA
gin-vue-admin
提交
dc01f686
G
gin-vue-admin
项目概览
FLIPPED-AURORA
/
gin-vue-admin
大约 1 年 前同步成功
通知
332
Star
18154
Fork
5505
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dc01f686
编写于
7月 14, 2021
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加自动化代码回滚功能
上级
539bdbee
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
87 addition
and
11 deletion
+87
-11
server/initialize/gorm.go
server/initialize/gorm.go
+1
-1
server/model/sys_autocode_history.go
server/model/sys_autocode_history.go
+1
-1
server/service/sys_autocode_history.go
server/service/sys_autocode_history.go
+1
-1
server/source/authorities_menus.go
server/source/authorities_menus.go
+1
-0
server/source/menu.go
server/source/menu.go
+1
-0
web/src/api/autoCode.js
web/src/api/autoCode.js
+16
-0
web/src/view/systemTools/autoCode/index.vue
web/src/view/systemTools/autoCode/index.vue
+11
-1
web/src/view/systemTools/autoCodeAdmin/index.vue
web/src/view/systemTools/autoCodeAdmin/index.vue
+55
-7
未找到文件。
server/initialize/gorm.go
浏览文件 @
dc01f686
...
...
@@ -48,7 +48,7 @@ func MysqlTables(db *gorm.DB) {
model
.
ExaSimpleUploader
{},
model
.
ExaCustomer
{},
model
.
SysOperationRecord
{},
model
.
SysAutoCodeHistory
{},
// Code generated by gin-vue-admin Begin; DO NOT EDIT.
// Code generated by gin-vue-admin End; DO NOT EDIT.
)
...
...
server/model/sys_autocode_history.go
浏览文件 @
dc01f686
...
...
@@ -6,7 +6,7 @@ import "gin-vue-admin/global"
type
SysAutoCodeHistory
struct
{
global
.
GVA_MODEL
TableName
string
`json:"tableName
,omitempty
"`
TableName
string
`json:"tableName"`
RequestMeta
string
`gorm:"type:text" json:"requestMeta,omitempty"`
// 前端传入的结构化信息
AutoCodePath
string
`gorm:"type:text" json:"autoCodePath,omitempty"`
// 其他meta信息 path;path
InjectionMeta
string
`gorm:"type:text" json:"injectionMeta,omitempty"`
// 注入的内容 RouterPath@functionName@RouterString;
...
...
server/service/sys_autocode_history.go
浏览文件 @
dc01f686
...
...
@@ -76,6 +76,6 @@ func GetSysHistoryPage(info request.PageInfo) (err error, list interface{}, tota
db
:=
global
.
GVA_DB
var
fileLists
[]
model
.
SysAutoCodeHistory
err
=
db
.
Find
(
&
fileLists
)
.
Count
(
&
total
)
.
Error
err
=
db
.
Limit
(
limit
)
.
Offset
(
offset
)
.
Order
(
"updated_at desc"
)
.
Select
(
"id,created_at,updated_at,struct_name,struct_cn_name,flag"
)
.
Find
(
&
fileLists
)
.
Error
err
=
db
.
Limit
(
limit
)
.
Offset
(
offset
)
.
Order
(
"updated_at desc"
)
.
Select
(
"id,created_at,updated_at,struct_name,struct_cn_name,flag
,table_name
"
)
.
Find
(
&
fileLists
)
.
Error
return
err
,
fileLists
,
total
}
server/source/authorities_menus.go
浏览文件 @
dc01f686
...
...
@@ -40,6 +40,7 @@ var authorityMenus = []AuthorityMenus{
{
"888"
,
22
},
{
"888"
,
23
},
{
"888"
,
24
},
{
"888"
,
25
},
{
"8881"
,
1
},
{
"8881"
,
2
},
{
"8881"
,
8
},
...
...
server/source/menu.go
浏览文件 @
dc01f686
...
...
@@ -38,6 +38,7 @@ var menus = []model.SysBaseMenu{
{
GVA_MODEL
:
global
.
GVA_MODEL
{
ID
:
22
,
CreatedAt
:
time
.
Now
(),
UpdatedAt
:
time
.
Now
()},
MenuLevel
:
0
,
ParentId
:
"0"
,
Path
:
"https://www.gin-vue-admin.com"
,
Name
:
"https://www.gin-vue-admin.com"
,
Hidden
:
false
,
Component
:
"/"
,
Sort
:
0
,
Meta
:
model
.
Meta
{
Title
:
"官方网站"
,
Icon
:
"s-home"
}},
{
GVA_MODEL
:
global
.
GVA_MODEL
{
ID
:
23
,
CreatedAt
:
time
.
Now
(),
UpdatedAt
:
time
.
Now
()},
MenuLevel
:
0
,
ParentId
:
"0"
,
Path
:
"state"
,
Name
:
"state"
,
Hidden
:
false
,
Component
:
"view/system/state.vue"
,
Sort
:
6
,
Meta
:
model
.
Meta
{
Title
:
"服务器状态"
,
Icon
:
"cloudy"
}},
{
GVA_MODEL
:
global
.
GVA_MODEL
{
ID
:
24
,
CreatedAt
:
time
.
Now
(),
UpdatedAt
:
time
.
Now
()},
MenuLevel
:
0
,
ParentId
:
"14"
,
Path
:
"autoCodeAdmin"
,
Name
:
"autoCodeAdmin"
,
Hidden
:
false
,
Component
:
"view/systemTools/autoCodeAdmin/index.vue"
,
Sort
:
1
,
Meta
:
model
.
Meta
{
Title
:
"自动化代码管理"
,
Icon
:
"s-finance"
}},
{
GVA_MODEL
:
global
.
GVA_MODEL
{
ID
:
25
,
CreatedAt
:
time
.
Now
(),
UpdatedAt
:
time
.
Now
()},
MenuLevel
:
0
,
ParentId
:
"14"
,
Path
:
"autoCodeEdit/:id"
,
Name
:
"autoCodeEdit"
,
Hidden
:
true
,
Component
:
"view/systemTools/autoCodeAdmin/index.vue"
,
Sort
:
0
,
Meta
:
model
.
Meta
{
Title
:
"自动化代码(复用)"
,
Icon
:
"s-finance"
}},
}
//@author: [SliverHorn](https://github.com/SliverHorn)
...
...
web/src/api/autoCode.js
浏览文件 @
dc01f686
...
...
@@ -68,3 +68,19 @@ export const getSysHistory = (data) => {
data
})
}
export
const
rollback
=
(
data
)
=>
{
return
service
({
url
:
'
/autoCode/rollback
'
,
method
:
'
post
'
,
data
})
}
export
const
getMeta
=
(
data
)
=>
{
return
service
({
url
:
'
/autoCode/getMeta
'
,
method
:
'
post
'
,
data
})
}
web/src/view/systemTools/autoCode/index.vue
浏览文件 @
dc01f686
...
...
@@ -165,7 +165,7 @@ const fieldTemplate = {
import
FieldDialog
from
'
@/view/systemTools/autoCode/component/fieldDialog.vue
'
import
PreviewCodeDialg
from
'
@/view/systemTools/autoCode/component/previewCodeDialg.vue
'
import
{
toUpperCase
,
toHump
,
toSQLLine
}
from
'
@/utils/stringFun
'
import
{
createTemp
,
getDB
,
getTable
,
getColumn
,
preview
}
from
'
@/api/autoCode
'
import
{
createTemp
,
getDB
,
getTable
,
getColumn
,
preview
,
getMeta
}
from
'
@/api/autoCode
'
import
{
getDict
}
from
'
@/utils/dictionary
'
export
default
{
...
...
@@ -223,6 +223,10 @@ export default {
created
()
{
this
.
getDb
()
this
.
setFdMap
()
const
id
=
this
.
$route
.
params
.
id
if
(
id
)
{
this
.
getAutoCodeJson
(
id
)
}
},
methods
:
{
editAndAddField
(
item
)
{
...
...
@@ -395,6 +399,12 @@ export default {
this
.
fdMap
[
item
.
label
]
=
fdtype
})
})
},
async
getAutoCodeJson
(
id
)
{
const
res
=
await
getMeta
({
id
:
Number
(
id
)
})
if
(
res
.
code
===
0
)
{
this
.
form
=
JSON
.
parse
(
res
.
data
.
meta
)
}
}
}
}
...
...
web/src/view/systemTools/autoCodeAdmin/index.vue
浏览文件 @
dc01f686
...
...
@@ -6,10 +6,10 @@
<el-input
v-model=
"searchInfo.tableName"
placeholder=
"表名"
/>
</el-form-item>
<el-form-item
label=
"结构体名称"
>
<el-input
v-model=
"searchInfo.
table
Name"
placeholder=
"结构体名称"
/>
<el-input
v-model=
"searchInfo.
struct
Name"
placeholder=
"结构体名称"
/>
</el-form-item>
<el-form-item>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"goAutoCode"
>
新增
</el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"goAutoCode
(null)
"
>
新增
</el-button>
</el-form-item>
</el-form>
</div>
...
...
@@ -22,9 +22,38 @@
<el-table-column
label=
"日期"
width=
"180"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
CreatedAt
|
formatDate
}}
</
template
>
</el-table-column>
<el-table-column
label=
"结构体名"
min-width=
"150"
prop=
"tableName"
/>
<el-table-column
label=
"结构体名"
min-width=
"150"
prop=
"structName"
/>
<el-table-column
label=
"结构体描述"
min-width=
"150"
prop=
"structCNName"
/>
<el-table-column
label=
"表名称"
min-width=
"150"
prop=
"tableName"
/>
<el-table-column
label=
"回滚标记"
min-width=
"150"
prop=
"flag"
>
<
template
slot-scope=
"scope"
>
<el-tag
v-if=
"scope.row.flag"
type=
"danger"
size=
"mini"
effect=
"dark"
>
已回滚
</el-tag>
<el-tag
v-else
size=
"mini"
type=
"success"
effect=
"dark"
>
未回滚
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"180"
>
<
template
slot-scope=
"scope"
>
<div>
<el-button
size=
"mini"
type=
"primary"
@
click=
"rollback(scope.row)"
>
回滚
</el-button>
<el-button
size=
"mini"
type=
"success"
@
click=
"goAutoCode(scope.row)"
>
复用
</el-button>
<el-button
size=
"mini"
type=
"warning"
@
click=
"deleteRow(scope.row)"
>
删除
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
<el-pagination
:current-page=
"page"
...
...
@@ -42,7 +71,7 @@
<
script
>
// 获取列表内容封装在mixins内部 getTableData方法 初始化已封装完成 条件搜索时候 请把条件安好后台定制的结构体字段 放到 this.searchInfo 中即可实现条件搜索
import
{
getSysHistory
}
from
'
@/api/autoCode.js
'
import
{
getSysHistory
,
rollback
}
from
'
@/api/autoCode.js
'
import
{
formatTimeToStr
}
from
'
@/utils/date
'
import
infoList
from
'
@/mixins/infoList
'
...
...
@@ -75,8 +104,27 @@ export default {
this
.
getTableData
()
},
methods
:
{
goAutoCode
()
{
this
.
$router
.
push
({
name
:
'
autoCode
'
})
async
rollback
(
row
)
{
this
.
$confirm
(
'
此操作将删除自动创建的文件和api, 是否继续?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
(
async
()
=>
{
const
res
=
await
rollback
({
id
:
Number
(
row
.
ID
)
})
if
(
res
.
code
===
0
)
{
this
.
$message
.
success
(
'
回滚成功
'
)
this
.
getTableData
()
}
})
},
goAutoCode
(
row
)
{
if
(
row
)
{
this
.
$router
.
push
({
name
:
'
autoCodeEdit
'
,
params
:
{
id
:
row
.
ID
}})
}
else
{
this
.
$router
.
push
({
name
:
'
autoCode
'
})
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录