优化Vue3&服务层代码生成模板
This commit is contained in:
parent
ce04eb78c2
commit
ef9379811d
@ -149,9 +149,12 @@ $if(replaceDto.ShowBtnExport)
|
||||
[ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:export")]
|
||||
public IActionResult Export([FromQuery] ${replaceDto.ModelTypeName}QueryDto parm)
|
||||
{
|
||||
parm.PageSize = 10000;
|
||||
parm.PageSize = 100000;
|
||||
var list = _${replaceDto.ModelTypeName}Service.GetList(parm).Result;
|
||||
|
||||
if (list == null || list.Count <= 0)
|
||||
{
|
||||
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
|
||||
}
|
||||
string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}");
|
||||
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
|
||||
}
|
||||
|
||||
@ -1,38 +1,65 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using ${options.ModelsNamespace}.Dto;
|
||||
using ${options.ModelsNamespace}.Models;
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
using OfficeOpenXml.Attributes;
|
||||
$end
|
||||
|
||||
namespace ${options.DtosNamespace}.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// ${genTable.FunctionName}输入对象
|
||||
/// </summary>
|
||||
public class ${replaceDto.ModelTypeName}Dto
|
||||
{
|
||||
$foreach(item in genTable.Columns)
|
||||
$if((item.IsInsert || item.IsEdit || item.IsPk || item.IsIncrement))
|
||||
$if(item.IsRequired)
|
||||
[Required(ErrorMessage = "${item.ColumnComment}不能为空")]
|
||||
$end
|
||||
public $item.CsharpType$item.RequiredStr $item.CsharpField { get; set; }
|
||||
$end
|
||||
$end
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ${genTable.FunctionName}查询对象
|
||||
/// </summary>
|
||||
public class ${replaceDto.ModelTypeName}QueryDto : PagerInfo
|
||||
{
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.IsQuery && item.htmlType == "datetime")
|
||||
$if(item.IsQuery)
|
||||
$if(item.htmlType == "datetime")
|
||||
public DateTime? Begin$item.CsharpField { get; set; }
|
||||
public DateTime? End$item.CsharpField { get; set; }
|
||||
$elseif(item.IsQuery)
|
||||
$elseif(item.htmlType == "selectMulti")
|
||||
public ${item.CsharpType}[] $item.CsharpField { get; set; }
|
||||
$else
|
||||
public $item.CsharpType$if(item.CsharpType != "string")?$end $item.CsharpField { get; set; }
|
||||
$end
|
||||
$end
|
||||
$end
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ${genTable.FunctionName}输入输出对象
|
||||
/// </summary>
|
||||
public class ${replaceDto.ModelTypeName}Dto
|
||||
{
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.IsRequired)
|
||||
[Required(ErrorMessage = "${item.ColumnComment}不能为空")]
|
||||
$end
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
$if(item.IsExport)
|
||||
[EpplusTableColumn(Header = "$if(item.ColumnComment == "")${item.CsharpField}${else}${item.ColumnComment}${end}"$if(item.CsharpType == "DateTime"), NumberFormat = "yyyy-MM-dd HH:mm:ss"$end)]
|
||||
$else
|
||||
[EpplusIgnore]
|
||||
$end
|
||||
$end
|
||||
public $item.CsharpType$item.RequiredStr $item.CsharpField { get; set; }
|
||||
|
||||
$end
|
||||
|
||||
$if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
[EpplusIgnore]
|
||||
$end
|
||||
public ${genTable.SubTable.ClassName} ${genTable.SubTable.ClassName} { get; set; }
|
||||
$end
|
||||
|
||||
$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
[EpplusIgnore]
|
||||
$end
|
||||
public List<${genTable.SubTable.ClassName}> ${genTable.SubTable.ClassName} { get; set; }
|
||||
$end
|
||||
}
|
||||
}
|
||||
@ -14,7 +14,7 @@ namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNam
|
||||
/// </summary>
|
||||
public interface I${replaceDto.ModelTypeName}Service : IBaseService<${replaceDto.ModelTypeName}>
|
||||
{
|
||||
PagedInfo<${replaceDto.ModelTypeName}> GetList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||
PagedInfo<${replaceDto.ModelTypeName}Dto> GetList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||
|
||||
$if(genTable.TplCategory == "tree")
|
||||
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
using System;
|
||||
using SqlSugar;
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
using OfficeOpenXml.Attributes;
|
||||
$end
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ${options.ModelsNamespace}.Models
|
||||
{
|
||||
@ -20,13 +18,6 @@ $foreach(item in genTable.Columns)
|
||||
/// 描述 :${item.ColumnComment} ${item.Remark}
|
||||
/// 空值 :$if(item.IsRequired == "True")false${else}true${end}
|
||||
/// </summary>
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
$if(item.IsExport)
|
||||
[EpplusTableColumn(Header = "$if(item.ColumnComment == "")${item.CsharpField}${else}${item.ColumnComment}${end}"$if(item.CsharpType == "DateTime"), NumberFormat = "yyyy-MM-dd HH:mm:ss"$end)]
|
||||
$else
|
||||
[EpplusIgnore]
|
||||
$end
|
||||
$end
|
||||
$if(item.IsPk || item.IsIncrement)
|
||||
[SugarColumn(IsPrimaryKey = ${item.IsPk.ToString().ToLower()}, IsIdentity = ${item.IsIncrement.ToString().ToLower()}$if(item.CsharpField.ToLower() != item.ColumnName.ToLower()), ColumnName = "$item.ColumnName"$end)]
|
||||
$elseif(item.CsharpField.ToLower() != item.ColumnName.ToLower())
|
||||
@ -35,8 +26,8 @@ $end
|
||||
public $item.CsharpType$item.RequiredStr $item.CsharpField { get; set; }
|
||||
|
||||
${end}
|
||||
$if(genTable.TplCategory == "tree")
|
||||
|
||||
$if(genTable.TplCategory == "tree")
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<${replaceDto.ModelTypeName}> Children { get; set; }
|
||||
$end
|
||||
|
||||
@ -6,6 +6,10 @@ using ${options.ModelsNamespace}.Dto;
|
||||
using ${options.ModelsNamespace}.Models;
|
||||
using ${options.IRepositoriesNamespace};
|
||||
using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
|
||||
using System.Linq;
|
||||
$if(genTable.TplCategory == "tree")
|
||||
using System.Collections.Generic;
|
||||
$end
|
||||
|
||||
namespace ${options.ServicesNamespace}.${options.SubNamespace}
|
||||
{
|
||||
@ -25,7 +29,7 @@ namespace ${options.ServicesNamespace}.${options.SubNamespace}
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public PagedInfo<${replaceDto.ModelTypeName}> GetList(${replaceDto.ModelTypeName}QueryDto parm)
|
||||
public PagedInfo<${replaceDto.ModelTypeName}Dto> GetList(${replaceDto.ModelTypeName}QueryDto parm)
|
||||
{
|
||||
//开始拼装查询条件
|
||||
var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
|
||||
@ -33,7 +37,9 @@ namespace ${options.ServicesNamespace}.${options.SubNamespace}
|
||||
//搜索条件查询语法参考Sqlsugar
|
||||
$foreach(column in genTable.Columns)
|
||||
$if(column.IsQuery)
|
||||
$if(column.CsharpType == "string")
|
||||
$if(column.HtmlType == "selectMulti")
|
||||
predicate = predicate.AndIF(parm.${column.CsharpField} != null, it => parm.${column.CsharpField}.Contains(it.${column.CsharpField}));
|
||||
$elseif(column.CsharpType == "string")
|
||||
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
|
||||
$elseif(column.CsharpType == "DateTime")
|
||||
predicate = predicate.AndIF(parm.Begin${column.CsharpField} == null, it => it.${column.CsharpField} >= DateTime.Now.AddDays(-1));
|
||||
@ -48,10 +54,10 @@ $if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
||||
.Includes(it => it.${genTable.SubTable.ClassName}.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName}))
|
||||
$end
|
||||
$if(genTable.Options.SortField != "" && genTable.Options.SortField != null)
|
||||
.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
|
||||
//.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
|
||||
$end
|
||||
.Where(predicate.ToExpression())
|
||||
.ToPage(parm);
|
||||
.ToPage<${replaceDto.ModelTypeName}, ${replaceDto.ModelTypeName}Dto>(parm);
|
||||
|
||||
return response;
|
||||
}
|
||||
@ -78,12 +84,14 @@ $end
|
||||
$end
|
||||
$end
|
||||
|
||||
var response = Queryable().Where(predicate.ToExpression())
|
||||
var response = Queryable()
|
||||
.Where(predicate.ToExpression())
|
||||
.ToTree(it => it.Children, it => it.${genTable.Options.TreeParentCode}, 0);
|
||||
|
||||
return response;
|
||||
}
|
||||
$end
|
||||
|
||||
/// <summary>
|
||||
/// 添加${genTable.FunctionName}
|
||||
/// </summary>
|
||||
|
||||
@ -317,8 +317,8 @@ const showSearch = ref(true)
|
||||
const queryParams = reactive({
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
sort: undefined,
|
||||
sortType: undefined,
|
||||
sort: '${genTable.Options.SortField}',
|
||||
sortType: '${genTable.Options.SortType}',
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.IsQuery == true)
|
||||
${item.CsharpFieldFl}: undefined,
|
||||
|
||||
@ -27,13 +27,13 @@ $if(column.HtmlType == "datetime")
|
||||
<el-form-item label="$labelName">
|
||||
<el-date-picker
|
||||
v-model="dateRange${column.CsharpField}"
|
||||
style="width: 240px"
|
||||
type="daterange"
|
||||
type="datetimerange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
placeholder="请选择$labelName"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
:default-time="defaultTime"
|
||||
:shortcuts="dateOptions">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
@ -289,17 +289,15 @@ from '@/api/${tool.FirstLowerCase(genTable.ModuleName)}/${genTable.BusinessName.
|
||||
const { proxy } = getCurrentInstance()
|
||||
// 选中${replaceDto.FistLowerPk}数组数组
|
||||
const ids = ref([])
|
||||
// 非单选禁用
|
||||
const single = ref(true)
|
||||
// 非多个禁用
|
||||
const multiple = ref(true)
|
||||
const loading = ref(false)
|
||||
const showSearch = ref(true)
|
||||
const queryParams = reactive({
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
sort: undefined,
|
||||
sortType: undefined,
|
||||
sort: '${genTable.Options.SortField}',
|
||||
sortType: '${genTable.Options.SortType}',
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.IsQuery == true)
|
||||
${item.CsharpFieldFl}: undefined,
|
||||
@ -315,35 +313,11 @@ $if(column.IsList)
|
||||
$end
|
||||
$end
|
||||
])
|
||||
const title = ref("")
|
||||
// 操作类型 1、add 2、edit 3、view
|
||||
const opertype = ref(0)
|
||||
const open = ref(false)
|
||||
const state = reactive({
|
||||
form: {},
|
||||
rules: {
|
||||
$foreach(column in genTable.Columns)
|
||||
$if(column.IsRequired && column.IsIncrement == false)
|
||||
${column.CsharpFieldFl}: [{ required: true, message: "${column.ColumnComment}不能为空", trigger: $if(column.htmlType == "select")"change"$else"blur"$end
|
||||
$if(column.CsharpType == "int" || column.CsharpType == "long"), type: "number"$end }],
|
||||
$end
|
||||
$end
|
||||
},
|
||||
options: {
|
||||
$foreach(column in genTable.Columns)
|
||||
$if((column.HtmlType == "radio" || column.HtmlType == "select" || column.HtmlType == "checkbox"))
|
||||
// $if(column.ColumnComment != "") ${column.ColumnComment} $else ${column.CsharpFieldFl}$end选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
$if(column.DictType != "")${column.DictType}$else${column.CsharpFieldFl}Options$end: [],
|
||||
$end
|
||||
$end
|
||||
}
|
||||
})
|
||||
|
||||
const { form, rules, options } = toRefs(state)
|
||||
const total = ref(0)
|
||||
const dataList = ref([])
|
||||
const queryRef = ref()
|
||||
const formRef = ref()
|
||||
const defaultTime = ref([new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)])
|
||||
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.HtmlType == "datetime" && item.IsQuery == true)
|
||||
// ${item.ColumnComment}时间范围
|
||||
@ -410,14 +384,82 @@ $end
|
||||
$end
|
||||
loading.value = true
|
||||
list${genTable.BusinessName}(queryParams).then(res => {
|
||||
if (res.code == 200) {
|
||||
dataList.value = res.data.result
|
||||
total.value = res.data.totalNum
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
dataList.value = data.result
|
||||
total.value = data.totalNum
|
||||
loading.value = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 查询
|
||||
function handleQuery() {
|
||||
queryParams.pageNum = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
// 重置查询操作
|
||||
function resetQuery(){
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.HtmlType == "datetime" && item.IsQuery == true)
|
||||
// ${item.ColumnComment}时间范围
|
||||
dateRange${item.CsharpField}.value = []
|
||||
$end
|
||||
$end
|
||||
proxy.resetForm("queryRef")
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
// 多选框选中数据
|
||||
function handleSelectionChange(selection) {
|
||||
ids.value = selection.map((item) => item.${replaceDto.FistLowerPk});
|
||||
single.value = selection.length != 1
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
// 自定义排序
|
||||
function sortChange(column) {
|
||||
if (column.prop == null || column.order == null) {
|
||||
queryParams.sort = undefined
|
||||
queryParams.sortType = undefined
|
||||
} else {
|
||||
queryParams.sort = column.prop
|
||||
queryParams.sortType = column.order
|
||||
}
|
||||
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
|
||||
/*************** form操作 ***************/
|
||||
const formRef = ref()
|
||||
const title = ref("")
|
||||
// 操作类型 1、add 2、edit 3、view
|
||||
const opertype = ref(0)
|
||||
const open = ref(false)
|
||||
const state = reactive({
|
||||
form: {},
|
||||
rules: {
|
||||
$foreach(column in genTable.Columns)
|
||||
$if(column.IsRequired && column.IsIncrement == false)
|
||||
${column.CsharpFieldFl}: [{ required: true, message: "${column.ColumnComment}不能为空", trigger: $if(column.htmlType == "select")"change"$else"blur"$end
|
||||
$if(column.CsharpType == "int" || column.CsharpType == "long"), type: "number"$end }],
|
||||
$end
|
||||
$end
|
||||
},
|
||||
options: {
|
||||
$foreach(column in genTable.Columns)
|
||||
$if(column.HtmlType == "radio" || column.HtmlType == "select" || column.HtmlType == "checkbox" || column.HtmlType == "selectMulti")
|
||||
//$if(column.ColumnComment != "") ${column.ColumnComment} $else ${column.CsharpFieldFl}$end选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
$if(column.DictType != "")${column.DictType}$else${column.CsharpFieldFl}Options$end: [],
|
||||
$end
|
||||
$end
|
||||
}
|
||||
})
|
||||
|
||||
const { form, rules, options } = toRefs(state)
|
||||
|
||||
// 关闭dialog
|
||||
function cancel(){
|
||||
open.value = false
|
||||
@ -439,20 +481,6 @@ $end
|
||||
proxy.resetForm("formRef")
|
||||
}
|
||||
|
||||
// 查询
|
||||
function handleQuery() {
|
||||
queryParams.pageNum = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
// 添加
|
||||
function handleAdd() {
|
||||
reset();
|
||||
open.value = true
|
||||
title.value = '添加'
|
||||
opertype.value = 1
|
||||
}
|
||||
|
||||
// 删除按钮操作
|
||||
function handleDelete(row) {
|
||||
const Ids = row.${replaceDto.FistLowerPk} || ids.value
|
||||
@ -468,6 +496,14 @@ function handleDelete(row) {
|
||||
.catch(() => {})
|
||||
}
|
||||
|
||||
// 添加按钮操作
|
||||
function handleAdd() {
|
||||
reset();
|
||||
open.value = true
|
||||
title.value = '添加'
|
||||
opertype.value = 1
|
||||
}
|
||||
|
||||
// 修改按钮操作
|
||||
function handleUpdate(row) {
|
||||
reset()
|
||||
@ -491,7 +527,7 @@ $end
|
||||
})
|
||||
}
|
||||
|
||||
// 表单提交
|
||||
// 添加&修改 表单提交
|
||||
function submitForm() {
|
||||
proxy.${refs}refs["formRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
@ -521,17 +557,6 @@ $end
|
||||
})
|
||||
}
|
||||
|
||||
// 重置查询操作
|
||||
function resetQuery(){
|
||||
$foreach(item in genTable.Columns)
|
||||
$if(item.HtmlType == "datetime" && item.IsQuery == true)
|
||||
// ${item.ColumnComment}时间范围
|
||||
dateRange${item.CsharpField}.value = []
|
||||
$end
|
||||
$end
|
||||
proxy.resetForm("queryRef")
|
||||
handleQuery()
|
||||
}
|
||||
$if(replaceDto.ShowBtnExport)
|
||||
// 导出按钮操作
|
||||
function handleExport() {
|
||||
@ -549,6 +574,7 @@ function handleExport() {
|
||||
})
|
||||
}
|
||||
$end
|
||||
|
||||
$if(replaceDto.ShowBtnView)
|
||||
/**
|
||||
* 预览
|
||||
@ -562,6 +588,7 @@ function handlePreview(row) {
|
||||
form.value = row
|
||||
}
|
||||
$end
|
||||
|
||||
$if(replaceDto.ShowBtnTruncate)
|
||||
/**
|
||||
* 清空
|
||||
@ -582,25 +609,6 @@ function handleClear() {
|
||||
})
|
||||
}
|
||||
$end
|
||||
// 多选框选中数据
|
||||
function handleSelectionChange(selection) {
|
||||
ids.value = selection.map((item) => item.${replaceDto.FistLowerPk});
|
||||
single.value = selection.length != 1
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
// 自定义排序
|
||||
function sortChange(column) {
|
||||
if (column.prop == null || column.order == null) {
|
||||
queryParams.sort = undefined
|
||||
queryParams.sortType = undefined
|
||||
} else {
|
||||
queryParams.sort = column.prop
|
||||
queryParams.sortType = column.order
|
||||
}
|
||||
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
handleQuery()
|
||||
</script>
|
||||
@ -252,7 +252,7 @@ namespace ZR.CodeGenerator
|
||||
string fileName;
|
||||
if (generateDto.VueVersion == 3)
|
||||
{
|
||||
fileName = generateDto.GenTable.BusinessName.ToLower() + ".js";
|
||||
fileName = generateDto.GenTable.BusinessName.ToLower() + ".js";//vue3 api引用目前只能小写
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -306,7 +306,7 @@ namespace ZR.CodeGenerator
|
||||
/// <returns></returns>
|
||||
public static string GenerateVueTableList()
|
||||
{
|
||||
return JnHelper.ReadTemplate(CodeTemplateDir, "TableList.txt").Render();
|
||||
return JnHelper.ReadTemplate(CodeTemplateDir, "TableList.txt").Render();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -366,7 +366,7 @@ namespace ZR.CodeGenerator
|
||||
{
|
||||
try
|
||||
{
|
||||
return string.IsNullOrEmpty(str) ? str : str.Substring(0, 1).ToLower() + str[1..];
|
||||
return string.IsNullOrEmpty(str) ? str : str[..1].ToLower() + str[1..];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
using SqlSugar;
|
||||
using Infrastructure.Extensions;
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
using SqlSugar.IOC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -365,11 +367,33 @@ namespace ZR.Repository
|
||||
page.PageSize = parm.PageSize;
|
||||
page.PageIndex = parm.PageNum;
|
||||
|
||||
page.Result = source.OrderByIF(!string.IsNullOrEmpty(parm.Sort), $"{parm.Sort} {(parm.SortType.Contains("desc") ? "desc" : "asc")}")
|
||||
page.Result = source.OrderByIF(parm.Sort.IsNotEmpty(), $"{parm.Sort} {(parm.SortType.Contains("desc") ? "desc" : "asc")}")
|
||||
.ToPageList(parm.PageNum, parm.PageSize, ref total);
|
||||
page.TotalNum = total;
|
||||
return page;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 转指定实体类Dto
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <typeparam name="T2"></typeparam>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public static PagedInfo<T2> ToPage<T, T2>(this ISugarQueryable<T> source, PagerInfo parm)
|
||||
{
|
||||
var page = new PagedInfo<T2>();
|
||||
var total = 0;
|
||||
page.PageSize = parm.PageSize;
|
||||
page.PageIndex = parm.PageNum;
|
||||
|
||||
var result = source.OrderByIF(parm.Sort.IsNotEmpty(), $"{parm.Sort} {(parm.SortType.Contains("desc") ? "desc" : "asc")}")
|
||||
.ToPageList(parm.PageNum, parm.PageSize, ref total);
|
||||
page.TotalNum = total;
|
||||
|
||||
page.Result = result.Adapt<List<T2>>();
|
||||
return page;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Mapster" Version="7.3.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.0" />
|
||||
<PackageReference Include="MySql.Data" Version="8.0.31" />
|
||||
<PackageReference Include="NETCore.Encrypt" Version="2.1.0" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user