fix 代码生成switch

This commit is contained in:
maxbad 2023-05-11 13:43:43 +08:00
parent 51de68de06
commit c26fcd4bba
5 changed files with 19 additions and 6 deletions

View File

@ -232,6 +232,15 @@ func HasColumn(masterFields []*sysin.GenCodesColumnListModel, column string) boo
return false 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 { func HasMaxSort(masterFields []*sysin.GenCodesColumnListModel) bool {
return HasColumn(masterFields, "Sort") return HasColumn(masterFields, "Sort")
} }
@ -247,5 +256,5 @@ func HasSwitch(headOps []string, masterFields []*sysin.GenCodesColumnListModel)
if !gstr.InArray(headOps, "switch") { if !gstr.InArray(headOps, "switch") {
return false return false
} }
return HasColumn(masterFields, "Switch") return HasColumnWithFormMode(masterFields, "Switch")
} }

View File

@ -67,7 +67,11 @@ func (l *gCurd) generateLogicSwitchUpdate(ctx context.Context, in *CurdPreviewIn
func (l *gCurd) generateLogicSwitchFields(ctx context.Context, in *CurdPreviewInput) string { func (l *gCurd) generateLogicSwitchFields(ctx context.Context, in *CurdPreviewInput) string {
buffer := bytes.NewBuffer(nil) buffer := bytes.NewBuffer(nil)
if in.options.Step.HasSwitch { 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() return buffer.String()
} }

View File

@ -140,9 +140,9 @@ func (l *gCurd) generateWebModelRules(ctx context.Context, in *CurdPreviewInput)
} }
if field.FormRole == "" || field.FormRole == FormRoleNone { 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 { } 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") buffer.WriteString("};\n")

View File

@ -3,7 +3,7 @@ import { NAvatar, NImage, NTag, NSwitch, NRate } from 'naive-ui';
import { cloneDeep } from 'lodash-es'; import { cloneDeep } from 'lodash-es';
import { FormSchema } from '@/components/Form'; import { FormSchema } from '@/components/Form';
import { Dicts } from '@/api/dict/dict'; 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 { isArray, isNullObject } from '@/utils/is';
import { getFileExt } from '@/utils/urlUtils'; import { getFileExt } from '@/utils/urlUtils';
import { defRangeShortcuts, defShortcuts, formatToDate } from '@/utils/dateUtil'; import { defRangeShortcuts, defShortcuts, formatToDate } from '@/utils/dateUtil';

View File

@ -104,7 +104,7 @@
<QuestionCircleOutlined /> <QuestionCircleOutlined />
</n-icon> </n-icon>
</template> </template>
<span>主表中存在`switch`字段时才会生效</span> <span>表单组件中存在`开关`类型才会生效</span>
</n-popover> </n-popover>
<n-checkbox value="notFilterAuth" label="不过滤权限" /> <n-checkbox value="notFilterAuth" label="不过滤权限" />
<n-popover trigger="hover"> <n-popover trigger="hover">