From c26fcd4bbaa3e14725e2ab6ee54e02f543b48dc0 Mon Sep 17 00:00:00 2001 From: maxbad <26058031@qq.com> Date: Thu, 11 May 2023 13:43:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90switc?= =?UTF-8?q?h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/library/hggen/views/column_map.go | 11 ++++++++++- .../library/hggen/views/curd_generate_logic.go | 6 +++++- .../library/hggen/views/curd_generate_web_model.go | 4 ++-- .../generate/default/curd/web.model.ts.template | 2 +- web/src/views/develop/code/components/BaseInfo.vue | 2 +- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/server/internal/library/hggen/views/column_map.go b/server/internal/library/hggen/views/column_map.go index 010d189..f5e49b0 100644 --- a/server/internal/library/hggen/views/column_map.go +++ b/server/internal/library/hggen/views/column_map.go @@ -232,6 +232,15 @@ func HasColumn(masterFields []*sysin.GenCodesColumnListModel, column string) boo return false } +func HasColumnWithFormMode(masterFields []*sysin.GenCodesColumnListModel, column string) bool { + for _, field := range masterFields { + if field.FormMode == column { + return true + } + } + return false +} + func HasMaxSort(masterFields []*sysin.GenCodesColumnListModel) bool { return HasColumn(masterFields, "Sort") } @@ -247,5 +256,5 @@ func HasSwitch(headOps []string, masterFields []*sysin.GenCodesColumnListModel) if !gstr.InArray(headOps, "switch") { return false } - return HasColumn(masterFields, "Switch") + return HasColumnWithFormMode(masterFields, "Switch") } diff --git a/server/internal/library/hggen/views/curd_generate_logic.go b/server/internal/library/hggen/views/curd_generate_logic.go index e5675e0..788f012 100644 --- a/server/internal/library/hggen/views/curd_generate_logic.go +++ b/server/internal/library/hggen/views/curd_generate_logic.go @@ -67,7 +67,11 @@ func (l *gCurd) generateLogicSwitchUpdate(ctx context.Context, in *CurdPreviewIn func (l *gCurd) generateLogicSwitchFields(ctx context.Context, in *CurdPreviewInput) string { buffer := bytes.NewBuffer(nil) if in.options.Step.HasSwitch { - buffer.WriteString("\t\tdao." + in.In.DaoName + ".Columns().Switch,\n") + for _, field := range in.masterFields { + if field.FormMode == "Switch" { + buffer.WriteString("\t\tdao." + in.In.DaoName + ".Columns()." + field.GoName + ",\n") + } + } } return buffer.String() } diff --git a/server/internal/library/hggen/views/curd_generate_web_model.go b/server/internal/library/hggen/views/curd_generate_web_model.go index fef0fe7..c12b351 100644 --- a/server/internal/library/hggen/views/curd_generate_web_model.go +++ b/server/internal/library/hggen/views/curd_generate_web_model.go @@ -140,9 +140,9 @@ func (l *gCurd) generateWebModelRules(ctx context.Context, in *CurdPreviewInput) } if field.FormRole == "" || field.FormRole == FormRoleNone { - buffer.WriteString(fmt.Sprintf(" %s: {\n required: %v,\n trigger: ['blur', 'input'],\n message: '请输入%s',\n },\n", field.TsName, field.Required, field.Dc)) + buffer.WriteString(fmt.Sprintf(" %s: {\n required: %v,\n trigger: ['blur', 'input'],\n type: '%s',\n message: '请输入%s',\n },\n", field.TsName, field.Required, field.TsType, field.Dc)) } else { - buffer.WriteString(fmt.Sprintf(" %s: {\n required: %v,\n trigger: ['blur', 'input'],\n message: '请输入%s',\n validator: validate.%v,\n },\n", field.TsName, field.Required, field.Dc, field.FormRole)) + buffer.WriteString(fmt.Sprintf(" %s: {\n required: %v,\n trigger: ['blur', 'input'],\n type: '%s',\n message: '请输入%s',\n validator: validate.%v,\n },\n", field.TsName, field.Required, field.TsType, field.Dc, field.FormRole)) } } buffer.WriteString("};\n") diff --git a/server/resource/generate/default/curd/web.model.ts.template b/server/resource/generate/default/curd/web.model.ts.template index eb39741..ae0d193 100644 --- a/server/resource/generate/default/curd/web.model.ts.template +++ b/server/resource/generate/default/curd/web.model.ts.template @@ -3,7 +3,7 @@ import { NAvatar, NImage, NTag, NSwitch, NRate } from 'naive-ui'; import { cloneDeep } from 'lodash-es'; import { FormSchema } from '@/components/Form'; import { Dicts } from '@/api/dict/dict'; -@{ if eq .options.Step.HasSwitch true }import { Switch } from '@/api/@{.varName | LcFirst}';@{end} +@{ if eq .options.Step.HasSwitch true }import { Switch } from '@{.importWebApi}';@{end} import { isArray, isNullObject } from '@/utils/is'; import { getFileExt } from '@/utils/urlUtils'; import { defRangeShortcuts, defShortcuts, formatToDate } from '@/utils/dateUtil'; diff --git a/web/src/views/develop/code/components/BaseInfo.vue b/web/src/views/develop/code/components/BaseInfo.vue index 76fbe1b..e6ca57d 100644 --- a/web/src/views/develop/code/components/BaseInfo.vue +++ b/web/src/views/develop/code/components/BaseInfo.vue @@ -104,7 +104,7 @@ - 主表中存在`switch`字段时才会生效 + 表单组件中存在`开关`类型才会生效