mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-20 17:57:54 +00:00
Upgrade code generation supports drop-down box merging and dictionary usage
This commit is contained in:
@@ -166,51 +166,6 @@ env GOOS=linux GOARCH=amd64 go build main.go
|
|||||||
|
|
||||||
演示地址:[http://www.zhangwj.com](http://www.zhangwj.com/#/login)
|
演示地址:[http://www.zhangwj.com](http://www.zhangwj.com/#/login)
|
||||||
|
|
||||||
## 📈 版本
|
|
||||||
|
|
||||||
### 2020-04-23 新功能及优化
|
|
||||||
|
|
||||||
1. 添加单服务命令
|
|
||||||
2. 添加单数据库数据化命令
|
|
||||||
3. 调整项目结构
|
|
||||||
3. 部分代码优化
|
|
||||||
3. 添加根接口
|
|
||||||
4. 其他已知bug的修复
|
|
||||||
|
|
||||||
### 2020-04-13 新功能及优化
|
|
||||||
|
|
||||||
1. 数据库初始化方式改为gorm 迁移方式
|
|
||||||
2. 删除原有创建、修改时间和is_del字段,改用gorm 原生逻辑删除功能
|
|
||||||
3. 添加服务监控基础指标
|
|
||||||
3. 框架结构调整
|
|
||||||
3. 部分代码优化
|
|
||||||
4. 其他已知bug的修复
|
|
||||||
|
|
||||||
|
|
||||||
### 2020-04-08 新功能及优化
|
|
||||||
|
|
||||||
1. 添加sqlite3的支持
|
|
||||||
1. 数据库字段格式统一
|
|
||||||
2. 用户新增bug修复
|
|
||||||
3. 修改数据初始化脚本
|
|
||||||
4. 验证码改为数字验证
|
|
||||||
5. 删除redis暂时无用组件
|
|
||||||
6. 其他已知bug的修复
|
|
||||||
|
|
||||||
### 2020-04-01 新功能及优化
|
|
||||||
|
|
||||||
1. 代码生成器
|
|
||||||
2. 代码优化
|
|
||||||
3. 已知bug修复
|
|
||||||
|
|
||||||
#### 2020-03-15 新功能及优化
|
|
||||||
|
|
||||||
1. 添加用户头像上传
|
|
||||||
2. 添加用户密码修改
|
|
||||||
3. 操作日志页面调整
|
|
||||||
4. 优化验证码背景色
|
|
||||||
|
|
||||||
看到好多体验的朋友验证码错误,所以调整了对比度,方便大家体验!
|
|
||||||
|
|
||||||
## 📨 互动
|
## 📨 互动
|
||||||
|
|
||||||
@@ -228,8 +183,6 @@ env GOOS=linux GOARCH=amd64 go build main.go
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 🤝 特别感谢
|
## 🤝 特别感谢
|
||||||
[chengxiao](https://github.com/chengxiao)
|
[chengxiao](https://github.com/chengxiao)
|
||||||
[gin](https://github.com/gin-gonic/gin)
|
[gin](https://github.com/gin-gonic/gin)
|
||||||
@@ -250,7 +203,7 @@ env GOOS=linux GOARCH=amd64 go build main.go
|
|||||||
|
|
||||||
## ❤️ 赞助者
|
## ❤️ 赞助者
|
||||||
|
|
||||||
zhuqiyun
|
zhuqiyun LLL狐
|
||||||
|
|
||||||
## 🔑 License
|
## 🔑 License
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -14,6 +14,10 @@ func GetInfo(c *gin.Context) {
|
|||||||
|
|
||||||
var permissions = make([]string, 1)
|
var permissions = make([]string, 1)
|
||||||
permissions[0] = "*:*:*"
|
permissions[0] = "*:*:*"
|
||||||
|
|
||||||
|
var buttons = make([]string, 1)
|
||||||
|
buttons[0] = "*:*:*"
|
||||||
|
|
||||||
RoleMenu := models.RoleMenu{}
|
RoleMenu := models.RoleMenu{}
|
||||||
RoleMenu.RoleId = tools.GetRoleId(c)
|
RoleMenu.RoleId = tools.GetRoleId(c)
|
||||||
|
|
||||||
@@ -21,9 +25,11 @@ func GetInfo(c *gin.Context) {
|
|||||||
mp["roles"] = roles
|
mp["roles"] = roles
|
||||||
if tools.GetRoleName(c) == "admin" || tools.GetRoleName(c) == "系统管理员" {
|
if tools.GetRoleName(c) == "admin" || tools.GetRoleName(c) == "系统管理员" {
|
||||||
mp["permissions"] = permissions
|
mp["permissions"] = permissions
|
||||||
|
mp["buttons"] = buttons
|
||||||
} else {
|
} else {
|
||||||
list, _ := RoleMenu.GetPermis()
|
list, _ := RoleMenu.GetPermis()
|
||||||
mp["permissions"] = list
|
mp["permissions"] = list
|
||||||
|
mp["buttons"] = list
|
||||||
}
|
}
|
||||||
|
|
||||||
sysuser := models.SysUser{}
|
sysuser := models.SysUser{}
|
||||||
@@ -37,7 +43,10 @@ func GetInfo(c *gin.Context) {
|
|||||||
if user.Avatar != "" {
|
if user.Avatar != "" {
|
||||||
mp["avatar"] = user.Avatar
|
mp["avatar"] = user.Avatar
|
||||||
}
|
}
|
||||||
|
mp["userName"] = user.NickName
|
||||||
|
mp["userId"] = user.UserId
|
||||||
|
mp["deptId"] = user.DeptId
|
||||||
mp["name"] = user.NickName
|
mp["name"] = user.NickName
|
||||||
|
|
||||||
app.OK(c,mp,"")
|
app.OK(c, mp, "")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ func Preview(c *gin.Context) {
|
|||||||
tools2.HasError(err, "", -1)
|
tools2.HasError(err, "", -1)
|
||||||
t4, err := template.ParseFiles("template/vue.go.template")
|
t4, err := template.ParseFiles("template/vue.go.template")
|
||||||
tools2.HasError(err, "", -1)
|
tools2.HasError(err, "", -1)
|
||||||
|
t5, err := template.ParseFiles("template/router.go.template")
|
||||||
|
tools2.HasError(err, "", -1)
|
||||||
tab, _ := table.Get()
|
tab, _ := table.Get()
|
||||||
var b1 bytes.Buffer
|
var b1 bytes.Buffer
|
||||||
err = t1.Execute(&b1, tab)
|
err = t1.Execute(&b1, tab)
|
||||||
@@ -32,12 +34,15 @@ func Preview(c *gin.Context) {
|
|||||||
err = t3.Execute(&b3, tab)
|
err = t3.Execute(&b3, tab)
|
||||||
var b4 bytes.Buffer
|
var b4 bytes.Buffer
|
||||||
err = t4.Execute(&b4, tab)
|
err = t4.Execute(&b4, tab)
|
||||||
|
var b5 bytes.Buffer
|
||||||
|
err = t5.Execute(&b5, tab)
|
||||||
|
|
||||||
mp := make(map[string]interface{})
|
mp := make(map[string]interface{})
|
||||||
mp["template/model.go.template"] = b1.String()
|
mp["template/model.go.template"] = b1.String()
|
||||||
mp["template/api.go.template"] = b2.String()
|
mp["template/api.go.template"] = b2.String()
|
||||||
mp["template/js.go.template"] = b3.String()
|
mp["template/js.go.template"] = b3.String()
|
||||||
mp["template/vue.go.template"] = b4.String()
|
mp["template/vue.go.template"] = b4.String()
|
||||||
|
mp["template/router.go.template"] = b5.String()
|
||||||
var res app.Response
|
var res app.Response
|
||||||
res.Data = mp
|
res.Data = mp
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package middleware
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
func InitMiddleware(r *gin.Engine) {
|
||||||
|
// 日志处理
|
||||||
|
r.Use(LoggerToFile())
|
||||||
|
// 自定义错误处理
|
||||||
|
r.Use(CustomError)
|
||||||
|
// NoCache is a middleware function that appends headers
|
||||||
|
r.Use(NoCache)
|
||||||
|
// 跨域处理
|
||||||
|
r.Use(Options)
|
||||||
|
// Secure is a middleware function that appends security
|
||||||
|
r.Use(Secure)
|
||||||
|
// Set X-Request-Id header
|
||||||
|
r.Use(RequestId())
|
||||||
|
}
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package router
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
"go-admin/pkg/jwtauth"
|
|
||||||
jwt "go-admin/pkg/jwtauth"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 路由示例
|
|
||||||
func InitExamplesRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.Engine {
|
|
||||||
|
|
||||||
// 无需认证的路由
|
|
||||||
examplesNoCheckRoleRouter(r)
|
|
||||||
// 需要认证的路由
|
|
||||||
examplesCheckRoleRouter(r, authMiddleware)
|
|
||||||
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
|
|
||||||
// 无需认证的路由示例
|
|
||||||
func examplesNoCheckRoleRouter(r *gin.Engine) {
|
|
||||||
|
|
||||||
//v1 := r.Group("/api/v1")
|
|
||||||
//v1.GET("/examples/list", examples.apis)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 需要认证的路由示例
|
|
||||||
func examplesCheckRoleRouter(r *gin.Engine, authMiddleware *jwtauth.GinJWTMiddleware) {
|
|
||||||
|
|
||||||
//v1auth := r.Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
|
||||||
//{
|
|
||||||
// v1auth.GET("/examples/list", examples.apis)
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package router
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"go-admin/middleware"
|
||||||
|
_ "go-admin/pkg/jwtauth"
|
||||||
|
"go-admin/tools"
|
||||||
|
)
|
||||||
|
|
||||||
|
func InitRouter() *gin.Engine {
|
||||||
|
|
||||||
|
r := gin.New()
|
||||||
|
middleware.InitMiddleware(r)
|
||||||
|
// the jwt middleware
|
||||||
|
authMiddleware, err := middleware.AuthInit()
|
||||||
|
tools.HasError(err, "JWT Init Error", 500)
|
||||||
|
|
||||||
|
// 注册系统路由
|
||||||
|
InitSysRouter(r, authMiddleware)
|
||||||
|
|
||||||
|
// 注册业务路由
|
||||||
|
// TODO: 这里可存放业务路由,里边并无实际路由是有演示代码
|
||||||
|
InitExamplesRouter(r, authMiddleware)
|
||||||
|
|
||||||
|
return r
|
||||||
|
}
|
||||||
+28
-25
@@ -2,36 +2,39 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/middleware"
|
_ "github.com/gin-gonic/gin"
|
||||||
_ "go-admin/pkg/jwtauth"
|
"go-admin/pkg/jwtauth"
|
||||||
"go-admin/tools"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitRouter() *gin.Engine {
|
|
||||||
|
|
||||||
r := gin.New()
|
|
||||||
// 日志处理
|
|
||||||
r.Use(middleware.LoggerToFile())
|
|
||||||
// 自定义错误处理
|
|
||||||
r.Use(middleware.CustomError)
|
|
||||||
// NoCache is a middleware function that appends headers
|
|
||||||
r.Use(middleware.NoCache)
|
|
||||||
// 跨域处理
|
|
||||||
r.Use(middleware.Options)
|
|
||||||
// Secure is a middleware function that appends security
|
|
||||||
r.Use(middleware.Secure)
|
|
||||||
// Set X-Request-Id header
|
|
||||||
r.Use(middleware.RequestId())
|
|
||||||
// the jwt middleware
|
|
||||||
authMiddleware, err := middleware.AuthInit()
|
|
||||||
tools.HasError(err, "JWT Init Error", 500)
|
|
||||||
|
|
||||||
// 注册系统路由
|
// 路由示例
|
||||||
InitSysRouter(r, authMiddleware)
|
func InitExamplesRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.Engine {
|
||||||
|
|
||||||
// 注册业务路由
|
// 无需认证的路由
|
||||||
// TODO: 这里可存放业务路由,里边并无实际路由是有演示代码
|
examplesNoCheckRoleRouter(r)
|
||||||
InitExamplesRouter(r, authMiddleware)
|
// 需要认证的路由
|
||||||
|
examplesCheckRoleRouter(r, authMiddleware)
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 无需认证的路由示例
|
||||||
|
func examplesNoCheckRoleRouter(r *gin.Engine) {
|
||||||
|
|
||||||
|
//v1 := r.Group("/api/v1")
|
||||||
|
//v1.GET("/examples/list", examples.apis)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 需要认证的路由示例
|
||||||
|
func examplesCheckRoleRouter(r *gin.Engine, authMiddleware *jwtauth.GinJWTMiddleware) {
|
||||||
|
//v1 := r.Group("/api/v1")
|
||||||
|
//v1auth := v1.Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
//{
|
||||||
|
// v1auth.GET("/examples/list", examples.apis)
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+28
-19
@@ -7,10 +7,16 @@ _ "time"
|
|||||||
)
|
)
|
||||||
|
|
||||||
type {{.ClassName}} struct {
|
type {{.ClassName}} struct {
|
||||||
{{ range .Columns -}}
|
{{ range .Columns -}}
|
||||||
{{$x := .Pk}}
|
{{$x := .Pk}}
|
||||||
{{if ($x)}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};primary_key"`{{else}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};"`{{end}} // {{.ColumnComment}}
|
{{- if ($x) }}
|
||||||
{{- end }}
|
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};primary_key"` // {{.ColumnComment}}
|
||||||
|
{{- else if eq .GoField "CreatedAt" -}}
|
||||||
|
{{- else if eq .GoField "UpdatedAt" -}}
|
||||||
|
{{- else if eq .GoField "DeletedAt" -}}
|
||||||
|
{{- else }}
|
||||||
|
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};"` // {{.ColumnComment}}{{end -}}
|
||||||
|
{{- end }}
|
||||||
DataScope string `json:"dataScope" gorm:"-"`
|
DataScope string `json:"dataScope" gorm:"-"`
|
||||||
Params string `json:"params" gorm:"-"`
|
Params string `json:"params" gorm:"-"`
|
||||||
BaseModel
|
BaseModel
|
||||||
@@ -37,19 +43,23 @@ func (e *{{.ClassName}}) Create() ({{.ClassName}}, error) {
|
|||||||
func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) {
|
func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) {
|
||||||
var doc {{.ClassName}}
|
var doc {{.ClassName}}
|
||||||
table := orm.Eloquent.Table(e.TableName())
|
table := orm.Eloquent.Table(e.TableName())
|
||||||
{{ range .Columns -}}
|
{{ range .Columns }}
|
||||||
{{$z := .IsQuery}}
|
{{$x := .Pk}}
|
||||||
{{- if ($z) -}}
|
{{- if ($x) }}
|
||||||
if e.{{.GoField}} != "" {
|
if e.{{.GoField}} != {{if eq .GoType "string" -}} "" {{ else if eq .GoType "int" -}} 0 {{- end}} {
|
||||||
table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}})
|
table = table.Where("{{.ColumnName}}{{if eq .QueryType "EQ"}} = {{else if eq .QueryType "NE"}} != {{else if eq .QueryType "GT"}} > {{else if eq .QueryType "GTE"}} >= {{else if eq .QueryType "LT"}} < {{else if eq .QueryType "LTE"}} <= {{else if eq .QueryType "LIKE"}} like {{end}}?", {{ if eq .QueryType "LIKE"}}"%"+e.{{.GoField}}+"%"{{else}}e.{{.GoField}}{{end}})
|
||||||
|
}
|
||||||
|
{{- else if .IsQuery }}
|
||||||
|
if e.{{.GoField}} != {{if eq .GoType "string" -}} "" {{ else if eq .GoType "int" -}} 0 {{- end}} {
|
||||||
|
table = table.Where("{{.ColumnName}}{{if eq .QueryType "EQ"}} = {{else if eq .QueryType "NE"}} != {{else if eq .QueryType "GT"}} > {{else if eq .QueryType "GTE"}} >= {{else if eq .QueryType "LT"}} < {{else if eq .QueryType "LTE"}} <= {{else if eq .QueryType "LIKE"}} like {{end}}?", {{ if eq .QueryType "LIKE"}}"%"+e.{{.GoField}}+"%"{{else}}e.{{.GoField}}{{end}})
|
||||||
}
|
}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
{{- end }}
|
||||||
|
|
||||||
if err := table.First(&doc).Error; err != nil {
|
if err := table.First(&doc).Error; err != nil {
|
||||||
return doc, err
|
return doc, err
|
||||||
}
|
}
|
||||||
return doc, nil
|
return doc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取{{.ClassName}}带分页
|
// 获取{{.ClassName}}带分页
|
||||||
@@ -57,14 +67,13 @@ func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}},
|
|||||||
var doc []{{.ClassName}}
|
var doc []{{.ClassName}}
|
||||||
|
|
||||||
table := orm.Eloquent.Select("*").Table(e.TableName())
|
table := orm.Eloquent.Select("*").Table(e.TableName())
|
||||||
{{ range .Columns -}}
|
{{ range .Columns }}
|
||||||
{{$z := .IsQuery}}
|
{{- if .IsQuery }}
|
||||||
{{- if ($z) -}}
|
if e.{{.GoField}} != {{if eq .GoType "string" -}} "" {{ else if eq .GoType "int" -}} 0 {{- end}} {
|
||||||
if e.{{.GoField}} != "" {
|
table = table.Where("{{.ColumnName}}{{if eq .QueryType "EQ"}} = {{else if eq .QueryType "NE"}} != {{else if eq .QueryType "GT"}} > {{else if eq .QueryType "GTE"}} >= {{else if eq .QueryType "LT"}} < {{else if eq .QueryType "LTE"}} <= {{else if eq .QueryType "LIKE"}} like {{end}}?", {{ if eq .QueryType "LIKE"}}"%"+e.{{.GoField}}+"%"{{else}}e.{{.GoField}}{{end}})
|
||||||
table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}})
|
|
||||||
}
|
}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ end }}
|
{{- end }}
|
||||||
|
|
||||||
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
||||||
dataPermission := new(DataPermission)
|
dataPermission := new(DataPermission)
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
// 需认证的路由代码
|
||||||
|
func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||||
|
|
||||||
|
r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
{
|
||||||
|
r.GET("/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
|
||||||
|
r.POST("", {{.ModuleName}}.Insert{{.ClassName}})
|
||||||
|
r.PUT("", {{.ModuleName}}.Update{{.ClassName}})
|
||||||
|
r.DELETE("/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
|
||||||
|
}
|
||||||
|
|
||||||
|
l := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
|
{
|
||||||
|
l.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 无需认证的路由代码
|
||||||
|
func register{{.ClassName}}Router(v1 *gin.RouterGroup) {
|
||||||
|
|
||||||
|
v1.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
|
||||||
|
|
||||||
|
r := v1.Group("/{{.ModuleName}}")
|
||||||
|
{
|
||||||
|
r.GET("/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
|
||||||
|
r.POST("", {{.ModuleName}}.Insert{{.ClassName}})
|
||||||
|
r.PUT("", {{.ModuleName}}.Update{{.ClassName}})
|
||||||
|
r.DELETE("/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+91
-19
@@ -1,3 +1,4 @@
|
|||||||
|
{{$tableComment:=.TableComment}}
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px">
|
<el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px">
|
||||||
@@ -5,7 +6,18 @@
|
|||||||
{{- $x := .IsQuery -}}
|
{{- $x := .IsQuery -}}
|
||||||
{{- if ($x) -}}
|
{{- if ($x) -}}
|
||||||
<el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}">
|
<el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}">
|
||||||
|
{{if eq .DictType "" -}}
|
||||||
<el-input v-model="queryParams.{{.JsonField}}" placeholder="请输入{{.ColumnComment}}" clearable size="small" @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.{{.JsonField}}" placeholder="请输入{{.ColumnComment}}" clearable size="small" @keyup.enter.native="handleQuery" />
|
||||||
|
{{- else -}}
|
||||||
|
<el-select v-model="queryParams.{{.JsonField}}" placeholder="{{$tableComment}}{{.ColumnComment}}" clearable size="small">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in {{.JsonField}}Options"
|
||||||
|
:key="dict.dictValue"
|
||||||
|
:label="dict.dictLabel"
|
||||||
|
:value="dict.dictValue"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
{{- end}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -51,9 +63,19 @@
|
|||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
{{- range .Columns -}}
|
{{- range .Columns -}}
|
||||||
{{- $x := .IsList -}}
|
{{- $x := .IsList -}}
|
||||||
{{- if ($x) -}}
|
{{- if ($x) }}
|
||||||
|
{{- if ne .DictType "" -}}
|
||||||
|
<el-table-column label="{{.ColumnComment}}" align="center" prop="{{.JsonField}}" :formatter="{{.JsonField}}Format" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ "{{" }} {{.JsonField}}Format(scope.row) {{"}}"}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
{{- end -}}
|
||||||
|
{{- if eq .DictType "" -}}
|
||||||
<el-table-column label="{{.ColumnComment}}" align="center" prop="{{.JsonField}}" :show-overflow-tooltip="true" />
|
<el-table-column label="{{.ColumnComment}}" align="center" prop="{{.JsonField}}" :show-overflow-tooltip="true" />
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -83,16 +105,39 @@
|
|||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改参数配置对话框 -->
|
<!-- 添加或修改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px">
|
<el-dialog :title="title" :visible.sync="open" width="500px">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
{{ range .Columns }}
|
{{ range .Columns }}
|
||||||
{{- $x := .IsInsert -}}
|
{{- $x := .IsInsert -}}
|
||||||
{{- if ($x) -}}
|
{{- if ($x) -}}
|
||||||
<el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}">
|
{{- if (.Pk) }}
|
||||||
<el-input v-model="form.{{.JsonField}}" placeholder="{{.ColumnComment}}" />
|
{{- else if eq .GoField "CreatedAt" -}}
|
||||||
|
{{- else if eq .GoField "UpdatedAt" -}}
|
||||||
|
{{- else if eq .GoField "DeletedAt" -}}
|
||||||
|
{{- else if eq .GoField "UpdateBy" -}}
|
||||||
|
{{- else if eq .GoField "CreateBy" -}}
|
||||||
|
{{- else }}
|
||||||
|
<el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}" >
|
||||||
|
{{ if eq "input" .HtmlType -}}
|
||||||
|
<el-input v-model="form.{{.JsonField}}" placeholder="{{.ColumnComment}}" {{if eq .IsEdit "false" -}}:disabled="isEdit" {{- end}}/>
|
||||||
|
{{- else if eq "select" .HtmlType -}}
|
||||||
|
<el-select v-model="form.{{.JsonField}}" {{if eq .IsEdit "false" -}} :disabled="isEdit" {{- end }}>
|
||||||
|
<el-option label="demo1" value="demo1" />
|
||||||
|
<el-option label="demo2" value="demo2" />
|
||||||
|
</el-select>
|
||||||
|
{{- else if eq "radio" .HtmlType -}}
|
||||||
|
<el-radio-group v-model="form.{{.JsonField}}">
|
||||||
|
<el-radio
|
||||||
|
v-for="dict in {{.JsonField}}Options"
|
||||||
|
:key="dict.dictValue"
|
||||||
|
:label="dict.dictValue"
|
||||||
|
>{{"{{"}} dict.dictLabel {{"}}"}}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
{{- end }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
{{ end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -120,36 +165,39 @@
|
|||||||
multiple: true,
|
multiple: true,
|
||||||
// 总条数
|
// 总条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 参数表格数据
|
|
||||||
configList: [],
|
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: '',
|
title: '',
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
isEdit: false,
|
||||||
// 类型数据字典
|
// 类型数据字典
|
||||||
typeOptions: [],
|
typeOptions: [],
|
||||||
// 日期范围
|
{{range .Columns}}
|
||||||
dateRange: [],
|
{{- if ne .DictType "" -}}
|
||||||
|
{{.JsonField}}Options: [],
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
{{- range .Columns -}}
|
{{ range .Columns }}
|
||||||
{{- $x := .IsQuery -}}
|
{{- if (.IsQuery) -}}
|
||||||
{{- if ($x) -}}
|
{{.JsonField}}:undefined,
|
||||||
{{.JsonField}}: undefined,
|
{{ end -}}
|
||||||
{{- end -}}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {
|
||||||
|
},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
{{- range .Columns -}}
|
{{- range .Columns -}}
|
||||||
{{- $x := .IsQuery -}}
|
{{- $x := .IsQuery -}}
|
||||||
{{- if ($x) -}}
|
{{- if ($x) -}}
|
||||||
{{.JsonField}}: [
|
{{.JsonField}}:
|
||||||
{ required: true, message: '{{.ColumnComment}}不能为空', trigger: 'blur' }
|
[
|
||||||
|
{required: true, message: '{{.ColumnComment}}不能为空', trigger: 'blur'}
|
||||||
],
|
],
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@@ -158,6 +206,13 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
{{range .Columns}}
|
||||||
|
{{- if ne .DictType "" -}}
|
||||||
|
this.getDicts('{{.DictType}}').then(response => {
|
||||||
|
this.{{.JsonField}}Options = response.data
|
||||||
|
})
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询参数列表 */
|
/** 查询参数列表 */
|
||||||
@@ -180,13 +235,28 @@
|
|||||||
this.form = {
|
this.form = {
|
||||||
{{ range .Columns}}
|
{{ range .Columns}}
|
||||||
{{- $x := .IsInsert -}}
|
{{- $x := .IsInsert -}}
|
||||||
{{ if ($x) -}}
|
{{- if ($x) -}}
|
||||||
|
{{- if eq .GoField "CreatedAt" -}}
|
||||||
|
{{- else if eq .GoField "UpdatedAt" -}}
|
||||||
|
{{- else if eq .GoField "DeletedAt" -}}
|
||||||
|
{{- else if eq .GoField "UpdateBy" -}}
|
||||||
|
{{- else if eq .GoField "CreateBy" -}}
|
||||||
|
{{- else }}
|
||||||
{{.JsonField}}: undefined,
|
{{.JsonField}}: undefined,
|
||||||
{{ end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
}
|
}
|
||||||
this.resetForm('form')
|
this.resetForm('form')
|
||||||
},
|
},
|
||||||
|
{{range .Columns}}
|
||||||
|
{{- if ne .DictType "" -}}
|
||||||
|
{{.JsonField}}Format(row) {
|
||||||
|
return this.selectDictLabel(this.{{.JsonField}}Options, row.{{.JsonField}})
|
||||||
|
},
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageIndex = 1
|
this.queryParams.pageIndex = 1
|
||||||
@@ -203,6 +273,7 @@
|
|||||||
this.reset()
|
this.reset()
|
||||||
this.open = true
|
this.open = true
|
||||||
this.title = '添加{{.TableComment}}'
|
this.title = '添加{{.TableComment}}'
|
||||||
|
this.isEdit = false
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
@@ -218,6 +289,7 @@
|
|||||||
this.form = response.data
|
this.form = response.data
|
||||||
this.open = true
|
this.open = true
|
||||||
this.title = '修改{{.TableComment}}'
|
this.title = '修改{{.TableComment}}'
|
||||||
|
this.isEdit = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
|
|||||||
+3
-2
@@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ExtractClaims(c *gin.Context) jwt.MapClaims {
|
func ExtractClaims(c *gin.Context) jwt.MapClaims {
|
||||||
@@ -20,7 +21,7 @@ func GetUserId(c *gin.Context) int {
|
|||||||
if data["identity"] != nil {
|
if data["identity"] != nil {
|
||||||
return int((data["identity"]).(float64))
|
return int((data["identity"]).(float64))
|
||||||
}
|
}
|
||||||
fmt.Println("****************************** 路径:" + c.Request.URL.Path + " 请求方法:" + c.Request.Method + " 说明:缺少identity")
|
log.Println("****************************** 路径:" + c.Request.URL.Path + " 请求方法:" + c.Request.Method + " 说明:缺少identity")
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,7 +30,7 @@ func GetUserIdStr(c *gin.Context) string {
|
|||||||
if data["identity"] != nil {
|
if data["identity"] != nil {
|
||||||
return Int64ToString(int64((data["identity"]).(float64)))
|
return Int64ToString(int64((data["identity"]).(float64)))
|
||||||
}
|
}
|
||||||
fmt.Println("****************************** 路径:" + c.Request.URL.Path + " 请求方法:" + c.Request.Method + " 缺少identity")
|
log.Println("****************************** 路径:" + c.Request.URL.Path + " 请求方法:" + c.Request.Method + " 缺少identity")
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user