fix 代码生成功能完善
This commit is contained in:
parent
b0393ee76a
commit
44392ad035
@ -7,12 +7,11 @@
|
|||||||
|
|
||||||
package common
|
package common
|
||||||
|
|
||||||
|
import "github.com/tiger1103/gfast/v3/internal/app/common/model"
|
||||||
|
|
||||||
// PageReq 公共请求参数
|
// PageReq 公共请求参数
|
||||||
type PageReq struct {
|
type PageReq struct {
|
||||||
DateRange []string `p:"dateRange"` //日期范围
|
model.PageReq
|
||||||
PageNum int `p:"pageNum"` //当前页码
|
|
||||||
PageSize int `p:"pageSize"` //每页数
|
|
||||||
OrderBy string //排序方式
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type Author struct {
|
type Author struct {
|
||||||
|
@ -122,14 +122,3 @@ type UserDeleteReq struct {
|
|||||||
|
|
||||||
type UserDeleteRes struct {
|
type UserDeleteRes struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserGetByIdsReq struct {
|
|
||||||
g.Meta `path:"/user/getUsers" tags:"用户管理" method:"get" summary:"同时获取多个用户"`
|
|
||||||
commonApi.Author
|
|
||||||
Ids []int `p:"ids" v:"required#ids不能为空"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type UserGetByIdsRes struct {
|
|
||||||
g.Meta `mime:"application/json"`
|
|
||||||
List []*model.SysUserSimpleRes `json:"list"`
|
|
||||||
}
|
|
||||||
|
@ -125,3 +125,13 @@ type ToolsGenTableBatchGenCodeReq struct {
|
|||||||
type ToolsGenTableBatchGenCodeRes struct {
|
type ToolsGenTableBatchGenCodeRes struct {
|
||||||
commonApi.EmptyRes
|
commonApi.EmptyRes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ToolsGenTableSyncTableReq struct {
|
||||||
|
g.Meta `path:"/tools/gen/syncTable" tags:"代码生成" method:"post" summary:"同步表结构"`
|
||||||
|
commonApi.Author
|
||||||
|
TableId int64 `p:"tableId" v:"required#表ID必须"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ToolsGenTableSyncTableRes struct {
|
||||||
|
commonApi.EmptyRes
|
||||||
|
}
|
||||||
|
5
go.mod
5
go.mod
@ -7,17 +7,16 @@ require (
|
|||||||
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
||||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.2.5
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.2.5
|
||||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.3.0
|
github.com/gogf/gf/contrib/nosql/redis/v2 v2.3.0
|
||||||
github.com/gogf/gf/v2 v2.3.2
|
github.com/gogf/gf/v2 v2.4.1
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.14 // indirect
|
github.com/mattn/go-runewidth v0.0.14 // indirect
|
||||||
github.com/mojocn/base64Captcha v1.3.5
|
github.com/mojocn/base64Captcha v1.3.5
|
||||||
github.com/mssola/user_agent v0.5.3
|
github.com/mssola/user_agent v0.5.3
|
||||||
github.com/qiniu/go-sdk/v7 v7.13.0
|
github.com/qiniu/go-sdk/v7 v7.13.0
|
||||||
github.com/rivo/uniseg v0.4.3 // indirect
|
github.com/rivo/uniseg v0.4.3 // indirect
|
||||||
github.com/shirou/gopsutil/v3 v3.23.2 // indirect
|
github.com/shirou/gopsutil/v3 v3.23.2
|
||||||
github.com/tencentyun/cos-go-sdk-v5 v0.7.34
|
github.com/tencentyun/cos-go-sdk-v5 v0.7.34
|
||||||
github.com/tiger1103/gfast-cache v1.0.0
|
github.com/tiger1103/gfast-cache v1.0.0
|
||||||
github.com/tiger1103/gfast-token v1.0.3
|
github.com/tiger1103/gfast-token v1.0.3
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
|
||||||
golang.org/x/net v0.7.0 // indirect
|
golang.org/x/net v0.7.0 // indirect
|
||||||
)
|
)
|
||||||
|
17
go.sum
17
go.sum
@ -58,8 +58,8 @@ github.com/gogf/gf/contrib/nosql/redis/v2 v2.3.0 h1:r2q8MLwF6yUIEm6Hhwsfo/ixaJTK
|
|||||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.3.0/go.mod h1:V9o2BF9ovJnaZhHImHAanqUgjX4kI51lgU45u5rPqvw=
|
github.com/gogf/gf/contrib/nosql/redis/v2 v2.3.0/go.mod h1:V9o2BF9ovJnaZhHImHAanqUgjX4kI51lgU45u5rPqvw=
|
||||||
github.com/gogf/gf/v2 v2.0.0/go.mod h1:apktt6TleWtCIwpz63vBqUnw8MX8gWKoZyxgDpXFtgM=
|
github.com/gogf/gf/v2 v2.0.0/go.mod h1:apktt6TleWtCIwpz63vBqUnw8MX8gWKoZyxgDpXFtgM=
|
||||||
github.com/gogf/gf/v2 v2.3.0/go.mod h1:tsbmtwcAl2chcYoq/fP9W2FZf06aw4i89X34nbSHo9Y=
|
github.com/gogf/gf/v2 v2.3.0/go.mod h1:tsbmtwcAl2chcYoq/fP9W2FZf06aw4i89X34nbSHo9Y=
|
||||||
github.com/gogf/gf/v2 v2.3.2 h1:nlJ0zuDWqFb93/faZmr7V+GADx/lzz5Unz/9x6OJ2u8=
|
github.com/gogf/gf/v2 v2.4.1 h1:snsuvDhNFiRoAuWBbKfIIng0KyMaRA87Qr03GLir5j8=
|
||||||
github.com/gogf/gf/v2 v2.3.2/go.mod h1:tsbmtwcAl2chcYoq/fP9W2FZf06aw4i89X34nbSHo9Y=
|
github.com/gogf/gf/v2 v2.4.1/go.mod h1:tsbmtwcAl2chcYoq/fP9W2FZf06aw4i89X34nbSHo9Y=
|
||||||
github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs=
|
github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs=
|
||||||
github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||||
@ -104,6 +104,7 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
|
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
|
||||||
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
|
||||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
||||||
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
|
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
|
||||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||||
@ -146,6 +147,7 @@ github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5h
|
|||||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
|
||||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
||||||
github.com/qiniu/dyn v1.3.0/go.mod h1:E8oERcm8TtwJiZvkQPbcAh0RL8jO1G0VXJMW3FAWdkk=
|
github.com/qiniu/dyn v1.3.0/go.mod h1:E8oERcm8TtwJiZvkQPbcAh0RL8jO1G0VXJMW3FAWdkk=
|
||||||
github.com/qiniu/go-sdk/v7 v7.13.0 h1:0bWRh/oAC2cArUILZLuWN+s9hPep1JYch5sA2Mfxq7A=
|
github.com/qiniu/go-sdk/v7 v7.13.0 h1:0bWRh/oAC2cArUILZLuWN+s9hPep1JYch5sA2Mfxq7A=
|
||||||
@ -157,8 +159,6 @@ github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
|
|||||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||||
github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
|
github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
|
||||||
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
||||||
github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
|
|
||||||
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
|
|
||||||
github.com/shirou/gopsutil/v3 v3.23.2 h1:PAWSuiAszn7IhPMBtXsbSCafej7PqUOvY6YywlQUExU=
|
github.com/shirou/gopsutil/v3 v3.23.2 h1:PAWSuiAszn7IhPMBtXsbSCafej7PqUOvY6YywlQUExU=
|
||||||
github.com/shirou/gopsutil/v3 v3.23.2/go.mod h1:gv0aQw33GLo3pG8SiWKiQrbDzbRY1K80RyZJ7V4Th1M=
|
github.com/shirou/gopsutil/v3 v3.23.2/go.mod h1:gv0aQw33GLo3pG8SiWKiQrbDzbRY1K80RyZJ7V4Th1M=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
@ -170,8 +170,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
|
|||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
|
||||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
||||||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.194/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
|
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.194/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
|
||||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.194/go.mod h1:yrBKWhChnDqNz1xuXdSbWXG56XawEq0G5j1lg4VwBD4=
|
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.194/go.mod h1:yrBKWhChnDqNz1xuXdSbWXG56XawEq0G5j1lg4VwBD4=
|
||||||
@ -181,11 +181,9 @@ github.com/tiger1103/gfast-cache v1.0.0 h1:+amboC6uu4AvkUnDz4DECcsBTp5HW+O98k8gu
|
|||||||
github.com/tiger1103/gfast-cache v1.0.0/go.mod h1:l+e5vdUHmqK0Th5VBOCSxXORbm8MwZQMXDkn+KA+amE=
|
github.com/tiger1103/gfast-cache v1.0.0/go.mod h1:l+e5vdUHmqK0Th5VBOCSxXORbm8MwZQMXDkn+KA+amE=
|
||||||
github.com/tiger1103/gfast-token v1.0.3 h1:6uPGGuhxlLODV9tDS1djhWHUSaIYtVNyOqibHTITCt4=
|
github.com/tiger1103/gfast-token v1.0.3 h1:6uPGGuhxlLODV9tDS1djhWHUSaIYtVNyOqibHTITCt4=
|
||||||
github.com/tiger1103/gfast-token v1.0.3/go.mod h1:yjTBd86Gi2tOrgNBZe60QKyMprJVFSg3zUmQDEkD/Lw=
|
github.com/tiger1103/gfast-token v1.0.3/go.mod h1:yjTBd86Gi2tOrgNBZe60QKyMprJVFSg3zUmQDEkD/Lw=
|
||||||
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
|
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
||||||
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
|
|
||||||
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
||||||
github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o=
|
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
|
||||||
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
|
|
||||||
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
|
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||||
@ -256,7 +254,6 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
22
internal/app/common/model/common.go
Normal file
22
internal/app/common/model/common.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* @desc:公用model
|
||||||
|
* @company:云南奇讯科技有限公司
|
||||||
|
* @Author: yixiaohu<yxh669@qq.com>
|
||||||
|
* @Date: 2023/5/11 22:43
|
||||||
|
*/
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
// PageReq 公共请求参数
|
||||||
|
type PageReq struct {
|
||||||
|
DateRange []string `p:"dateRange"` //日期范围
|
||||||
|
PageNum int `p:"pageNum"` //当前页码
|
||||||
|
PageSize int `p:"pageSize"` //每页数
|
||||||
|
OrderBy string //排序方式
|
||||||
|
}
|
||||||
|
|
||||||
|
// ListRes 列表公共返回
|
||||||
|
type ListRes struct {
|
||||||
|
CurrentPage int `json:"currentPage"`
|
||||||
|
Total interface{} `json:"total"`
|
||||||
|
}
|
@ -119,10 +119,3 @@ func (c *userController) Delete(ctx context.Context, req *system.UserDeleteReq)
|
|||||||
err = service.SysUser().Delete(ctx, req.Ids)
|
err = service.SysUser().Delete(ctx, req.Ids)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetUsers 通过用户id批量获取用户信息
|
|
||||||
func (c *userController) GetUsers(ctx context.Context, req *system.UserGetByIdsReq) (res *system.UserGetByIdsRes, err error) {
|
|
||||||
res = new(system.UserGetByIdsRes)
|
|
||||||
res.List, err = service.SysUser().GetUsers(ctx, req.Ids)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -86,3 +86,8 @@ func (c *toolsGenTableController) BatchGenCode(ctx context.Context, req *system.
|
|||||||
err = service.ToolsGenTable().GenCode(ctx, req.Ids)
|
err = service.ToolsGenTable().GenCode(ctx, req.Ids)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *toolsGenTableController) SyncTable(ctx context.Context, req *system.ToolsGenTableSyncTableReq) (res *system.ToolsGenTableSyncTableRes, err error) {
|
||||||
|
err = service.ToolsGenTable().SyncTable(ctx, req.TableId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -21,7 +21,7 @@ func init() {
|
|||||||
|
|
||||||
type sContext struct{}
|
type sContext struct{}
|
||||||
|
|
||||||
func New() *sContext {
|
func New() service.IContext {
|
||||||
return &sContext{}
|
return &sContext{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ func init() {
|
|||||||
service.RegisterMiddleware(New())
|
service.RegisterMiddleware(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sMiddleware {
|
func New() service.IMiddleware {
|
||||||
return &sMiddleware{}
|
return &sMiddleware{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ func init() {
|
|||||||
type sPersonal struct {
|
type sPersonal struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sPersonal {
|
func New() service.IPersonal {
|
||||||
return &sPersonal{}
|
return &sPersonal{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ func init() {
|
|||||||
service.RegisterSysAuthRule(New())
|
service.RegisterSysAuthRule(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysAuthRule {
|
func New() service.ISysAuthRule {
|
||||||
return &sSysAuthRule{}
|
return &sSysAuthRule{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ func init() {
|
|||||||
service.RegisterSysDept(New())
|
service.RegisterSysDept(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysDept {
|
func New() service.ISysDept {
|
||||||
return &sSysDept{}
|
return &sSysDept{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ func init() {
|
|||||||
service.RegisterSysJob(New())
|
service.RegisterSysJob(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysJob {
|
func New() service.ISysJob {
|
||||||
return &sSysJob{}
|
return &sSysJob{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ func init() {
|
|||||||
service.RegisterSysJobLog(New())
|
service.RegisterSysJobLog(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysJobLog {
|
func New() service.ISysJobLog {
|
||||||
return new(sSysJobLog)
|
return new(sSysJobLog)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ func init() {
|
|||||||
service.RegisterSysLoginLog(New())
|
service.RegisterSysLoginLog(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysLoginLog {
|
func New() service.ISysLoginLog {
|
||||||
return &sSysLoginLog{
|
return &sSysLoginLog{
|
||||||
Pool: grpool.New(100),
|
Pool: grpool.New(100),
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ func init() {
|
|||||||
service.RegisterOperateLog(New())
|
service.RegisterOperateLog(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sOperateLog {
|
func New() service.IOperateLog {
|
||||||
return &sOperateLog{
|
return &sOperateLog{
|
||||||
Pool: grpool.New(100),
|
Pool: grpool.New(100),
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ func init() {
|
|||||||
service.RegisterSysPost(New())
|
service.RegisterSysPost(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysPost {
|
func New() service.ISysPost {
|
||||||
return &sSysPost{}
|
return &sSysPost{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ func init() {
|
|||||||
service.RegisterSysRole(New())
|
service.RegisterSysRole(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysRole {
|
func New() service.ISysRole {
|
||||||
return &sSysRole{}
|
return &sSysRole{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,22 +171,22 @@ func (s *sSysRole) GetFilteredNamedPolicy(ctx context.Context, id uint) (gpSlice
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *sSysRole) hasManageAccess(ctx context.Context, roleId uint) bool {
|
func (s *sSysRole) hasManageAccess(ctx context.Context, roleId uint) bool {
|
||||||
currentUserId:=service.Context().GetUserId(ctx)
|
currentUserId := service.Context().GetUserId(ctx)
|
||||||
if !service.SysUser().IsSupperAdmin(ctx, currentUserId) {
|
if !service.SysUser().IsSupperAdmin(ctx, currentUserId) {
|
||||||
var (
|
var (
|
||||||
roleIds []uint
|
roleIds []uint
|
||||||
hasAccess bool
|
hasAccess bool
|
||||||
err error
|
err error
|
||||||
list []*entity.SysRole
|
list []*entity.SysRole
|
||||||
)
|
)
|
||||||
list,err = s.GetRoleList(ctx)
|
list, err = s.GetRoleList(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
g.Log().Error(ctx, err)
|
g.Log().Error(ctx, err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
for _,v:=range list{
|
for _, v := range list {
|
||||||
//判断是否当前用户所建角色
|
//判断是否当前用户所建角色
|
||||||
if roleId==v.Id && v.CreatedBy==currentUserId{
|
if roleId == v.Id && v.CreatedBy == currentUserId {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ type sSysUser struct {
|
|||||||
casBinUserPrefix string //CasBin 用户id前缀
|
casBinUserPrefix string //CasBin 用户id前缀
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysUser {
|
func New() service.ISysUser {
|
||||||
return &sSysUser{
|
return &sSysUser{
|
||||||
casBinUserPrefix: "u_",
|
casBinUserPrefix: "u_",
|
||||||
}
|
}
|
||||||
@ -523,7 +523,7 @@ func (s *sSysUser) Add(ctx context.Context, req *system.UserAddReq) (err error)
|
|||||||
})
|
})
|
||||||
liberr.ErrIsNil(ctx, e, "添加用户失败")
|
liberr.ErrIsNil(ctx, e, "添加用户失败")
|
||||||
//不是超管过滤提交角色数据
|
//不是超管过滤提交角色数据
|
||||||
if !service.SysUser().IsSupperAdmin(ctx,service.Context().GetUserId(ctx)){
|
if !service.SysUser().IsSupperAdmin(ctx, service.Context().GetUserId(ctx)) {
|
||||||
req.RoleIds, err = s.filterRoleIds(ctx, req.RoleIds, service.Context().GetUserId(ctx))
|
req.RoleIds, err = s.filterRoleIds(ctx, req.RoleIds, service.Context().GetUserId(ctx))
|
||||||
liberr.ErrIsNil(ctx, err)
|
liberr.ErrIsNil(ctx, err)
|
||||||
}
|
}
|
||||||
@ -555,7 +555,7 @@ func (s *sSysUser) Edit(ctx context.Context, req *system.UserEditReq) (err error
|
|||||||
IsAdmin: req.IsAdmin,
|
IsAdmin: req.IsAdmin,
|
||||||
})
|
})
|
||||||
liberr.ErrIsNil(ctx, err, "修改用户信息失败")
|
liberr.ErrIsNil(ctx, err, "修改用户信息失败")
|
||||||
if !service.SysUser().IsSupperAdmin(ctx,service.Context().GetUserId(ctx)){
|
if !service.SysUser().IsSupperAdmin(ctx, service.Context().GetUserId(ctx)) {
|
||||||
req.RoleIds, err = s.filterRoleIds(ctx, req.RoleIds, service.Context().GetUserId(ctx))
|
req.RoleIds, err = s.filterRoleIds(ctx, req.RoleIds, service.Context().GetUserId(ctx))
|
||||||
liberr.ErrIsNil(ctx, err)
|
liberr.ErrIsNil(ctx, err)
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ import (
|
|||||||
"github.com/mssola/user_agent"
|
"github.com/mssola/user_agent"
|
||||||
"github.com/tiger1103/gfast/v3/api/v1/common"
|
"github.com/tiger1103/gfast/v3/api/v1/common"
|
||||||
"github.com/tiger1103/gfast/v3/api/v1/system"
|
"github.com/tiger1103/gfast/v3/api/v1/system"
|
||||||
|
comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
|
||||||
"github.com/tiger1103/gfast/v3/internal/app/system/consts"
|
"github.com/tiger1103/gfast/v3/internal/app/system/consts"
|
||||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||||
"github.com/tiger1103/gfast/v3/internal/app/system/model"
|
"github.com/tiger1103/gfast/v3/internal/app/system/model"
|
||||||
@ -28,7 +29,7 @@ func init() {
|
|||||||
service.RegisterSysUserOnline(New())
|
service.RegisterSysUserOnline(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sSysUserOnline {
|
func New() service.ISysUserOnline {
|
||||||
return &sSysUserOnline{
|
return &sSysUserOnline{
|
||||||
Pool: grpool.New(100),
|
Pool: grpool.New(100),
|
||||||
}
|
}
|
||||||
@ -90,8 +91,10 @@ func (s *sSysUserOnline) SaveOnline(ctx context.Context, params *model.SysUserOn
|
|||||||
func (s *sSysUserOnline) CheckUserOnline(ctx context.Context) {
|
func (s *sSysUserOnline) CheckUserOnline(ctx context.Context) {
|
||||||
param := &system.SysUserOnlineSearchReq{
|
param := &system.SysUserOnlineSearchReq{
|
||||||
PageReq: common.PageReq{
|
PageReq: common.PageReq{
|
||||||
PageNum: 1,
|
PageReq: comModel.PageReq{
|
||||||
PageSize: 50,
|
PageNum: 1,
|
||||||
|
PageSize: 50,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
var total int
|
var total int
|
||||||
|
@ -17,7 +17,7 @@ func init() {
|
|||||||
service.RegisterTaskList(New())
|
service.RegisterTaskList(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sTaskList {
|
func New() service.ITaskList {
|
||||||
return &sTaskList{
|
return &sTaskList{
|
||||||
mu: gmutex.New(),
|
mu: gmutex.New(),
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ type sToken struct {
|
|||||||
*gftoken.GfToken
|
*gftoken.GfToken
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sToken {
|
func New() service.IGfToken {
|
||||||
var (
|
var (
|
||||||
ctx = gctx.New()
|
ctx = gctx.New()
|
||||||
opt *commonModel.TokenOptions
|
opt *commonModel.TokenOptions
|
||||||
|
@ -43,7 +43,7 @@ func init() {
|
|||||||
service.RegisterToolsGenTable(New())
|
service.RegisterToolsGenTable(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sToolsGenTable {
|
func New() service.IToolsGenTable {
|
||||||
return new(sToolsGenTable)
|
return new(sToolsGenTable)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,7 +184,7 @@ func (s *sToolsGenTable) InitTable(ctx context.Context, table *entity.ToolsGenTa
|
|||||||
table.PackageName = g.Cfg().MustGet(ctx, "gen.packageName").String()
|
table.PackageName = g.Cfg().MustGet(ctx, "gen.packageName").String()
|
||||||
table.ModuleName = g.Cfg().MustGet(ctx, "gen.moduleName").String()
|
table.ModuleName = g.Cfg().MustGet(ctx, "gen.moduleName").String()
|
||||||
table.BusinessName = s.GetBusinessName(ctx, table.TableName)
|
table.BusinessName = s.GetBusinessName(ctx, table.TableName)
|
||||||
table.FunctionName = strings.ReplaceAll(table.TableComment, "表", "")
|
table.FunctionName = table.TableComment
|
||||||
table.FunctionAuthor = g.Cfg().MustGet(ctx, "gen.author").String()
|
table.FunctionAuthor = g.Cfg().MustGet(ctx, "gen.author").String()
|
||||||
table.TplCategory = "crud"
|
table.TplCategory = "crud"
|
||||||
pkColumn, err := s.getPkColumn(columns)
|
pkColumn, err := s.getPkColumn(columns)
|
||||||
@ -403,7 +403,6 @@ func (s *sToolsGenTable) SaveEdit(ctx context.Context, req *system.ToolsGenTable
|
|||||||
dbColumn.QueryType = column.QueryType
|
dbColumn.QueryType = column.QueryType
|
||||||
dbColumn.GoField = column.GoField
|
dbColumn.GoField = column.GoField
|
||||||
dbColumn.DictType = column.DictType
|
dbColumn.DictType = column.DictType
|
||||||
dbColumn.IsInsert = column.IsInsert
|
|
||||||
dbColumn.IsEdit = column.IsEdit
|
dbColumn.IsEdit = column.IsEdit
|
||||||
dbColumn.IsList = column.IsList
|
dbColumn.IsList = column.IsList
|
||||||
dbColumn.IsDetail = column.IsDetail
|
dbColumn.IsDetail = column.IsDetail
|
||||||
@ -473,10 +472,13 @@ func (s *sToolsGenTable) GenData(ctx context.Context, tableId int64) (data g.Map
|
|||||||
}
|
}
|
||||||
service.ToolsGenTableColumn().SetPkColumn(extendData, extendData.Columns)
|
service.ToolsGenTableColumn().SetPkColumn(extendData, extendData.Columns)
|
||||||
view := gview.New()
|
view := gview.New()
|
||||||
view.SetConfigWithMap(g.Map{
|
err = view.SetConfigWithMap(g.Map{
|
||||||
"Paths": g.Cfg().MustGet(ctx, "gen.templatePath").String(),
|
"Paths": g.Cfg().MustGet(ctx, "gen.templatePath").String(),
|
||||||
"Delimiters": []string{"{{", "}}"},
|
"Delimiters": []string{"{{", "}}"},
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
view.BindFuncMap(g.Map{
|
view.BindFuncMap(g.Map{
|
||||||
"UcFirst": func(str string) string {
|
"UcFirst": func(str string) string {
|
||||||
return gstr.UcFirst(str)
|
return gstr.UcFirst(str)
|
||||||
@ -663,16 +665,6 @@ func (s *sToolsGenTable) GenData(ctx context.Context, tableId int64) (data g.Map
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
vueAddKey := "vueAdd"
|
|
||||||
vueAddValue := ""
|
|
||||||
var tmpVueAddModel string
|
|
||||||
if tmpVueAddModel, err = view.Parse(ctx, "vue/add-vue.template", tplData); err == nil {
|
|
||||||
vueAddValue = tmpVueAddModel
|
|
||||||
vueAddValue, err = s.trimBreak(vueAddValue)
|
|
||||||
} else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
vueEditKey := "vueEdit"
|
vueEditKey := "vueEdit"
|
||||||
vueEditValue := ""
|
vueEditValue := ""
|
||||||
var tmpVueEditModel string
|
var tmpVueEditModel string
|
||||||
@ -709,7 +701,6 @@ func (s *sToolsGenTable) GenData(ctx context.Context, tableId int64) (data g.Map
|
|||||||
tsApiKey: tsApiValue,
|
tsApiKey: tsApiValue,
|
||||||
tsModelKey: tsModelValue,
|
tsModelKey: tsModelValue,
|
||||||
vueKey: vueValue,
|
vueKey: vueValue,
|
||||||
vueAddKey: vueAddValue,
|
|
||||||
vueEditKey: vueEditValue,
|
vueEditKey: vueEditValue,
|
||||||
vueDetailKey: vueDetailValue,
|
vueDetailKey: vueDetailValue,
|
||||||
}
|
}
|
||||||
@ -723,7 +714,10 @@ func (s *sToolsGenTable) SelectRecordById(ctx context.Context, tableId int64) (t
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
m := gconv.Map(table)
|
m := gconv.Map(table)
|
||||||
gconv.Struct(m, &tableEx)
|
err = gconv.Struct(m, &tableEx)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
if tableEx.TplCategory == "tree" {
|
if tableEx.TplCategory == "tree" {
|
||||||
opt := gjson.New(tableEx.Options)
|
opt := gjson.New(tableEx.Options)
|
||||||
tableEx.TreeParentCode = opt.Get("treeParentCode").String()
|
tableEx.TreeParentCode = opt.Get("treeParentCode").String()
|
||||||
@ -746,7 +740,6 @@ func (s *sToolsGenTable) SelectRecordById(ctx context.Context, tableId int64) (t
|
|||||||
allColumnExs := make([]*model.ToolsGenTableColumnEx, len(columns))
|
allColumnExs := make([]*model.ToolsGenTableColumnEx, len(columns))
|
||||||
|
|
||||||
var (
|
var (
|
||||||
insertColumns []*model.ToolsGenTableColumnEx
|
|
||||||
editColumns []*model.ToolsGenTableColumnEx
|
editColumns []*model.ToolsGenTableColumnEx
|
||||||
listColumns []*model.ToolsGenTableColumnEx
|
listColumns []*model.ToolsGenTableColumnEx
|
||||||
detailColumns []*model.ToolsGenTableColumnEx
|
detailColumns []*model.ToolsGenTableColumnEx
|
||||||
@ -763,12 +756,6 @@ func (s *sToolsGenTable) SelectRecordById(ctx context.Context, tableId int64) (t
|
|||||||
allColumnExs[i] = columnEx
|
allColumnExs[i] = columnEx
|
||||||
tableEx.IsPkInsertable = tableEx.IsPkInsertable || column.IsPk && !column.IsIncrement
|
tableEx.IsPkInsertable = tableEx.IsPkInsertable || column.IsPk && !column.IsIncrement
|
||||||
tableEx.IsPkListable = tableEx.IsPkListable || column.IsPk && column.IsList
|
tableEx.IsPkListable = tableEx.IsPkListable || column.IsPk && column.IsList
|
||||||
if column.IsInsert && !service.ToolsGenTableColumn().IsNotEdit(columnName) && !column.IsPk {
|
|
||||||
insertColumns = append(insertColumns, columnEx)
|
|
||||||
columnEx.IsInsert = true
|
|
||||||
} else {
|
|
||||||
columnEx.IsInsert = false
|
|
||||||
}
|
|
||||||
if column.IsEdit && !service.ToolsGenTableColumn().IsNotEdit(columnName) && !column.IsPk {
|
if column.IsEdit && !service.ToolsGenTableColumn().IsNotEdit(columnName) && !column.IsPk {
|
||||||
editColumns = append(editColumns, columnEx)
|
editColumns = append(editColumns, columnEx)
|
||||||
columnEx.IsEdit = true
|
columnEx.IsEdit = true
|
||||||
@ -861,9 +848,6 @@ func (s *sToolsGenTable) SelectRecordById(ctx context.Context, tableId int64) (t
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sort.Slice(insertColumns, func(i, j int) bool {
|
|
||||||
return insertColumns[i].SortOrderEdit < insertColumns[j].SortOrderEdit
|
|
||||||
})
|
|
||||||
sort.Slice(editColumns, func(i, j int) bool {
|
sort.Slice(editColumns, func(i, j int) bool {
|
||||||
return editColumns[i].SortOrderEdit < editColumns[j].SortOrderEdit
|
return editColumns[i].SortOrderEdit < editColumns[j].SortOrderEdit
|
||||||
})
|
})
|
||||||
@ -878,7 +862,6 @@ func (s *sToolsGenTable) SelectRecordById(ctx context.Context, tableId int64) (t
|
|||||||
})
|
})
|
||||||
|
|
||||||
tableEx.Columns = allColumnExs
|
tableEx.Columns = allColumnExs
|
||||||
tableEx.InsertColumns = insertColumns
|
|
||||||
tableEx.EditColumns = editColumns
|
tableEx.EditColumns = editColumns
|
||||||
tableEx.DetailColumns = detailColumns
|
tableEx.DetailColumns = detailColumns
|
||||||
tableEx.ListColumns = listColumns
|
tableEx.ListColumns = listColumns
|
||||||
@ -1068,10 +1051,6 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
|
|||||||
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/detail", ".vue"}, "")
|
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/detail", ".vue"}, "")
|
||||||
err = s.createFile(path, code, extendData.Overwrite)
|
err = s.createFile(path, code, extendData.Overwrite)
|
||||||
liberr.ErrIsNil(ctx, err)
|
liberr.ErrIsNil(ctx, err)
|
||||||
case "vueAdd":
|
|
||||||
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/add", ".vue"}, "")
|
|
||||||
err = s.createFile(path, code, extendData.Overwrite)
|
|
||||||
liberr.ErrIsNil(ctx, err)
|
|
||||||
case "vueEdit":
|
case "vueEdit":
|
||||||
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/edit", ".vue"}, "")
|
path := strings.Join([]string{frontDir, "/src/views/" + pluginName, extendData.ModuleName, "/", businessName + "/list/component/edit", ".vue"}, "")
|
||||||
err = s.createFile(path, code, extendData.Overwrite)
|
err = s.createFile(path, code, extendData.Overwrite)
|
||||||
@ -1184,6 +1163,14 @@ func (s *sToolsGenTable) getLinkedTableInfo(ctx context.Context, tableName strin
|
|||||||
m := gconv.Map(table)
|
m := gconv.Map(table)
|
||||||
err = gconv.Struct(m, &linkedTable)
|
err = gconv.Struct(m, &linkedTable)
|
||||||
liberr.ErrIsNil(ctx, err)
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
if linkedTable.Options != "" {
|
||||||
|
err = gconv.Struct(linkedTable.Options, &linkedTable.OptionsStruct)
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
err = dao.ToolsGenTableColumn.Ctx(ctx).Where(dao.ToolsGenTableColumn.Columns().TableId, table.TableId).
|
||||||
|
Where(dao.ToolsGenTableColumn.Columns().ColumnName, gstr.CaseSnake(linkedTable.OptionsStruct.TreeParentCode)).
|
||||||
|
Scan(&linkedTable.OptionsStruct.ColumnAttr)
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
}
|
||||||
linkedTable.RefColumns = gmap.NewListMap()
|
linkedTable.RefColumns = gmap.NewListMap()
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@ -1262,3 +1249,66 @@ import (
|
|||||||
err = s.createFile(path, code, true)
|
err = s.createFile(path, code, true)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *sToolsGenTable) SyncTable(ctx context.Context, tableId int64) (err error) {
|
||||||
|
var (
|
||||||
|
extendData *model.ToolsGenTableEx
|
||||||
|
table *entity.ToolsGenTable
|
||||||
|
genTableColumns []*entity.ToolsGenTableColumn
|
||||||
|
)
|
||||||
|
extendData, err = s.SelectRecordById(ctx, tableId)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if extendData == nil {
|
||||||
|
err = gerror.New("表格数据不存在")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
|
||||||
|
err = g.Try(ctx, func(ctx context.Context) {
|
||||||
|
table, err = s.GetTableInfoByTableId(ctx, tableId)
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
if table == nil {
|
||||||
|
liberr.ErrIsNil(ctx, gerror.New("表格数据不存在"))
|
||||||
|
}
|
||||||
|
genTableColumns, err = service.ToolsGenTableColumn().SelectDbTableColumnsByName(ctx, extendData.TableName)
|
||||||
|
liberr.ErrIsNil(ctx, err, "获取列数据失败")
|
||||||
|
if len(genTableColumns) <= 0 {
|
||||||
|
liberr.ErrIsNil(ctx, gerror.New("获取列数据失败"))
|
||||||
|
}
|
||||||
|
for _, column := range genTableColumns {
|
||||||
|
alreadyExists := false //字段是否存在
|
||||||
|
for _, tableColumn := range extendData.Columns {
|
||||||
|
if column.ColumnName == tableColumn.ColumnName {
|
||||||
|
alreadyExists = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//字段不存在则添加
|
||||||
|
if !alreadyExists {
|
||||||
|
service.ToolsGenTableColumn().InitColumnField(column, table)
|
||||||
|
_, err = tx.Model(dao.ToolsGenTableColumn.Table()).Insert(column)
|
||||||
|
liberr.ErrIsNil(ctx, err, fmt.Sprintf("保存列`%s`数据失败", column.ColumnName))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, tableColumn := range extendData.Columns {
|
||||||
|
alreadyDelete := true //数据表中字段是否已删除
|
||||||
|
for _, column := range genTableColumns {
|
||||||
|
if column.ColumnName == tableColumn.ColumnName {
|
||||||
|
alreadyDelete = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if alreadyDelete {
|
||||||
|
//删除columns表中字段
|
||||||
|
_, err = dao.ToolsGenTableColumn.Ctx(ctx).
|
||||||
|
Where(dao.ToolsGenTableColumn.Columns().ColumnId, tableColumn.ColumnId).
|
||||||
|
Delete()
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -26,7 +26,7 @@ func init() {
|
|||||||
service.RegisterToolsGenTableColumn(New())
|
service.RegisterToolsGenTableColumn(New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() *sToolsGenTableColumn {
|
func New() service.IToolsGenTableColumn {
|
||||||
return &sToolsGenTableColumn{
|
return &sToolsGenTableColumn{
|
||||||
ColumnTypeStr: []string{"char", "varchar", "narchar", "varchar2", "tinytext", "text", "mediumtext", "longtext"},
|
ColumnTypeStr: []string{"char", "varchar", "narchar", "varchar2", "tinytext", "text", "mediumtext", "longtext"},
|
||||||
ColumnTypeTime: []string{"datetime", "time", "date", "timestamp"},
|
ColumnTypeTime: []string{"datetime", "time", "date", "timestamp"},
|
||||||
@ -117,15 +117,6 @@ func (s *sToolsGenTableColumn) InitColumnField(column *entity.ToolsGenTableColum
|
|||||||
column.TsType = "boolean"
|
column.TsType = "boolean"
|
||||||
}
|
}
|
||||||
|
|
||||||
//新增字段
|
|
||||||
if s.IsNotEdit(columnName) {
|
|
||||||
column.IsInsert = false
|
|
||||||
} else if column.IsIncrement {
|
|
||||||
column.IsInsert = false
|
|
||||||
} else {
|
|
||||||
column.IsInsert = true
|
|
||||||
}
|
|
||||||
|
|
||||||
// 编辑字段
|
// 编辑字段
|
||||||
if s.IsNotEdit(columnName) {
|
if s.IsNotEdit(columnName) {
|
||||||
column.IsEdit = false
|
column.IsEdit = false
|
||||||
|
@ -23,7 +23,6 @@ type ToolsGenTableColumn struct {
|
|||||||
IsPk interface{} // 是否主键(1是)
|
IsPk interface{} // 是否主键(1是)
|
||||||
IsIncrement interface{} // 是否自增(1是)
|
IsIncrement interface{} // 是否自增(1是)
|
||||||
IsRequired interface{} // 是否必填(1是)
|
IsRequired interface{} // 是否必填(1是)
|
||||||
IsInsert interface{} // 是否为插入字段(1是)
|
|
||||||
IsEdit interface{} // 是否编辑字段(1是)
|
IsEdit interface{} // 是否编辑字段(1是)
|
||||||
IsList interface{} // 是否列表字段(1是)
|
IsList interface{} // 是否列表字段(1是)
|
||||||
IsDetail interface{} // 是否详情字段
|
IsDetail interface{} // 是否详情字段
|
||||||
|
@ -18,7 +18,6 @@ type ToolsGenTableColumn struct {
|
|||||||
IsPk bool `json:"isPk" description:"是否主键(1是)"`
|
IsPk bool `json:"isPk" description:"是否主键(1是)"`
|
||||||
IsIncrement bool `json:"isIncrement" description:"是否自增(1是)"`
|
IsIncrement bool `json:"isIncrement" description:"是否自增(1是)"`
|
||||||
IsRequired bool `json:"isRequired" description:"是否必填(1是)"`
|
IsRequired bool `json:"isRequired" description:"是否必填(1是)"`
|
||||||
IsInsert bool `json:"isInsert" description:"是否为插入字段(1是)"`
|
|
||||||
IsEdit bool `json:"isEdit" description:"是否编辑字段(1是)"`
|
IsEdit bool `json:"isEdit" description:"是否编辑字段(1是)"`
|
||||||
IsList bool `json:"isList" description:"是否列表字段(1是)"`
|
IsList bool `json:"isList" description:"是否列表字段(1是)"`
|
||||||
IsDetail bool `json:"isDetail" description:"是否详情字段"`
|
IsDetail bool `json:"isDetail" description:"是否详情字段"`
|
||||||
|
@ -51,3 +51,9 @@ type SysUserSimpleRes struct {
|
|||||||
UserName string `orm:"user_name" json:"userName"` // 用户名
|
UserName string `orm:"user_name" json:"userName"` // 用户名
|
||||||
UserNickname string `orm:"user_nickname" json:"userNickname"` // 用户昵称
|
UserNickname string `orm:"user_nickname" json:"userNickname"` // 用户昵称
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type LinkUserRes struct {
|
||||||
|
gmeta.Meta `orm:"table:sys_user"`
|
||||||
|
Id uint64 `orm:"id" json:"id"`
|
||||||
|
UserNickname string `orm:"user_nickname" json:"userNickname"`
|
||||||
|
}
|
||||||
|
@ -46,7 +46,6 @@ type ToolsGenTableEx struct {
|
|||||||
HasUpdatedBy bool // 是否有updated_by字段
|
HasUpdatedBy bool // 是否有updated_by字段
|
||||||
HasConversion bool // service中是否有转换函数
|
HasConversion bool // service中是否有转换函数
|
||||||
Columns []*ToolsGenTableColumnEx // 表列信息
|
Columns []*ToolsGenTableColumnEx // 表列信息
|
||||||
InsertColumns []*ToolsGenTableColumnEx // 新增界面列信息,主键单独判断不在此列
|
|
||||||
EditColumns []*ToolsGenTableColumnEx // 编辑界面列信息,主键单独判断不在此列
|
EditColumns []*ToolsGenTableColumnEx // 编辑界面列信息,主键单独判断不在此列
|
||||||
ListColumns []*ToolsGenTableColumnEx // 列表界面列信息
|
ListColumns []*ToolsGenTableColumnEx // 列表界面列信息
|
||||||
DetailColumns []*ToolsGenTableColumnEx // 详情界面列信息
|
DetailColumns []*ToolsGenTableColumnEx // 详情界面列信息
|
||||||
@ -57,14 +56,25 @@ type ToolsGenTableEx struct {
|
|||||||
|
|
||||||
// ToolsGenTableLinked 关联表
|
// ToolsGenTableLinked 关联表
|
||||||
type ToolsGenTableLinked struct {
|
type ToolsGenTableLinked struct {
|
||||||
TableName string // 表名称
|
TableName string // 表名称
|
||||||
TableComment string // 表描述
|
TableComment string // 表描述
|
||||||
ClassName string // 实体类名称
|
ClassName string // 实体类名称
|
||||||
PackageName string // 生成包路径
|
PackageName string // 生成包路径
|
||||||
ModuleName string // 生成模块名
|
ModuleName string // 生成模块名
|
||||||
BusinessName string // 生成业务名
|
BusinessName string // 生成业务名
|
||||||
RefColumns *gmap.ListMap // 要被查询的所有数据列信息
|
TplCategory string // 表类型列表或树表
|
||||||
LinkedTables []*ToolsGenTableLinked // 嵌套关联表信息
|
Options string // 表相关选项配置
|
||||||
|
OptionsStruct ToolsGenTableOptions // 表相关选项配置结构
|
||||||
|
RefColumns *gmap.ListMap // 要被查询的所有数据列信息
|
||||||
|
LinkedTables []*ToolsGenTableLinked // 嵌套关联表信息
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToolsGenTableOptions 表相关选项配置
|
||||||
|
type ToolsGenTableOptions struct {
|
||||||
|
TreeCode string `json:"treeCode"`
|
||||||
|
TreeName string `json:"treeName"`
|
||||||
|
TreeParentCode string `json:"treeParentCode"`
|
||||||
|
ColumnAttr *ToolsGenTableColumnEx
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToolsGenTableEditData 编辑页面表数据详情
|
// ToolsGenTableEditData 编辑页面表数据详情
|
||||||
|
@ -23,7 +23,6 @@ type ToolsGenTableColumnEx struct {
|
|||||||
IsPk bool // 是否主键
|
IsPk bool // 是否主键
|
||||||
IsIncrement bool // 是否自增
|
IsIncrement bool // 是否自增
|
||||||
IsRequired bool // 是否必填
|
IsRequired bool // 是否必填
|
||||||
IsInsert bool // 是否为插入字段
|
|
||||||
IsEdit bool // 是否编辑字段
|
IsEdit bool // 是否编辑字段
|
||||||
IsList bool // 是否列表字段
|
IsList bool // 是否列表字段
|
||||||
IsDetail bool // 是否详情字段
|
IsDetail bool // 是否详情字段
|
||||||
|
@ -31,6 +31,7 @@ type (
|
|||||||
GenData(ctx context.Context, tableId int64) (data g.MapStrStr, extendData *model.ToolsGenTableEx, err error)
|
GenData(ctx context.Context, tableId int64) (data g.MapStrStr, extendData *model.ToolsGenTableEx, err error)
|
||||||
SelectRecordById(ctx context.Context, tableId int64) (tableEx *model.ToolsGenTableEx, err error)
|
SelectRecordById(ctx context.Context, tableId int64) (tableEx *model.ToolsGenTableEx, err error)
|
||||||
GenCode(ctx context.Context, ids []int) (err error)
|
GenCode(ctx context.Context, ids []int) (err error)
|
||||||
|
SyncTable(ctx context.Context, tableId int64) (err error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -9,39 +9,9 @@
|
|||||||
////
|
////
|
||||||
package {{.table.ModuleName }}
|
package {{.table.ModuleName }}
|
||||||
////
|
////
|
||||||
{{$hasUpFile:=false}}
|
|
||||||
{{$hasArr:=false}}
|
|
||||||
{{$hasGtime:=false}}
|
|
||||||
{{range $index,$column :=.table.Columns}}
|
|
||||||
{{if eq $column.HtmlType "imagefile" "images" "file" "files" }}
|
|
||||||
{{$hasUpFile = true}}
|
|
||||||
{{end}}
|
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
|
||||||
{{$hasArr = true}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{range $index,$column :=.table.EditColumns}}
|
|
||||||
{{if eq $column.GoType "Time"}}
|
|
||||||
{{$hasGtime = true}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{range $index,$column :=.table.InsertColumns}}
|
|
||||||
{{if eq $column.GoType "Time"}}
|
|
||||||
{{$hasGtime = true}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
import (
|
import (
|
||||||
{{if $hasArr}}
|
|
||||||
"github.com/gogf/gf/v2/container/garray"
|
|
||||||
{{end}}
|
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
{{if and .table.HasTimeColumn $hasGtime}}
|
|
||||||
"github.com/gogf/gf/v2/os/gtime"
|
|
||||||
{{end}}
|
|
||||||
commonApi "{{.goModName}}/api/v1/common"
|
commonApi "{{.goModName}}/api/v1/common"
|
||||||
{{if $hasUpFile}}
|
|
||||||
comModel "{{.goModName}}/internal/app/common/model"
|
|
||||||
{{end}}
|
|
||||||
"{{.goModName}}/{{.table.PackageName}}/model"
|
"{{.goModName}}/{{.table.PackageName}}/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -49,35 +19,40 @@ import (
|
|||||||
// {{.table.ClassName}}SearchReq 分页请求参数
|
// {{.table.ClassName}}SearchReq 分页请求参数
|
||||||
type {{.table.ClassName}}SearchReq struct {
|
type {{.table.ClassName}}SearchReq struct {
|
||||||
g.Meta `path:"/list" tags:"{{$.table.FunctionName}}" method:"get" summary:"{{$.table.FunctionName}}列表"`
|
g.Meta `path:"/list" tags:"{{$.table.FunctionName}}" method:"get" summary:"{{$.table.FunctionName}}列表"`
|
||||||
{{range $index, $column := .table.QueryColumns}}
|
|
||||||
{{$column.GoField}} {{if or (eq $column.GoType "Time") (eq $column.GoType "int") (eq $column.GoType "int64") (eq $column.GoType "uint") (eq $column.GoType "uint64") (eq $column.GoType "float") (eq $column.GoType "float64") (eq $column.GoType "bool")}}{{if eq $column.QueryType "BETWEEN"}}[]{{end}}string{{else}}{{if eq $column.QueryType "BETWEEN"}}[]{{end}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}"{{if ne $column.FieldValidation ""}} v:"{{$column.FieldValidation}}"{{end}}` //{{$column.ColumnComment}}
|
|
||||||
{{end}}
|
|
||||||
commonApi.PageReq
|
|
||||||
commonApi.Author
|
commonApi.Author
|
||||||
|
model.{{.table.ClassName}}SearchReq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// {{.table.ClassName}}SearchRes 列表返回结果
|
// {{.table.ClassName}}SearchRes 列表返回结果
|
||||||
type {{.table.ClassName}}SearchRes struct {
|
type {{.table.ClassName}}SearchRes struct {
|
||||||
g.Meta `mime:"application/json"`
|
g.Meta `mime:"application/json"`
|
||||||
commonApi.ListRes
|
*model.{{.table.ClassName}}SearchRes
|
||||||
List []*model.{{.table.ClassName}}ListRes `json:"list"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
//相关连表查询数据
|
||||||
|
type Linked{{$.table.ClassName}}DataSearchReq struct{
|
||||||
|
g.Meta `path:"/linkedData" tags:"{{$.table.FunctionName}}" method:"get" summary:"{{$.table.FunctionName}}关联表数据"`
|
||||||
|
commonApi.Author
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
//相关连表查询数据
|
||||||
|
type Linked{{$.table.ClassName}}DataSearchRes struct{
|
||||||
|
g.Meta `mime:"application/json"`
|
||||||
|
*model.Linked{{$.table.ClassName}}DataSearchRes
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
|
||||||
// {{.table.ClassName}}AddReq 添加操作请求参数
|
// {{.table.ClassName}}AddReq 添加操作请求参数
|
||||||
type {{.table.ClassName}}AddReq struct {
|
type {{.table.ClassName}}AddReq struct {
|
||||||
g.Meta `path:"/add" tags:"{{$.table.FunctionName}}" method:"post" summary:"{{$.table.FunctionName}}添加"`
|
g.Meta `path:"/add" tags:"{{$.table.FunctionName}}" method:"post" summary:"{{$.table.FunctionName}}添加"`
|
||||||
commonApi.Author
|
commonApi.Author
|
||||||
{{if .table.IsPkInsertable}}
|
*model.{{.table.ClassName}}AddReq
|
||||||
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `p:"{{.table.PkColumn.HtmlField}}" v:"required#主键ID不能为空"`
|
|
||||||
{{end}}
|
|
||||||
{{range $index, $column := .table.InsertColumns}}
|
|
||||||
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else if eq $column.HtmlType "checkbox"}}garray.StrArray{{else}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}" {{if $column.IsRequired}}v:"required#{{$column.ColumnComment}}不能为空"{{end}}`
|
|
||||||
{{end}}
|
|
||||||
{{if .table.HasCreatedBy}}
|
|
||||||
CreatedBy uint64
|
|
||||||
{{end}}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// {{.table.ClassName}}AddRes 添加操作返回结果
|
// {{.table.ClassName}}AddRes 添加操作返回结果
|
||||||
@ -90,13 +65,7 @@ type {{.table.ClassName}}AddRes struct {
|
|||||||
type {{.table.ClassName}}EditReq struct {
|
type {{.table.ClassName}}EditReq struct {
|
||||||
g.Meta `path:"/edit" tags:"{{$.table.FunctionName}}" method:"put" summary:"{{$.table.FunctionName}}修改"`
|
g.Meta `path:"/edit" tags:"{{$.table.FunctionName}}" method:"put" summary:"{{$.table.FunctionName}}修改"`
|
||||||
commonApi.Author
|
commonApi.Author
|
||||||
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `p:"{{.table.PkColumn.HtmlField}}" v:"required#主键ID不能为空"`
|
*model.{{.table.ClassName}}EditReq
|
||||||
{{range $index, $column := .table.EditColumns}}
|
|
||||||
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else if eq $column.HtmlType "checkbox"}}garray.StrArray{{else}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}" {{if $column.IsRequired}}v:"required#{{$column.ColumnComment}}不能为空"{{end}}`
|
|
||||||
{{end}}
|
|
||||||
{{if .table.HasUpdatedBy}}
|
|
||||||
UpdatedBy uint64
|
|
||||||
{{end}}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// {{.table.ClassName}}EditRes 修改操作返回结果
|
// {{.table.ClassName}}EditRes 修改操作返回结果
|
||||||
|
@ -9,7 +9,11 @@
|
|||||||
////
|
////
|
||||||
|
|
||||||
{{$structName := .table.BusinessName | CaseCamelLower}}
|
{{$structName := .table.BusinessName | CaseCamelLower}}
|
||||||
|
{{$businessName := .table.BusinessName | CaseCamelLower}}
|
||||||
|
{{$plugin:=""}}
|
||||||
|
{{if ContainsI $.table.PackageName "plugins"}}
|
||||||
|
{{$plugin = "plugins/"}}
|
||||||
|
{{end}}
|
||||||
package controller
|
package controller
|
||||||
////
|
////
|
||||||
|
|
||||||
@ -20,6 +24,14 @@ import (
|
|||||||
{{if ne $.table.ModuleName "system"}}
|
{{if ne $.table.ModuleName "system"}}
|
||||||
systemController "{{.goModName}}/internal/app/system/controller"
|
systemController "{{.goModName}}/internal/app/system/controller"
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
"errors"
|
||||||
|
{{if ne $.table.ModuleName "system"}}
|
||||||
|
systemService "github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||||
|
{{else}}
|
||||||
|
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
)
|
)
|
||||||
////
|
////
|
||||||
type {{$structName}}Controller struct {
|
type {{$structName}}Controller struct {
|
||||||
@ -34,29 +46,48 @@ var {{.table.ClassName}} = new({{$structName}}Controller)
|
|||||||
////
|
////
|
||||||
// List 列表
|
// List 列表
|
||||||
func (c *{{$structName}}Controller) List(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}SearchReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes, err error) {
|
func (c *{{$structName}}Controller) List(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}SearchReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes, err error) {
|
||||||
res, err = service.{{.table.ClassName}}().List(ctx, req)
|
res = new({{.table.ModuleName}}.{{.table.ClassName}}SearchRes)
|
||||||
return
|
res.{{.table.ClassName}}SearchRes, err = service.{{.table.ClassName}}().List(ctx, &req.{{.table.ClassName}}SearchReq)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
// LinkedDataSearch 相关连表查询数据
|
||||||
|
func(c *{{$structName}}Controller) Linked{{$.table.ClassName}}DataSearch(ctx context.Context, req *{{.table.ModuleName}}.Linked{{$.table.ClassName}}DataSearchReq) (res *{{.table.ModuleName}}.Linked{{$.table.ClassName}}DataSearchRes, err error) {
|
||||||
|
{{$serviceVal := "service"}}
|
||||||
|
{{if ne $.table.ModuleName "system"}}
|
||||||
|
{{$serviceVal = "systemService"}}
|
||||||
|
{{end}}
|
||||||
|
if !{{$serviceVal}}.SysUser().AccessRule(ctx, {{$serviceVal}}.Context().GetUserId(ctx), "{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/list") {
|
||||||
|
err = errors.New("没有访问权限")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
res = new({{.table.ModuleName}}.Linked{{$.table.ClassName}}DataSearchRes)
|
||||||
|
res.Linked{{$.table.ClassName}}DataSearchRes,err = service.{{.table.ClassName}}().Linked{{$.table.ClassName}}DataSearch(ctx)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
////
|
////
|
||||||
// Get 获取{{.table.FunctionName}}
|
// Get 获取{{.table.FunctionName}}
|
||||||
func (c *{{$structName}}Controller) Get(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}GetReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}GetRes, err error) {
|
func (c *{{$structName}}Controller) Get(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}GetReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}GetRes, err error) {
|
||||||
res = new({{.table.ModuleName}}.{{.table.ClassName}}GetRes)
|
res = new({{.table.ModuleName}}.{{.table.ClassName}}GetRes)
|
||||||
res.{{.table.ClassName}}InfoRes,err = service.{{.table.ClassName}}().GetBy{{.table.PkColumn.GoField}}(ctx, req.{{.table.PkColumn.GoField}})
|
res.{{.table.ClassName}}InfoRes,err = service.{{.table.ClassName}}().GetBy{{.table.PkColumn.GoField}}(ctx, req.{{.table.PkColumn.GoField}})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
////
|
////
|
||||||
// Add 添加{{.table.FunctionName}}
|
// Add 添加{{.table.FunctionName}}
|
||||||
func (c *{{$structName}}Controller) Add(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}AddReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}AddRes, err error) {
|
func (c *{{$structName}}Controller) Add(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}AddReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}AddRes, err error) {
|
||||||
err = service.{{.table.ClassName}}().Add(ctx, req)
|
err = service.{{.table.ClassName}}().Add(ctx, req.{{.table.ClassName}}AddReq)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
////
|
////
|
||||||
// Edit 修改{{.table.FunctionName}}
|
// Edit 修改{{.table.FunctionName}}
|
||||||
func (c *{{$structName}}Controller) Edit(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}EditReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}EditRes, err error) {
|
func (c *{{$structName}}Controller) Edit(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}EditReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}EditRes, err error) {
|
||||||
err = service.{{.table.ClassName}}().Edit(ctx, req)
|
err = service.{{.table.ClassName}}().Edit(ctx, req.{{.table.ClassName}}EditReq)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,22 +14,32 @@ package logic
|
|||||||
////
|
////
|
||||||
{{$gjson:=false}}
|
{{$gjson:=false}}
|
||||||
{{$usedSystemModule:=false}}
|
{{$usedSystemModule:=false}}
|
||||||
|
{{$gstr:=false}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if eq $column.HtmlType "images" "file" "files"}}
|
{{if eq $column.HtmlType "images" "file" "files"}}
|
||||||
{{$gjson = true}}
|
{{$gjson = true}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if eq $column.HtmlField "createdBy" "updatedBy" "deletedBy"}}
|
{{if and (eq $column.HtmlField "createdBy" "updatedBy" "deletedBy") (ne $.table.ModuleName "system")}}
|
||||||
{{$usedSystemModule = true}}
|
{{$usedSystemModule = true}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if eq $column.HtmlType "selects" "checkbox"}}
|
||||||
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
{{$gstr = true}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
{{if $gstr}}
|
||||||
|
"github.com/gogf/gf/v2/text/gstr"
|
||||||
|
{{end}}
|
||||||
{{if or .table.HasConversion (eq .table.TplCategory "tree")}}
|
{{if or .table.HasConversion (eq .table.TplCategory "tree")}}
|
||||||
"github.com/gogf/gf/v2/util/gconv"
|
"github.com/gogf/gf/v2/util/gconv"
|
||||||
{{end}}
|
{{end}}
|
||||||
"{{.goModName}}/api/v1/{{.table.ModuleName}}"
|
|
||||||
"{{.goModName}}/{{.table.PackageName}}/dao"
|
"{{.goModName}}/{{.table.PackageName}}/dao"
|
||||||
"{{.goModName}}/{{.table.PackageName}}/model"
|
"{{.goModName}}/{{.table.PackageName}}/model"
|
||||||
"{{.goModName}}/{{.table.PackageName}}/model/do"
|
"{{.goModName}}/{{.table.PackageName}}/model/do"
|
||||||
@ -44,6 +54,21 @@ import (
|
|||||||
"{{.goModName}}/library/libUtils"
|
"{{.goModName}}/library/libUtils"
|
||||||
{{end}}
|
{{end}}
|
||||||
"{{.goModName}}/library/liberr"
|
"{{.goModName}}/library/liberr"
|
||||||
|
|
||||||
|
|
||||||
|
{{/*去重处理-导入关联表依赖包*/}}
|
||||||
|
{{$hasMethods:=newArray}}
|
||||||
|
{{range $index,$column:= .table.LinkedTables}}
|
||||||
|
{{if ne $column.TableName ""}}
|
||||||
|
{{if not (inArray $hasMethods (concat "list" $column.ClassName))}}
|
||||||
|
{{$hasMethods = append $hasMethods (concat "list" $column.ClassName)}}
|
||||||
|
{{/*关联{{$column.LinkTableName}}表选项*/}}
|
||||||
|
{{if ne $column.PackageName $.table.PackageName}}
|
||||||
|
linked{{$column.ClassName}}Dao {{$.goModName}}/{{$column.PackageName}}/dao
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -68,14 +93,14 @@ func init() {
|
|||||||
service.Register{{.table.ClassName}}(New())
|
service.Register{{.table.ClassName}}(New())
|
||||||
}
|
}
|
||||||
////
|
////
|
||||||
func New() *s{{.table.ClassName}} {
|
func New() service.I{{.table.ClassName}} {
|
||||||
return &s{{.table.ClassName}}{}
|
return &s{{.table.ClassName}}{}
|
||||||
}
|
}
|
||||||
////
|
////
|
||||||
type s{{.table.ClassName}} struct{}
|
type s{{.table.ClassName}} struct{}
|
||||||
////
|
////
|
||||||
func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}SearchReq) (listRes *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes, err error){
|
func (s *s{{.table.ClassName}})List(ctx context.Context, req *model.{{.table.ClassName}}SearchReq) (listRes *model.{{.table.ClassName}}SearchRes, err error){
|
||||||
listRes = new({{.table.ModuleName}}.{{.table.ClassName}}SearchRes)
|
listRes = new(model.{{.table.ClassName}}SearchRes)
|
||||||
err = g.Try(ctx, func(ctx context.Context) {
|
err = g.Try(ctx, func(ctx context.Context) {
|
||||||
m := dao.{{.table.ClassName}}.Ctx(ctx).WithAll()
|
m := dao.{{.table.ClassName}}.Ctx(ctx).WithAll()
|
||||||
{{range $index, $column := .table.QueryColumns}}
|
{{range $index, $column := .table.QueryColumns}}
|
||||||
@ -128,15 +153,15 @@ func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
if req.OrderBy!=""{
|
if req.OrderBy!=""{
|
||||||
order = req.OrderBy
|
order = req.OrderBy
|
||||||
}
|
}
|
||||||
var res []*model.{{.table.ClassName}}InfoRes
|
var res []*model.{{.table.ClassName}}ListRes
|
||||||
err = m.Fields({{.table.ModuleName}}.{{.table.ClassName}}SearchRes{}).Page(req.PageNum, req.PageSize).Order(order).Scan(&res)
|
err = m.Page(req.PageNum, req.PageSize).Order(order).Scan(&res)
|
||||||
{{else}}
|
{{else}}
|
||||||
order:= "{{.table.SortColumn}} {{.table.SortType}}"
|
order:= "{{.table.SortColumn}} {{.table.SortType}}"
|
||||||
if req.OrderBy!=""{
|
if req.OrderBy!=""{
|
||||||
order = req.OrderBy
|
order = req.OrderBy
|
||||||
}
|
}
|
||||||
var res []*model.{{.table.ClassName}}InfoRes
|
var res []*model.{{.table.ClassName}}ListRes
|
||||||
err = m.Fields({{.table.ModuleName}}.{{.table.ClassName}}SearchRes{}).Order(order).Scan(&res)
|
err = m.Order(order).Scan(&res)
|
||||||
{{end}}
|
{{end}}
|
||||||
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
||||||
listRes.List = make([]*model.{{.table.ClassName}}ListRes,len(res))
|
listRes.List = make([]*model.{{.table.ClassName}}ListRes,len(res))
|
||||||
@ -146,6 +171,16 @@ func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
{{$column.HtmlField}}:= ([]*comModel.UpFile)(nil)
|
{{$column.HtmlField}}:= ([]*comModel.UpFile)(nil)
|
||||||
err = gjson.DecodeTo(v.{{$column.GoField}},&{{$column.HtmlField}})
|
err = gjson.DecodeTo(v.{{$column.GoField}},&{{$column.HtmlField}})
|
||||||
liberr.ErrIsNil(ctx,err)
|
liberr.ErrIsNil(ctx,err)
|
||||||
|
{{else if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}
|
||||||
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
err = g.Model("{{$linkedTable.TableName}}").
|
||||||
|
Fields(model.Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}{}).
|
||||||
|
Where("id", gstr.Split(v.{{$column.GoField}}, ",")).
|
||||||
|
Scan(&v.Linked{{$column.GoField}})
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
listRes.List[k] = &model.{{.table.ClassName}}ListRes{
|
listRes.List[k] = &model.{{.table.ClassName}}ListRes{
|
||||||
@ -154,6 +189,12 @@ func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
{{if or (eq $column.HtmlField $.table.TreeCode) (eq $column.HtmlField $.table.TreeParentCode) (eq $column.HtmlField $.table.TreeName) }}
|
{{if or (eq $column.HtmlField $.table.TreeCode) (eq $column.HtmlField $.table.TreeParentCode) (eq $column.HtmlField $.table.TreeName) }}
|
||||||
{{$column.GoField}} : v.{{$column.GoField}},
|
{{$column.GoField}} : v.{{$column.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
|
CreatedUser:v.CreatedUser,
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "UpdatedBy"}}
|
||||||
|
UpdatedUser:v.UpdatedUser,
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
||||||
@ -174,6 +215,12 @@ func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
{{.table.PkColumn.GoField}} : v.{{.table.PkColumn.GoField}},
|
{{.table.PkColumn.GoField}} : v.{{.table.PkColumn.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.ListColumns}}
|
{{range $index, $column := .table.ListColumns}}
|
||||||
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
|
CreatedUser:v.CreatedUser,
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "UpdatedBy"}}
|
||||||
|
UpdatedUser:v.UpdatedUser,
|
||||||
|
{{end}}
|
||||||
{{if eq $column.HtmlType "images" "file" "files"}}
|
{{if eq $column.HtmlType "images" "file" "files"}}
|
||||||
{{$column.GoField}} : {{$column.HtmlField}},
|
{{$column.GoField}} : {{$column.HtmlField}},
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -191,19 +238,57 @@ func (s *s{{.table.ClassName}})List(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
////
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
// LinkedDataSearch 相关连表查询数据
|
||||||
|
func(s *s{{.table.ClassName}}) Linked{{$.table.ClassName}}DataSearch(ctx context.Context) (res *model.Linked{{$.table.ClassName}}DataSearchRes, err error) {
|
||||||
|
res = new(model.Linked{{$.table.ClassName}}DataSearchRes)
|
||||||
|
{{/*去重处理-导入关联表依赖包*/}}
|
||||||
|
{{$hasMethods3:=newArray}}
|
||||||
|
{{range $index,$column:= .table.LinkedTables}}
|
||||||
|
{{if ne $column.TableName ""}}
|
||||||
|
{{if not (inArray $hasMethods3 (concat "list" $column.ClassName))}}
|
||||||
|
{{$hasMethods3 = append $hasMethods3 (concat "list" $column.ClassName)}}
|
||||||
|
{{/*关联{{$column.LinkTableName}}表选项*/}}
|
||||||
|
res.Linked{{$.table.ClassName}}{{$column.ClassName}}, err = s.List{{$.table.ClassName}}{{$column.ClassName}}(ctx)
|
||||||
|
liberr.ErrIsNil(ctx,err,"获取关联表信息失败")
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
////
|
////
|
||||||
func (s *s{{.table.ClassName}})GetBy{{$pkGoField}}(ctx context.Context, {{$.table.PkColumn.HtmlField}} {{$.table.PkColumn.GoType}}) (res *model.{{.table.ClassName}}InfoRes,err error){
|
func (s *s{{.table.ClassName}})GetBy{{$pkGoField}}(ctx context.Context, {{$.table.PkColumn.HtmlField}} {{$.table.PkColumn.GoType}}) (res *model.{{.table.ClassName}}InfoRes,err error){
|
||||||
err =g.Try(ctx, func(ctx context.Context){
|
err =g.Try(ctx, func(ctx context.Context){
|
||||||
err = dao.{{.table.ClassName}}.Ctx(ctx).WithAll().Where(dao.{{.table.ClassName}}.Columns().{{$pkGoField}}, {{$.table.PkColumn.HtmlField}}).Scan(&res)
|
err = dao.{{.table.ClassName}}.Ctx(ctx).WithAll().Where(dao.{{.table.ClassName}}.Columns().{{$pkGoField}}, {{$.table.PkColumn.HtmlField}}).Scan(&res)
|
||||||
liberr.ErrIsNil(ctx,err,"获取信息失败")
|
liberr.ErrIsNil(ctx,err,"获取信息失败")
|
||||||
|
{{range $index, $column := .table.Columns}}
|
||||||
|
{{if and $column.IsList (eq $column.HtmlType "images" "file" "files")}}
|
||||||
|
{{$column.HtmlField}}:= ([]*comModel.UpFile)(nil)
|
||||||
|
err = gjson.DecodeTo(v.{{$column.GoField}},&{{$column.HtmlField}})
|
||||||
|
liberr.ErrIsNil(ctx,err)
|
||||||
|
{{else if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}
|
||||||
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
err = g.Model("{{$linkedTable.TableName}}").
|
||||||
|
Fields(model.Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}{}).
|
||||||
|
Where("id", gstr.Split(res.{{$column.GoField}}, ",")).
|
||||||
|
Scan(&res.Linked{{$column.GoField}})
|
||||||
|
liberr.ErrIsNil(ctx, err)
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
////
|
////
|
||||||
func (s *s{{.table.ClassName}})Add(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}AddReq) (err error){
|
func (s *s{{.table.ClassName}})Add(ctx context.Context, req *model.{{.table.ClassName}}AddReq) (err error){
|
||||||
err = g.Try(ctx, func(ctx context.Context) {
|
err = g.Try(ctx, func(ctx context.Context) {
|
||||||
{{range $index, $column := .table.InsertColumns}}
|
{{range $index, $column := .table.EditColumns}}
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}} := ""
|
{{$column.HtmlField}} := ""
|
||||||
req.{{$column.GoField}}.FilterEmpty()
|
req.{{$column.GoField}}.FilterEmpty()
|
||||||
if !req.{{$column.GoField}}.IsEmpty(){
|
if !req.{{$column.GoField}}.IsEmpty(){
|
||||||
@ -220,8 +305,8 @@ func (s *s{{.table.ClassName}})Add(ctx context.Context, req *{{.table.ModuleName
|
|||||||
{{if .table.IsPkInsertable}}
|
{{if .table.IsPkInsertable}}
|
||||||
{{.table.PkColumn.GoField}}:req.{{.table.PkColumn.GoField}},
|
{{.table.PkColumn.GoField}}:req.{{.table.PkColumn.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.InsertColumns}}
|
{{range $index, $column := .table.EditColumns}}
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.GoField}}:{{$column.HtmlField}},
|
{{$column.GoField}}:{{$column.HtmlField}},
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.GoField}}:req.{{$column.GoField}},
|
{{$column.GoField}}:req.{{$column.GoField}},
|
||||||
@ -236,10 +321,10 @@ func (s *s{{.table.ClassName}})Add(ctx context.Context, req *{{.table.ModuleName
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
////
|
////
|
||||||
func (s *s{{.table.ClassName}})Edit(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}EditReq) (err error){
|
func (s *s{{.table.ClassName}})Edit(ctx context.Context, req *model.{{.table.ClassName}}EditReq) (err error){
|
||||||
err = g.Try(ctx, func(ctx context.Context) {
|
err = g.Try(ctx, func(ctx context.Context) {
|
||||||
{{range $index, $column := .table.EditColumns}}
|
{{range $index, $column := .table.EditColumns}}
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}} := ""
|
{{$column.HtmlField}} := ""
|
||||||
req.{{$column.GoField}}.FilterEmpty()
|
req.{{$column.GoField}}.FilterEmpty()
|
||||||
if !req.{{$column.GoField}}.IsEmpty(){
|
if !req.{{$column.GoField}}.IsEmpty(){
|
||||||
@ -254,7 +339,7 @@ func (s *s{{.table.ClassName}})Edit(ctx context.Context, req *{{.table.ModuleNam
|
|||||||
{{end}}
|
{{end}}
|
||||||
_, err = dao.{{.table.ClassName}}.Ctx(ctx).WherePri(req.{{.table.PkColumn.GoField}}).Update(do.{{.table.ClassName}}{
|
_, err = dao.{{.table.ClassName}}.Ctx(ctx).WherePri(req.{{.table.PkColumn.GoField}}).Update(do.{{.table.ClassName}}{
|
||||||
{{range $index, $column := .table.EditColumns}}
|
{{range $index, $column := .table.EditColumns}}
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.GoField}}:{{$column.HtmlField}},
|
{{$column.GoField}}:{{$column.HtmlField}},
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.GoField}}:req.{{$column.GoField}},
|
{{$column.GoField}}:req.{{$column.GoField}},
|
||||||
@ -288,7 +373,7 @@ func (s *s{{.table.ClassName}})GetChildrenIds(ctx context.Context,ids []{{$.tabl
|
|||||||
err = g.Try(ctx,func(ctx context.Context){
|
err = g.Try(ctx,func(ctx context.Context){
|
||||||
//获取所有
|
//获取所有
|
||||||
var all *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes
|
var all *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes
|
||||||
all, err = s.List(ctx, &{{.table.ModuleName}}.{{.table.ClassName}}SearchReq{})
|
all.{{.table.ClassName}}SearchRes, err = s.List(ctx, &model.{{.table.ClassName}}SearchReq{})
|
||||||
liberr.ErrIsNil(ctx,err)
|
liberr.ErrIsNil(ctx,err)
|
||||||
list := make(g.List, len(all.List))
|
list := make(g.List, len(all.List))
|
||||||
for k, info := range all.List {
|
for k, info := range all.List {
|
||||||
@ -304,4 +389,25 @@ func (s *s{{.table.ClassName}})GetChildrenIds(ctx context.Context,ids []{{$.tabl
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{/*去重处理-导入关联表依赖包*/}}
|
||||||
|
{{$hasMethods2:=newArray}}
|
||||||
|
{{range $index,$column:= .table.LinkedTables}}
|
||||||
|
{{if ne $column.TableName ""}}
|
||||||
|
{{if not (inArray $hasMethods2 (concat "list" $column.ClassName))}}
|
||||||
|
{{$hasMethods2 = append $hasMethods2 (concat "list" $column.ClassName)}}
|
||||||
|
{{/*关联{{$column.LinkTableName}}表选项*/}}
|
||||||
|
func (s *s{{$.table.ClassName}}) List{{$.table.ClassName}}{{$column.ClassName}}(ctx context.Context)(linked{{$.table.ClassName}}{{$column.ClassName}} []*model.Linked{{$.table.ClassName}}{{$column.ClassName}},err error){
|
||||||
|
err = g.Try(ctx,func(ctx context.Context){
|
||||||
|
err = {{if ne $column.PackageName $.table.PackageName}}linked{{$column.ClassName}}Dao{{else}}dao{{end}}.{{$column.ClassName}}.
|
||||||
|
Ctx(ctx).
|
||||||
|
Fields(model.Linked{{$.table.ClassName}}{{$column.ClassName}}{}).Scan(&linked{{$.table.ClassName}}{{$column.ClassName}})
|
||||||
|
liberr.ErrIsNil(ctx,err)
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
////
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
@ -9,11 +9,44 @@
|
|||||||
////
|
////
|
||||||
package model
|
package model
|
||||||
////
|
////
|
||||||
|
{{$hasUpFile:=false}}
|
||||||
|
{{$hasArr:=false}}
|
||||||
|
{{$hasGtime:=false}}
|
||||||
|
{{$hasUser:=false}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{range $index,$column :=.table.Columns}}
|
||||||
|
{{if and (eq $column.HtmlField "createdBy" "updatedBy") (ne $.table.ModuleName "system")}}
|
||||||
|
{{$hasUser = true}}
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlType "imagefile" "images" "file" "files" }}
|
||||||
|
{{$hasUpFile = true}}
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
|
{{$hasArr = true}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{range $index,$column :=.table.EditColumns}}
|
||||||
|
{{if and (eq $column.HtmlField "createdBy" "updatedBy") (ne $.table.ModuleName "system")}}
|
||||||
|
{{$hasUser = true}}
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.GoType "Time"}}
|
||||||
|
{{$hasGtime = true}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
import (
|
import (
|
||||||
{{if .table.HasTimeColumn}}
|
{{if $hasArr}}
|
||||||
|
"github.com/gogf/gf/v2/container/garray"
|
||||||
|
{{end}}
|
||||||
|
{{if and .table.HasTimeColumn $hasGtime}}
|
||||||
"github.com/gogf/gf/v2/os/gtime"
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
{{end}}
|
{{end}}
|
||||||
"github.com/gogf/gf/v2/util/gmeta"
|
"github.com/gogf/gf/v2/util/gmeta"
|
||||||
|
comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
|
||||||
|
{{if $hasUser}}
|
||||||
|
systemModel "github.com/tiger1103/gfast/v3/internal/app/system/model"
|
||||||
|
{{end}}
|
||||||
)
|
)
|
||||||
|
|
||||||
////
|
////
|
||||||
@ -21,12 +54,18 @@ import (
|
|||||||
type {{.table.ClassName}}InfoRes struct {
|
type {{.table.ClassName}}InfoRes struct {
|
||||||
gmeta.Meta `orm:"table:{{.table.TableName}}"`
|
gmeta.Meta `orm:"table:{{.table.TableName}}"`
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if $column.IsPk}}{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}},primary" json:"{{$column.HtmlField}}"` // {{$column.ColumnComment}} {{else}}{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}}" json:"{{$column.HtmlField}}"` // {{$column.ColumnComment}} {{end}}
|
{{if $column.IsPk}}{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}},primary" json:"{{$column.HtmlField}}" dc:"{{$column.ColumnComment}}"` // {{$column.ColumnComment}} {{else}}{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}}" json:"{{$column.HtmlField}}" dc:"{{$column.ColumnComment}}"` // {{$column.ColumnComment}} {{end}}
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
Linked{{$column.GoField}} *Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" json:"linked{{$column.GoField}}"`
|
Linked{{$column.GoField}} {{if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}[]{{end}}*Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `{{if not (eq $column.HtmlType "selects" "checkbox" "treeSelects")}}orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" {{end}}json:"linked{{$column.GoField}}"`
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
|
CreatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=created_by" json:"createdUser"`
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
|
UpdatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=updated_by" json:"updatedUser"`
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,9 +74,13 @@ type {{.table.ClassName}}InfoRes struct {
|
|||||||
type Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} struct {
|
type Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} struct {
|
||||||
gmeta.Meta `orm:"table:{{$linkedTable.TableName}}"`
|
gmeta.Meta `orm:"table:{{$linkedTable.TableName}}"`
|
||||||
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
||||||
{{$linkedColumn.GoField}} {{if eq $linkedColumn.GoType "Time"}}*gtime.Time{{else}}{{$linkedColumn.GoType}}{{end}} `orm:"{{$linkedColumn.ColumnName}}" json:"{{$linkedColumn.HtmlField}}"` // {{$linkedColumn.ColumnComment}}
|
{{$linkedColumn.GoField}} {{if eq $linkedColumn.GoType "Time"}}*gtime.Time{{else}}{{$linkedColumn.GoType}}{{end}} `orm:"{{$linkedColumn.ColumnName}}" json:"{{$linkedColumn.HtmlField}}" dc:"{{$linkedColumn.ColumnComment}}"` // {{$linkedColumn.ColumnComment}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if eq $linkedTable.TplCategory "tree"}}
|
||||||
|
{{$linkedTable.OptionsStruct.ColumnAttr.GoField}} {{$linkedTable.OptionsStruct.ColumnAttr.GoType}} `orm:"{{$linkedTable.OptionsStruct.ColumnAttr.ColumnName}}" json:"{{$linkedTable.OptionsStruct.ColumnAttr.HtmlField}}"`
|
||||||
|
{{end}}
|
||||||
}
|
}
|
||||||
|
////
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
////
|
////
|
||||||
@ -45,30 +88,95 @@ type {{.table.ClassName}}ListRes struct{
|
|||||||
{{if eq .table.TplCategory "tree"}}
|
{{if eq .table.TplCategory "tree"}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if or (eq $column.HtmlField $.table.TreeCode) (eq $column.HtmlField $.table.TreeParentCode) (eq $column.HtmlField $.table.TreeName) }}
|
{{if or (eq $column.HtmlField $.table.TreeCode) (eq $column.HtmlField $.table.TreeParentCode) (eq $column.HtmlField $.table.TreeName) }}
|
||||||
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}"`
|
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}" dc:"{{$column.ColumnComment}}"`
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
|
CreatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=created_by" json:"createdUser"`
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
|
UpdatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=updated_by" json:"updatedBy"`
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
||||||
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}"`
|
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}" dc:"{{$column.ColumnComment}}"`
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
Linked{{$column.GoField}} *Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" json:"linked{{$column.GoField}}"`
|
Linked{{$column.GoField}} {{if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}[]{{end}}*Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `{{if not (eq $column.HtmlType "selects" "checkbox" "treeSelects")}}orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" {{end}}json:"linked{{$column.GoField}}" dc:"{{$column.ColumnComment}}"`
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{if not .table.IsPkListable }}
|
{{if not .table.IsPkListable }}
|
||||||
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `json:"{{.table.PkColumn.HtmlField}}"`
|
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `json:"{{.table.PkColumn.HtmlField}}" dc:"{{.table.PkColumn.ColumnComment}}"`
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.ListColumns}}
|
{{range $index, $column := .table.ListColumns}}
|
||||||
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}"`
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
|
CreatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=created_by" json:"createdUser"`
|
||||||
|
{{end}}
|
||||||
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
|
UpdatedUser *{{if $hasUser}}systemModel.{{end}}LinkUserRes `orm:"with:id=updated_by" json:"updatedBy"`
|
||||||
|
{{end}}
|
||||||
|
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else}}{{$column.GoType}}{{end}} `json:"{{$column.HtmlField}}" dc:"{{$column.ColumnComment}}"`
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
Linked{{$column.GoField}} *Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" json:"linked{{$column.GoField}}"`
|
Linked{{$column.GoField}} {{if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}[]{{end}}*Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `{{if not (eq $column.HtmlType "selects" "checkbox" "treeSelects")}}orm:"with:{{$column.LinkLabelId}}={{$column.ColumnName}}" {{end}}json:"linked{{$column.GoField}}" dc:"{{$column.ColumnComment}}"`
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// {{.table.ClassName}}SearchReq 分页请求参数
|
||||||
|
type {{.table.ClassName}}SearchReq struct {
|
||||||
|
{{if ne $.table.ModuleName "common"}}
|
||||||
|
comModel.PageReq
|
||||||
|
{{end}}
|
||||||
|
{{range $index, $column := .table.QueryColumns}}
|
||||||
|
{{$column.GoField}} {{if eq $column.GoType "Time" "int" "int64" "uint" "uint64" "float" "float64" "bool"}}{{if eq $column.QueryType "BETWEEN"}}[]{{end}}string{{else}}{{if eq $column.QueryType "BETWEEN"}}[]{{end}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}"{{if ne $column.FieldValidation ""}} v:"{{$column.FieldValidation}}"{{end}} dc:"{{$column.ColumnComment}}"` //{{$column.ColumnComment}}
|
||||||
|
{{end}}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// {{.table.ClassName}}SearchRes 列表返回结果
|
||||||
|
type {{.table.ClassName}}SearchRes struct {
|
||||||
|
comModel.ListRes
|
||||||
|
List []*{{.table.ClassName}}ListRes `json:"list"`
|
||||||
|
}
|
||||||
|
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
//相关连表查询数据
|
||||||
|
type Linked{{$.table.ClassName}}DataSearchRes struct{
|
||||||
|
{{range $ti, $linkedTable := .table.LinkedTables}}
|
||||||
|
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} []*Linked{{$.table.ClassName}}{{$linkedTable.ClassName}} `json:"linked{{$.table.ClassName}}{{$linkedTable.ClassName}}"`
|
||||||
|
{{end}}
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
|
||||||
|
// {{.table.ClassName}}AddReq 添加操作请求参数
|
||||||
|
type {{.table.ClassName}}AddReq struct {
|
||||||
|
{{if .table.IsPkInsertable}}
|
||||||
|
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `p:"{{.table.PkColumn.HtmlField}}" v:"required#主键ID不能为空" dc:"{{.table.PkColumn.ColumnComment}}"`
|
||||||
|
{{end}}
|
||||||
|
{{range $index, $column := .table.EditColumns}}
|
||||||
|
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}garray.StrArray{{else}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}" {{if $column.IsRequired}}v:"required#{{$column.ColumnComment}}不能为空"{{end}} dc:"{{$column.ColumnComment}}"`
|
||||||
|
{{end}}
|
||||||
|
{{if .table.HasCreatedBy}}
|
||||||
|
CreatedBy uint64
|
||||||
|
{{end}}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// {{.table.ClassName}}EditReq 修改操作请求参数
|
||||||
|
type {{.table.ClassName}}EditReq struct {
|
||||||
|
{{.table.PkColumn.GoField}} {{.table.PkColumn.GoType}} `p:"{{.table.PkColumn.HtmlField}}" v:"required#主键ID不能为空" dc:"{{.table.PkColumn.ColumnComment}}"`
|
||||||
|
{{range $index, $column := .table.EditColumns}}
|
||||||
|
{{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else if eq $column.HtmlType "images" "file" "files"}}[]*comModel.UpFile{{else if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}garray.StrArray{{else}}{{$column.GoType}}{{end}} `p:"{{$column.HtmlField}}" {{if $column.IsRequired}}v:"required#{{$column.ColumnComment}}不能为空"{{end}} dc:"{{$column.ColumnComment}}"`
|
||||||
|
{{end}}
|
||||||
|
{{if .table.HasUpdatedBy}}
|
||||||
|
UpdatedBy uint64
|
||||||
|
{{end}}
|
||||||
|
}
|
||||||
|
@ -22,7 +22,6 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"{{.goModName}}/api/v1/{{.table.ModuleName}}"
|
|
||||||
"{{.goModName}}/{{.table.PackageName}}/model"
|
"{{.goModName}}/{{.table.PackageName}}/model"
|
||||||
{{if or .table.HasConversion (eq .table.TplCategory "tree")}}
|
{{if or .table.HasConversion (eq .table.TplCategory "tree")}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -30,11 +29,14 @@ import (
|
|||||||
|
|
||||||
////
|
////
|
||||||
type I{{.table.ClassName}} interface {
|
type I{{.table.ClassName}} interface {
|
||||||
List(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}SearchReq) (res *{{.table.ModuleName}}.{{.table.ClassName}}SearchRes, err error)
|
List(ctx context.Context, req *model.{{.table.ClassName}}SearchReq) (res *model.{{.table.ClassName}}SearchRes, err error)
|
||||||
GetBy{{.table.PkColumn.GoField}}(ctx context.Context, {{.table.PkColumn.GoField}} {{$.table.PkColumn.GoType}}) (res *model.{{.table.ClassName}}InfoRes,err error)
|
GetBy{{.table.PkColumn.GoField}}(ctx context.Context, {{.table.PkColumn.GoField}} {{$.table.PkColumn.GoType}}) (res *model.{{.table.ClassName}}InfoRes,err error)
|
||||||
Add(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}AddReq) (err error)
|
Add(ctx context.Context, req *model.{{.table.ClassName}}AddReq) (err error)
|
||||||
Edit(ctx context.Context, req *{{.table.ModuleName}}.{{.table.ClassName}}EditReq) (err error)
|
Edit(ctx context.Context, req *model.{{.table.ClassName}}EditReq) (err error)
|
||||||
Delete(ctx context.Context, {{$.table.PkColumn.GoField}} []{{$.table.PkColumn.GoType}}) (err error)
|
Delete(ctx context.Context, {{$.table.PkColumn.GoField}} []{{$.table.PkColumn.GoType}}) (err error)
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
Linked{{$.table.ClassName}}DataSearch(ctx context.Context)(res *model.Linked{{$.table.ClassName}}DataSearchRes,err error)
|
||||||
|
{{end}}
|
||||||
}
|
}
|
||||||
|
|
||||||
////
|
////
|
||||||
|
@ -78,31 +78,18 @@ export function change{{$.table.ClassName}}{{$column.GoField}}({{$.table.PkColum
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
{{if not (inArray $hasMethods (concat "list" $column.LinkTableClass))}}
|
|
||||||
{{$hasMethods = append $hasMethods (concat "list" $column.LinkTableClass)}}
|
|
||||||
// 关联{{$column.LinkTableName}}表选项
|
|
||||||
export function list{{$column.LinkTableClass}}(query:object){
|
|
||||||
return request({
|
|
||||||
url: '/{{$plugin}}{{$.apiVersion}}/{{$column.LinkTableModuleName}}/{{$column.LinkTableBusinessName | CaseCamelLower}}/list',
|
|
||||||
method: 'get',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
||||||
{{$getUserList = true}}
|
{{$getUserList = true}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if $getUserList}}
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
//获取用户信息列表
|
//相关连表查询数据
|
||||||
export function getUserList(uIds:number[]){
|
export function linkedDataSearch(){
|
||||||
return request({
|
return request({
|
||||||
url: '/{{.apiVersion|}}/system/user/getUsers',
|
url: '/{{$plugin}}{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/linkedData',
|
||||||
method: 'get',
|
method: 'get'
|
||||||
params: {ids:uIds}
|
})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
@ -7,7 +7,12 @@ export interface {{.table.ClassName}}TableColumns {
|
|||||||
{{end}}
|
{{end}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
{{if and $column.IsList (ne $column.HtmlField $.table.TreeCode) (ne $column.HtmlField $.table.TreeParentCode) (ne $column.HtmlField $.table.TreeName) }}
|
||||||
{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files"}}any[]{{else}}{{$column.TsType}}{{end}}; // {{$column.ColumnComment}}
|
{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}any[]{{else}}{{$column.TsType}}{{end}}; // {{$column.ColumnComment}}
|
||||||
|
{{end}}
|
||||||
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
linked{{$column.GoField}}?:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}; // {{$column.ColumnComment}}
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -18,7 +23,12 @@ export interface {{.table.ClassName}}TableColumns {
|
|||||||
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
||||||
{{$column.HtmlField}}:string; // {{$column.ColumnComment}}
|
{{$column.HtmlField}}:string; // {{$column.ColumnComment}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files"}}any[]{{else}}{{$column.TsType}}{{end}}; // {{$column.ColumnComment}}
|
{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}any[]{{else}}{{$column.TsType}}{{end}}; // {{$column.ColumnComment}}
|
||||||
|
{{end}}
|
||||||
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
linked{{$column.GoField}}?:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}[]{{end}}; // {{$column.ColumnComment}}
|
||||||
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -30,15 +40,15 @@ export interface {{.table.ClassName}}TableColumns {
|
|||||||
////
|
////
|
||||||
export interface {{.table.ClassName}}InfoData {
|
export interface {{.table.ClassName}}InfoData {
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if $column.IsPk}}{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox"}}any[]{{else if eq $column.HtmlType "radio"}}boolean{{else}}{{$column.TsType}}|undefined{{end}}; // {{$column.ColumnComment}} {{else}}{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox"}}any[]{{else if eq $column.HtmlType "radio"}}boolean{{else}}{{$column.TsType}}|undefined{{end}}; // {{$column.ColumnComment}} {{end}}
|
{{if $column.IsPk}}{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}any[]{{else if eq $column.HtmlType "radio"}}boolean{{else}}{{$column.TsType}}|undefined{{end}}; // {{$column.ColumnComment}} {{else}}{{$column.HtmlField}}:{{if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}any[]{{else if eq $column.HtmlType "radio"}}boolean{{else}}{{$column.TsType}}|undefined{{end}}; // {{$column.ColumnComment}} {{end}}
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
linked{{$column.GoField}}:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}; // {{$column.ColumnComment}}
|
linked{{$column.GoField}}?:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}}{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}[]{{end}}; // {{$column.ColumnComment}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $ti, $linkedTable := .table.LinkedTables}}
|
{{range $ti, $linkedTable := .table.LinkedTables}}
|
||||||
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}};
|
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}?:Linked{{$.table.ClassName}}{{$linkedTable.ClassName}};
|
||||||
{{end}}
|
{{end}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,16 +21,28 @@
|
|||||||
{{ $hasRowEnd = false }}
|
{{ $hasRowEnd = false }}
|
||||||
<el-row>
|
<el-row>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or (eq $column.HtmlType "input") (eq $column.HtmlType "textarea") (eq $column.HtmlType "radio") (eq $column.HtmlType "select")}}
|
{{if eq $column.HtmlType "input" "textarea" "radio" "checkbox" "select" "selects" "treeSelect" "treeSelects"}}
|
||||||
<el-col :span="{{$column.ColSpan}}">
|
<el-col :span="{{$column.ColSpan}}">
|
||||||
{{if ne $column.LinkTableName ""}}
|
{{if ne $column.LinkTableName ""}}
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
{{if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} formData.linked{{$column.GoField}}?formData.linked{{$column.GoField}}.map((res:any)=>{return res.{{CaseCamelLower $column.LinkLabelName}}}).join(','):'' {{"}}"}}</el-form-item>
|
||||||
|
{{else}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} formData.linked{{$column.GoField}}?formData.linked{{$column.GoField}}.{{CaseCamelLower $column.LinkLabelName}}:'' {{"}}"}}</el-form-item>
|
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} formData.linked{{$column.GoField}}?formData.linked{{$column.GoField}}.{{CaseCamelLower $column.LinkLabelName}}:'' {{"}}"}}</el-form-item>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{else if ne $column.DictType ""}}
|
{{else if ne $column.DictType ""}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} proxy.getOptionValue(formData.{{$column.HtmlField}}, {{$column.HtmlField}}Options,'value','label') {{"}}"}}</el-form-item>
|
{{if eq $column.HtmlType "checkbox" }}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}">
|
||||||
|
<el-tag class="ml-2" type="success" v-for="(item,key) in formData.{{$column.HtmlField}}" :key="'{{$column.HtmlField}}-'+key">
|
||||||
|
{{"{{"}} proxy.getOptionValue(item, {{$column.HtmlField}}Options,'value','label') {{"}}"}}
|
||||||
|
</el-tag>
|
||||||
|
</el-form-item>
|
||||||
|
{{else}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} proxy.getOptionValue(formData.{{$column.HtmlField}}, {{$column.HtmlField}}Options,'value','label') {{"}}"}}</el-form-item>
|
||||||
|
{{end}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} formData.{{$column.HtmlField}} {{"}}"}}</el-form-item>
|
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} formData.{{$column.HtmlField}} {{"}}"}}</el-form-item>
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -43,14 +55,6 @@
|
|||||||
<el-col :span="{{$column.ColSpan}}">
|
<el-col :span="{{$column.ColSpan}}">
|
||||||
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} proxy.parseTime(formData.{{$column.HtmlField}}, '{y}-{m}-{d} {h}:{i}:{s}') {{"}}"}}</el-form-item>
|
<el-form-item label="{{$column.ColumnComment}}">{{"{{"}} proxy.parseTime(formData.{{$column.HtmlField}}, '{y}-{m}-{d} {h}:{i}:{s}') {{"}}"}}</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{else if eq $column.HtmlType "checkbox" }}
|
|
||||||
<el-col :span="{{$column.ColSpan}}">
|
|
||||||
<el-form-item label="{{$column.ColumnComment}}">
|
|
||||||
<el-tag class="ml-2" type="success" v-for="(item,key) in formData.{{$column.HtmlField}}" :key="'{{$column.HtmlField}}-'+key">
|
|
||||||
{{"{{"}} proxy.getOptionValue(item, {{$column.HtmlField}}Options,'value','label') {{"}}"}}
|
|
||||||
</el-tag>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
{{else if eq $column.HtmlType "richtext"}}
|
{{else if eq $column.HtmlType "richtext"}}
|
||||||
<el-col :span="{{$column.ColSpan}}">
|
<el-col :span="{{$column.ColSpan}}">
|
||||||
<el-form-item label="{{$column.ColumnComment}}">
|
<el-form-item label="{{$column.ColumnComment}}">
|
||||||
@ -148,12 +152,6 @@
|
|||||||
{{if and $column.IsStatus $column.IsList}}
|
{{if and $column.IsStatus $column.IsList}}
|
||||||
change{{$.table.ClassName}}{{$column.GoField}},
|
change{{$.table.ClassName}}{{$column.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
{{if not (inArray $hasImports (concat "list" $column.LinkTableClass))}}
|
|
||||||
{{$hasImports = append $hasImports (concat "list" $column.LinkTableClass)}}
|
|
||||||
list{{$column.LinkTableClass}},
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if $getUserList}}
|
{{if $getUserList}}
|
||||||
getUserList,
|
getUserList,
|
||||||
@ -176,10 +174,7 @@
|
|||||||
{{.table.ClassName}}TableColumns,
|
{{.table.ClassName}}TableColumns,
|
||||||
{{.table.ClassName}}InfoData,
|
{{.table.ClassName}}InfoData,
|
||||||
{{.table.ClassName}}TableDataState,
|
{{.table.ClassName}}TableDataState,
|
||||||
{{.table.ClassName}}EditState,
|
{{.table.ClassName}}EditState
|
||||||
{{range $ti, $linkedTable := .table.LinkedTables}}
|
|
||||||
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
|
||||||
{{end}}
|
|
||||||
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail",
|
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail",
|
||||||
@ -242,17 +237,21 @@
|
|||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if eq $column.HtmlType "radio"}}
|
{{if eq $column.HtmlType "radio"}}
|
||||||
{{$column.HtmlField}}: false ,
|
{{$column.HtmlField}}: false ,
|
||||||
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
|
{{else if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}}: [] ,
|
{{$column.HtmlField}}: [] ,
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.HtmlField}}: undefined,
|
{{$column.HtmlField}}: undefined,
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
|
linked{{$column.GoField}}:[],
|
||||||
|
{{else}}
|
||||||
linked{{$column.GoField}}:{{ "{" }}{{CaseCamelLower $column.LinkLabelId}}:undefined,{{CaseCamelLower $column.LinkLabelName}}:undefined {{ "}" }},
|
linked{{$column.GoField}}:{{ "{" }}{{CaseCamelLower $column.LinkLabelId}}:undefined,{{CaseCamelLower $column.LinkLabelName}}:undefined {{ "}" }},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{range $ti, $linkedTable := .table.LinkedTables}}
|
{{range $ti, $linkedTable := .table.LinkedTables}}
|
||||||
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
|
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
|
||||||
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
||||||
@ -278,8 +277,6 @@
|
|||||||
if(row) {
|
if(row) {
|
||||||
get{{.table.ClassName}}(row.{{.table.PkColumn.HtmlField}}!).then((res:any)=>{
|
get{{.table.ClassName}}(row.{{.table.PkColumn.HtmlField}}!).then((res:any)=>{
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
{{$hasCreatedBy := false}}
|
|
||||||
{{$hasUpdatedBy := false}}
|
|
||||||
{{range $index, $column := .table.DetailColumns}}
|
{{range $index, $column := .table.DetailColumns}}
|
||||||
{{if and (ne $treeParentCode "") (eq $column.HtmlField $treeParentCode)}}
|
{{if and (ne $treeParentCode "") (eq $column.HtmlField $treeParentCode)}}
|
||||||
data.{{$treeParentCode}} = getTreeVal(props.{{$businessName}}Options,data.{{$treeParentCode}})
|
data.{{$treeParentCode}} = getTreeVal(props.{{$businessName}}Options,data.{{$treeParentCode}})
|
||||||
@ -292,42 +289,13 @@
|
|||||||
data.{{$column.HtmlField}} =data.{{$column.HtmlField}}?JSON.parse(data.{{$column.HtmlField}}) : []
|
data.{{$column.HtmlField}} =data.{{$column.HtmlField}}?JSON.parse(data.{{$column.HtmlField}}) : []
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if eq $column.HtmlField "createdBy"}}
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
{{$hasCreatedBy = true}}
|
data.createdBy = data?.createdUser.userNickname
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if eq $column.HtmlField "updatedBy"}}
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
{{$hasUpdatedBy = true}}
|
data.updatedBy = data?.updatedUser.userNickname
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
let listUid = [];
|
|
||||||
{{end}}
|
|
||||||
{{if and $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
listUid.push(data.createdBy,data.updatedBy)
|
|
||||||
{{else if $hasCreatedBy}}
|
|
||||||
listUid.push(data.createdBy)
|
|
||||||
{{else if $hasUpdatedBy}}
|
|
||||||
listUid.push(data.updatedBy)
|
|
||||||
{{end}}
|
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
getUserList(listUid).then((response:any) =>{
|
|
||||||
let users = response.data.list||[]
|
|
||||||
users.forEach((user:any)=>{
|
|
||||||
{{if $hasCreatedBy}}
|
|
||||||
if(data.createdBy==user.id){
|
|
||||||
data.createdBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{if $hasUpdatedBy}}
|
|
||||||
if(data.updatedBy==user.id){
|
|
||||||
data.updatedBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
})
|
|
||||||
state.formData = data;
|
|
||||||
})
|
|
||||||
{{else}}
|
|
||||||
state.formData = data;
|
state.formData = data;
|
||||||
{{end}}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
state.isShowDialog = true;
|
state.isShowDialog = true;
|
||||||
@ -345,17 +313,21 @@
|
|||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if eq $column.HtmlType "radio"}}
|
{{if eq $column.HtmlType "radio"}}
|
||||||
{{$column.HtmlField}}: false ,
|
{{$column.HtmlField}}: false ,
|
||||||
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
|
{{else if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}}: [] ,
|
{{$column.HtmlField}}: [] ,
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.HtmlField}}: undefined,
|
{{$column.HtmlField}}: undefined,
|
||||||
{{end}}
|
{{end}}
|
||||||
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
{{range $ti, $linkedTable := $.table.LinkedTables}}
|
||||||
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
{{if eq $column.LinkTableClass $linkedTable.ClassName}}
|
||||||
|
{{if eq $column.HtmlType "checkbox" "selects" "treeSelects"}}
|
||||||
|
linked{{$column.GoField}}:[],
|
||||||
|
{{else}}
|
||||||
linked{{$column.GoField}}:{{ "{" }}{{CaseCamelLower $column.LinkLabelId}}:undefined,{{CaseCamelLower $column.LinkLabelName}}:undefined {{ "}" }},
|
linked{{$column.GoField}}:{{ "{" }}{{CaseCamelLower $column.LinkLabelId}}:undefined,{{CaseCamelLower $column.LinkLabelName}}:undefined {{ "}" }},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{end}}
|
||||||
{{range $ti, $linkedTable := .table.LinkedTables}}
|
{{range $ti, $linkedTable := .table.LinkedTables}}
|
||||||
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
|
linked{{$.table.ClassName}}{{$linkedTable.ClassName}}: {
|
||||||
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
{{range $ci, $linkedColumn := $linkedTable.RefColumns.Values}}
|
||||||
|
@ -32,10 +32,10 @@
|
|||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-input v-model="formData.{{$column.HtmlField}}" placeholder="请输入{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}}/>
|
<el-input v-model="formData.{{$column.HtmlField}}" placeholder="请输入{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}}/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
{{else if eq $column.HtmlType "select" }}
|
{{else if eq $column.HtmlType "select" "selects"}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
{{if ne $column.LinkTableName ""}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-select v-model="formData.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}} {{if $column.IsCascadeParent}}@change="form{{$column.ColumnName | CaseCamel}}Changed"{{end}} {{if not $column.IsCascade}}@click.native="get{{$column.LinkTableClass}}{{if $column.IsCascade}}Form{{end}}Items{{$column.GoField}}"{{end}}>
|
<el-select v-model="formData.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" {{if $column.IsPk}}v-bind:disabled="this.currentOp === 'edit'" {{end}} {{if $column.IsCascadeParent}}@change="form{{$column.ColumnName | CaseCamel}}Changed"{{end}} {{if eq $column.HtmlType "selects"}}multiple{{end}}>
|
||||||
<el-option
|
<el-option
|
||||||
{{if $column.IsCascade}}
|
{{if $column.IsCascade}}
|
||||||
v-for="item in {{$column.HtmlField}}FormOptions"
|
v-for="item in {{$column.HtmlField}}FormOptions"
|
||||||
@ -70,8 +70,39 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{else if eq $column.HtmlType "treeSelect" "treeSelects"}}
|
||||||
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
{{$tLabel:=""}}
|
||||||
|
{{$tValue:=""}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{$tLabel = $lc.OptionsStruct.TreeName}}
|
||||||
|
{{$tValue = $lc.OptionsStruct.TreeCode}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<el-cascader
|
||||||
|
v-model="formData.{{$column.HtmlField}}"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="{{$column.HtmlField}}Options"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:props="{ label: '{{$tLabel}}',value: '{{$tValue}}',checkStrictly: true,emitPath: false {{if eq $column.HtmlType "treeSelects"}},multiple: true{{end}} }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
{{end}}
|
||||||
{{else if eq $column.HtmlType "radio" }} {{/* else if eq $column.HtmlType "select" */}}
|
{{else if eq $column.HtmlType "radio" }} {{/* else if eq $column.HtmlType "select" */}}
|
||||||
{{if ne $column.DictType ""}}
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
<el-radio-group v-model="formData.{{$column.HtmlField}}">
|
||||||
|
<el-radio
|
||||||
|
v-for="dict in {{$column.HtmlField}}Options"
|
||||||
|
:key="dict.key"
|
||||||
|
:label="dict.key"
|
||||||
|
>{{ VueTag "{{" }}dict.value {{VueTag "}}"}}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
{{else if ne $column.DictType ""}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-radio-group v-model="formData.{{$column.HtmlField}}">
|
<el-radio-group v-model="formData.{{$column.HtmlField}}">
|
||||||
<el-radio
|
<el-radio
|
||||||
@ -109,7 +140,18 @@
|
|||||||
<el-input v-model="formData.{{$column.HtmlField}}" type="textarea" placeholder="请输入{{$column.ColumnComment}}" />
|
<el-input v-model="formData.{{$column.HtmlField}}" type="textarea" placeholder="请输入{{$column.ColumnComment}}" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
{{else if eq $column.HtmlType "checkbox" }}
|
{{else if eq $column.HtmlType "checkbox" }}
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
<el-checkbox-group v-model="formData.{{$column.HtmlField}}">
|
||||||
|
<el-checkbox
|
||||||
|
v-for="dict in {{$column.HtmlField}}Options"
|
||||||
|
:key="dict.key"
|
||||||
|
:label="dict.key"
|
||||||
|
>{{ VueTag "{{" }}dict.value {{VueTag "}}"}}</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
|
{{else if ne $column.DictType ""}}
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-checkbox-group v-model="formData.{{$column.HtmlField}}">
|
<el-checkbox-group v-model="formData.{{$column.HtmlField}}">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-for="dict in {{$column.HtmlField}}Options"
|
v-for="dict in {{$column.HtmlField}}Options"
|
||||||
@ -117,7 +159,8 @@
|
|||||||
:label="dict.value"
|
:label="dict.value"
|
||||||
>{{ VueTag "{{" }}dict.label {{VueTag "}}"}}</el-checkbox>
|
>{{ VueTag "{{" }}dict.label {{VueTag "}}"}}</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
{{end}}
|
||||||
{{else if eq $column.HtmlType "richtext"}}
|
{{else if eq $column.HtmlType "richtext"}}
|
||||||
<el-form-item label="{{$column.ColumnComment}}">
|
<el-form-item label="{{$column.ColumnComment}}">
|
||||||
<gf-ueditor editorId="ue{{$.table.ClassName}}{{$column.GoField}}" v-model="formData.{{$column.HtmlField}}" @setEditContent="set{{$column.GoField}}EditContent"></gf-ueditor>
|
<gf-ueditor editorId="ue{{$.table.ClassName}}{{$column.GoField}}" v-model="formData.{{$column.HtmlField}}" @setEditContent="set{{$column.GoField}}EditContent"></gf-ueditor>
|
||||||
@ -231,10 +274,7 @@ import {
|
|||||||
{{.table.ClassName}}TableColumns,
|
{{.table.ClassName}}TableColumns,
|
||||||
{{.table.ClassName}}InfoData,
|
{{.table.ClassName}}InfoData,
|
||||||
{{.table.ClassName}}TableDataState,
|
{{.table.ClassName}}TableDataState,
|
||||||
{{.table.ClassName}}EditState,
|
{{.table.ClassName}}EditState
|
||||||
{{range $ti, $linkedTable := .table.LinkedTables}}
|
|
||||||
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
|
||||||
{{end}}
|
|
||||||
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit",
|
name:"{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit",
|
||||||
@ -297,7 +337,7 @@ export default defineComponent({
|
|||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if eq $column.HtmlType "radio"}}
|
{{if eq $column.HtmlType "radio"}}
|
||||||
{{$column.HtmlField}}: false ,
|
{{$column.HtmlField}}: false ,
|
||||||
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
|
{{else if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}}: [] ,
|
{{$column.HtmlField}}: [] ,
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.HtmlField}}: undefined,
|
{{$column.HtmlField}}: undefined,
|
||||||
@ -326,16 +366,23 @@ export default defineComponent({
|
|||||||
const openDialog = (row?: {{.table.ClassName}}InfoData) => {
|
const openDialog = (row?: {{.table.ClassName}}InfoData) => {
|
||||||
resetForm();
|
resetForm();
|
||||||
if(row) {
|
if(row) {
|
||||||
{{range $index,$column := .table.EditColumns}}
|
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
get{{$column.LinkTableClass}}Items{{$column.GoField}}()
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
get{{.table.ClassName}}(row.{{.table.PkColumn.HtmlField}}!).then((res:any)=>{
|
get{{.table.ClassName}}(row.{{.table.PkColumn.HtmlField}}!).then((res:any)=>{
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
{{range $index, $column := .table.EditColumns}}
|
{{range $index, $column := .table.EditColumns}}
|
||||||
{{if eq $column.HtmlType "checkbox"}}
|
{{if eq $column.HtmlType "checkbox" "selects"}}
|
||||||
data.{{$column.HtmlField}} = data.{{$column.HtmlField}}.split(",")
|
data.{{$column.HtmlField}} = data.{{$column.HtmlField}}.split(",")
|
||||||
|
{{else if eq $column.HtmlType "treeSelects"}}
|
||||||
|
{{$isNumber := false}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if and (eq $lc.TableName $column.LinkTableName) (ne $lc.OptionsStruct.ColumnAttr.GoType "string")}}
|
||||||
|
{{$isNumber = true}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{if $isNumber}}
|
||||||
|
data.{{$column.HtmlField}} = data.{{$column.HtmlField}}.split(",").map((item:any)=>{return parseInt(item)})
|
||||||
|
{{else}}
|
||||||
|
data.{{$column.HtmlField}} = data.{{$column.HtmlField}}.split(",")
|
||||||
|
{{end}}
|
||||||
{{else if and (eq $column.HtmlType "radio" "select") (ne $column.DictType "")}}
|
{{else if and (eq $column.HtmlType "radio" "select") (ne $column.DictType "")}}
|
||||||
data.{{$column.HtmlField}} = ''+data.{{$column.HtmlField}}
|
data.{{$column.HtmlField}} = ''+data.{{$column.HtmlField}}
|
||||||
{{else if eq $column.HtmlType "imagefile"}}
|
{{else if eq $column.HtmlType "imagefile"}}
|
||||||
@ -392,7 +439,7 @@ export default defineComponent({
|
|||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if eq $column.HtmlType "radio"}}
|
{{if eq $column.HtmlType "radio"}}
|
||||||
{{$column.HtmlField}}: false ,
|
{{$column.HtmlField}}: false ,
|
||||||
{{else if eq $column.HtmlType "images" "file" "files" "checkbox"}}
|
{{else if eq $column.HtmlType "images" "file" "files" "checkbox" "selects" "treeSelects"}}
|
||||||
{{$column.HtmlField}}: [] ,
|
{{$column.HtmlField}}: [] ,
|
||||||
{{else}}
|
{{else}}
|
||||||
{{$column.HtmlField}}: undefined,
|
{{$column.HtmlField}}: undefined,
|
||||||
@ -409,12 +456,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
{{$setUpData:=true}}
|
{{$setUpData:=true}}
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
{{if eq $column.HtmlType "richtext"}}
|
||||||
//关联{{$column.LinkTableName}}表选项
|
|
||||||
const get{{$column.LinkTableClass}}Items{{$column.GoField}} = () => {
|
|
||||||
emit("get{{$column.LinkTableClass}}Items{{$column.GoField}}")
|
|
||||||
}
|
|
||||||
{{else if eq $column.HtmlType "richtext"}}
|
|
||||||
//富文本编辑器{{$column.ColumnComment}}
|
//富文本编辑器{{$column.ColumnComment}}
|
||||||
const set{{$column.GoField}}EditContent = (data:string) => {
|
const set{{$column.GoField}}EditContent = (data:string) => {
|
||||||
state.formData.{{$column.HtmlField}} = data
|
state.formData.{{$column.HtmlField}} = data
|
||||||
@ -460,14 +502,7 @@ export default defineComponent({
|
|||||||
menuRef,
|
menuRef,
|
||||||
formRef,
|
formRef,
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
{{if eq $column.HtmlType "richtext"}}
|
||||||
{{if $column.IsCascade}}
|
|
||||||
{{/*级联处理*/}}
|
|
||||||
{{else}}
|
|
||||||
{{/*关联表处理*/}}
|
|
||||||
get{{$column.LinkTableClass}}Items{{$column.GoField}},
|
|
||||||
{{end}}
|
|
||||||
{{else if eq $column.HtmlType "richtext"}}
|
|
||||||
//富文本编辑器{{$column.ColumnComment}}
|
//富文本编辑器{{$column.ColumnComment}}
|
||||||
set{{$column.GoField}}EditContent,
|
set{{$column.GoField}}EditContent,
|
||||||
{{else if eq $column.HtmlType "imagefile"}}
|
{{else if eq $column.HtmlType "imagefile"}}
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if and (eq $column.HtmlType "select" "radio" "checkbox") (ne $column.DictType "") }}
|
{{else if and (eq $column.HtmlType "select" "radio" "checkbox" "selects") (ne $column.DictType "") }}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable >
|
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable >
|
||||||
@ -62,6 +62,28 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
|
{{else if and (eq $column.HtmlType "treeSelect" "treeSelects") (ne $column.LinkTableName "")}}
|
||||||
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
{{$tLabel:=""}}
|
||||||
|
{{$tValue:=""}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{$tLabel = $lc.OptionsStruct.TreeName}}
|
||||||
|
{{$tValue = $lc.OptionsStruct.TreeCode}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<el-cascader
|
||||||
|
v-model="tableData.param.{{$column.HtmlField}}"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="{{$column.HtmlField}}Options"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:props="{ label: '{{$tLabel}}',value: '{{$tValue}}',checkStrictly: true,emitPath: false }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if eq $column.HtmlType "date"}}
|
{{else if eq $column.HtmlType "date"}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
@ -103,10 +125,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if and (eq $column.HtmlType "select" "radio" "checkbox") (ne $column.LinkTableName "")}}
|
{{else if and (eq $column.HtmlType "select" "radio" "checkbox" "selects") (ne $column.LinkTableName "")}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable {{if $column.IsCascadeParent}}@change="query{{$column.ColumnName | CaseCamel}}Changed"{{end}} {{if not $column.IsCascade}}@click.native="get{{$column.LinkTableClass}}{{if $column.IsCascade}}Query{{end}}Items{{$column.GoField}}"{{end}}>
|
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable {{if $column.IsCascadeParent}}@change="query{{$column.ColumnName | CaseCamel}}Changed"{{end}}>
|
||||||
<el-option
|
<el-option
|
||||||
{{if $column.IsCascade}}
|
{{if $column.IsCascade}}
|
||||||
v-for="item in {{$column.HtmlField}}QueryOptions"
|
v-for="item in {{$column.HtmlField}}QueryOptions"
|
||||||
@ -120,7 +142,29 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
|
{{else if and (eq $column.HtmlType "treeSelect" "treeSelects") (ne $column.LinkTableName "")}}
|
||||||
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
{{$tLabel:=""}}
|
||||||
|
{{$tValue:=""}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{$tLabel = $lc.OptionsStruct.TreeName}}
|
||||||
|
{{$tValue = $lc.OptionsStruct.TreeCode}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<el-cascader
|
||||||
|
v-model="tableData.param.{{$column.HtmlField}}"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="{{$column.HtmlField}}Options"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:props="{ label: '{{$tLabel}}',value: '{{$tValue}}',checkStrictly: true,emitPath: false }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
@ -231,6 +275,22 @@
|
|||||||
fit="contain"></el-image>
|
fit="contain"></el-image>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
{{else if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}
|
||||||
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
<el-table-column align="center" label="{{$column.ColumnComment}}" prop="linked{{$column.GoField}}"
|
||||||
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
|
{{if $column.IsOverflowTooltip}}:show-overflow-tooltip="true"{{end}}
|
||||||
|
{{if $column.IsFixed}}fixed="left"{{end}}>
|
||||||
|
<template #default="scope">
|
||||||
|
<el-tag v-if="scope.row.linked{{$column.GoField}}" class="ml-2" type="success" v-for="(item,ik) in scope.row.linked{{$column.GoField}}" :key="ik">{{VueTag "{{"}}item.{{$column.LinkLabelName|CaseCamelLower}}{{VueTag "}}"}}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
{{else if ne $column.DictType ""}}
|
||||||
|
<el-table-column label="{{$column.ColumnComment}}" align="center" prop="{{$column.HtmlField}}" :formatter="{{$column.HtmlField}}Format"
|
||||||
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
|
{{if $column.IsOverflowTooltip}}:show-overflow-tooltip="true"{{end}}
|
||||||
|
{{if $column.IsFixed}}fixed="left"{{end}} />
|
||||||
|
{{end}}
|
||||||
{{else if $column.IsStatus}}
|
{{else if $column.IsStatus}}
|
||||||
<el-table-column label="{{$column.ColumnComment}}" align="center"
|
<el-table-column label="{{$column.ColumnComment}}" align="center"
|
||||||
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
@ -269,7 +329,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="handleView(scope.row)"
|
@click="handleView(scope.row)"
|
||||||
v-auth="'{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/view'"
|
v-auth="'{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/get'"
|
||||||
><el-icon><ele-View /></el-icon>详情</el-button>
|
><el-icon><ele-View /></el-icon>详情</el-button>
|
||||||
{{end}}
|
{{end}}
|
||||||
<el-button
|
<el-button
|
||||||
@ -296,23 +356,6 @@
|
|||||||
@pagination="{{$businessName}}List"
|
@pagination="{{$businessName}}List"
|
||||||
/>
|
/>
|
||||||
</el-card>
|
</el-card>
|
||||||
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add
|
|
||||||
ref="addRef"
|
|
||||||
{{range $index, $column := .table.Columns}}
|
|
||||||
{{if ne $column.DictType ""}}
|
|
||||||
:{{$column.HtmlField}}Options="{{$column.DictType}}"
|
|
||||||
{{else if ne $column.LinkTableName ""}}
|
|
||||||
{{if $column.IsCascade}}
|
|
||||||
{{/*级联处理*/}}
|
|
||||||
{{else}}
|
|
||||||
{{/*关联表处理*/}}
|
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
@{{$businessName}}List="{{$businessName}}List"
|
|
||||||
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add>
|
|
||||||
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit
|
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit
|
||||||
ref="editRef"
|
ref="editRef"
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
@ -324,7 +367,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{/*关联表处理*/}}
|
{{/*关联表处理*/}}
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -341,7 +383,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{/*关联表处理*/}}
|
{{/*关联表处理*/}}
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -387,15 +428,9 @@ import {
|
|||||||
{{if and $column.IsStatus $column.IsList}}
|
{{if and $column.IsStatus $column.IsList}}
|
||||||
change{{$.table.ClassName}}{{$column.GoField}},
|
change{{$.table.ClassName}}{{$column.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
{{if not (inArray $hasImports (concat "list" $column.LinkTableClass))}}
|
|
||||||
{{$hasImports = append $hasImports (concat "list" $column.LinkTableClass)}}
|
|
||||||
list{{$column.LinkTableClass}},
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
{{end}}
|
linkedDataSearch
|
||||||
{{if $getUserList}}
|
|
||||||
getUserList,
|
|
||||||
{{end}}
|
{{end}}
|
||||||
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}";
|
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}";
|
||||||
import {
|
import {
|
||||||
@ -406,13 +441,11 @@ import {
|
|||||||
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
||||||
{{end}}
|
{{end}}
|
||||||
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/add.vue"
|
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue"
|
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue"
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue"
|
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue"
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List",
|
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List",
|
||||||
components:{
|
components:{
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add,
|
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit,
|
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit,
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail
|
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail
|
||||||
},
|
},
|
||||||
@ -420,7 +453,6 @@ export default defineComponent({
|
|||||||
const {proxy} = <any>getCurrentInstance()
|
const {proxy} = <any>getCurrentInstance()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const queryRef = ref()
|
const queryRef = ref()
|
||||||
const addRef = ref();
|
|
||||||
const editRef = ref();
|
const editRef = ref();
|
||||||
const detailRef = ref();
|
const detailRef = ref();
|
||||||
// 是否显示所有搜索选项
|
// 是否显示所有搜索选项
|
||||||
@ -491,8 +523,31 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
// 初始化表格数据
|
// 初始化表格数据
|
||||||
const initTableData = () => {
|
const initTableData = () => {
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
linkedData()
|
||||||
|
{{end}}
|
||||||
{{$businessName}}List()
|
{{$businessName}}List()
|
||||||
};
|
};
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
const linkedData = ()=>{
|
||||||
|
linkedDataSearch().then((res:any)=>{
|
||||||
|
{{range $index, $column := .table.Columns}}
|
||||||
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
//关联{{$column.LinkTableName}}表选项
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{if eq $lc.TplCategory "tree"}}
|
||||||
|
{{$column.HtmlField}}Options.value = proxy.handleTree(res.data.linked{{$.table.ClassName}}{{$column.LinkTableClass}}, '{{$lc.OptionsStruct.TreeCode}}', '{{$lc.OptionsStruct.TreeParentCode}}')
|
||||||
|
{{else}}
|
||||||
|
{{$column.HtmlField}}Options.value = proxy.setItems(res, '{{$column.LinkLabelId | CaseCamelLower}}', '{{$column.LinkLabelName | CaseCamelLower}}','linked{{$.table.ClassName}}{{$column.LinkTableClass}}')
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
const resetQuery = (formEl: FormInstance | undefined) => {
|
const resetQuery = (formEl: FormInstance | undefined) => {
|
||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
@ -504,58 +559,19 @@ export default defineComponent({
|
|||||||
loading.value = true
|
loading.value = true
|
||||||
list{{.table.ClassName}}(state.tableData.param).then((res:any)=>{
|
list{{.table.ClassName}}(state.tableData.param).then((res:any)=>{
|
||||||
let list = res.data.list??[];
|
let list = res.data.list??[];
|
||||||
{{$hasCreatedBy := false}}
|
|
||||||
{{$hasUpdatedBy := false}}
|
|
||||||
{{range $index,$column := .table.ListColumns}}
|
{{range $index,$column := .table.ListColumns}}
|
||||||
{{if eq $column.HtmlField "createdBy"}}
|
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
||||||
{{$hasCreatedBy = true}}
|
|
||||||
{{end}}
|
|
||||||
{{if eq $column.HtmlField "updatedBy"}}
|
|
||||||
{{$hasUpdatedBy = true}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
let listUid = [];
|
|
||||||
{{end}}
|
|
||||||
{{if and $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
list.map((item:any)=>{
|
list.map((item:any)=>{
|
||||||
listUid.push(item.createdBy,item.updatedBy)
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
});
|
item.createdBy = item?.createdUser.userNickname
|
||||||
{{else if $hasCreatedBy}}
|
{{end}}
|
||||||
listUid = list.map((item:any)=>{
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
return item.createdBy
|
item.updatedBy = item?.updatedUser.userNickname
|
||||||
});
|
{{end}}
|
||||||
{{else if $hasUpdatedBy}}
|
})
|
||||||
listUid = list.map((item:any)=>{
|
{{end}}
|
||||||
return item.updatedBy
|
|
||||||
});
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
if(listUid.length>0){
|
|
||||||
getUserList(listUid).then((response:any) =>{
|
|
||||||
let users = response.data.list||[]
|
|
||||||
list.map((item:any)=>{
|
|
||||||
users.forEach((user:any)=>{
|
|
||||||
{{if $hasCreatedBy}}
|
|
||||||
if(item.createdBy==user.id){
|
|
||||||
item.createdBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{if $hasUpdatedBy}}
|
|
||||||
if(item.updatedBy==user.id){
|
|
||||||
item.updatedBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
state.tableData.data = list;
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
state.tableData.data = list;
|
|
||||||
}
|
|
||||||
{{else}}
|
|
||||||
state.tableData.data = list;
|
state.tableData.data = list;
|
||||||
{{end}}
|
|
||||||
state.tableData.total = res.data.total;
|
state.tableData.total = res.data.total;
|
||||||
loading.value = false
|
loading.value = false
|
||||||
})
|
})
|
||||||
@ -582,17 +598,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
//关联{{$column.LinkTableName}}表选项
|
|
||||||
const get{{$column.LinkTableClass}}Items{{$column.GoField}} = () => {
|
|
||||||
if ({{$column.HtmlField}}Options.value && {{$column.HtmlField}}Options.value.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
proxy.getItems(list{{$column.LinkTableClass}}, {pageSize:10000}).then((res:any) => {
|
|
||||||
{{$column.HtmlField}}Options.value = proxy.setItems(res, '{{$column.LinkLabelId | CaseCamelLower}}', '{{$column.LinkLabelName | CaseCamelLower}}')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
const handleSelectionChange = (selection:Array<{{.table.ClassName}}InfoData>) => {
|
const handleSelectionChange = (selection:Array<{{.table.ClassName}}InfoData>) => {
|
||||||
@ -601,7 +606,7 @@ export default defineComponent({
|
|||||||
multiple.value = !selection.length
|
multiple.value = !selection.length
|
||||||
}
|
}
|
||||||
const handleAdd = ()=>{
|
const handleAdd = ()=>{
|
||||||
addRef.value.openDialog()
|
editRef.value.openDialog()
|
||||||
}
|
}
|
||||||
const handleUpdate = (row: {{$.table.ClassName}}TableColumns) => {
|
const handleUpdate = (row: {{$.table.ClassName}}TableColumns) => {
|
||||||
if(!row){
|
if(!row){
|
||||||
@ -642,7 +647,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
proxy,
|
proxy,
|
||||||
addRef,
|
|
||||||
editRef,
|
editRef,
|
||||||
detailRef,
|
detailRef,
|
||||||
showAll,
|
showAll,
|
||||||
@ -665,8 +669,6 @@ export default defineComponent({
|
|||||||
{{else}}
|
{{else}}
|
||||||
//关联表数据选项
|
//关联表数据选项
|
||||||
{{$column.HtmlField}}Options,
|
{{$column.HtmlField}}Options,
|
||||||
//关联{{$column.LinkTableName}}表选项获取数据方法
|
|
||||||
get{{$column.LinkTableClass}}Items{{$column.GoField}},
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -689,4 +691,5 @@ export default defineComponent({
|
|||||||
.colNone {
|
.colNone {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
.ml-2{margin: 3px;}
|
||||||
</style>
|
</style>
|
@ -51,7 +51,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if and (eq $column.HtmlType "select" "radio" "checkbox") (ne $column.DictType "") }}
|
{{else if and (eq $column.HtmlType "select" "radio" "checkbox" "selects") (ne $column.DictType "") }}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable >
|
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable >
|
||||||
@ -64,7 +64,29 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
|
{{else if and (eq $column.HtmlType "treeSelect" "treeSelects") (ne $column.LinkTableName "")}}
|
||||||
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
{{$tLabel:=""}}
|
||||||
|
{{$tValue:=""}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{$tLabel = $lc.OptionsStruct.TreeName}}
|
||||||
|
{{$tValue = $lc.OptionsStruct.TreeCode}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<el-cascader
|
||||||
|
v-model="tableData.param.{{$column.HtmlField}}"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="{{$column.HtmlField}}Options"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:props="{ label: '{{$tLabel}}',value: '{{$tValue}}',checkStrictly: true,emitPath: false }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if eq $column.HtmlType "date"}}
|
{{else if eq $column.HtmlType "date"}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
@ -106,10 +128,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else if and (eq $column.HtmlType "select" "radio" "checkbox") (ne $column.LinkTableName "")}}
|
{{else if and (eq $column.HtmlType "select" "radio" "checkbox" "selects") (ne $column.LinkTableName "")}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable {{if $column.IsCascadeParent}}@change="query{{$column.ColumnName | CaseCamel}}Changed"{{end}} {{if not $column.IsCascade}}@click.native="get{{$column.LinkTableClass}}{{if $column.IsCascade}}Query{{end}}Items{{$column.GoField}}"{{end}}>
|
<el-select v-model="tableData.param.{{$column.HtmlField}}" placeholder="请选择{{$column.ColumnComment}}" clearable {{if $column.IsCascadeParent}}@change="query{{$column.ColumnName | CaseCamel}}Changed"{{end}}>
|
||||||
<el-option
|
<el-option
|
||||||
{{if $column.IsCascade}}
|
{{if $column.IsCascade}}
|
||||||
v-for="item in {{$column.HtmlField}}QueryOptions"
|
v-for="item in {{$column.HtmlField}}QueryOptions"
|
||||||
@ -124,6 +146,28 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
{{$colIndex = ($colIndex | plus 1)}}
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
|
{{else if and (eq $column.HtmlType "treeSelect" "treeSelects") (ne $column.LinkTableName "")}}
|
||||||
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
|
{{$tLabel:=""}}
|
||||||
|
{{$tValue:=""}}
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{$tLabel = $lc.OptionsStruct.TreeName}}
|
||||||
|
{{$tValue = $lc.OptionsStruct.TreeCode}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<el-cascader
|
||||||
|
v-model="tableData.param.{{$column.HtmlField}}"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="{{$column.HtmlField}}Options"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
:props="{ label: '{{$tLabel}}',value: '{{$tValue}}',checkStrictly: true,emitPath: false }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
{{$colIndex = ($colIndex | plus 1)}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
<el-col :span="8" {{if lt $colIndex 2}}class="colBlock"{{else}}:class="showAll ? 'colBlock' : 'colNone'"{{end}}>
|
||||||
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
<el-form-item label="{{$column.ColumnComment}}" prop="{{$column.HtmlField}}">
|
||||||
@ -243,6 +287,22 @@
|
|||||||
fit="contain"></el-image>
|
fit="contain"></el-image>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
{{else if eq $column.HtmlType "selects" "checkbox" "treeSelects"}}
|
||||||
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
<el-table-column align="center" label="{{$column.ColumnComment}}" prop="linked{{$column.GoField}}"
|
||||||
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
|
{{if $column.IsOverflowTooltip}}:show-overflow-tooltip="true"{{end}}
|
||||||
|
{{if $column.IsFixed}}fixed="left"{{end}}>
|
||||||
|
<template #default="scope">
|
||||||
|
<el-tag v-if="scope.row.linked{{$column.GoField}}" class="ml-2" type="success" v-for="(item,ik) in scope.row.linked{{$column.GoField}}" :key="ik">{{VueTag "{{"}}item.{{$column.LinkLabelName|CaseCamelLower}}{{VueTag "}}"}}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
{{else if ne $column.DictType ""}}
|
||||||
|
<el-table-column label="{{$column.ColumnComment}}" align="center" prop="{{$column.HtmlField}}" :formatter="{{$column.HtmlField}}Format"
|
||||||
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
|
{{if $column.IsOverflowTooltip}}:show-overflow-tooltip="true"{{end}}
|
||||||
|
{{if $column.IsFixed}}fixed="left"{{end}} />
|
||||||
|
{{end}}
|
||||||
{{else if $column.IsStatus}}
|
{{else if $column.IsStatus}}
|
||||||
<el-table-column label="{{$column.ColumnComment}}" align="center"
|
<el-table-column label="{{$column.ColumnComment}}" align="center"
|
||||||
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
{{if gt $column.MinWidth 0}}min-width="{{$column.MinWidth}}px"{{end}}
|
||||||
@ -281,7 +341,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="handleView(scope.row)"
|
@click="handleView(scope.row)"
|
||||||
v-auth="'{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/view'"
|
v-auth="'{{.apiVersion}}/{{.table.ModuleName}}/{{$businessName}}/get'"
|
||||||
><el-icon><ele-View /></el-icon>详情</el-button>
|
><el-icon><ele-View /></el-icon>详情</el-button>
|
||||||
{{end}}
|
{{end}}
|
||||||
<el-button
|
<el-button
|
||||||
@ -300,24 +360,6 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add
|
|
||||||
ref="addRef"
|
|
||||||
{{range $index, $column := .table.Columns}}
|
|
||||||
{{if ne $column.DictType ""}}
|
|
||||||
:{{$column.HtmlField}}Options="{{$column.DictType}}"
|
|
||||||
{{else if ne $column.LinkTableName ""}}
|
|
||||||
{{if $column.IsCascade}}
|
|
||||||
{{/*级联处理*/}}
|
|
||||||
{{else}}
|
|
||||||
{{/*关联表处理*/}}
|
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
:{{$businessName}}Options="tableData.data"
|
|
||||||
@{{$businessName}}List="{{$businessName}}List"
|
|
||||||
></{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add>
|
|
||||||
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit
|
<{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit
|
||||||
ref="editRef"
|
ref="editRef"
|
||||||
{{range $index, $column := .table.Columns}}
|
{{range $index, $column := .table.Columns}}
|
||||||
@ -329,7 +371,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{/*关联表处理*/}}
|
{{/*关联表处理*/}}
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -347,7 +388,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{/*关联表处理*/}}
|
{{/*关联表处理*/}}
|
||||||
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
:{{$column.HtmlField}}Options="{{$column.HtmlField}}Options"
|
||||||
@get{{$column.LinkTableClass}}Items{{$column.GoField}}="get{{$column.LinkTableClass}}Items{{$column.GoField}}"
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
@ -394,15 +434,9 @@ import {
|
|||||||
{{if and $column.IsStatus $column.IsList}}
|
{{if and $column.IsStatus $column.IsList}}
|
||||||
change{{$.table.ClassName}}{{$column.GoField}},
|
change{{$.table.ClassName}}{{$column.GoField}},
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
{{if not (inArray $hasImports (concat "list" $column.LinkTableClass))}}
|
|
||||||
{{$hasImports = append $hasImports (concat "list" $column.LinkTableClass)}}
|
|
||||||
list{{$column.LinkTableClass}},
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
{{end}}
|
linkedDataSearch
|
||||||
{{if $getUserList}}
|
|
||||||
getUserList,
|
|
||||||
{{end}}
|
{{end}}
|
||||||
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}";
|
} from "/@/api/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}";
|
||||||
import {
|
import {
|
||||||
@ -413,14 +447,12 @@ import {
|
|||||||
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
Linked{{$.table.ClassName}}{{$linkedTable.ClassName}},
|
||||||
{{end}}
|
{{end}}
|
||||||
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
} from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/model"
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/add.vue"
|
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue"
|
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/edit.vue"
|
||||||
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue"
|
import {{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail from "/@/views/{{$plugin}}{{.table.ModuleName}}/{{$businessName}}/list/component/detail.vue"
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List",
|
name: "{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}List",
|
||||||
components:{
|
components:{
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Add,
|
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit,
|
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Edit,
|
||||||
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail
|
{{$plugin}}{{if ne $plugin ""}}{{.apiVersion|replace "/" "_"|CaseCamel}}{{else}}{{.apiVersion|replace "/" "_"|CaseCamelLower}}{{end}}{{.table.ModuleName|CaseCamel}}{{.table.ClassName}}Detail
|
||||||
},
|
},
|
||||||
@ -428,7 +460,6 @@ export default defineComponent({
|
|||||||
const {proxy} = <any>getCurrentInstance()
|
const {proxy} = <any>getCurrentInstance()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const queryRef = ref()
|
const queryRef = ref()
|
||||||
const addRef = ref();
|
|
||||||
const editRef = ref();
|
const editRef = ref();
|
||||||
const detailRef = ref();
|
const detailRef = ref();
|
||||||
// 是否显示所有搜索选项
|
// 是否显示所有搜索选项
|
||||||
@ -500,8 +531,31 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
// 初始化表格数据
|
// 初始化表格数据
|
||||||
const initTableData = () => {
|
const initTableData = () => {
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
linkedData()
|
||||||
|
{{end}}
|
||||||
{{$businessName}}List()
|
{{$businessName}}List()
|
||||||
};
|
};
|
||||||
|
{{if gt (len .table.LinkedTables) 0}}
|
||||||
|
const linkedData = ()=>{
|
||||||
|
linkedDataSearch().then((res:any)=>{
|
||||||
|
{{range $index, $column := .table.Columns}}
|
||||||
|
{{if ne $column.LinkTableName ""}}
|
||||||
|
//关联{{$column.LinkTableName}}表选项
|
||||||
|
{{range $li,$lc := $.table.LinkedTables}}
|
||||||
|
{{if eq $lc.TableName $column.LinkTableName}}
|
||||||
|
{{if eq $lc.TplCategory "tree"}}
|
||||||
|
{{$column.HtmlField}}Options.value = proxy.handleTree(res.data.linked{{$.table.ClassName}}{{$column.LinkTableClass}}, '{{$lc.OptionsStruct.TreeCode}}', '{{$lc.OptionsStruct.TreeParentCode}}')
|
||||||
|
{{else}}
|
||||||
|
{{$column.HtmlField}}Options.value = proxy.setItems(res, '{{$column.LinkLabelId | CaseCamelLower}}', '{{$column.LinkLabelName | CaseCamelLower}}','linked{{$.table.ClassName}}{{$column.LinkTableClass}}')
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
const resetQuery = (formEl: FormInstance | undefined) => {
|
const resetQuery = (formEl: FormInstance | undefined) => {
|
||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
@ -513,64 +567,21 @@ export default defineComponent({
|
|||||||
loading.value = true
|
loading.value = true
|
||||||
list{{.table.ClassName}}(state.tableData.param).then((res:any)=>{
|
list{{.table.ClassName}}(state.tableData.param).then((res:any)=>{
|
||||||
let list = res.data.list??[];
|
let list = res.data.list??[];
|
||||||
{{$hasCreatedBy := false}}
|
|
||||||
{{$hasUpdatedBy := false}}
|
|
||||||
{{range $index,$column := .table.ListColumns}}
|
{{range $index,$column := .table.ListColumns}}
|
||||||
{{if eq $column.HtmlField "createdBy"}}
|
{{if eq $column.HtmlField "createdBy" "updatedBy"}}
|
||||||
{{$hasCreatedBy = true}}
|
|
||||||
{{end}}
|
|
||||||
{{if eq $column.HtmlField "updatedBy"}}
|
|
||||||
{{$hasUpdatedBy = true}}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
let listUid = [];
|
|
||||||
{{end}}
|
|
||||||
{{if and $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
list.map((item:any)=>{
|
list.map((item:any)=>{
|
||||||
listUid.push(item.createdBy,item.updatedBy)
|
{{if eq $column.HtmlField "createdBy"}}
|
||||||
});
|
item.createdBy = item?.createdUser.userNickname
|
||||||
{{else if $hasCreatedBy}}
|
{{end}}
|
||||||
listUid = list.map((item:any)=>{
|
{{if eq $column.HtmlField "updatedBy"}}
|
||||||
return item.createdBy
|
item.updatedBy = item?.updatedUser.userNickname
|
||||||
});
|
{{end}}
|
||||||
{{else if $hasUpdatedBy}}
|
})
|
||||||
listUid = list.map((item:any)=>{
|
{{end}}
|
||||||
return item.updatedBy
|
|
||||||
});
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if or $hasCreatedBy $hasUpdatedBy}}
|
|
||||||
if(listUid.length>0){
|
|
||||||
getUserList(listUid).then((response:any) =>{
|
|
||||||
let users = response.data.list||[]
|
|
||||||
list.map((item:any)=>{
|
|
||||||
users.forEach((user:any)=>{
|
|
||||||
{{if $hasCreatedBy}}
|
|
||||||
if(item.createdBy==user.id){
|
|
||||||
item.createdBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{if $hasUpdatedBy}}
|
|
||||||
if(item.updatedBy==user.id){
|
|
||||||
item.updatedBy = user.userNickname
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
dataList.value = _.clone(res.data.list)
|
|
||||||
list = proxy.handleTree(res.data.list||[], "{{$treeCode}}", "{{$treeParentCode}}");
|
|
||||||
state.tableData.data = list;
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
dataList.value = _.clone(res.data.list)
|
|
||||||
list = proxy.handleTree(res.data.list||[], "{{$treeCode}}", "{{$treeParentCode}}");
|
|
||||||
state.tableData.data = list;
|
|
||||||
}
|
|
||||||
{{else}}
|
|
||||||
dataList.value = _.clone(res.data.list)
|
dataList.value = _.clone(res.data.list)
|
||||||
list = proxy.handleTree(res.data.list||[], "{{$treeCode}}", "{{$treeParentCode}}");
|
list = proxy.handleTree(res.data.list||[], "{{$treeCode}}", "{{$treeParentCode}}");
|
||||||
state.tableData.data = list;
|
state.tableData.data = list;
|
||||||
{{end}}
|
|
||||||
loading.value = false
|
loading.value = false
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
@ -596,17 +607,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if ne $column.LinkTableName ""}}
|
|
||||||
//关联{{$column.LinkTableName}}表选项
|
|
||||||
const get{{$column.LinkTableClass}}Items{{$column.GoField}} = () => {
|
|
||||||
if ({{$column.HtmlField}}Options.value && {{$column.HtmlField}}Options.value.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
proxy.getItems(list{{$column.LinkTableClass}}, {pageSize:10000}).then((res:any) => {
|
|
||||||
{{$column.HtmlField}}Options.value = proxy.setItems(res, '{{$column.LinkLabelId | CaseCamelLower}}', '{{$column.LinkLabelName | CaseCamelLower}}')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
const handleSelectionChange = (selection:Array<{{.table.ClassName}}InfoData>) => {
|
const handleSelectionChange = (selection:Array<{{.table.ClassName}}InfoData>) => {
|
||||||
@ -615,7 +615,7 @@ export default defineComponent({
|
|||||||
multiple.value = !selection.length
|
multiple.value = !selection.length
|
||||||
}
|
}
|
||||||
const handleAdd = ()=>{
|
const handleAdd = ()=>{
|
||||||
addRef.value.openDialog()
|
editRef.value.openDialog()
|
||||||
}
|
}
|
||||||
const handleUpdate = (row: {{$.table.ClassName}}TableColumns) => {
|
const handleUpdate = (row: {{$.table.ClassName}}TableColumns) => {
|
||||||
if(!row){
|
if(!row){
|
||||||
@ -656,7 +656,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
proxy,
|
proxy,
|
||||||
addRef,
|
|
||||||
editRef,
|
editRef,
|
||||||
detailRef,
|
detailRef,
|
||||||
showAll,
|
showAll,
|
||||||
@ -680,7 +679,6 @@ export default defineComponent({
|
|||||||
//关联表数据选项
|
//关联表数据选项
|
||||||
{{$column.HtmlField}}Options,
|
{{$column.HtmlField}}Options,
|
||||||
//关联{{$column.LinkTableName}}表选项获取数据方法
|
//关联{{$column.LinkTableName}}表选项获取数据方法
|
||||||
get{{$column.LinkTableClass}}Items{{$column.GoField}},
|
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user