diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index f5bd01365..cad7b567d 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -36,15 +36,15 @@
2.3.1
- 2.2.2
+ 2.2.3
1.7.1
8.12.0
2.7.7
0.33.0
- 7.2.9.RELEASE
- 1.0.4
+ 7.2.11.RELEASE
+ 1.0.5
4.8.0
6.7.2
@@ -58,19 +58,19 @@
1.2.83
31.1-jre
5.1.0
- 2.14.0
+ 2.14.2
3.8.0
0.1.55
2.5.0
1.3.0
- 4.1.82.Final
+ 4.1.85.Final
3.0.0
4.10.0
8.4.6
- 4.6.2
+ 4.6.3
2.2.1
- 3.1.635
+ 3.1.637
1.4.0
diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java
index a2f241d4c..c08316dc2 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java
@@ -1,12 +1,10 @@
package cn.iocoder.yudao.framework.common.util.object;
-import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import java.lang.reflect.Field;
import java.util.Arrays;
-import java.util.Objects;
import java.util.function.Consumer;
/**
@@ -47,6 +45,7 @@ public class ObjectUtils {
return obj1.compareTo(obj2) > 0 ? obj1 : obj2;
}
+ @SafeVarargs
public static T defaultIfNull(T... array) {
for (T item : array) {
if (item != null) {
@@ -56,6 +55,7 @@ public class ObjectUtils {
return null;
}
+ @SafeVarargs
public static boolean equalsAny(T obj, T... array) {
return Arrays.asList(array).contains(obj);
}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm
index dc6cee6b6..bf6408c9c 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/createReqVO.vm
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult})
&& ${column.javaType} == "LocalDateTime")## 时间类型
import org.springframework.format.annotation.DateTimeFormat;
-
+import java.time.LocalDateTime;
import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
#break
#end
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
index 4034b6f63..19bc32db6 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
@@ -1,7 +1,12 @@
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
import lombok.*;
-import java.util.*;
+#foreach ($column in $columns)
+#if (${column.javaType} == "LocalDateTime")
+import java.time.LocalDateTime;
+#break
+#end
+#end
import io.swagger.annotations.*;
@ApiModel("${sceneEnum.name} - ${table.classComment} Response VO")
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
index d1099ecbf..df49a002b 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
@@ -1,7 +1,48 @@
import request from '@/config/axios'
-import { ${simpleClassName}VO, ${simpleClassName}PageReqVO, ${simpleClassName}ExcelReqVO } from './types'
+export interface ${simpleClassName}VO {
+#foreach ($column in $columns)
+#if ($column.createOperation || $column.updateOperation)
+#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
+ ${column.javaField}: number
+#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
+ ${column.javaField}: Date
+#else
+ ${column.javaField}: ${column.javaType.toLowerCase()}
+#end
+#end
+#end
+}
+
+export interface ${simpleClassName}PageReqVO extends PageParam {
+#foreach ($column in $columns)
+#if (${column.listOperation})##查询操作
+#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
+ ${column.javaField}?: number
+#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
+ ${column.javaField}?: Date[]
+#else
+ ${column.javaField}?: ${column.javaType.toLowerCase()}
+#end
+#end
+#end
+}
+
+export interface ${simpleClassName}ExcelReqVO {
+#foreach ($column in $columns)
+#if (${column.listOperation})##查询操作
+#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
+ ${column.javaField}?: number
+#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
+ ${column.javaField}?: Date[]
+#else
+ ${column.javaField}?: ${column.javaType.toLowerCase()}
+#end
+#end
+#end
+}
#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
+
// 查询${table.classComment}列表
export const get${simpleClassName}PageApi = async (params: ${simpleClassName}PageReqVO) => {
return await request.get({ url: '${baseURL}/page', params })
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm
index fa64bc883..33e204a46 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm
@@ -1,111 +1,110 @@
import { reactive } from 'vue'
import { useI18n } from '@/hooks/web/useI18n'
-import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
import { DICT_TYPE } from '@/utils/dict'
+import { required } from '@/utils/formRules'
+import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
const { t } = useI18n() // 国际化
// 表单校验
export const rules = reactive({
#foreach ($column in $columns)
#if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
#set($comment=$column.columnComment)
- $column.javaField: [{ required: true, message: '${comment}不能为空', trigger: #if($column.htmlType == "select")'change'#else'blur'#end }],
+ $column.javaField: [required],
#end
#end
})
// CrudSchema
-const crudSchemas = reactive([
-#foreach($column in $columns)
- #if ($column.listOperation || $column.listOperationResult || $column.createOperation || $column.updateOperation)
- #set ($dictType = $column.dictType)
- {
- label: '${column.columnComment}',
- field: '${column.javaField}',
- #if ("" != $dictType)## 有数据字典
- dictType: DICT_TYPE.$dictType.toUpperCase(),
- #end
- #if($column.primaryKey)
- type: 'index',
- form: {
- show: false
- },
- detail: {
- show: false
- }
- #else
- #if (!$column.createOperation && !$column.updateOperation)
- form: {
- show: false
- },
- #elseif(!("" != $column.dictType))
- form: {
- show: true,
- #if ($column.htmlType == "datetime")## 时间框
- component: 'DatePicker',
- componentProps: {
- type: 'datetime',
- valueFormat: 'YYYY-MM-DD HH:mm:ss'
- }
+const crudSchemas = reactive({
+ primaryKey: 'id', // 默认的主键ID
+ primaryTitle: t('common.index'), // 默认显示的值
+ primaryType: 'seq', // 默认为seq,序号模式
+ action: true,
+ actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可
+ columns: [
+ #foreach($column in $columns)
+ #if ($column.listOperation || $column.listOperationResult || $column.createOperation || $column.updateOperation)
+ #set ($dictType = $column.dictType)
+ #if(!$column.primaryKey)
+ {
+ title: '${column.columnComment}',
+ field: '${column.javaField}',
+ #if (!$column.listOperationResult)
+ isTable: false,
+ #end
+ #if ("" != $dictType)## 有数据字典
+ dictType: DICT_TYPE.$dictType.toUpperCase(),
+ #if (${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer")
+ dictClass: 'number',
+ #else
+ dictClass: 'string',
+ #end
+ #end
+ #if (!$column.createOperation && !$column.updateOperation)
+ isForm: false,
+ #elseif(!("" != $column.dictType))
+ #if (${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
#elseif($column.htmlType == "editor")## 文本编辑器
- component: 'Editor',
- colProps: {
- span: 24
+ form: {
+ component: 'Editor',
+ colProps: {
+ span: 24
+ },
+ componentProps: {
+ valueHtml: ''
+ }
},
- componentProps: {
- valueHtml: ''
- }
#elseif($column.htmlType == "textarea")## 文本框
- component: 'Input',
- componentProps: {
- type: 'textarea',
- rows: 4
+ form: {
+ component: 'Input',
+ componentProps: {
+ type: 'textarea',
+ rows: 4
+ },
+ colProps: {
+ span: 24
+ }
+ },
+ #elseif(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer")## 数字类型
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ #elseif($column.htmlType == "imageUpload")## 图片上传
+ form: {
+ component: 'UploadImg' // 单图上传,多图为UploadImgs
+ },
+ #elseif($column.htmlType == "fileUpload")## 图片上传
+ form: {
+ component: 'UploadFile'
},
- colProps: {
- span: 24
- }
#end
- },
- #end
- #if ($column.listOperationResult)
- search: {
+ #end
+ #if ($column.listOperation)
#if($column.htmlType == "input")
- show: true
- #else
- #if($column.htmlType == "datetime")
- show: true,
- component: 'DatePicker',
- componentProps: {
- type: 'datetimerange',
- valueFormat: 'YYYY-MM-DD HH:mm:ss'
- }
- #elseif($column.htmlType == "select" || $column.htmlType == "radio")
- #if ("" == $dictType)## 没有数据字典
- show: true,
- component: 'Select',
- componentProps: {
- option: [{'','请选择字典生成'}]
- }
- #else
- show: true
+ isSearch: true,
+ #elseif("" != $dictType)
+ isSearch: true,
+ #elseif($column.htmlType == "datetime")
+ formatter: 'formatDate',
+ search: {
+ show: true,
+ itemRender: {
+ name: 'XDataTimePicker'
+ }
+ },
#end
#end
- #end
- }
- #end
- #end
- },
- #end
-#end
- {
- label: t('table.action'),
- field: 'action',
- width: '240px',
- form: {
- show: false
},
- detail: {
- show: false
- }
- }
-])
-
-export const { allSchemas } = useCrudSchemas(crudSchemas)
\ No newline at end of file
+ #end
+ #end
+ #end
+ ]
+})
+export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
\ No newline at end of file
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
index 509f1493f..06fe3002a 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
@@ -1,51 +1,151 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#foreach($column in $columns)
-#if ($column.listOperationResult)
- #set ($dictType=$column.dictType)
- #if ($column.javaType == "LocalDateTime")## 时间类型
-
- {{ dayjs(row.${column.javaField}).format('YYYY-MM-DD HH:mm:ss') }}
-
- #elseif("" != $column.dictType)## 数据字典
-
-
-
- #end
-#end
-#end
-
-
-
-
-
-
-
-
-
-