From 66540b5e561cf467ca53f133afea346a4c7a4775 Mon Sep 17 00:00:00 2001
From: LiuHao <liuhaoai545@gmail.com>
Date: 星期一, 17 七月 2023 22:15:06 +0800
Subject: [PATCH] update 修改代码生成模版,日期范围统一采用addDateRange方法
---
ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | 34 ++++++++++-------
ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm | 39 +++++++++++--------
ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm | 7 +++
3 files changed, 49 insertions(+), 31 deletions(-)
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm
index c67454b..06e4000 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm
@@ -29,6 +29,10 @@
}
export interface ${BusinessName}Query #if(!${treeCode})extends PageQuery #end{
+ /**
+ * 鏃ユ湡鑼冨洿鍙傛暟
+ */
+ params?: any;
#foreach ($column in $columns)
#if($column.query)
/**
@@ -42,3 +46,6 @@
#end
#end
}
+
+
+
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
index 2eeecd3..ac55c0c 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
@@ -46,7 +46,7 @@
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
<el-form-item label="${comment}" style="width: 308px">
<el-date-picker
- v-model="daterange${AttrName}"
+ v-model="dateRange${AttrName}"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
range-separator="-"
@@ -268,9 +268,6 @@
<script setup name="${BusinessName}" lang="ts">
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
import { ${BusinessName}VO, ${BusinessName}Query, ${BusinessName}Form } from '@/api/${moduleName}/${businessName}/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm, ElTable } from 'element-plus';
-
type ${BusinessName}Option = {
${treeCode}: number;
@@ -292,9 +289,9 @@
const isExpandAll = ref(true);
const loading = ref(false);
-const queryFormRef = ref(ElForm);
-const ${businessName}FormRef = ref(ElForm);
-const ${businessName}TableRef = ref(ElTable)
+const queryFormRef = ref<ElFormInstance>();
+const ${businessName}FormRef = ref<ElFormInstance>();
+const ${businessName}TableRef = ref<ElTableInstance>()
const dialog = reactive<DialogOption>({
visible: false,
@@ -304,7 +301,7 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-const daterange${AttrName} = ref([]);
+const dateRange${AttrName} = ref<[DateModelType, DateModelType]>(['', '']);
#end
#end
@@ -325,9 +322,20 @@
queryParams: {
#foreach ($column in $columns)
#if($column.query)
+ #if($column.htmlType != "datetime" || $column.queryType != "BETWEEN")
$column.javaField: undefined#if($foreach.count != $columns.size()),#end
+ #end
#end
#end
+ params: {
+ #foreach ($column in $columns)
+ #if($column.query)
+ #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+ $column.javaField: undefined#if($foreach.count != $columns.size()),#end
+ #end
+ #end
+ #end
+ }
},
rules: {
#foreach ($column in $columns)
@@ -362,10 +370,7 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- if (null != daterange${AttrName} && '' != daterange${AttrName}) {
- queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0];
- queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1];
- }
+ proxy?.addDateRange(queryParams.value, dateRange${AttrName}.value, '${AttrName}');
#end
#end
const res = await list${BusinessName}(queryParams.value);
@@ -394,7 +399,7 @@
// 琛ㄥ崟閲嶇疆
const reset = () => {
form.value = {...initFormData}
- ${businessName}FormRef.value.resetFields();
+ ${businessName}FormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -407,10 +412,10 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- daterange${AttrName}.value = [];
+ dateRange${AttrName}.value = ['', ''];
#end
#end
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
@@ -438,7 +443,7 @@
/** 灞曞紑/鎶樺彔鎿嶄綔 */
const toggleExpandAll = (data: ${BusinessName}VO[], status: boolean) => {
data.forEach((item) => {
- ${businessName}TableRef.value.toggleRowExpansion(item, status)
+ ${businessName}TableRef.value?.toggleRowExpansion(item, status)
if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
})
}
@@ -467,7 +472,7 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- ${businessName}FormRef.value.validate(async (valid: boolean) => {
+ ${businessName}FormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
#foreach ($column in $columns)
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 81784c8..5af7118 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -46,7 +46,7 @@
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
<el-form-item label="${comment}" style="width: 308px">
<el-date-picker
- v-model="daterange${AttrName}"
+ v-model="dateRange${AttrName}"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
range-separator="-"
@@ -260,8 +260,6 @@
<script setup name="${BusinessName}" lang="ts">
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from '@/api/${moduleName}/${businessName}';
import { ${BusinessName}VO, ${BusinessName}Query, ${BusinessName}Form } from '@/api/${moduleName}/${businessName}/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
#if(${dicts} != '')
@@ -280,12 +278,12 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-const daterange${AttrName} = ref([]);
+const dateRange${AttrName} = ref<[DateModelType, DateModelType]>(['', '']);
#end
#end
-const queryFormRef = ref(ElForm);
-const ${businessName}FormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const ${businessName}FormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -310,9 +308,20 @@
pageSize: 10,
#foreach ($column in $columns)
#if($column.query)
+ #if($column.htmlType != "datetime" || $column.queryType != "BETWEEN")
$column.javaField: undefined#if($foreach.count != $columns.size()),#end
+ #end
#end
#end
+ params: {
+ #foreach ($column in $columns)
+ #if($column.query)
+ #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+ $column.javaField: undefined#if($foreach.count != $columns.size()),#end
+ #end
+ #end
+ #end
+ }
},
rules: {
#foreach ($column in $columns)
@@ -347,10 +356,7 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- if (null != daterange${AttrName} && '' != daterange${AttrName}) {
- queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0];
- queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1];
- }
+ proxy?.addDateRange(queryParams.value, dateRange${AttrName}.value, '${AttrName}');
#end
#end
const res = await list${BusinessName}(queryParams.value);
@@ -368,7 +374,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = {...initFormData};
- ${businessName}FormRef.value.resetFields();
+ ${businessName}FormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -382,10 +388,10 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- daterange${AttrName}.value = [];
+ dateRange${AttrName}.value = ['', ''];
#end
#end
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
@@ -426,7 +432,7 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- ${businessName}FormRef.value.validate(async (valid: boolean) => {
+ ${businessName}FormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
#foreach ($column in $columns)
--
Gitblit v1.9.3