Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Elij4h
gin-vue-admin
提交
3240078f
G
gin-vue-admin
项目概览
Elij4h
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
1
Star
0
Fork
0
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
3240078f
编写于
4月 30, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码生成器增加前端table.vue的自动生成
上级
97f52ce3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
178 addition
and
5 deletion
+178
-5
server/model/sys_auto_code.go
server/model/sys_auto_code.go
+2
-1
server/resource/template/fe/api.js.tpl
server/resource/template/fe/api.js.tpl
+2
-2
server/resource/template/fe/table.vue.tpl
server/resource/template/fe/table.vue.tpl
+155
-0
server/service/sys_auto_code.go
server/service/sys_auto_code.go
+19
-2
未找到文件。
server/model/sys_auto_code.go
浏览文件 @
3240078f
...
@@ -10,7 +10,8 @@ type AutoCodeStruct struct {
...
@@ -10,7 +10,8 @@ type AutoCodeStruct struct {
type
Field
struct
{
type
Field
struct
{
FieldName
string
`json:"fieldName"`
FieldName
string
`json:"fieldName"`
FieldDesc
string
`json:"fieldDesc"`
FieldType
string
`json:"fieldType"`
FieldType
string
`json:"fieldType"`
FieldJson
string
`json:"fieldJson"`
FieldJson
string
`json:"fieldJson"`
ColumnName
string
`json:"columnName"`
ColumnName
string
`json:"columnName"`
}
}
\ No newline at end of file
server/resource/template/fe/api.js.tpl
浏览文件 @
3240078f
...
@@ -58,7 +58,7 @@ export const create{{.StructName}} = (data) => {
...
@@ -58,7 +58,7 @@ export const create{{.StructName}} = (data) => {
// @Param data body model.{{.StructName}} true "用id查询{{.StructName}}"
// @Param data body model.{{.StructName}} true "用id查询{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"查询成功"
}
"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"查询成功"
}
"
// @Router /{{.Abbreviation}}/find{{.StructName}} [get]
// @Router /{{.Abbreviation}}/find{{.StructName}} [get]
export const find{{.StructName}} = (
data
) => {
export const find{{.StructName}} = (
params
) => {
return service({
return service({
url: "/{{.Abbreviation}}/find{{.StructName}}",
url: "/{{.Abbreviation}}/find{{.StructName}}",
method: 'get',
method: 'get',
...
@@ -75,7 +75,7 @@ export const create{{.StructName}} = (data) => {
...
@@ -75,7 +75,7 @@ export const create{{.StructName}} = (data) => {
// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Router /{{.Abbreviation}}/get{{.StructName}}List [get]
// @Router /{{.Abbreviation}}/get{{.StructName}}List [get]
export const get{{.StructName}}List = (
data
) => {
export const get{{.StructName}}List = (
params
) => {
return service({
return service({
url: "/{{.Abbreviation}}/get{{.StructName}}List",
url: "/{{.Abbreviation}}/get{{.StructName}}List",
method: 'get',
method: 'get',
...
...
server/resource/template/fe/table.vue.tpl
0 → 100644
浏览文件 @
3240078f
<template>
<div>
<div
class=
"search-term"
>
<el-form
:inline=
"true"
:model=
"searchInfo"
class=
"demo-form-inline"
>
<!-- 此处可使用表单生成器生成搜索条件 -->
<el-form-item>
<el-button
@
click=
"openDialog"
type=
"primary"
>
新增
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data=
"tableData"
border
ref=
"multipleTable"
stripe
style=
"width: 100%"
tooltip-effect=
"dark"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"日期"
width=
"180"
>
<template
slot-scope=
"scope"
>
{{ "{
{
scope
.
row
.
CreatedAt
|
formatDate
}
}" }}
</template>
</el-table-column>
{
{
range
.
Fields
}
}
<el-table-column
label=
"{{.FieldDesc}}"
prop=
"{{.FieldJson}}"
width=
"120"
></el-table-column>
{{ end }}
<el-table-column
label=
"按钮组"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"update{{.StructName}}(scope.row)"
size=
"small"
type=
"text"
>
变更
</el-button>
<el-popover
placement=
"top"
width=
"160"
v-model=
"scope.row.visible"
>
<p>
确定要删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"delete{{.StructName}}(scope.row)"
>
确定
</el-button>
</div>
<el-button
type=
"text"
size=
"mini"
slot=
"reference"
>
删除
</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page=
"page"
:page-size=
"pageSize"
:page-sizes=
"[10, 30, 50, 100]"
:style=
"
{
float
:
'right'
,
padding
:
'20px'
}
"
:total=
"total"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
layout=
"total, sizes, prev, pager, next, jumper"
></el-pagination>
<el-dialog
:before-close=
"closeDialog"
:visible.sync=
"dialogFormVisible"
title=
"弹窗操作"
>
<!-- 此处请使用表单生成器生成form填充 -->
<div
class=
"dialog-footer"
slot=
"footer"
>
<el-button
@
click=
"closeDialog"
>
取 消
</el-button>
<el-button
@
click=
"enterDialog"
type=
"primary"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import
{
create
{{.
StructName
}}
delete
{{.
StructName
}}
update
{{.
StructName
}}
find
{{.
StructName
}}
get
{{.
StructName
}}
List
}
from
"
@/api/{{.StructName}}
"
;
// 此处请自行替换地址
import
{
formatTimeToStr
}
from
"
@/utils/data
"
;
import
infoList
from
"
@/components/mixins/infoList
"
;
export
default
{
name
:
"
{{.StructName}}
"
,
mixins
:
[
infoList
],
data
()
{
return
{
listApi
:
get
{{.
StructName
}}
List
,
dialogFormVisible
:
false
,
visible
:
false
,
type
:
""
,
form
:
{
{
{
range
.
Fields
}
}{{.
FieldJson
}}:
null
,{{
end
}}
}
};
},
filters
:
{
formatDate
:
function
(
time
)
{
if
(
time
!=
null
&&
time
!=
""
)
{
var
date
=
new
Date
(
time
);
return
formatTimeToStr
(
date
,
"
yyyy-MM-dd hh:mm:ss
"
);
}
else
{
return
""
;
}
}
},
methods
:
{
async
update
{{.
StructName
}}(
row
)
{
const
res
=
await
get
{{.
StructName
}}({
ID
:
row
.
ID
});
this
.
type
=
"
update
"
;
if
(
res
.
code
==
0
)
{
this
.
form
=
res
.
data
.
re
{{.
Abbreviation
}};
this
.
dialogFormVisible
=
true
;
}
},
closeDialog
()
{
this
.
dialogFormVisible
=
false
;
this
.
form
=
{
{
{
range
.
Fields
}
}
{{.
FieldJson
}}:
null
,{{
end
}}
};
},
async
delete
{{.
StructName
}}(
row
)
{
this
.
visible
=
false
;
const
res
=
await
delete
{{.
StructName
}}({
ID
:
row
.
ID
});
if
(
res
.
code
==
0
)
{
this
.
$message
({
type
:
"
success
"
,
message
:
"
删除成功
"
});
this
.
getTableData
();
}
},
async
enterDialog
()
{
let
res
;
switch
(
this
.
type
)
{
case
"
create
"
:
res
=
await
create
{{.
StructName
}}(
this
.
form
);
break
;
case
"
update
"
:
res
=
await
update
{{.
StructName
}}(
this
.
form
);
break
;
default
:
res
=
await
create
{{.
StructName
}}(
this
.
form
);
break
;
}
if
(
res
.
code
==
0
)
{
this
.
closeDialog
();
this
.
getTableData
();
}
},
openDialog
()
{
this
.
type
=
"
create
"
;
this
.
dialogFormVisible
=
true
;
}
},
created
()
{
this
.
getTableData
();
}
};
</script>
<style>
</style>
\ No newline at end of file
server/service/sys_auto_code.go
浏览文件 @
3240078f
...
@@ -3,8 +3,8 @@ package service
...
@@ -3,8 +3,8 @@ package service
import
(
import
(
"gin-vue-admin/model"
"gin-vue-admin/model"
"gin-vue-admin/utils"
"gin-vue-admin/utils"
"html/template"
"os"
"os"
"text/template"
)
)
// @title CreateTemp
// @title CreateTemp
...
@@ -35,6 +35,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -35,6 +35,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
feTableTmpl
,
err
:=
template
.
ParseFiles
(
basePath
+
"/fe/table.vue.tpl"
)
if
err
!=
nil
{
return
err
}
readmeTmpl
,
err
:=
template
.
ParseFiles
(
basePath
+
"/readme.txt.tpl"
)
readmeTmpl
,
err
:=
template
.
ParseFiles
(
basePath
+
"/readme.txt.tpl"
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -52,7 +56,8 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -52,7 +56,8 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_fe
:=
"./autoCode/fe/"
_fe
:=
"./autoCode/fe/"
_fe_dir
:=
_fe
+
autoCode
.
PackageName
_fe_dir
:=
_fe
+
autoCode
.
PackageName
_fe_apidir
:=
_fe
+
autoCode
.
PackageName
+
"/api"
_fe_apidir
:=
_fe
+
autoCode
.
PackageName
+
"/api"
err
=
utils
.
CreateDir
(
_autoCode
,
_te
,
_dir
,
_modeldir
,
_apidir
,
_routerdir
,
_servicedir
,
_fe
,
_fe_dir
,
_fe_apidir
)
_fe_tabledir
:=
_fe
+
autoCode
.
PackageName
+
"/table"
err
=
utils
.
CreateDir
(
_autoCode
,
_te
,
_dir
,
_modeldir
,
_apidir
,
_routerdir
,
_servicedir
,
_fe
,
_fe_dir
,
_fe_apidir
,
_fe_tabledir
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -76,6 +81,11 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -76,6 +81,11 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
fetable
,
err
:=
os
.
OpenFile
(
_fe
+
autoCode
.
PackageName
+
"/table/"
+
autoCode
.
PackageName
+
".vue"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
readme
,
err
:=
os
.
OpenFile
(
_autoCode
+
"readme.txt"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
readme
,
err
:=
os
.
OpenFile
(
_autoCode
+
"readme.txt"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -102,6 +112,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -102,6 +112,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
err
=
feTableTmpl
.
Execute
(
fetable
,
autoCode
)
if
err
!=
nil
{
return
err
}
err
=
readmeTmpl
.
Execute
(
readme
,
autoCode
)
err
=
readmeTmpl
.
Execute
(
readme
,
autoCode
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -112,6 +126,7 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -112,6 +126,7 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_
=
router
.
Close
()
_
=
router
.
Close
()
_
=
service
.
Close
()
_
=
service
.
Close
()
_
=
feapi
.
Close
()
_
=
feapi
.
Close
()
_
=
fetable
.
Close
()
_
=
readme
.
Close
()
_
=
readme
.
Close
()
fileList
:=
[]
string
{
fileList
:=
[]
string
{
_te
+
autoCode
.
PackageName
+
"/model/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/model/"
+
autoCode
.
PackageName
+
".go"
,
...
@@ -119,6 +134,8 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
...
@@ -119,6 +134,8 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_te
+
autoCode
.
PackageName
+
"/router/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/router/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/service/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/service/"
+
autoCode
.
PackageName
+
".go"
,
_fe
+
autoCode
.
PackageName
+
"/api/"
+
autoCode
.
PackageName
+
".js"
,
_fe
+
autoCode
.
PackageName
+
"/api/"
+
autoCode
.
PackageName
+
".js"
,
_fe
+
autoCode
.
PackageName
+
"/table/"
+
autoCode
.
PackageName
+
".vue"
,
_autoCode
+
"readme.txt"
,
_autoCode
+
"readme.txt"
,
}
}
err
=
utils
.
ZipFiles
(
"./ginvueadmin.zip"
,
fileList
,
"."
,
"."
)
err
=
utils
.
ZipFiles
(
"./ginvueadmin.zip"
,
fileList
,
"."
,
"."
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录