mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-09-17 08:46:39 +08:00
Merge pull request #192 from entheosl/feature/entheosl-change
修复模版生成model.ts表字段如果有默认值不带引号的问题
This commit is contained in:
commit
1688aaf371
@ -14,6 +14,7 @@ import (
|
|||||||
"hotgo/internal/library/dict"
|
"hotgo/internal/library/dict"
|
||||||
"hotgo/internal/model/input/sysin"
|
"hotgo/internal/model/input/sysin"
|
||||||
"hotgo/utility/convert"
|
"hotgo/utility/convert"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/errors/gerror"
|
"github.com/gogf/gf/v2/errors/gerror"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
@ -24,6 +25,7 @@ type StateItem struct {
|
|||||||
Name string
|
Name string
|
||||||
DefaultValue interface{}
|
DefaultValue interface{}
|
||||||
Dc string
|
Dc string
|
||||||
|
DataType string // 新增字段:存储字段类型信息
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *gCurd) webModelTplData(ctx context.Context, in *CurdPreviewInput) (data g.Map, err error) {
|
func (l *gCurd) webModelTplData(ctx context.Context, in *CurdPreviewInput) (data g.Map, err error) {
|
||||||
@ -112,13 +114,20 @@ func (l *gCurd) generateWebModelImport(ctx context.Context, in *CurdPreviewInput
|
|||||||
|
|
||||||
func (l *gCurd) generateWebModelStateItems(ctx context.Context, in *CurdPreviewInput) (items []*StateItem) {
|
func (l *gCurd) generateWebModelStateItems(ctx context.Context, in *CurdPreviewInput) (items []*StateItem) {
|
||||||
for _, field := range in.masterFields {
|
for _, field := range in.masterFields {
|
||||||
|
dataType := field.DataType
|
||||||
|
if dataType == "" && field.SqlType != "" {
|
||||||
|
if parts := strings.SplitN(field.SqlType, "(", 2); len(parts) > 0 {
|
||||||
|
dataType = parts[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
var value = field.DefaultValue
|
var value = field.DefaultValue
|
||||||
if value == nil {
|
if value == nil {
|
||||||
value = "null"
|
value = "null"
|
||||||
}
|
}
|
||||||
if value == "" {
|
//注释为空判断 避免模版生成的model.ts重复加引号
|
||||||
value = `''`
|
//if value == "" {
|
||||||
}
|
// value = `''`
|
||||||
|
//}
|
||||||
|
|
||||||
// 选项组件默认值调整
|
// 选项组件默认值调整
|
||||||
if gconv.Int(value) == 0 && IsSelectFormMode(field.FormMode) {
|
if gconv.Int(value) == 0 && IsSelectFormMode(field.FormMode) {
|
||||||
@ -145,6 +154,7 @@ func (l *gCurd) generateWebModelStateItems(ctx context.Context, in *CurdPreviewI
|
|||||||
items = append(items, &StateItem{
|
items = append(items, &StateItem{
|
||||||
Name: field.TsName + "Summa?: null | MemberSumma",
|
Name: field.TsName + "Summa?: null | MemberSumma",
|
||||||
DefaultValue: "null",
|
DefaultValue: "null",
|
||||||
|
DataType: dataType,
|
||||||
Dc: field.Dc + "摘要信息",
|
Dc: field.Dc + "摘要信息",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,16 @@
|
|||||||
|
|
||||||
@{.const}
|
@{.const}
|
||||||
|
|
||||||
export class State {@{range .stateItems}
|
export class State {
|
||||||
public @{.Name} = @{.DefaultValue}; // @{.Dc}@{end}
|
@{range .stateItems}
|
||||||
|
public @{.Name} = @{if and .DataType (or
|
||||||
|
(eq .DataType "varchar")
|
||||||
|
(eq .DataType "char")
|
||||||
|
(eq .DataType "text")
|
||||||
|
(eq .DataType "json")
|
||||||
|
(eq .DataType "date")
|
||||||
|
(eq .DataType "datetime")
|
||||||
|
)}'@{.DefaultValue}'@{else}@{.DefaultValue}@{end};//@{.Dc}@{end}
|
||||||
constructor(state?: Partial<State>) {
|
constructor(state?: Partial<State>) {
|
||||||
if (state) {
|
if (state) {
|
||||||
Object.assign(this, state);
|
Object.assign(this, state);
|
||||||
|
Loading…
Reference in New Issue
Block a user