update 优化 处理一些代码生成模板的一些写法问题

This commit is contained in:
疯狂的狮子Li 2026-06-24 17:33:05 +08:00
parent 60ba3158d5
commit d54c058085
3 changed files with 21 additions and 17 deletions

View File

@ -1,5 +1,7 @@
import type { ${BusinessName}Form, ${BusinessName}Query, ${BusinessName}VO } from '@/api/${moduleName}/${businessName}/types'; import type { ${BusinessName}Form, ${BusinessName}Query, ${BusinessName}VO } from '@/api/${moduleName}/${businessName}/types';
<#if !table.tree>
import type { PageResult } from '@/api/types'; import type { PageResult } from '@/api/types';
</#if>
import type { AxiosPromise } from '@/utils/api-types'; import type { AxiosPromise } from '@/utils/api-types';
import request from '@/utils/request'; import request from '@/utils/request';
@ -9,7 +11,7 @@ import request from '@/utils/request';
* @returns {*} * @returns {*}
*/ */
export const list${BusinessName} = (query?: ${BusinessName}Query): AxiosPromise<PageResult<${BusinessName}VO>> => { export const list${BusinessName} = (query?: ${BusinessName}Query): AxiosPromise<<#if table.tree>${BusinessName}VO[]<#else>PageResult<${BusinessName}VO></#if>> => {
return request({ return request({
url: '/${moduleName}/${businessName}/list', url: '/${moduleName}/${businessName}/list',
method: 'get', method: 'get',
@ -100,4 +102,3 @@ export const del${BusinessName} = (${pkColumn.javaField}: string | number | Arra
}; };

View File

@ -45,7 +45,7 @@
</#if> </#if>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif (column.htmlType == "select" || column.htmlType == "radio") && column.dictType?has_content> <#elseif (column.htmlType == "select" || column.htmlType == "radio") && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable> <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@ -312,7 +312,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "select" && column.dictType?has_content> <#elseif column.htmlType == "select" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}"> <el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}">
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@ -329,7 +329,7 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "checkbox" && column.dictType?has_content> <#elseif column.htmlType == "checkbox" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-checkbox-group v-model="form.${column.javaField}"> <el-checkbox-group v-model="form.${column.javaField}">
<el-checkbox>请选择字典生成</el-checkbox> <el-checkbox>请选择字典生成</el-checkbox>
@ -349,7 +349,7 @@
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "radio" && column.dictType?has_content> <#elseif column.htmlType == "radio" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-radio-group v-model="form.${column.javaField}"> <el-radio-group v-model="form.${column.javaField}">
<el-radio value="1">请选择字典生成</el-radio> <el-radio value="1">请选择字典生成</el-radio>
@ -689,4 +689,3 @@ onMounted(() => {
getList(); getList();
}); });
</script> </script>

View File

@ -45,7 +45,7 @@
</#if> </#if>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif (column.htmlType == "select" || column.htmlType == "radio") && column.dictType?has_content> <#elseif (column.htmlType == "select" || column.htmlType == "radio") && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable > <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${column.columnLabel}" clearable >
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@ -60,7 +60,7 @@
placeholder="请选择${column.columnLabel}" placeholder="请选择${column.columnLabel}"
/> />
</el-form-item> </el-form-item>
<#elseif column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#elseif column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
<el-form-item label="${column.columnLabel}" style="width: 308px"> <el-form-item label="${column.columnLabel}" style="width: 308px">
<el-date-picker <el-date-picker
v-model="dateRange${column.capJavaField}" v-model="dateRange${column.capJavaField}"
@ -233,7 +233,8 @@
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="80px">
<#list columns as column> <#list columns as column>
<#if (column.insert || column.edit) && !column.pk>`n<#if column.htmlType == "input"> <#if (column.insert || column.edit) && !column.pk>
<#if column.htmlType == "input">
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-input v-model="form.${column.javaField}" placeholder="请输入${column.columnLabel}" /> <el-input v-model="form.${column.javaField}" placeholder="请输入${column.columnLabel}" />
</el-form-item> </el-form-item>
@ -268,7 +269,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "select" && column.dictType?has_content> <#elseif column.htmlType == "select" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}"> <el-select v-model="form.${column.javaField}" placeholder="请选择${column.columnLabel}">
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
@ -285,7 +286,7 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "checkbox" && column.dictType?has_content> <#elseif column.htmlType == "checkbox" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-checkbox-group v-model="form.${column.javaField}"> <el-checkbox-group v-model="form.${column.javaField}">
<el-checkbox>请选择字典生成</el-checkbox> <el-checkbox>请选择字典生成</el-checkbox>
@ -305,7 +306,7 @@
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<#elseif column.htmlType == "radio" && column.dictType?has_content> <#elseif column.htmlType == "radio" && !(column.dictType?has_content)>
<el-form-item label="${column.columnLabel}" prop="${column.javaField}"> <el-form-item label="${column.columnLabel}" prop="${column.javaField}">
<el-radio-group v-model="form.${column.javaField}"> <el-radio-group v-model="form.${column.javaField}">
<el-radio value="1">请选择字典生成</el-radio> <el-radio value="1">请选择字典生成</el-radio>
@ -380,6 +381,9 @@ import { useTableSelection } from '@/hooks/table/useTableSelection';
<#if needDict> <#if needDict>
import { useDict } from '@/utils/dict'; import { useDict } from '@/utils/dict';
</#if> </#if>
<#if needParseTime>
import { parseTime } from '@/utils/ruoyi';
</#if>
import modal from '@/plugins/modal'; import modal from '@/plugins/modal';
<#if enableExport> <#if enableExport>
import { download as requestDownload } from '@/utils/request'; import { download as requestDownload } from '@/utils/request';
@ -400,7 +404,7 @@ const { loading, withLoading } = useLoading(true);
const { showSearch } = useSearchToggle(); const { showSearch } = useSearchToggle();
const total = ref(0); const total = ref(0);
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
const { const {
dateRange: dateRange${column.capJavaField}, dateRange: dateRange${column.capJavaField},
applyDateRange: apply${column.capJavaField}DateRange, applyDateRange: apply${column.capJavaField}DateRange,
@ -472,7 +476,7 @@ const getList = async () => {
<#if needAddDateRange> <#if needAddDateRange>
let params = queryParams.value; let params = queryParams.value;
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
params = apply${column.capJavaField}DateRange(params); params = apply${column.capJavaField}DateRange(params);
</#if> </#if>
</#list> </#list>
@ -505,7 +509,7 @@ const { resetQuery } = useSearchReset({
initialPageSize: 10, initialPageSize: 10,
resetExtras: () => { resetExtras: () => {
<#list columns as column> <#list columns as column>
<#if column.htmlType == "datetime" && column.queryType == "BETWEEN"> <#if column.htmlType == "datetime" && column.queryType == "BETWEEN" && column.query>
reset${column.capJavaField}DateRange(); reset${column.capJavaField}DateRange();
</#if> </#if>
</#list> </#list>
@ -565,8 +569,8 @@ const handleDelete = async (row?: Partial<${BusinessName}VO>) => {
await getList(); await getList();
}; };
/** 导出按钮操作 */
<#if enableExport> <#if enableExport>
/** 导出按钮操作 */
const handleExport = () => { const handleExport = () => {
requestDownload( requestDownload(
'${moduleName}/${businessName}/export', '${moduleName}/${businessName}/export',