From 5b8691b4f45e600941c352873879243774966079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=8B=E5=90=89=E5=85=86?= <303176530@qq.com> Date: Sun, 14 Nov 2021 22:38:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:#800=20=E4=BF=AE=E5=A4=8D=E4=BA=86=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=8C=96=E4=BB=A3=E7=A0=81=E5=85=AC=E7=94=A8=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E5=87=BA=E7=8E=B0=E5=A4=9A=E6=AC=A1=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model/system/sys_auto_code.go | 1 + server/resource/template/web/form.vue.tpl | 12 ++++-------- server/resource/template/web/table.vue.tpl | 12 ++++-------- server/service/system/sys_auto_code.go | 15 +++++++++++++++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/server/model/system/sys_auto_code.go b/server/model/system/sys_auto_code.go index 7047b810..99a9e2e7 100644 --- a/server/model/system/sys_auto_code.go +++ b/server/model/system/sys_auto_code.go @@ -13,6 +13,7 @@ type AutoCodeStruct struct { AutoCreateApiToSql bool `json:"autoCreateApiToSql"` // 是否自动创建api AutoMoveFile bool `json:"autoMoveFile"` // 是否自动移动文件 Fields []*Field `json:"fields"` + DictTypes []string `json:"-"` } type Field struct { diff --git a/server/resource/template/web/form.vue.tpl b/server/resource/template/web/form.vue.tpl index c3486c13..10fc5e39 100644 --- a/server/resource/template/web/form.vue.tpl +++ b/server/resource/template/web/form.vue.tpl @@ -49,10 +49,8 @@ export default { data() { return { type: '', - {{- range .Fields}} - {{- if .DictType }} - {{ .DictType }}Options: [], - {{- end }} + {{- range $index, $element := .DictTypes}} + {{ $element }}Options: [], {{- end }} formData: { {{- range .Fields}} @@ -86,10 +84,8 @@ export default { } else { this.type = 'create' } - {{- range .Fields }} - {{- if .DictType }} - await this.getDict('{{.DictType}}') - {{- end }} + {{- range $index, $element := .DictTypes }} + await this.getDict('{{$element}}') {{- end }} }, methods: { diff --git a/server/resource/template/web/table.vue.tpl b/server/resource/template/web/table.vue.tpl index 5b0c1fa5..fff1db96 100644 --- a/server/resource/template/web/table.vue.tpl +++ b/server/resource/template/web/table.vue.tpl @@ -144,10 +144,8 @@ export default { type: '', deleteVisible: false, multipleSelection: [], - {{- range .Fields}} - {{- if .DictType }} - {{ .DictType }}Options: [], - {{- end }} + {{- range $index, $element := .DictTypes }} + {{ $element }}Options: [], {{- end }} formData: { {{- range .Fields}} @@ -172,10 +170,8 @@ export default { }, async created() { await this.getTableData() -{{- range .Fields }} - {{- if .DictType }} - await this.getDict('{{.DictType}}') - {{- end }} +{{- range $index, $element := .DictTypes }} + await this.getDict('{{$element}}') {{- end }} }, methods: { diff --git a/server/service/system/sys_auto_code.go b/server/service/system/sys_auto_code.go index aa605142..d73e8b0c 100644 --- a/server/service/system/sys_auto_code.go +++ b/server/service/system/sys_auto_code.go @@ -89,6 +89,7 @@ var AutoCodeServiceApp = new(AutoCodeService) //@return: map[string]string, error func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStruct) (map[string]string, error) { + makeDictTypes(&autoCode) dataList, _, needMkdir, err := autoCodeService.getNeedList(&autoCode) if err != nil { return nil, err @@ -147,6 +148,19 @@ func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStru return ret, nil } +func makeDictTypes(autoCode *system.AutoCodeStruct) { + DictTypeM := make(map[string]string) + for _, v := range autoCode.Fields { + if v.DictType != "" { + DictTypeM[v.DictType] = "" + } + } + + for k, _ := range DictTypeM { + autoCode.DictTypes = append(autoCode.DictTypes, k) + } +} + //@author: [piexlmax](https://github.com/piexlmax) //@function: CreateTemp //@description: 创建代码 @@ -154,6 +168,7 @@ func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStru //@return: err error func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruct, ids ...uint) (err error) { + makeDictTypes(&autoCode) // 增加判断: 重复创建struct if autoCode.AutoMoveFile && AutoCodeHistoryServiceApp.Repeat(autoCode.StructName) { return RepeatErr