Commit 9d272e79410423b8099b5d7f4aabdb3cdc03f1c5
1 parent
a65b8f63
Vue3 CRUD Schema 模版,data 完整提交
Showing
3 changed files
with
17 additions
and
5 deletions
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java
| @@ -187,6 +187,8 @@ public class CodegenEngine { | @@ -187,6 +187,8 @@ public class CodegenEngine { | ||
| 187 | templates.forEach((vmPath, filePath) -> { | 187 | templates.forEach((vmPath, filePath) -> { |
| 188 | filePath = formatFilePath(filePath, bindingMap); | 188 | filePath = formatFilePath(filePath, bindingMap); |
| 189 | String content = templateEngine.getTemplate(vmPath).render(bindingMap); | 189 | String content = templateEngine.getTemplate(vmPath).render(bindingMap); |
| 190 | + // 去除字段后面多余的 , 逗号 | ||
| 191 | + content = content.replaceAll(",\n}", "\n}").replaceAll(",\n }", "\n }"); | ||
| 190 | result.put(filePath, content); | 192 | result.put(filePath, content); |
| 191 | }); | 193 | }); |
| 192 | return result; | 194 | return result; |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
| @@ -182,7 +182,12 @@ | @@ -182,7 +182,12 @@ | ||
| 182 | #if ($dictMethods.size() > 0) | 182 | #if ($dictMethods.size() > 0) |
| 183 | import { DICT_TYPE#foreach ($dictMethod in $dictMethods), ${dictMethod}#end } from '@/utils/dict' | 183 | import { DICT_TYPE#foreach ($dictMethod in $dictMethods), ${dictMethod}#end } from '@/utils/dict' |
| 184 | #end | 184 | #end |
| 185 | +#foreach ($column in $columns) | ||
| 186 | + #if ($column.listOperationResult && $column.htmlType == "datetime") | ||
| 185 | import { dateFormatter } from '@/utils/formatTime' | 187 | import { dateFormatter } from '@/utils/formatTime' |
| 188 | + #break | ||
| 189 | + #end | ||
| 190 | +#end | ||
| 186 | import download from '@/utils/download' | 191 | import download from '@/utils/download' |
| 187 | import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${classNameVar}' | 192 | import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${classNameVar}' |
| 188 | import ${simpleClassName}Form from './${simpleClassName}Form.vue' | 193 | import ${simpleClassName}Form from './${simpleClassName}Form.vue' |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/views/data.ts.vm
| 1 | import type { CrudSchema } from '@/hooks/web/useCrudSchemas' | 1 | import type { CrudSchema } from '@/hooks/web/useCrudSchemas' |
| 2 | +#foreach ($column in $columns) | ||
| 3 | + #if ($column.listOperationResult && $column.htmlType == "datetime") | ||
| 2 | import { dateFormatter } from '@/utils/formatTime' | 4 | import { dateFormatter } from '@/utils/formatTime' |
| 3 | -const { t } = useI18n() // 国际化 | 5 | + #break |
| 6 | + #end | ||
| 7 | +#end | ||
| 4 | 8 | ||
| 5 | // 表单校验 | 9 | // 表单校验 |
| 6 | export const rules = reactive({ | 10 | export const rules = reactive({ |
| @@ -12,7 +16,7 @@ export const rules = reactive({ | @@ -12,7 +16,7 @@ export const rules = reactive({ | ||
| 12 | #end | 16 | #end |
| 13 | }) | 17 | }) |
| 14 | 18 | ||
| 15 | -// CrudSchema | 19 | +// CrudSchema https://kailong110120130.gitee.io/vue-element-plus-admin-doc/hooks/useCrudSchemas.html |
| 16 | const crudSchemas = reactive<CrudSchema[]>([ | 20 | const crudSchemas = reactive<CrudSchema[]>([ |
| 17 | #foreach($column in $columns) | 21 | #foreach($column in $columns) |
| 18 | #if ($column.listOperation || $column.listOperationResult || $column.createOperation || $column.updateOperation) | 22 | #if ($column.listOperation || $column.listOperationResult || $column.createOperation || $column.updateOperation) |
| @@ -20,7 +24,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -20,7 +24,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 20 | #set ($javaField = $column.javaField) | 24 | #set ($javaField = $column.javaField) |
| 21 | #set ($javaType = $column.javaType) | 25 | #set ($javaType = $column.javaType) |
| 22 | { | 26 | { |
| 23 | - title: '${column.columnComment}', | 27 | + label: '${column.columnComment}', |
| 24 | field: '${column.javaField}', | 28 | field: '${column.javaField}', |
| 25 | ## ========= 字典部分 ========= | 29 | ## ========= 字典部分 ========= |
| 26 | #if ("" != $dictType)## 有数据字典 | 30 | #if ("" != $dictType)## 有数据字典 |
| @@ -36,6 +40,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -36,6 +40,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 36 | ## ========= Table 表格部分 ========= | 40 | ## ========= Table 表格部分 ========= |
| 37 | #if (!$column.listOperationResult) | 41 | #if (!$column.listOperationResult) |
| 38 | isTable: false, | 42 | isTable: false, |
| 43 | + #else | ||
| 39 | #if ($column.htmlType == "datetime") | 44 | #if ($column.htmlType == "datetime") |
| 40 | formatter: dateFormatter, | 45 | formatter: dateFormatter, |
| 41 | #end | 46 | #end |
| @@ -51,7 +56,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -51,7 +56,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 51 | type: 'daterange', | 56 | type: 'daterange', |
| 52 | defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] | 57 | defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
| 53 | } | 58 | } |
| 54 | - } | 59 | + }, |
| 55 | #end | 60 | #end |
| 56 | #end | 61 | #end |
| 57 | ## ========= Form 表单部分 ========= | 62 | ## ========= Form 表单部分 ========= |
| @@ -82,7 +87,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -82,7 +87,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 82 | form: { | 87 | form: { |
| 83 | component: 'Checkbox' | 88 | component: 'Checkbox' |
| 84 | }, | 89 | }, |
| 85 | - #elseif($column.htmlType == "checkbox")## 单选框 | 90 | + #elseif($column.htmlType == "radio")## 单选框 |
| 86 | form: { | 91 | form: { |
| 87 | component: 'Radio' | 92 | component: 'Radio' |
| 88 | }, | 93 | }, |