更新模板
This commit is contained in:
parent
7f0ec38a97
commit
66138bfe7d
|
@ -3,13 +3,14 @@ package ${package}.${moduleName}.controller;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import ${package}.framework.common.page.PageResult;
|
import ${package}.framework.common.utils.PageResult;
|
||||||
import ${package}.framework.common.utils.Result;
|
import ${package}.framework.common.utils.Result;
|
||||||
import ${package}.${moduleName}.convert.${ClassName}Convert;
|
import ${package}.${moduleName}.convert.${ClassName}Convert;
|
||||||
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
||||||
import ${package}.${moduleName}.service.${ClassName}Service;
|
import ${package}.${moduleName}.service.${ClassName}Service;
|
||||||
import ${package}.${moduleName}.query.${ClassName}Query;
|
import ${package}.${moduleName}.query.${ClassName}Query;
|
||||||
import ${package}.${moduleName}.vo.${ClassName}VO;
|
import ${package}.${moduleName}.vo.${ClassName}VO;
|
||||||
|
import org.springdoc.core.annotations.ParameterObject;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@ -32,7 +33,7 @@ public class ${ClassName}Controller {
|
||||||
@GetMapping("page")
|
@GetMapping("page")
|
||||||
@Operation(summary = "分页")
|
@Operation(summary = "分页")
|
||||||
@PreAuthorize("hasAuthority('${moduleName}:${functionName}:page')")
|
@PreAuthorize("hasAuthority('${moduleName}:${functionName}:page')")
|
||||||
public Result<PageResult<${ClassName}VO>> page(@Valid ${ClassName}Query query){
|
public Result<PageResult<${ClassName}VO>> page(@ParameterObject @Valid ${ClassName}Query query){
|
||||||
PageResult<${ClassName}VO> page = ${className}Service.page(query);
|
PageResult<${ClassName}VO> page = ${className}Service.page(query);
|
||||||
|
|
||||||
return Result.ok(page);
|
return Result.ok(page);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package ${package}.${moduleName}.dao;
|
package ${package}.${moduleName}.dao;
|
||||||
|
|
||||||
import ${package}.framework.common.dao.BaseDao;
|
import ${package}.framework.mybatis.dao.BaseDao;
|
||||||
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package ${package}.${moduleName}.service;
|
package ${package}.${moduleName}.service;
|
||||||
|
|
||||||
import ${package}.framework.common.page.PageResult;
|
import ${package}.framework.common.utils.PageResult;
|
||||||
import ${package}.framework.common.service.BaseService;
|
import ${package}.framework.mybatis.service.BaseService;
|
||||||
import ${package}.${moduleName}.vo.${ClassName}VO;
|
import ${package}.${moduleName}.vo.${ClassName}VO;
|
||||||
import ${package}.${moduleName}.query.${ClassName}Query;
|
import ${package}.${moduleName}.query.${ClassName}Query;
|
||||||
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
||||||
|
|
|
@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import ${package}.framework.common.page.PageResult;
|
import ${package}.framework.common.utils.PageResult;
|
||||||
import ${package}.framework.common.service.impl.BaseServiceImpl;
|
import ${package}.framework.mybatis.service.impl.BaseServiceImpl;
|
||||||
import ${package}.${moduleName}.convert.${ClassName}Convert;
|
import ${package}.${moduleName}.convert.${ClassName}Convert;
|
||||||
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
import ${package}.${moduleName}.entity.${ClassName}Entity;
|
||||||
import ${package}.${moduleName}.query.${ClassName}Query;
|
import ${package}.${moduleName}.query.${ClassName}Query;
|
||||||
|
|
|
@ -79,7 +79,7 @@ const visible = ref(false)
|
||||||
const dataFormRef = ref()
|
const dataFormRef = ref()
|
||||||
|
|
||||||
const dataForm = reactive({
|
const dataForm = reactive({
|
||||||
<#list formList as field>
|
<#list fieldList as field>
|
||||||
${field.attrName}: ''<#sep>,
|
${field.attrName}: ''<#sep>,
|
||||||
</#list>
|
</#list>
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,136 +1,113 @@
|
||||||
<template>
|
<template>
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-form :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
<el-form :inline="true" :model="state.queryForm" @keyup.enter="getDataList()">
|
||||||
<#list queryList as field>
|
<#list queryList as field>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<#if field.formType == 'text' || field.formType == 'textarea' || field.formType == 'editor'>
|
<#if field.formType == 'text' || field.formType == 'textarea' || field.formType == 'editor'>
|
||||||
<el-input v-model="state.queryForm.${field.attrName}"
|
<el-input v-model="state.queryForm.${field.attrName}" placeholder="${field.fieldComment!}"></el-input>
|
||||||
placeholder="${field.fieldComment!}"></el-input>
|
<#elseif field.queryFormType == 'select'>
|
||||||
<#elseif field.queryFormType == 'select'>
|
<#if field.queryDict??>
|
||||||
<#if field.queryDict??>
|
<fast-select v-model="state.queryForm.${field.attrName}" dict-type="${field.queryDict}" placeholder="${field.fieldComment!}" clearable></fast-select>
|
||||||
<fast-select v-model="state.queryForm.${field.attrName}" dict-type="${field.queryDict}"
|
<#else>
|
||||||
placeholder="${field.fieldComment!}" clearable></fast-select>
|
<el-select v-model="state.queryForm.${field.attrName}" placeholder="${field.fieldComment!}">
|
||||||
<#else>
|
<el-option label="选择" value="0"></el-option>
|
||||||
<el-select v-model="state.queryForm.${field.attrName}" placeholder="${field.fieldComment!}">
|
</el-select>
|
||||||
<el-option label="选择" value="0"></el-option>
|
</#if>
|
||||||
</el-select>
|
<#elseif field.queryFormType == 'radio'>
|
||||||
</#if>
|
<#if field.queryDict??>
|
||||||
<#elseif field.queryFormType == 'radio'>
|
<fast-radio-group v-model="state.queryForm.${field.attrName}" dict-type="${field.queryDict}"></fast-radio-group>
|
||||||
<#if field.queryDict??>
|
<#else>
|
||||||
<fast-radio-group v-model="state.queryForm.${field.attrName}"
|
<el-radio-group v-model="state.queryForm.${field.attrName}">
|
||||||
dict-type="${field.queryDict}"></fast-radio-group>
|
<el-radio :label="0">单选</el-radio>
|
||||||
<#else>
|
</el-radio-group>
|
||||||
<el-radio-group v-model="state.queryForm.${field.attrName}">
|
</#if>
|
||||||
<el-radio :label="0">单选</el-radio>
|
<#elseif field.queryFormType == 'date'>
|
||||||
</el-radio-group>
|
<el-date-picker
|
||||||
</#if>
|
v-model="daterange"
|
||||||
<#elseif field.queryFormType == 'date'>
|
type="daterange"
|
||||||
<el-date-picker
|
value-format="yyyy-MM-dd">
|
||||||
v-model="daterange"
|
</el-date-picker>
|
||||||
type="daterange"
|
<#elseif field.queryFormType == 'datetime'>
|
||||||
value-format="yyyy-MM-dd">
|
<el-date-picker
|
||||||
</el-date-picker>
|
v-model="datetimerange"
|
||||||
<#elseif field.queryFormType == 'datetime'>
|
type="datetimerange"
|
||||||
<el-date-picker
|
value-format="yyyy-MM-dd HH:mm:ss">
|
||||||
v-model="datetimerange"
|
</el-date-picker>
|
||||||
type="datetimerange"
|
<#else>
|
||||||
value-format="yyyy-MM-dd HH:mm:ss">
|
<el-input v-model="state.queryForm.${field.attrName}" placeholder="${field.fieldComment!}"></el-input>
|
||||||
</el-date-picker>
|
</#if>
|
||||||
<#else>
|
</el-form-item>
|
||||||
<el-input v-model="state.queryForm.${field.attrName}"
|
</#list>
|
||||||
placeholder="${field.fieldComment!}"></el-input>
|
<el-form-item>
|
||||||
</#if>
|
<el-button @click="getDataList()">查询</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</#list>
|
<el-form-item>
|
||||||
<el-form-item>
|
<el-button v-auth="'${moduleName}:${functionName}:save'" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
<el-button @click="getDataList()">查询</el-button>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
<el-form-item>
|
<el-button v-auth="'${moduleName}:${functionName}:delete'" type="danger" @click="deleteBatchHandle()">删除</el-button>
|
||||||
<el-button v-auth="'${moduleName}:${functionName}:save'" type="primary" @click="addOrUpdateHandle()">
|
</el-form-item>
|
||||||
新增
|
</el-form>
|
||||||
</el-button>
|
<el-table v-loading="state.dataListLoading" :data="state.dataList" border style="width: 100%" @selection-change="selectionChangeHandle">
|
||||||
</el-form-item>
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||||
<el-form-item>
|
<#list gridList as field>
|
||||||
<el-button v-auth="'${moduleName}:${functionName}:delete'" type="danger" @click="deleteBatchHandle()">
|
<#if field.formDict??>
|
||||||
删除
|
<fast-table-column prop="${field.attrName}" label="${field.fieldComment!}" dict-type="${field.formDict}"></fast-table-column>
|
||||||
</el-button>
|
<#else>
|
||||||
</el-form-item>
|
<el-table-column prop="${field.attrName}" label="${field.fieldComment!}" header-align="center" align="center"></el-table-column>
|
||||||
</el-form>
|
</#if>
|
||||||
<el-table v-loading="state.dataListLoading" :data="state.dataList" border style="width: 100%"
|
</#list>
|
||||||
@selection-change="selectionChangeHandle">
|
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
||||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
<template #default="scope">
|
||||||
<#list gridList as field>
|
<el-button v-auth="'${moduleName}:${functionName}:update'" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||||
<#if field.formDict??>
|
<el-button v-auth="'${moduleName}:${functionName}:delete'" type="primary" link @click="deleteBatchHandle(scope.row.id)">删除</el-button>
|
||||||
<fast-table-column prop="${field.attrName}" label="${field.fieldComment!}"
|
</template>
|
||||||
dict-type="${field.formDict}"></fast-table-column>
|
</el-table-column>
|
||||||
<#else>
|
</el-table>
|
||||||
<el-table-column prop="${field.attrName}" label="${field.fieldComment!}" header-align="center"
|
<el-pagination
|
||||||
align="center"></el-table-column>
|
:current-page="state.page"
|
||||||
</#if>
|
:page-sizes="state.pageSizes"
|
||||||
</#list>
|
:page-size="state.limit"
|
||||||
<el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
:total="state.total"
|
||||||
<template #default="scope">
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
<el-button v-auth="'${moduleName}:${functionName}:update'" type="primary" link
|
@size-change="sizeChangeHandle"
|
||||||
@click="addOrUpdateHandle(scope.row.id)">修改
|
@current-change="currentChangeHandle"
|
||||||
</el-button>
|
>
|
||||||
<el-button v-auth="'${moduleName}:${functionName}:delete'" type="primary" link
|
</el-pagination>
|
||||||
@click="deleteBatchHandle(scope.row.id)">删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<el-pagination
|
|
||||||
:current-page="state.page"
|
|
||||||
:page-sizes="state.pageSizes"
|
|
||||||
:page-size="state.limit"
|
|
||||||
:total="state.total"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
|
||||||
@size-change="sizeChangeHandle"
|
|
||||||
@current-change="currentChangeHandle"
|
|
||||||
>
|
|
||||||
</el-pagination>
|
|
||||||
|
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
<add-or-update ref="addOrUpdateRef" @refreshDataList="getDataList"></add-or-update>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="${ModuleName}${FunctionName}Index">
|
<script setup lang="ts" name="${ModuleName}${FunctionName}Index">
|
||||||
import {useCrud} from '@/hooks'
|
import { useCrud } from '@/hooks'
|
||||||
import {reactive, ref} from 'vue'
|
import { reactive, ref } from 'vue'
|
||||||
import {IHooksOptions} from '@/hooks/interface'
|
import AddOrUpdate from './add-or-update.vue'
|
||||||
|
import { IHooksOptions } from '@/hooks/interface'
|
||||||
|
|
||||||
const state: IHooksOptions = reactive({
|
const state: IHooksOptions = reactive({
|
||||||
dataListUrl: '/${moduleName}/${functionName}/page',
|
dataListUrl: '/${moduleName}/${functionName}/page',
|
||||||
deleteUrl: '/${moduleName}/${functionName}',
|
deleteUrl: '/${moduleName}/${functionName}',
|
||||||
queryForm: {
|
queryForm: {
|
||||||
<#list queryList as field>
|
<#list queryList as field>
|
||||||
<#if field.formType == 'date'>
|
<#if field.formType == 'date'>
|
||||||
startDate: '',
|
startDate: '',
|
||||||
endDate: ''<#sep>, </#sep>
|
endDate: ''<#sep>, </#sep>
|
||||||
<#elseif field.formType == 'datetime'>
|
<#elseif field.formType == 'datetime'>
|
||||||
startDateTime: '',
|
startDateTime: '',
|
||||||
endDateTime: ''<#sep>, </#sep>
|
endDateTime: ''<#sep>, </#sep>
|
||||||
<#else>
|
<#else>
|
||||||
${field.attrName}: ''<#sep>, </#sep>
|
${field.attrName}: ''<#sep>, </#sep>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const addOrUpdateRef = ref()
|
const addOrUpdateRef = ref()
|
||||||
const addOrUpdateHandle = (id
|
const addOrUpdateHandle = (id?: number) => {
|
||||||
? : number
|
addOrUpdateRef.value.init(id)
|
||||||
) =>
|
}
|
||||||
{
|
|
||||||
addOrUpdateRef.value.init(id)
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
const { getDataList, selectionChangeHandle, sizeChangeHandle, currentChangeHandle, deleteBatchHandle } = useCrud(state)
|
||||||
getDataList,
|
|
||||||
selectionChangeHandle,
|
|
||||||
sizeChangeHandle,
|
|
||||||
currentChangeHandle,
|
|
||||||
deleteBatchHandle
|
|
||||||
} = useCrud(state)
|
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user