refactor: 代码模板完善,增加日期筛选处理
This commit is contained in:
@@ -26,6 +26,6 @@ public class UserPageQuery extends BasePageQuery {
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description="创建时间范围")
|
||||
private List<String> createTimeRange;
|
||||
private List<String> createTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -37,13 +37,13 @@
|
||||
<if test='queryParams.deptId!=null'>
|
||||
AND concat(',',concat(d.tree_path,',',d.id),',') like concat('%,',#{queryParams.deptId},',%')
|
||||
</if>
|
||||
<if test='queryParams.createTimeRange != null'>
|
||||
<if test="queryParams.createTimeRange[0] != null and queryParams.createTimeRange[0].trim() neq ''">
|
||||
AND u.create_time >=CONCAT(#{queryParams.createTimeRange[0]}, ' 00:00:00')
|
||||
</if>
|
||||
<if test="queryParams.createTimeRange[1] != null and queryParams.createTimeRange[0].trim() neq ''">
|
||||
AND u.create_time <= CONCAT(#{queryParams.createTimeRange[1]}, ' 23:59:59')
|
||||
</if>
|
||||
<if test="queryParams.createTime[0] != null and queryParams.createTime[0] != ''">
|
||||
<bind name="startDate" value="queryParams.createTime[0].length() == 10 ? queryParams.createTime[0] + ' 00:00:00' : queryParams.createTime[0]"/>
|
||||
AND u.create_time >= #{startDate}
|
||||
</if>
|
||||
<if test="queryParams.createTime[1] != null and queryParams.createTime[1] != ''">
|
||||
<bind name="endDate" value="queryParams.createTime[1].length() == 10 ? queryParams.createTime[1] + ' 23:59:59' : queryParams.createTime[1]"/>
|
||||
AND u.create_time <= #{endDate}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
|
||||
@@ -62,10 +62,24 @@ class ${entityName}API {
|
||||
|
||||
export default ${entityName}API;
|
||||
|
||||
/** $${businessName}分页查询参数 */
|
||||
/** ${businessName}分页查询参数 */
|
||||
export interface ${entityName}PageQuery extends PageQuery {
|
||||
/** 搜索关键字 */
|
||||
keywords?: string;
|
||||
#foreach($fieldConfig in $fieldConfigs)
|
||||
#if($fieldConfig.isShowInList)
|
||||
#if("$!fieldConfig.fieldComment" != "")
|
||||
/** ${fieldConfig.fieldComment} */
|
||||
#end
|
||||
#if($fieldConfig.formType == "DATE" || $fieldConfig.formType == "DATE_TIME")
|
||||
#if($fieldConfig.queryType == "BETWEEN")
|
||||
${fieldConfig.fieldName}?: [string, string];
|
||||
#else
|
||||
${fieldConfig.fieldName}?: ${fieldConfig.tsType};
|
||||
#end
|
||||
#else
|
||||
${fieldConfig.fieldName}?: ${fieldConfig.tsType};
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
}
|
||||
|
||||
/** ${businessName}表单对象 */
|
||||
|
||||
@@ -6,35 +6,76 @@
|
||||
#if($fieldConfig.isShowInQuery == 1)
|
||||
<el-form-item label="$fieldConfig.fieldComment" prop="$fieldConfig.fieldName">
|
||||
#if($fieldConfig.formType == "INPUT")
|
||||
<el-input v-model="queryParams.$fieldConfig.fieldName" placeholder="$fieldConfig.fieldComment" clearable @keyup.enter="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "SELECT")
|
||||
#if($fieldConfig.dictType != "")
|
||||
<dictionary v-model="formData.$fieldConfig.fieldName" code="$fieldConfig.dictType" />
|
||||
#else
|
||||
<el-select v-model="formData.$fieldConfig.fieldName" placeholder="请选择$fieldConfig.fieldComment">
|
||||
<el-option :key="1" :value="1" label="下拉项1"/>
|
||||
<el-option :key="2" :value="2" label="下拉项2"/>
|
||||
<el-option :key="3" :value="3" label="下拉项3"/>
|
||||
<el-option :key="1" :value="1" label="选项一"/>
|
||||
<el-option :key="2" :value="2" label="选项二"/>
|
||||
</el-select>
|
||||
#end
|
||||
#elseif($fieldConfig.formType == "RADIO")
|
||||
<el-radio-group v-model="queryParams.$fieldConfig.fieldName">
|
||||
<el-radio v-for="option in $fieldConfig.options" :key="option.value" :label="option.value">{{ option.label }}</el-radio>
|
||||
<el-radio :key="1" :label="1">选项一</el-radio>
|
||||
<el-radio :key="2" :label="2">选项二</el-radio>
|
||||
</el-radio-group>
|
||||
#elseif($fieldConfig.formType == "CHECK_BOX")
|
||||
<el-checkbox-group v-model="queryParams.$fieldConfig.fieldName">
|
||||
<el-checkbox v-for="option in $fieldConfig.options" :key="option.value" :label="option.value">{{ option.label }}</el-checkbox>
|
||||
<el-checkbox :key="1" :label="1">选项一</el-checkbox>
|
||||
<el-checkbox :key="2" :label="2">选项二</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
#elseif($fieldConfig.formType == "INPUT_NUMBER")
|
||||
<el-input-number v-model="queryParams.$fieldConfig.fieldName" placeholder="$fieldConfig.fieldComment" />
|
||||
<el-input-number
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "SWITCH")
|
||||
<el-switch v-model="queryParams.$fieldConfig.fieldName" />
|
||||
<el-switch
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "TEXT_AREA")
|
||||
<el-input type="textarea" v-model="queryParams.$fieldConfig.fieldName" placeholder="$fieldConfig.fieldComment" />
|
||||
<el-input type="textarea"
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "DATE_TIME")
|
||||
<el-date-picker v-model="queryParams.$fieldConfig.fieldName" type="datetime" placeholder="$fieldConfig.fieldComment" />
|
||||
<el-date-picker
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
#if($fieldConfig.queryType == "BETWEEN")
|
||||
type="daterange"
|
||||
range-separator="~"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="截止时间"
|
||||
#else
|
||||
type="datetime"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
#end
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "DATE")
|
||||
<el-date-picker v-model="queryParams.$fieldConfig.fieldName" type="date" placeholder="$fieldConfig.fieldComment" />
|
||||
<el-date-picker
|
||||
class="!w-[240px]"
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
#if($fieldConfig.queryType == "BETWEEN")
|
||||
type="daterange"
|
||||
range-separator="~"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="截止时间"
|
||||
#else
|
||||
type="date"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
#end
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
#end
|
||||
</el-form-item>
|
||||
#end
|
||||
@@ -53,79 +94,127 @@
|
||||
</template>
|
||||
|
||||
<el-table
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
:data="pageData"
|
||||
highlight-current-row
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
:data="pageData"
|
||||
highlight-current-row
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
#foreach($fieldConfig in $fieldConfigs)
|
||||
#if($fieldConfig.isShowInList == 1)
|
||||
<el-table-column
|
||||
key="$fieldConfig.fieldName"
|
||||
label="$fieldConfig.fieldComment"
|
||||
prop="$fieldConfig.fieldName"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
key="$fieldConfig.fieldName"
|
||||
label="$fieldConfig.fieldComment"
|
||||
prop="$fieldConfig.fieldName"
|
||||
min-width="100"
|
||||
/>
|
||||
#end
|
||||
#end
|
||||
<el-table-column fixed="right" label="操作" width="220">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" size="small" link @click="handleOpenDialog(scope.row.id)"><i-ep-edit />编辑</el-button>
|
||||
<el-button type="danger" size="small" link @click="handleDelete(scope.row.id)"><i-ep-delete />删除</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handleOpenDialog(scope.row.id)"
|
||||
>
|
||||
<i-ep-edit />
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
<i-ep-delete />
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
v-model:total="total"
|
||||
v-model:page="queryParams.pageNum"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="handleQuery"
|
||||
v-if="total > 0"
|
||||
v-model:total="total"
|
||||
v-model:page="queryParams.pageNum"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="handleQuery"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<!-- $!{businessName}表单弹窗 -->
|
||||
<el-dialog v-model="dialog.visible" :title="dialog.title" width="500px" @close="handleCloseDialog">
|
||||
<el-dialog
|
||||
v-model="dialog.visible"
|
||||
:title="dialog.title"
|
||||
width="500px"
|
||||
@close="handleCloseDialog"
|
||||
>
|
||||
<el-form ref="dataFormRef" :model="formData" :rules="rules" label-width="100px">
|
||||
#foreach($fieldConfig in $fieldConfigs)
|
||||
#if($fieldConfig.isShowInForm == 1)
|
||||
<el-form-item abel="$fieldConfig.fieldComment" prop="$fieldConfig.fieldName">
|
||||
#if($fieldConfig.formType == "INPUT")
|
||||
<el-input v-model="formData.$fieldConfig.fieldName" placeholder="'请输入$fieldConfig.fieldComment" />
|
||||
#elseif($fieldConfig.formType == "SELECT")
|
||||
#if($fieldConfig.dictType != "")
|
||||
<dictionary v-model="formData.$fieldConfig.fieldName" code="$fieldConfig.dictType" />
|
||||
#else
|
||||
<el-select v-model="formData.$fieldConfig.fieldName" placeholder="'请选择$fieldConfig.fieldComment">
|
||||
<el-option :key="1" :value="1" label="下拉项1"/>
|
||||
<el-option :key="2" :value="2" label="下拉项2"/>
|
||||
<el-option :key="3" :value="3" label="下拉项3"/>
|
||||
</el-select>
|
||||
<el-form-item label="$fieldConfig.fieldComment" prop="$fieldConfig.fieldName">
|
||||
#if($fieldConfig.formType == "INPUT")
|
||||
<el-input
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "SELECT")
|
||||
#if($fieldConfig.dictType != "")
|
||||
<dictionary v-model="formData.$fieldConfig.fieldName" code="$fieldConfig.dictType" />
|
||||
#else
|
||||
<el-select v-model="formData.$fieldConfig.fieldName" placeholder="请选择$fieldConfig.fieldComment">
|
||||
<el-option :value="0" label="选项一"/>
|
||||
<el-option :value="1" label="选项二"/>
|
||||
</el-select>
|
||||
#end
|
||||
#elseif($fieldConfig.formType == "RADIO")
|
||||
<el-radio-group v-model="queryParams.$fieldConfig.fieldName">
|
||||
<el-radio :value="0">选项一</el-radio>
|
||||
<el-radio :value="1">选项二</el-radio>
|
||||
</el-radio-group>
|
||||
#elseif($fieldConfig.formType == "CHECK_BOX")
|
||||
<el-checkbox-group v-model="queryParams.$fieldConfig.fieldName">
|
||||
<el-checkbox :value="0">选项一</el-checkbox>
|
||||
<el-checkbox :value="1">选项二</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
#elseif($fieldConfig.formType == "INPUT_NUMBER")
|
||||
<el-input-number
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "SWITCH")
|
||||
<el-switch
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "TEXT_AREA")
|
||||
<el-input type="textarea"
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "DATE_TIME")
|
||||
<el-date-picker
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
type="datetime"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
#elseif($fieldConfig.formType == "DATE")
|
||||
<el-date-picker
|
||||
class="!w-[240px]"
|
||||
v-model="queryParams.$fieldConfig.fieldName"
|
||||
type="date"
|
||||
placeholder="$fieldConfig.fieldComment"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
#end
|
||||
#elseif($fieldConfig.formType == "RADIO")
|
||||
<el-radio-group v-model="formData.$fieldConfig.fieldName">
|
||||
<el-radio v-for="option in $fieldConfig.options" :key="option.value" :label="option.value">{{ option.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
#elseif($fieldConfig.formType == "CHECK_BOX")
|
||||
<el-checkbox-group v-model="formData.$fieldConfig.fieldName">
|
||||
<el-checkbox v-for="option in $fieldConfig.options" :key="option.value" :label="option.value">{{ option.label }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
#elseif($fieldConfig.formType == "INPUT_NUMBER")
|
||||
<el-input-number v-model="formData.$fieldConfig.fieldName" placeholder="'请输入$fieldConfig.fieldComment" />
|
||||
#elseif($fieldConfig.formType == "SWITCH")
|
||||
<el-switch v-model="formData.$fieldConfig.fieldName" />
|
||||
#elseif($fieldConfig.formType == "TEXT_AREA")
|
||||
<el-input type="textarea" v-model="formData.$fieldConfig.fieldName" placeholder="'请输入$fieldConfig.fieldComment" />
|
||||
#elseif($fieldConfig.formType == "DATE_TIME")
|
||||
<el-date-picker v-model="formData.$fieldConfig.fieldName" type="datetime" placeholder="'请选择$fieldConfig.fieldComment" />
|
||||
#elseif($fieldConfig.formType == "DATE")
|
||||
<el-date-picker v-model="formData.$fieldConfig.fieldName" type="date" placeholder="'请选择$fieldConfig.fieldComment" />
|
||||
#end
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
#end
|
||||
#end
|
||||
</el-form>
|
||||
|
||||
@@ -22,7 +22,11 @@
|
||||
#if($fieldConfigs)
|
||||
#foreach($fieldConfig in ${fieldConfigs})
|
||||
#if($fieldConfig.isShowInQuery)
|
||||
#if($fieldConfig.fieldType == "String")
|
||||
<if test="queryParams.${fieldConfig.fieldName} != null and queryParams.${fieldConfig.fieldName} != ''">
|
||||
#else
|
||||
<if test="queryParams.${fieldConfig.fieldName} != null">
|
||||
#end
|
||||
#set ($queryType = ${fieldConfig.queryType})
|
||||
#if($queryType == "EQ")
|
||||
AND ${fieldConfig.columnName} = #{queryParams.${fieldConfig.fieldName}}
|
||||
@@ -33,11 +37,14 @@
|
||||
AND ${fieldConfig.columnName} IN <foreach collection="queryParams.${fieldConfig.fieldName}" item="item" open="(" close=")" separator=",">#{item}</foreach>
|
||||
</if>
|
||||
#elseif($queryType == "BETWEEN")
|
||||
#if(${fieldConfig.fieldType} == "LocalDateTime")
|
||||
AND ${fieldConfig.columnName} BETWEEN STR_TO_DATE(#{queryParams.${fieldConfig.fieldName}Start}, '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE(#{queryParams.${fieldConfig.fieldName}End}, '%Y-%m-%d %H:%i:%s')
|
||||
#else
|
||||
AND ${fieldConfig.columnName} BETWEEN #{queryParams.${fieldConfig.fieldName}Start} AND #{queryParams.${fieldConfig.fieldName}End}
|
||||
#end
|
||||
<if test="queryParams.${fieldConfig.fieldName}[0] != null and queryParams.${fieldConfig.fieldName}[0] != ''">
|
||||
<bind name="startDate" value="queryParams.${fieldConfig.fieldName}[0].length() == 10 ? queryParams.${fieldConfig.fieldName}[0] + ' 00:00:00' : queryParams.${fieldConfig.fieldName}[0]"/>
|
||||
AND u.create_time >= #{startDate}
|
||||
</if>
|
||||
<if test="queryParams.${fieldConfig.fieldName}[1] != null and queryParams.${fieldConfig.fieldName}[1] != ''">
|
||||
<bind name="endDate" value="queryParams.${fieldConfig.fieldName}[1].length() == 10 ? queryParams.${fieldConfig.fieldName}[1] + ' 23:59:59' : queryParams.${fieldConfig.fieldName}[1]"/>
|
||||
AND u.create_time <= #{endDate}
|
||||
</if>
|
||||
#elseif($queryType == "GT")
|
||||
AND ${fieldConfig.columnName} > #{queryParams.${fieldConfig.fieldName}}
|
||||
#elseif($queryType == "GE")
|
||||
|
||||
@@ -29,7 +29,15 @@ public class ${entityName}Query extends BasePageQuery {
|
||||
#if("$!fieldConfig.fieldComment" != "")
|
||||
@Schema(description = "${fieldConfig.fieldComment}")
|
||||
#end
|
||||
#if($fieldConfig.formType == "DATE" || $fieldConfig.formType == "DATE_TIME")
|
||||
#if($fieldConfig.queryType == "BETWEEN")
|
||||
private List<String> ${fieldConfig.fieldName};
|
||||
#else
|
||||
private ${fieldConfig.fieldType} ${fieldConfig.fieldName};
|
||||
#end
|
||||
#else
|
||||
private ${fieldConfig.fieldType} ${fieldConfig.fieldName};
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
||||
Reference in New Issue
Block a user