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`字段时才会生效
+ 表单组件中存在`开关`类型才会生效