From a57f79cf90e8fc70f646c1dd91fac79b0df6ce73 Mon Sep 17 00:00:00 2001 From: xingyu Date: Mon, 25 Jul 2022 16:53:36 +0800 Subject: [PATCH] fix: vue2代码生成模板 --- yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm | 10 +++------- yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm | 10 +++------- yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm | 14 ++++---------- yudao-ui-admin-vue3/src/router/modules/remaining.ts | 2 +- yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue | 66 ------------------------------------------------------------------ yudao-ui-admin-vue3/src/views/infra/codegen/components/EditTable.vue | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue | 5 +++++ yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue | 28 ++++++++++++++-------------- yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts | 7 +++++++ yudao-ui-admin-vue3/src/views/infra/codegen/index.vue | 3 +-- yudao-ui-admin/src/views/infra/codegen/index.vue | 2 +- 11 files changed, 104 insertions(+), 108 deletions(-) delete mode 100644 yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue create mode 100644 yudao-ui-admin-vue3/src/views/infra/codegen/components/EditTable.vue create mode 100644 yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm index 10ab97a..afd583c 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/exportReqVO.vm @@ -15,9 +15,6 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end ## 字段模板 #macro(columnTpl $prefix $prefixStr) -#if (${column.javaType} == "Date")## 时间类型 - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) -#end @ApiModelProperty(value = "${prefixStr}${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end; #end @@ -27,12 +24,11 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; public class ${sceneEnum.prefixClass}${table.className}ExportReqVO { #foreach ($column in $columns) -#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 #if (${column.listOperation})##查询操作 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候 - #columnTpl('begin', '开始') - - #columnTpl('end', '结束') + @ApiModelProperty(value = "${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private ${column.javaType}[] ${column.javaField}; #else##情况二,非 Between 的时间 #columnTpl('', '') #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm index 5f5952c..df2be70 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm @@ -15,9 +15,6 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end ## 字段模板 #macro(columnTpl $prefix $prefixStr) -#if (${column.javaType} == "Date")## 时间类型 - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) -#end @ApiModelProperty(value = "${prefixStr}${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end; #end @@ -29,12 +26,11 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PageParam { #foreach ($column in $columns) -#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 #if (${column.listOperation})##查询操作 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候 - #columnTpl('begin', '开始') - - #columnTpl('end', '结束') + @ApiModelProperty(value = "${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private ${column.javaType}[] ${column.javaField}; #else##情况二,非 Between 的时间 #columnTpl('', '') #end diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm index d49fa93..95f7d66 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue/views/index.vue.vm @@ -219,22 +219,16 @@ export default { title: "", // 是否显示弹出层 open: false, - #foreach ($column in $columns)## 时间范围 - #if ($column.listOperation) - #if ($column.htmlType == "datetime" && $column.listOperationCondition == "BETWEEN") - #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - dateRange${AttrName}: [], - #end - #end - #end // 查询参数 queryParams: { pageNo: 1, pageSize: 10, #foreach ($column in $columns) - #if ($column.listOperation && $column.listOperationCondition != 'BETWEEN') + #if ($column.listOperation) + #if ($column.listOperationCondition != 'BETWEEN') $column.javaField: null, - #else if ($column.htmlType == "datetime" && $column.listOperationCondition == "BETWEEN") + #end + #if ($column.htmlType == "datetime" || $column.listOperationCondition == "BETWEEN") $column.javaField: [], #end #end diff --git a/yudao-ui-admin-vue3/src/router/modules/remaining.ts b/yudao-ui-admin-vue3/src/router/modules/remaining.ts index 92f3a36..7c3c524 100644 --- a/yudao-ui-admin-vue3/src/router/modules/remaining.ts +++ b/yudao-ui-admin-vue3/src/router/modules/remaining.ts @@ -72,7 +72,7 @@ const remainingRouter: AppRouteRecordRaw[] = [ children: [ { path: 'edit', - component: () => import('@/views/infra/codegen/EditTable.vue'), + component: () => import('@/views/infra/codegen/components/EditTable.vue'), name: 'EditTable', meta: { noCache: true, diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue deleted file mode 100644 index 07dfa52..0000000 --- a/yudao-ui-admin-vue3/src/views/infra/codegen/EditTable.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/components/EditTable.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/components/EditTable.vue new file mode 100644 index 0000000..47e2c89 --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/infra/codegen/components/EditTable.vue @@ -0,0 +1,65 @@ + + diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue index c840bc1..d8b1b4d 100644 --- a/yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue +++ b/yudao-ui-admin-vue3/src/views/infra/codegen/components/GenInfoForm.vue @@ -47,6 +47,7 @@ const schema = reactive([ label: '模块名', field: 'moduleName', component: 'Input', + labelMessage: '模块名,即一级目录,例如 system、infra、tool 等等', colProps: { span: 12 } @@ -55,6 +56,7 @@ const schema = reactive([ label: '业务名', field: 'businessName', component: 'Input', + labelMessage: '业务名,即二级目录,例如 user、permission、dict 等等', colProps: { span: 12 } @@ -63,6 +65,7 @@ const schema = reactive([ label: '类名称', field: 'className', component: 'Input', + labelMessage: '类名称(首字母大写),例如SysUser、SysMenu、SysDictData 等等', colProps: { span: 12 } @@ -71,6 +74,7 @@ const schema = reactive([ label: '类描述', field: 'classComment', component: 'Input', + labelMessage: '用作类描述,例如 用户', colProps: { span: 12 } @@ -79,6 +83,7 @@ const schema = reactive([ label: '上级菜单', field: 'parentMenuId', component: 'Input', + labelMessage: '分配到指定菜单下,例如 系统管理', colProps: { span: 12 } diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue index f6e4d4d..703e78d 100644 --- a/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue +++ b/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue @@ -8,17 +8,18 @@ import { ElForm, ElFormItem, ElInput, - ElEmpty + ElSelect, + ElOption } from 'element-plus' import { useI18n } from '@/hooks/web/useI18n' -import { useEmitt } from '@/hooks/web/useEmitt' import { getDataSourceConfigListApi } from '@/api/infra/dataSourceConfig' import type { DataSourceConfigVO } from '@/api/infra/dataSourceConfig/types' import type { DatabaseTableVO } from '@/api/infra/codegen/types' const { t } = useI18n() // 国际化 -const { emitter } = useEmitt() +const emit = defineEmits(['ok']) // ======== 显示页面 ======== const visible = ref(false) +const dbLoading = ref(true) const queryParams = reactive({ tableName: undefined, tableComment: undefined, @@ -37,8 +38,10 @@ const dbTableList = ref([]) /** 查询表数据 */ const getList = async () => { + dbLoading.value = true const res = await getSchemaTableListApi(queryParams) dbTableList.value = res + dbLoading.value = false } // 查询操作 const handleQuery = async () => { @@ -56,19 +59,18 @@ const handleSelectionChange = (val: DatabaseTableVO[]) => { tables.value = val.map((item) => item.name) } /** 导入按钮操作 */ -const handleImportTable = () => { +const handleImportTable = async () => { if (tables.value.length === 0) { ElMessage.error('请选择要导入的表') return } - createCodegenListApi({ + await createCodegenListApi({ dataSourceConfigId: queryParams.dataSourceConfigId, tableNames: tables.value - }).then((res) => { - ElMessage.success(res.msg) - visible.value = false - emitter.emit('ok') }) + ElMessage.success('导入成功') + visible.value = false + emit('ok') } defineExpose({ show @@ -78,7 +80,7 @@ defineExpose({ - + @@ -109,11 +111,9 @@ defineExpose({ ref="table" :data="dbTableList" @selection-change="handleSelectionChange" + v-loading="dbLoading" height="400px" > - diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts b/yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts new file mode 100644 index 0000000..58be849 --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/infra/codegen/components/index.ts @@ -0,0 +1,7 @@ +import BasicInfoForm from './BasicInfoForm.vue' +import CloumInfoForm from './CloumInfoForm.vue' +import EditTable from './EditTable.vue' +import GenInfoForm from './GenInfoForm.vue' +import ImportTable from './ImportTable.vue' +import Preview from './Preview.vue' +export { BasicInfoForm, CloumInfoForm, EditTable, GenInfoForm, ImportTable, Preview } diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/index.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/index.vue index 215f79e..0c60447 100644 --- a/yudao-ui-admin-vue3/src/views/infra/codegen/index.vue +++ b/yudao-ui-admin-vue3/src/views/infra/codegen/index.vue @@ -6,8 +6,7 @@ import { useTable } from '@/hooks/web/useTable' import { CodegenTableVO } from '@/api/infra/codegen/types' import { allSchemas } from './codegen.data' import { useI18n } from '@/hooks/web/useI18n' -import ImportTable from './components/ImportTable.vue' -import Preview from './components/Preview.vue' +import { ImportTable, Preview } from './components' import download from '@/utils/download' import { useRouter } from 'vue-router' import { useMessage } from '@/hooks/web/useMessage' diff --git a/yudao-ui-admin/src/views/infra/codegen/index.vue b/yudao-ui-admin/src/views/infra/codegen/index.vue index 6652e97..dea6747 100644 --- a/yudao-ui-admin/src/views/infra/codegen/index.vue +++ b/yudao-ui-admin/src/views/infra/codegen/index.vue @@ -85,7 +85,7 @@