mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2026-07-28 22:27:59 +08:00
Compare commits
30 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
add77fb23c | ||
|
|
f392992605 | ||
|
|
b61b315d27 | ||
|
|
b38391fddd | ||
|
|
77ce71d603 | ||
|
|
437d657131 | ||
|
|
1f3eb20676 | ||
|
|
1b162e22cc | ||
|
|
a44ca9ae16 | ||
|
|
220f49743f | ||
|
|
d7f4b667a1 | ||
|
|
7c36c79f37 | ||
|
|
a8681f962c | ||
|
|
ebfbc7eceb | ||
|
|
98dad768e5 | ||
|
|
ae92db7e1a | ||
|
|
878acdacc0 | ||
|
|
ee6a57b7bf | ||
|
|
35bd071384 | ||
|
|
b275847f3b | ||
|
|
ab027241bf | ||
|
|
f496f48738 | ||
|
|
069991504c | ||
|
|
0b930dc6b4 | ||
|
|
93326b634b | ||
|
|
4f88d84780 | ||
|
|
748b522681 | ||
|
|
18f94787e0 | ||
|
|
a743463132 | ||
|
|
18cbbc6fea |
@@ -13,5 +13,6 @@
|
||||
/newdocs/docs/.vuepress/.cache
|
||||
/newdocs/docs/.vuepress/.temp
|
||||
/newdocs/docs/.vuepress/dist
|
||||
/Vue2/node_modules
|
||||
|
||||
|
||||
|
||||
59
CHANGELOG.md
59
CHANGELOG.md
@@ -1,3 +1,62 @@
|
||||
|
||||
|
||||
## v8.1
|
||||
|
||||
* [重磅] 统一后端返回格式response.result调整为response.data
|
||||
* [重磅] 表格组件增加排序功能
|
||||
* [优化] 持续优化代码
|
||||
|
||||
## v8.0
|
||||
|
||||
* [重磅] 开源十周年特别版!
|
||||
* [重磅] 全面开源原付费vue2版本源码及文档,免费使用。
|
||||
* [重磅] 删除原有mvc项目,从此以后只有前后端分离。
|
||||
|
||||
|
||||
## v7.6
|
||||
|
||||
* [重磅] 分离会签和网关功能,详情请查看工作流中的概念
|
||||
* [优化] 前后端统一流程节点类型。详情请查看文档流程相关代码-流程模板
|
||||
* [优化] 修复顺序加签
|
||||
|
||||
## v7.5
|
||||
|
||||
* [新增] 流程执行节点支持通过Sql配置用户
|
||||
* [优化] 流程节点设置json对象统一为datas字段
|
||||
* [优化] 优化layui样式
|
||||
|
||||
## v7.4
|
||||
|
||||
* [新增] 代码生成加上外部数据源支持;
|
||||
* [新增] 新增动态API功能;
|
||||
* [优化] 流程模板调整为sqlsugar;
|
||||
|
||||
## v7.3
|
||||
|
||||
* [新增] 新增API鉴权功能
|
||||
* [优化] 优化vue3代码生成;
|
||||
|
||||
## v7.2
|
||||
|
||||
* [重磅]流程增加任意节点撤回审批功能
|
||||
* [重磅]全面优化数据库初始脚本,SqlServer采用帕斯卡命名,MySql/pg采用小写命名,Oracle采用大写
|
||||
* [重磅]优化layui点击行可选中
|
||||
|
||||
## v7.1
|
||||
|
||||
* [重磅]全面优化对Oracle数据库的支持
|
||||
* [优化]FIX issue #IBLX2E:目前Oracle工作流列表不能加载 目前Oracle工作流列表不能加载
|
||||
* [优化]流程实例历史操作记录
|
||||
|
||||
## v7.0
|
||||
|
||||
- **新特性**
|
||||
|
||||
- [新增] 全面支持.Net 9
|
||||
- [新增] 新增Dockerfile支持
|
||||
- [新增] 修复vue3代码生成部分bug
|
||||
|
||||
|
||||
## v6.5
|
||||
|
||||
- **新特性**
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
/// </summary>
|
||||
public static class Define
|
||||
{
|
||||
/// <summary>
|
||||
/// 默认租户ID
|
||||
/// </summary>
|
||||
public const string DEFAULT_TENANT_ID = "OpenAuthDBContext";
|
||||
|
||||
//Relevance关联KEY
|
||||
/// <summary>
|
||||
/// 用户角色关联KEY
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace Infrastructure.Extensions.AutofacManager
|
||||
public static TService GetService<TService>() where TService:class
|
||||
{
|
||||
Type typeParameterType = typeof(TService);
|
||||
return (TService)_provider.GetService(typeParameterType);
|
||||
return (TService)_provider?.GetService(typeParameterType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,6 @@
|
||||
/// <summary>
|
||||
/// 回传的结果
|
||||
/// </summary>
|
||||
public T Result { get; set; }
|
||||
public T Data { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,10 @@ namespace Infrastructure.Utilities
|
||||
{
|
||||
public static class HttpContextUtil
|
||||
{
|
||||
private static IHttpContextAccessor _accessor=AutofacContainerModule.GetService<IHttpContextAccessor>();
|
||||
// 不要在静态初始化时获取IHttpContextAccessor,而是在需要时获取
|
||||
private static IHttpContextAccessor _accessor => AutofacContainerModule.GetService<IHttpContextAccessor>();
|
||||
|
||||
public static Microsoft.AspNetCore.Http.HttpContext Current => _accessor.HttpContext;
|
||||
public static Microsoft.AspNetCore.Http.HttpContext Current => _accessor?.HttpContext;
|
||||
|
||||
/// <summary>
|
||||
/// 获取租户ID
|
||||
@@ -15,7 +16,7 @@ namespace Infrastructure.Utilities
|
||||
/// <returns></returns>
|
||||
public static string GetTenantId(this IHttpContextAccessor accessor)
|
||||
{
|
||||
string tenantId = "OpenAuthDBContext";
|
||||
string tenantId = Define.DEFAULT_TENANT_ID;
|
||||
|
||||
if (accessor != null && accessor.HttpContext != null)
|
||||
{
|
||||
|
||||
@@ -74,17 +74,6 @@ namespace OpenAuth.App
|
||||
return _strategy.GetTableColumns(moduleCode);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式
|
||||
/// </summary>
|
||||
/// <param name="moduleCode"></param>
|
||||
/// <returns></returns>
|
||||
[Obsolete("获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式")]
|
||||
public List<BuilderTableColumn> GetTableColumnsFromDb(string moduleCode)
|
||||
{
|
||||
return _strategy.GetTableColumnsFromDb(moduleCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -148,24 +148,6 @@ namespace OpenAuth.App
|
||||
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
||||
}
|
||||
|
||||
public List<BuilderTableColumn> GetTableColumnsFromDb(string moduleCode)
|
||||
{
|
||||
var allprops = _dbExtension.GetTableColumnsFromDb(moduleCode);
|
||||
|
||||
//如果是系统模块,直接返回所有字段。防止开发者把模块配置成系统模块,还在外层调用loginContext.GetProperties("xxxx");
|
||||
bool? isSysModule = SugarClient.Queryable<Module>().First(u => u.Code == moduleCode)?.IsSys;
|
||||
if (isSysModule!= null && isSysModule.Value)
|
||||
{
|
||||
return allprops.ToList();
|
||||
}
|
||||
|
||||
var props =SugarClient.Queryable<Relevance>().Where(u =>
|
||||
u.RelKey == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
||||
.Select(u => u.ThirdId).ToList();
|
||||
|
||||
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
||||
}
|
||||
|
||||
//用户角色
|
||||
|
||||
public NormalAuthStrategy(ISqlSugarClient client,DbExtension dbExtension) : base(client, null)
|
||||
|
||||
@@ -85,11 +85,6 @@ namespace OpenAuth.App
|
||||
return SugarClient.Queryable<BuilderTableColumn>().Where(u => u.TableName.ToLower() == moduleCode.ToLower()).ToList();
|
||||
}
|
||||
|
||||
public List<BuilderTableColumn> GetTableColumnsFromDb(string moduleCode)
|
||||
{
|
||||
return _dbExtension.GetTableColumnsFromDb(moduleCode);
|
||||
}
|
||||
|
||||
|
||||
public SystemAuthStrategy(ISqlSugarClient client,DbExtension dbExtension) : base(client, null)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,12 @@
|
||||
|
||||
public string key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序字段
|
||||
/// </summary>
|
||||
/// <example>sort=id,asc</example>
|
||||
public string sort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义sql条件
|
||||
/// </summary>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// Last Modified By : yubaolee
|
||||
// Last Modified On : 03-09-2016
|
||||
// ***********************************************************************
|
||||
// <copyright file="TableData.cs" company="Microsoft">
|
||||
// <copyright file="PagedDynamicDataResp.cs" company="Microsoft">
|
||||
// 版权所有(C) Microsoft 2015
|
||||
// </copyright>
|
||||
// <summary>layui datatable数据返回</summary>
|
||||
@@ -18,41 +18,33 @@ using OpenAuth.Repository.Domain;
|
||||
namespace OpenAuth.App.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// table的返回数据
|
||||
/// 返回动态数据类型的分页数据
|
||||
/// <para>带有列定义</para>
|
||||
/// </summary>
|
||||
public class TableData
|
||||
public class PagedDynamicDataResp : Infrastructure.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// 状态码
|
||||
/// </summary>
|
||||
public int code { get; set; }
|
||||
/// <summary>
|
||||
/// 操作消息
|
||||
/// </summary>
|
||||
public string msg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总记录条数
|
||||
/// </summary>
|
||||
public int count { get; set; }
|
||||
public int Count { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 返回的表格列定义
|
||||
/// 该属性基于代码生成使用的列定义
|
||||
/// </summary>
|
||||
public List<BuilderTableColumn> columnFields;
|
||||
public List<BuilderTableColumn> ColumnFields{ get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据内容
|
||||
/// </summary>
|
||||
public dynamic data { get; set; }
|
||||
public dynamic Data { get; set; }
|
||||
|
||||
public TableData()
|
||||
public PagedDynamicDataResp()
|
||||
{
|
||||
code = 200;
|
||||
msg = "加载成功";
|
||||
columnFields = new List<BuilderTableColumn>();
|
||||
Code = 200;
|
||||
Message = "加载成功";
|
||||
ColumnFields = new List<BuilderTableColumn>();
|
||||
}
|
||||
}
|
||||
}
|
||||
28
OpenAuth.App/Base/PagedListDataResp.cs
Normal file
28
OpenAuth.App/Base/PagedListDataResp.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System.Collections.Generic;
|
||||
using Infrastructure;
|
||||
|
||||
namespace OpenAuth.App.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// 返回确定类型的表格数据,可以为swagger提供精准的注释
|
||||
/// </summary>
|
||||
public class PagedListDataResp<T> : Infrastructure.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// 总记录条数
|
||||
/// </summary>
|
||||
public int Count { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据内容
|
||||
/// </summary>
|
||||
public List<T> Data { get; set; }
|
||||
|
||||
|
||||
public PagedListDataResp()
|
||||
{
|
||||
Code = 200;
|
||||
Message = "加载成功";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,16 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Infrastructure;
|
||||
using Infrastructure.Utilities;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OpenAuth.App.Interface;
|
||||
using OpenAuth.Repository;
|
||||
using OpenAuth.Repository.Core;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using SqlSugar;
|
||||
using Autofac;
|
||||
using Infrastructure.Extensions.AutofacManager;
|
||||
|
||||
namespace OpenAuth.App
|
||||
{
|
||||
@@ -13,7 +18,7 @@ namespace OpenAuth.App
|
||||
/// SqlSugar基础类
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public abstract class SqlSugarBaseApp<T> where T : class, new()
|
||||
public abstract class SqlSugarBaseApp<T> where T : BaseEntity, new()
|
||||
{
|
||||
protected ISqlSugarClient SugarClient;
|
||||
|
||||
@@ -21,8 +26,23 @@ namespace OpenAuth.App
|
||||
|
||||
protected IAuth _auth;
|
||||
|
||||
/// <summary>
|
||||
/// 保持向后兼容的构造函数,避免修改子类
|
||||
/// </summary>
|
||||
public SqlSugarBaseApp(ISqlSugarClient client, IAuth auth)
|
||||
{
|
||||
string tenantId = Define.DEFAULT_TENANT_ID;
|
||||
var httpContextAccessor = AutofacContainerModule.GetService<IHttpContextAccessor>();
|
||||
if (httpContextAccessor != null)
|
||||
{
|
||||
tenantId = httpContextAccessor.GetTenantId();
|
||||
}
|
||||
|
||||
if(tenantId != Define.DEFAULT_TENANT_ID) //如果不是默认租户,则使用租户id获取连接
|
||||
{
|
||||
client = client.AsTenant().GetConnection(tenantId);
|
||||
}
|
||||
|
||||
Repository = new SqlSugarRepository<T>(client); //这里用new而不用注入,可以保证client和repository用的是同一个client
|
||||
SugarClient = client;
|
||||
_auth = auth;
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using Infrastructure;
|
||||
|
||||
namespace OpenAuth.App.Response
|
||||
{
|
||||
/// <summary>
|
||||
/// 返回确定类型的表格数据,可以为swagger提供精准的注释
|
||||
/// </summary>
|
||||
public class TableResp<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// 状态码
|
||||
/// </summary>
|
||||
public int code { get; set; }
|
||||
/// <summary>
|
||||
/// 操作消息
|
||||
/// </summary>
|
||||
public string msg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总记录条数
|
||||
/// </summary>
|
||||
public int count { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据内容
|
||||
/// </summary>
|
||||
public List<T> data { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 返回的列表头信息
|
||||
/// </summary>
|
||||
public List<KeyDescription> columnHeaders { get; set; }
|
||||
|
||||
public TableResp()
|
||||
{
|
||||
code = 200;
|
||||
msg = "加载成功";
|
||||
columnHeaders = new List<KeyDescription>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,7 +78,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableResp<BuilderTable>> Load(QueryBuilderTableListReq request)
|
||||
public async Task<PagedListDataResp<BuilderTable>> Load(QueryBuilderTableListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -86,17 +86,17 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var result = new TableResp<BuilderTable>();
|
||||
var result = new PagedListDataResp<BuilderTable>();
|
||||
var objs = UnitWork.Find<BuilderTable>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.Id.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data = await objs.OrderBy(u => u.Id)
|
||||
result.Data = await objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -864,17 +864,17 @@ namespace OpenAuth.App
|
||||
/// 加载所有的主表(parentId为空的)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<TableData> AllMain()
|
||||
public async Task<PagedDynamicDataResp> AllMain()
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = UnitWork.Find<BuilderTable>(u => string.IsNullOrEmpty(u.ParentTableId)).Select(u => new
|
||||
{
|
||||
Id = u.Id,
|
||||
Name = u.TableName
|
||||
});
|
||||
|
||||
result.data = await objs.OrderBy(u => u.Id).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Data = await objs.OrderBy(u => u.Id).ToListAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,24 +21,24 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableResp<BuilderTableColumn>> Load(QueryBuilderTableColumnListReq request)
|
||||
public async Task<PagedListDataResp<BuilderTableColumn>> Load(QueryBuilderTableColumnListReq request)
|
||||
{
|
||||
if (string.IsNullOrEmpty(request.BuilderTableId))
|
||||
{
|
||||
throw new Exception($"缺少必要的参数BuilderTableId");
|
||||
}
|
||||
var result = new TableResp<BuilderTableColumn>();
|
||||
var result = new PagedListDataResp<BuilderTableColumn>();
|
||||
var objs = Repository.AsQueryable().Where(u => u.TableId == request.BuilderTableId);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.ColumnName.Contains(request.key));
|
||||
}
|
||||
result.data = await objs.OrderByDescending(u => u.IsList)
|
||||
result.Data = await objs.OrderByDescending(u => u.IsList)
|
||||
.OrderBy(u => u.Sort)
|
||||
.OrderBy(u => u.ColumnName)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
public void Update(AddOrUpdateBuilderTableColumnReq obj)
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryCategoryListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryCategoryListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -36,7 +36,7 @@ namespace OpenAuth.App
|
||||
};
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = SugarClient.Queryable<Category>();
|
||||
if (!string.IsNullOrEmpty(request.TypeId))
|
||||
{
|
||||
@@ -54,11 +54,11 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
var propertyStr = string.Join(',', columnFields.Select(u =>u.ColumnName));
|
||||
result.columnFields = columnFields;
|
||||
result.data = objs.OrderBy(u => u.DtCode)
|
||||
result.ColumnFields = columnFields;
|
||||
result.Data = objs.OrderBy(u => u.DtCode)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace OpenAuth.App
|
||||
var user = _auth.GetCurrentUser().User;
|
||||
obj.CreateUserId = user.Id;
|
||||
obj.CreateUserName = user.Name;
|
||||
await SugarClient.Insertable(obj).ExecuteCommandAsync();
|
||||
Repository.Insert(obj);
|
||||
}
|
||||
|
||||
public void Update(AddOrUpdateCategoryReq obj)
|
||||
|
||||
@@ -21,19 +21,19 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryCategoryTypeListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryCategoryTypeListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = UnitWork.Find<CategoryType>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.Id.Contains(request.key) || u.Name.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data =await objs.OrderBy(u => u.Name)
|
||||
result.Data =await objs.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count =await objs.CountAsync();
|
||||
result.Count =await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryDataPrivilegeRuleListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryDataPrivilegeRuleListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -29,7 +29,7 @@ namespace OpenAuth.App
|
||||
throw new Exception("请在代码生成界面配置DataPrivilegeRule表的字段属性");
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = SugarClient.Queryable<DataPrivilegeRule>();
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -41,11 +41,11 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
var propertyStr = string.Join(',', columnFields.Select(u => u.ColumnName));
|
||||
result.columnFields = columnFields;
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
result.ColumnFields = columnFields;
|
||||
result.Data = objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,53 +31,6 @@ namespace OpenAuth.App
|
||||
SugarClient = sugarClient;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过实体获取字段定义,因为MVC版本没有代码生成界面,只能通过这种方式
|
||||
/// </summary>
|
||||
/// <param name="moduleName">模块名称/表名</param>
|
||||
/// <returns></returns>
|
||||
[Obsolete("因为MVC版本没有代码生成界面,只能通过这种方式")]
|
||||
public List<BuilderTableColumn> GetTableColumnsFromDb(string moduleName)
|
||||
{
|
||||
var result = new List<BuilderTableColumn>();
|
||||
|
||||
//获取所有继承了StringEntity的类型
|
||||
//单元测试时,这个一直报错????奇怪
|
||||
var entiTypes = typeof(StringEntity).Assembly.GetTypes().Where(u => typeof(StringEntity).IsAssignableFrom(u) && !u.IsAbstract).ToList();
|
||||
|
||||
var entityType = entiTypes.FirstOrDefault(u => u.Name.ToLower() == moduleName.ToLower());
|
||||
if (entityType == null)
|
||||
{
|
||||
throw new Exception($"未能找到{moduleName}对应的实体类");
|
||||
}
|
||||
|
||||
foreach (var property in entityType.GetProperties())
|
||||
{
|
||||
object[] objs = property.GetCustomAttributes(typeof(DescriptionAttribute), true);
|
||||
object[] browsableObjs = property.GetCustomAttributes(typeof(BrowsableAttribute), true);
|
||||
var description = objs.Length > 0 ? ((DescriptionAttribute)objs[0]).Description : property.Name;
|
||||
if (string.IsNullOrEmpty(description)) description = property.Name;
|
||||
//如果没有BrowsableAttribute或 [Browsable(true)]表示可见,其他均为不可见,需要前端配合显示
|
||||
bool browsable = browsableObjs == null || browsableObjs.Length == 0 ||
|
||||
((BrowsableAttribute)browsableObjs[0]).Browsable;
|
||||
var typeName = property.PropertyType.Name;
|
||||
if (Nullable.GetUnderlyingType(property.PropertyType) != null)
|
||||
{
|
||||
typeName = Nullable.GetUnderlyingType(property.PropertyType).Name;
|
||||
}
|
||||
result.Add(new BuilderTableColumn
|
||||
{
|
||||
ColumnName = property.Name,
|
||||
TableName = moduleName,
|
||||
Remark = description,
|
||||
IsList = browsable,
|
||||
ColumnType = typeName
|
||||
});
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取数据库表结构信息
|
||||
/// </summary>
|
||||
|
||||
@@ -36,16 +36,16 @@ namespace OpenAuth.App
|
||||
/// </summary>
|
||||
/// <param name="req">查询参数</param>
|
||||
/// <returns></returns>
|
||||
public async Task<TableData> GetList(QueryDynamicListReq req)
|
||||
public async Task<PagedDynamicDataResp> GetList(QueryDynamicListReq req)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
try
|
||||
{
|
||||
// 验证表名是否存在
|
||||
if (!TableExists(req.TableName))
|
||||
{
|
||||
result.code = 500;
|
||||
result.msg = $"表不存在:{req.TableName}";
|
||||
result.Code = 500;
|
||||
result.Message = $"表不存在:{req.TableName}";
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -78,13 +78,13 @@ namespace OpenAuth.App
|
||||
.Take(req.limit)
|
||||
.ToListAsync();
|
||||
|
||||
result.data = list;
|
||||
result.count = total;
|
||||
result.Data = list;
|
||||
result.Count = total;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.code = 500;
|
||||
result.msg = ex.InnerException?.Message ?? ex.Message;
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -122,7 +122,7 @@ namespace OpenAuth.App
|
||||
return result;
|
||||
}
|
||||
|
||||
result.Result = entity;
|
||||
result.Data = entity;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryExternalDataSourceListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryExternalDataSourceListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -37,10 +37,10 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(request.sqlWhere);
|
||||
}
|
||||
|
||||
result.data = objs.OrderBy(u => u.Name)
|
||||
result.Data = objs.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -48,15 +48,15 @@ namespace OpenAuth.App
|
||||
/// 获取数据库类型
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public TableData GetDbTypes()
|
||||
public PagedDynamicDataResp GetDbTypes()
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
// 创建包含键值对的列表
|
||||
var dbTypeList = Enum.GetValues(typeof(DbType))
|
||||
.Cast<DbType>()
|
||||
.Select(item => new { label = item.ToString(), value = (int)item })
|
||||
.ToList();
|
||||
result.data = dbTypeList;
|
||||
result.Data = dbTypeList;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,19 +44,19 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载附件列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryFileListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryFileListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = UnitWork.Find<UploadFile>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.FileName.Contains(request.key) || u.FilePath.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data =await objs.OrderByDescending(u => u.CreateTime)
|
||||
result.Data =await objs.OrderByDescending(u => u.CreateTime)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count =await objs.CountAsync();
|
||||
result.Count =await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,13 +70,13 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载当前节点的加签人
|
||||
/// </summary>
|
||||
public async Task<TableResp<FlowApprover>> Load(QueryApproverReq request)
|
||||
public async Task<PagedListDataResp<FlowApprover>> Load(QueryApproverReq request)
|
||||
{
|
||||
var objs = await Repository.GetListAsync(u =>
|
||||
u.InstanceId == request.FlowInstanceId && u.ActivityId == request.ActivityId);
|
||||
return new TableResp<FlowApprover>()
|
||||
return new PagedListDataResp<FlowApprover>()
|
||||
{
|
||||
data = objs
|
||||
Data = objs
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -672,9 +672,9 @@ namespace OpenAuth.App
|
||||
return resp;
|
||||
}
|
||||
|
||||
public async Task<TableData> Load(QueryFlowInstanceListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryFlowInstanceListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var user = _auth.GetCurrentUser();
|
||||
//行转列专用SQL
|
||||
string groupConcatSql = $@" ( SELECT GROUP_CONCAT(Account SEPARATOR ',')
|
||||
@@ -828,8 +828,8 @@ namespace OpenAuth.App
|
||||
var finalQuery = SugarClient.SqlQueryable<FlowInstance>(sql)
|
||||
.WhereIF(!string.IsNullOrEmpty(request.key), t => t.CustomName.Contains(request.key));
|
||||
|
||||
result.count = await finalQuery.CountAsync();
|
||||
result.data = await finalQuery.OrderByDescending(u => u.CreateDate)
|
||||
result.Count = await finalQuery.CountAsync();
|
||||
result.Data = await finalQuery.OrderByDescending(u => u.CreateDate)
|
||||
.ToPageListAsync(request.page, request.limit);
|
||||
|
||||
return result;
|
||||
|
||||
@@ -64,19 +64,19 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
|
||||
public async Task<TableData> Load(QueryFlowSchemeListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryFlowSchemeListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.SchemeName.Contains(request.key) || u.Id.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data = await objs.OrderByDescending(u => u.CreateDate)
|
||||
result.Data = await objs.OrderByDescending(u => u.CreateDate)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,19 +23,19 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryFormListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryFormListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var forms = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
forms = forms.Where(u => u.Name.Contains(request.key) || u.Id.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data = forms.OrderByDescending(u => u.CreateDate)
|
||||
result.Data = forms.OrderByDescending(u => u.CreateDate)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList();
|
||||
result.count = await forms.CountAsync();
|
||||
result.Count = await forms.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryFrmLeaveReqListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryFrmLeaveReqListReq request)
|
||||
{
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
count = await Repository.CountAsync(null),
|
||||
data = await Repository.Find(request.page, request.limit, "Id desc").ToListAsync()
|
||||
Count = await Repository.CountAsync(null),
|
||||
Data = await Repository.Find(request.page, request.limit, "Id desc").ToListAsync()
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -46,13 +46,6 @@ namespace OpenAuth.App
|
||||
/// <param name="moduleCode"></param>
|
||||
/// <returns></returns>
|
||||
List<BuilderTableColumn> GetTableColumns(string moduleCode);
|
||||
/// <summary>
|
||||
/// 获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式
|
||||
/// </summary>
|
||||
/// <param name="moduleCode"></param>
|
||||
/// <returns></returns>
|
||||
[Obsolete("获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式")]
|
||||
List<BuilderTableColumn> GetTableColumnsFromDb(string moduleCode);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -28,19 +28,19 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryOpenJobListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryOpenJobListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = SugarClient.Queryable<OpenJob>();
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.Id.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data =await objs.OrderBy(u => u.Id)
|
||||
result.Data =await objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count =await objs.CountAsync();
|
||||
result.Count =await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Autofac" Version="8.1.1" />
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" />
|
||||
<PackageReference Include="Autofac.Extras.Quartz" Version="5.1.0" />
|
||||
<PackageReference Include="Autofac.Extras.Quartz" Version="10.0.0" />
|
||||
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.2" />
|
||||
@@ -31,7 +31,7 @@
|
||||
<PackageReference Include="Moq" Version="4.13.1" />
|
||||
<PackageReference Include="NUnit" Version="3.13.1" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
|
||||
<PackageReference Include="Quartz" Version="3.0.7" />
|
||||
<PackageReference Include="Quartz" Version="3.14.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/// </summary>
|
||||
public string RoleId { get; set; }
|
||||
/// <summary>
|
||||
/// 模块的Code,比如Category/Resource
|
||||
/// 模块的Code,比如Category/SysResource
|
||||
/// </summary>
|
||||
public string ModuleCode { get; set; }
|
||||
/// <summary>
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace OpenAuth.App
|
||||
return SugarClient.Queryable<SysResource>().Where(u => elementIds.Contains(u.Id) && (appId == null || appId =="" || u.AppId == appId)).ToArray();
|
||||
}
|
||||
|
||||
public async Task<TableData> Load(QueryResourcesReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryResourcesReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -77,14 +77,14 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var columnFields = loginContext.GetTableColumns("Resource");
|
||||
var columnFields = loginContext.GetTableColumns("SysResource");
|
||||
if (columnFields == null || columnFields.Count == 0)
|
||||
{
|
||||
throw new Exception("请在代码生成界面配置Resource表的字段属性");
|
||||
throw new Exception("请在代码生成界面配置SysResource表的字段属性");
|
||||
}
|
||||
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var resources = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -104,11 +104,11 @@ namespace OpenAuth.App
|
||||
var columnnames = columnFields.Select(u => u.ColumnName);
|
||||
|
||||
var propertyStr = string.Join(',', columnnames);
|
||||
result.columnFields = columnFields;
|
||||
result.data = resources.OrderBy(u => u.TypeId)
|
||||
result.ColumnFields = columnFields;
|
||||
result.Data = resources.OrderBy(u => u.TypeId)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await resources.CountAsync();
|
||||
result.Count = await resources.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,19 +36,19 @@ namespace OpenAuth.App
|
||||
/// 获取所有的角色
|
||||
/// 为了控制权限,通常只用于流程实例选择执行角色,其他地方请使用Load
|
||||
/// </summary>
|
||||
public async Task<TableResp<Role>> LoadAll(QueryRoleListReq request)
|
||||
public async Task<PagedListDataResp<Role>> LoadAll(QueryRoleListReq request)
|
||||
{
|
||||
var result = new TableResp<Role>();
|
||||
var result = new PagedListDataResp<Role>();
|
||||
var objs = UnitWork.Find<Role>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.Name.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data = await objs.OrderBy(u => u.Name)
|
||||
result.Data = await objs.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,19 +17,19 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QuerySysLogListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QuerySysLogListReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = UnitWork.Find<SysLog>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
objs = objs.Where(u => u.Content.Contains(request.key) || u.Id.Contains(request.key));
|
||||
}
|
||||
|
||||
result.data = await objs.OrderByDescending(u => u.CreateTime)
|
||||
result.Data = await objs.OrderByDescending(u => u.CreateTime)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QuerySysMessageListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QuerySysMessageListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -30,7 +30,7 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = UnitWork.Find<SysMessage>(u =>u.ToId == loginContext.User.Id && u.ToStatus != -1);
|
||||
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
@@ -44,10 +44,10 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(u => u.ToStatus == request.Status);
|
||||
}
|
||||
|
||||
result.data =await objs.OrderByDescending(u => u.CreateTime)
|
||||
result.Data =await objs.OrderByDescending(u => u.CreateTime)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToListAsync();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QuerySysPrinterPlanListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QuerySysPrinterPlanListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -31,7 +31,7 @@ namespace OpenAuth.App
|
||||
throw new Exception("请在代码生成界面配置SysPrinterPlan表的字段属性");
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -47,17 +47,17 @@ namespace OpenAuth.App
|
||||
var columnnames = columnFields.Select(u => u.ColumnName);
|
||||
|
||||
var propertyStr = string.Join(',', columnnames);
|
||||
result.columnFields = columnFields;
|
||||
result.data = objs.OrderByDescending(u => u.CreateTime)
|
||||
result.ColumnFields = columnFields;
|
||||
result.Data = objs.OrderByDescending(u => u.CreateTime)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
public async Task<TableData> Query(QueryReq request)
|
||||
public async Task<PagedDynamicDataResp> Query(QueryReq request)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
|
||||
var sugarParams = new List<SugarParameter>();
|
||||
if (!string.IsNullOrEmpty(request.ParamJsonStr))
|
||||
@@ -70,8 +70,8 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
var objs = await SugarClient.Ado.SqlQueryAsync<dynamic>(request.SourceSql,sugarParams);
|
||||
result.count = SugarClient.Ado.SqlQuery<dynamic>(request.SourceSql, sugarParams).Count;
|
||||
result.data = objs.Skip((request.page - 1) * request.limit)
|
||||
result.Count = SugarClient.Ado.SqlQuery<dynamic>(request.SourceSql, sugarParams).Count;
|
||||
result.Data = objs.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList();
|
||||
|
||||
return result;
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace OpenAuth.App.Test
|
||||
|
||||
app.UnAssignData(new AssignDataReq
|
||||
{
|
||||
ModuleCode = "Resource",
|
||||
ModuleCode = "SysResource",
|
||||
Properties = new string[]{},
|
||||
RoleId = "09ee2ffa-7463-4938-ae0b-1cb4e80c7c13"
|
||||
});
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace OpenAuth.App.Test
|
||||
app.Clear();
|
||||
app.Add(new AddOrUpdateDataPriviReq
|
||||
{
|
||||
SourceCode = "Resource",
|
||||
SourceCode = "SysResource",
|
||||
Description = "资源数据规则",
|
||||
PrivilegeRules = JsonHelper.Instance.Serialize(filterGroup)
|
||||
});
|
||||
|
||||
@@ -9,16 +9,6 @@ namespace OpenAuth.App.Test
|
||||
class TestDbExtension :TestBase
|
||||
{
|
||||
private ILog log = LogManager.GetLogger(typeof(TestDbExtension));
|
||||
|
||||
[Test]
|
||||
public void TestGetProperties()
|
||||
{
|
||||
|
||||
var app = _autofacServiceProvider.GetService<DbExtension>();
|
||||
|
||||
var result = app.GetTableColumnsFromDb("Category");
|
||||
Console.WriteLine(JsonHelper.Instance.Serialize(result));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetTables()
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenAuth.App
|
||||
/// 加载当前登录用户可访问的一个部门及子部门全部用户
|
||||
/// 如果请求的request.OrgId为空,则可以获取到已被删除机构的用户(即:没有分配任何机构的用户)
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryUserListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryUserListReq request)
|
||||
{
|
||||
var loginUser = _auth.GetCurrentUser();
|
||||
IQueryable<SysUser> query = UnitWork.Find<SysUser>(null);
|
||||
@@ -99,10 +99,10 @@ namespace OpenAuth.App
|
||||
OrganizationIds = string.Join(",", u.Select(x=>x.OrgId))
|
||||
,Organizations = string.Join(",", u.Select(x=>x.OrgName))
|
||||
});
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
count =userViews.Count(),
|
||||
data =userViews.OrderBy(u => u.Name)
|
||||
Count =userViews.Count(),
|
||||
Data =userViews.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit),
|
||||
};
|
||||
@@ -111,7 +111,7 @@ namespace OpenAuth.App
|
||||
/// 获取所有的用户
|
||||
/// 为了控制权限,通常只用于流程实例选择执行角色,其他地方请使用Load
|
||||
/// </summary>
|
||||
public async Task<TableResp<UserView>> LoadAll(QueryUserListReq request)
|
||||
public async Task<PagedListDataResp<UserView>> LoadAll(QueryUserListReq request)
|
||||
{
|
||||
IQueryable<SysUser> query = UnitWork.Find<SysUser>(null);
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
@@ -166,10 +166,10 @@ namespace OpenAuth.App
|
||||
OrganizationIds = string.Join(",", u.Select(x=>x.OrgId))
|
||||
,Organizations = string.Join(",", u.Select(x=>x.OrgName))
|
||||
});
|
||||
return new TableResp<UserView>()
|
||||
return new PagedListDataResp<UserView>()
|
||||
{
|
||||
count = userViews.Count(),
|
||||
data = userViews.OrderBy(u => u.Name)
|
||||
Count = userViews.Count(),
|
||||
Data = userViews.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList()
|
||||
};
|
||||
@@ -252,17 +252,17 @@ namespace OpenAuth.App
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<TableData> LoadByRole(QueryUserListByRoleReq request)
|
||||
public async Task<PagedDynamicDataResp> LoadByRole(QueryUserListByRoleReq request)
|
||||
{
|
||||
var users = from userRole in UnitWork.Find<Relevance>(u =>
|
||||
u.SecondId == request.roleId && u.RelKey == Define.USERROLE)
|
||||
join user in UnitWork.Find<SysUser>(null) on userRole.FirstId equals user.Id into temp
|
||||
from c in temp.Where(u =>u.Id != null)
|
||||
select c;
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
count =await users.CountAsync(),
|
||||
data =await users.Skip((request.page - 1) * request.limit).Take(request.limit).ToListAsync()
|
||||
Count =await users.CountAsync(),
|
||||
Data =await users.Skip((request.page - 1) * request.limit).Take(request.limit).ToListAsync()
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
@@ -270,17 +270,17 @@ namespace OpenAuth.App
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<TableData> LoadByOrg(QueryUserListByOrgReq request)
|
||||
public async Task<PagedDynamicDataResp> LoadByOrg(QueryUserListByOrgReq request)
|
||||
{
|
||||
var users = from userOrg in UnitWork.Find<Relevance>(u =>
|
||||
u.SecondId == request.orgId && u.RelKey == Define.USERORG)
|
||||
join user in UnitWork.Find<SysUser>(null) on userOrg.FirstId equals user.Id into temp
|
||||
from c in temp.Where(u =>u.Id != null)
|
||||
select c;
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
count =await users.CountAsync(),
|
||||
data =await users.Skip((request.page - 1) * request.limit).Take(request.limit).ToListAsync()
|
||||
Count =await users.CountAsync(),
|
||||
Data =await users.Skip((request.page - 1) * request.limit).Take(request.limit).ToListAsync()
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryWmsInboundOrderDtblListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryWmsInboundOrderDtblListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.App
|
||||
{
|
||||
throw new Exception("请在代码生成界面配置WmsInboundOrderDtbl表的字段属性");
|
||||
}
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = SugarClient.Queryable<WmsInboundOrderDtbl>();
|
||||
if (!string.IsNullOrEmpty(request.InboundOrderId))
|
||||
{
|
||||
@@ -37,11 +37,11 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(u => u.GoodsId.Contains(request.key));
|
||||
}
|
||||
var propertyStr = string.Join(',', properties.Select(u => u.ColumnName));
|
||||
result.columnFields = properties;
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
result.ColumnFields = properties;
|
||||
result.Data = objs.OrderBy(u => u.Id)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
public void Add(AddOrUpdateWmsInboundOrderDtblReq request)
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(QueryWmsInboundOrderTblListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(QueryWmsInboundOrderTblListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -27,8 +27,8 @@ namespace OpenAuth.App
|
||||
{
|
||||
throw new Exception("请在代码生成界面配置WmsInboundOrderTbl表的字段属性");
|
||||
}
|
||||
var result = new TableData();
|
||||
result.columnFields = columns;
|
||||
var result = new PagedDynamicDataResp();
|
||||
result.ColumnFields = columns;
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -39,10 +39,19 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(request.sqlWhere);
|
||||
}
|
||||
var propertyStr = string.Join(',', columns.Select(u => u.ColumnName));
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
|
||||
if (!string.IsNullOrEmpty(request.sort))
|
||||
{
|
||||
var sortfields = request.sort.Split(',');
|
||||
|
||||
objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}");
|
||||
}else{
|
||||
objs = objs.OrderBy(u => u.Id);
|
||||
}
|
||||
result.Data = objs
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
public void Add(AddOrUpdateWmsInboundOrderTblReq request)
|
||||
|
||||
@@ -76,8 +76,8 @@ namespace OpenAuth.IdentityServer
|
||||
//在startup里面只能通过这种方式获取到appsettings里面的值,不能用IOptions😰
|
||||
var dbtypes = ((ConfigurationSection)Configuration.GetSection("AppSetting:DbTypes")).GetChildren()
|
||||
.ToDictionary(x => x.Key, x => x.Value);
|
||||
var dbType = dbtypes["OpenAuthDBContext"];
|
||||
var connectionString = Configuration.GetConnectionString("OpenAuthDBContext");
|
||||
var dbType = dbtypes[Define.DEFAULT_TENANT_ID];
|
||||
var connectionString = Configuration.GetConnectionString(Define.DEFAULT_TENANT_ID);
|
||||
if (dbType == Define.DBTYPE_SQLSERVER)
|
||||
{
|
||||
services.AddDbContext<OpenAuthDBContext>(options =>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SqlSugar;
|
||||
using OpenAuth.Repository.Core;
|
||||
using SqlSugar;
|
||||
|
||||
namespace OpenAuth.Repository
|
||||
{
|
||||
@@ -6,12 +7,22 @@ namespace OpenAuth.Repository
|
||||
/// SqlSugar仓储
|
||||
/// <para>具体用法参考:https://www.donet5.com/Home/Doc?typeId=1228</para>
|
||||
/// </summary>
|
||||
public class SqlSugarRepository<T> : SimpleClient<T> where T : class, new()
|
||||
public class SqlSugarRepository<T> : SimpleClient<T> where T : BaseEntity, new()
|
||||
{
|
||||
public SqlSugarRepository(ISqlSugarClient client)
|
||||
{
|
||||
base.Context = client;
|
||||
}
|
||||
|
||||
public new bool Insert(T entity)
|
||||
{
|
||||
if (entity.KeyIsNull())
|
||||
{
|
||||
entity.GenerateDefaultKeyVal();
|
||||
}
|
||||
|
||||
return base.Insert(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryAppListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryAppListReq request)
|
||||
{
|
||||
var applications =await _app.GetList(request);
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
data = applications,
|
||||
count = applications.Count
|
||||
Data = applications,
|
||||
Count = applications.Count
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<BuilderTableColumn>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -83,7 +83,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableResp<BuilderTableColumn>> Load([FromQuery]QueryBuilderTableColumnListReq request)
|
||||
public async Task<PagedListDataResp<BuilderTableColumn>> Load([FromQuery]QueryBuilderTableColumnListReq request)
|
||||
{
|
||||
var tableResp = await _app.Load(request);
|
||||
return tableResp;
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<string>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Add(obj);
|
||||
result.Data = _app.Add(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -69,7 +69,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableResp<BuilderTable>> Load([FromQuery]QueryBuilderTableListReq request)
|
||||
public async Task<PagedListDataResp<BuilderTable>> Load([FromQuery]QueryBuilderTableListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -78,7 +78,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载所有的主表(parentId为空的)
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> AllMain()
|
||||
public async Task<PagedDynamicDataResp> AllMain()
|
||||
{
|
||||
return await _app.AllMain();
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ using OpenAuth.App.Response;
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryCategoryTypeListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryCategoryTypeListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<Category>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -88,7 +88,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery] QueryCategoryListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery] QueryCategoryListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var resp = new Response<UserView>();
|
||||
try
|
||||
{
|
||||
resp.Result = _authStrategyContext.User.MapTo<UserView>();
|
||||
resp.Data = _authStrategyContext.User.MapTo<UserView>();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -80,7 +80,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<bool>();
|
||||
try
|
||||
{
|
||||
result.Result = _authUtil.CheckLogin();
|
||||
result.Data = _authUtil.CheckLogin();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -99,7 +99,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<Role>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.Roles;
|
||||
result.Data = _authStrategyContext.Roles;
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -132,7 +132,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<BuilderTableColumn>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.GetTableColumns(moduleCode);
|
||||
result.Data = _authStrategyContext.GetTableColumns(moduleCode);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -151,7 +151,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<OrgView>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.Orgs;
|
||||
result.Data = _authStrategyContext.Orgs;
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -179,7 +179,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// <param name="orgId">机构ID</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public TableData GetSubOrgs(string orgId)
|
||||
public PagedDynamicDataResp GetSubOrgs(string orgId)
|
||||
{
|
||||
string cascadeId = ".0.";
|
||||
if (!string.IsNullOrEmpty(orgId))
|
||||
@@ -187,10 +187,10 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var org = _authStrategyContext.Orgs.SingleOrDefault(u => u.Id == orgId);
|
||||
if (org == null)
|
||||
{
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
msg = "未找到指定的节点",
|
||||
code = 500,
|
||||
Message = "未找到指定的节点",
|
||||
Code = 500,
|
||||
};
|
||||
}
|
||||
cascadeId = org.CascadeId;
|
||||
@@ -200,10 +200,10 @@ namespace OpenAuth.WebApi.Controllers
|
||||
.Where(u => u.CascadeId.Contains(cascadeId))
|
||||
.OrderBy(u =>u.CascadeId);
|
||||
|
||||
return new TableData
|
||||
return new PagedDynamicDataResp
|
||||
{
|
||||
data = query.ToList(),
|
||||
count = query.Count(),
|
||||
Data = query.ToList(),
|
||||
Count = query.Count(),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<ModuleView>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.Modules;
|
||||
result.Data = _authStrategyContext.Modules;
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -247,7 +247,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<IEnumerable<TreeItem<ModuleView>>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.Modules.GenerateTree(u => u.Id, u => u.ParentId);
|
||||
result.Data = _authStrategyContext.Modules.GenerateTree(u => u.Id, u => u.ParentId);
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -278,7 +278,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<SysResource>>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.Resources;
|
||||
result.Data = _authStrategyContext.Resources;
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -309,7 +309,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<string>();
|
||||
try
|
||||
{
|
||||
result.Result = _authStrategyContext.User.Account;
|
||||
result.Data = _authStrategyContext.User.Account;
|
||||
}
|
||||
catch (CommonException ex)
|
||||
{
|
||||
@@ -364,11 +364,11 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var resp = new Response<bool>();
|
||||
try
|
||||
{
|
||||
resp.Result = _authUtil.Logout();
|
||||
resp.Data = _authUtil.Logout();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
resp.Result = false;
|
||||
resp.Data = false;
|
||||
resp.Message = e.Message;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<DataPrivilegeRule>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -88,7 +88,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryDataPrivilegeRuleListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryDataPrivilegeRuleListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -34,9 +34,9 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[AllowAnonymous]
|
||||
public async Task<TableData> GetList([FromBody] QueryDynamicListReq req)
|
||||
public async Task<PagedDynamicDataResp> GetList([FromBody] QueryDynamicListReq req)
|
||||
{
|
||||
TableData result = new TableData();
|
||||
PagedDynamicDataResp result = new PagedDynamicDataResp();
|
||||
try
|
||||
{
|
||||
// 获取实体类型
|
||||
@@ -44,8 +44,8 @@ namespace OpenAuth.WebApi.Controllers
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.code = 500;
|
||||
result.msg = ex.InnerException?.Message ?? ex.Message;
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -160,7 +160,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<object>();
|
||||
try
|
||||
{
|
||||
result.Result = await _app.Invoke(req);
|
||||
result.Data = await _app.Invoke(req);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<ExternalDataSource>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -98,7 +98,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryExternalDataSourceListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryExternalDataSourceListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -108,7 +108,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public TableData GetDbTypes()
|
||||
public PagedDynamicDataResp GetDbTypes()
|
||||
{
|
||||
|
||||
return _app.GetDbTypes();
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载附件列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryFileListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryFileListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -74,7 +74,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<IList<UploadFile>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Add(files);
|
||||
result.Data = _app.Add(files);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -99,7 +99,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
var files = HttpContext.Request.Form.Files;
|
||||
result.Result = _app.Add(files);
|
||||
result.Data = _app.Add(files);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableResp<FlowApprover>> Load([FromQuery] QueryApproverReq request)
|
||||
public async Task<PagedListDataResp<FlowApprover>> Load([FromQuery] QueryApproverReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<FlowVerificationResp>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.GetForVerification(id);
|
||||
result.Data = _app.GetForVerification(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -53,7 +53,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<FlowInstanceOperationHistory>>();
|
||||
try
|
||||
{
|
||||
result.Result= _app.QueryHistories(request);
|
||||
result.Data= _app.QueryHistories(request);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -73,7 +73,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<string>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.CreateInstance(obj);
|
||||
result.Data = _app.CreateInstance(obj);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -192,7 +192,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryFlowInstanceListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryFlowInstanceListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<FlowScheme>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -79,7 +79,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryFlowSchemeListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryFlowSchemeListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -91,7 +91,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
public Response<List<FlowScheme>> LoadUrlFormFlowScheme()
|
||||
{
|
||||
var result = new Response<List<FlowScheme>>();
|
||||
result.Result = _app.LoadUrlFormFlowScheme();
|
||||
result.Data = _app.LoadUrlFormFlowScheme();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,11 +31,11 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<FormResp>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.FindSingle(id);
|
||||
result.Data = _app.FindSingle(id);
|
||||
|
||||
if (!string.IsNullOrEmpty(canWriteFormItemIds))
|
||||
{
|
||||
result.Result.CanWriteFormItemIds = JsonHelper.Instance.Deserialize<string[]>(canWriteFormItemIds);
|
||||
result.Data.CanWriteFormItemIds = JsonHelper.Instance.Deserialize<string[]>(canWriteFormItemIds);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -89,7 +89,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryFormListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryFormListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<IEnumerable<Module>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadForRole(firstId);
|
||||
result.Data = _app.LoadForRole(firstId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -58,7 +58,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<IEnumerable<ModuleElement>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadMenusForRole(moduleId, firstId);
|
||||
result.Data = _app.LoadMenusForRole(moduleId, firstId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -81,7 +81,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<IEnumerable<string>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadPropertiesForRole(roleId, moduleCode);
|
||||
result.Data = _app.LoadPropertiesForRole(roleId, moduleCode);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -105,7 +105,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var user = _authUtil.GetCurrentUser();
|
||||
if (string.IsNullOrEmpty(moduleId))
|
||||
{
|
||||
result.Result = user.ModuleElements;
|
||||
result.Data = user.ModuleElements;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -115,7 +115,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
throw new Exception("模块不存在");
|
||||
}
|
||||
|
||||
result.Result = module.Elements;
|
||||
result.Data = module.Elements;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -138,7 +138,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.Add(obj);
|
||||
result.Result = obj;
|
||||
result.Data = obj;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -198,7 +198,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.AddMenu(obj);
|
||||
result.Result = obj;
|
||||
result.Data = obj;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -259,7 +259,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<SysPrinterPlan>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadPrinterPlans(moduleId).ToList();
|
||||
result.Data = _app.LoadPrinterPlans(moduleId).ToList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -279,7 +279,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<FlowScheme>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadFlowSchemes(moduleId).ToList();
|
||||
result.Data = _app.LoadFlowSchemes(moduleId).ToList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<OpenJob>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryOpenJobListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryOpenJobListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -124,7 +124,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<string>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.QueryLocalHandlers();
|
||||
result.Data = _app.QueryLocalHandlers();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<SysOrg>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -49,7 +49,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.Add(obj);
|
||||
result.Result = obj;
|
||||
result.Data = obj;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
_app = app;
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryResourcesReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryResourcesReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -77,7 +77,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.Add(obj);
|
||||
resp.Result = obj.Id;
|
||||
resp.Data = obj.Id;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -114,7 +114,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<SysResource>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.LoadForRole(appId, firstId).ToList();
|
||||
result.Data = _app.LoadForRole(appId, firstId).ToList();
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -135,7 +135,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<SysResourceApp>>();
|
||||
try
|
||||
{
|
||||
result.Result = await _app.GetResourceApps();
|
||||
result.Data = await _app.GetResourceApps();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<Role>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -53,7 +53,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.Add(obj);
|
||||
result.Result = obj;
|
||||
result.Data = obj;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -93,7 +93,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 为了控制权限,通常只用于流程实例选择执行角色,其他地方请使用Load
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableResp<Role>> LoadAll([FromQuery]QueryRoleListReq request)
|
||||
public async Task<PagedListDataResp<Role>> LoadAll([FromQuery]QueryRoleListReq request)
|
||||
{
|
||||
return await _app.LoadAll(request);
|
||||
}
|
||||
@@ -107,7 +107,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<Role>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Load(request);
|
||||
result.Data = _app.Load(request);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -128,7 +128,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<string>>();
|
||||
try
|
||||
{
|
||||
result.Result = _revelanceManagerApp.Get(Define.USERROLE, true, userId);
|
||||
result.Data = _revelanceManagerApp.Get(Define.USERROLE, true, userId);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
{
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = _appConfiguration.Value.IsIdentityAuth
|
||||
Data = _appConfiguration.Value.IsIdentityAuth
|
||||
};
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<SysTableColumn>>();
|
||||
try
|
||||
{
|
||||
result.Result = _dbExtension.GetDbTableStructure(tableName, externalDataSourceId).ToList();
|
||||
result.Data = _dbExtension.GetDbTableStructure(tableName, externalDataSourceId).ToList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -71,12 +71,12 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// <param name="externalDataSourceId">外部数据源ID</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public TableData GetDbTableStructureForSelect(string tableName, string externalDataSourceId)
|
||||
public PagedDynamicDataResp GetDbTableStructureForSelect(string tableName, string externalDataSourceId)
|
||||
{
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
try
|
||||
{
|
||||
result.data = _dbExtension.GetDbTableStructure(tableName, externalDataSourceId).Select(u => new
|
||||
result.Data = _dbExtension.GetDbTableStructure(tableName, externalDataSourceId).Select(u => new
|
||||
{
|
||||
Id = u.ColumnName,
|
||||
Name = u.ColumnName
|
||||
@@ -84,8 +84,8 @@ namespace OpenAuth.WebApi.Controllers
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.code = 500;
|
||||
result.msg = ex.Message;
|
||||
result.Code = 500;
|
||||
result.Message = ex.Message;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<SysLog>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -83,7 +83,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QuerySysLogListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QuerySysLogListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<SysMessage>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -68,7 +68,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QuerySysMessageListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QuerySysMessageListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<SysPrinterPlan>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -46,7 +46,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<string>();
|
||||
try
|
||||
{
|
||||
result.Result=_app.Add(obj);
|
||||
result.Data=_app.Add(obj);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -68,7 +68,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<DbTableInfo>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.GetTables();
|
||||
result.Data = _app.GetTables();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -90,7 +90,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<List<DbColumnInfo>>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.GetColumns(tableViewName);
|
||||
result.Data = _app.GetColumns(tableViewName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -124,7 +124,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QuerySysPrinterPlanListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QuerySysPrinterPlanListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -133,7 +133,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 打印方案根据数据源获取打印数据
|
||||
/// </summary>
|
||||
[HttpPost]
|
||||
public async Task<TableData> Query([FromBody] QueryReq request)
|
||||
public async Task<PagedDynamicDataResp> Query([FromBody] QueryReq request)
|
||||
{
|
||||
return await _app.Query(request);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<UserView>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.AddOrUpdate(obj);
|
||||
result.Result = obj.Id; //返回ID
|
||||
result.Data = obj.Id; //返回ID
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -106,7 +106,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 获取当前登录用户可访问的一个部门及子部门全部用户
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryUserListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryUserListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
@@ -116,7 +116,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 为了控制权限,通常只用于流程实例选择执行角色,其他地方请使用Load
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableResp<UserView>> LoadAll([FromQuery]QueryUserListReq request)
|
||||
public async Task<PagedListDataResp<UserView>> LoadAll([FromQuery]QueryUserListReq request)
|
||||
{
|
||||
return await _app.LoadAll(request);
|
||||
}
|
||||
@@ -143,7 +143,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载指定角色的用户
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> LoadByRole([FromQuery]QueryUserListByRoleReq request)
|
||||
public async Task<PagedDynamicDataResp> LoadByRole([FromQuery]QueryUserListByRoleReq request)
|
||||
{
|
||||
return await _app.LoadByRole(request);
|
||||
}
|
||||
@@ -153,7 +153,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 不包含下级部门的用户
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> LoadByOrg([FromQuery]QueryUserListByOrgReq request)
|
||||
public async Task<PagedDynamicDataResp> LoadByOrg([FromQuery]QueryUserListByOrgReq request)
|
||||
{
|
||||
return await _app.LoadByOrg(request);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<WmsInboundOrderDtbl>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -46,7 +46,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
try
|
||||
{
|
||||
_app.Add(obj);
|
||||
result.Result = obj.Id;
|
||||
result.Data = obj.Id;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -85,7 +85,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<TableData> Load([FromQuery]QueryWmsInboundOrderDtblListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryWmsInboundOrderDtblListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<WmsInboundOrderTbl>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -90,7 +90,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]QueryWmsInboundOrderTblListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]QueryWmsInboundOrderTblListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace OpenAuth.WebApi
|
||||
|
||||
logger.LogInformation($"api doc basepath:{AppContext.BaseDirectory}");
|
||||
foreach (var name in Directory.GetFiles(AppContext.BaseDirectory, "*.*",
|
||||
SearchOption.AllDirectories).Where(f => Path.GetExtension(f).ToLower() == ".xml"))
|
||||
SearchOption.AllDirectories).Where(f => Path.GetExtension(f).ToLower() == ".xml"))
|
||||
{
|
||||
option.IncludeXmlComments(name, includeControllerXmlComments: true);
|
||||
// logger.LogInformation($"find api file{name}");
|
||||
@@ -126,9 +126,6 @@ namespace OpenAuth.WebApi
|
||||
services.AddControllers(option => { option.Filters.Add<OpenAuthFilter>(); })
|
||||
.ConfigureApiBehaviorOptions(options =>
|
||||
{
|
||||
// 禁用自动模态验证
|
||||
// options.SuppressModelStateInvalidFilter = true;
|
||||
|
||||
//启动WebAPI自动模态验证,处理返回值
|
||||
options.InvalidModelStateResponseFactory = (ActionContext context) =>
|
||||
{
|
||||
@@ -146,66 +143,77 @@ namespace OpenAuth.WebApi
|
||||
});
|
||||
services.AddMemoryCache();
|
||||
services.AddCors();
|
||||
// todo:如果正式 环境请用下面的方式限制随意访问跨域
|
||||
// var origins = new []
|
||||
// {
|
||||
// "http://localhost:1803",
|
||||
// "http://localhost:52789"
|
||||
// };
|
||||
// if (Environment.IsProduction())
|
||||
// {
|
||||
// origins = new []
|
||||
// {
|
||||
// "http://demo.openauth.net.cn:1803",
|
||||
// "http://demo.openauth.net.cn:52789"
|
||||
// };
|
||||
// }
|
||||
// services.AddCors(option=>option.AddPolicy("cors", policy =>
|
||||
// policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(origins)));
|
||||
|
||||
//在startup里面只能通过这种方式获取到appsettings里面的值,不能用IOptions😰
|
||||
var dbtypes = ((ConfigurationSection) Configuration.GetSection("AppSetting:DbTypes")).GetChildren()
|
||||
.ToDictionary(x => x.Key, x => x.Value);
|
||||
var connectionString = Configuration.GetConnectionString("OpenAuthDBContext");
|
||||
logger.LogInformation($"系统配置的数据库类型:{JsonHelper.Instance.Serialize(dbtypes)},连接字符串:{connectionString}");
|
||||
services.AddDbContext<OpenAuthDBContext>();
|
||||
|
||||
services.AddHttpClient();
|
||||
|
||||
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(Configuration["DataProtection"]));
|
||||
|
||||
//在startup里面只能通过这种方式获取到appsettings里面的值,不能用IOptions😰
|
||||
var dbtypes = ((ConfigurationSection) Configuration.GetSection("AppSetting:DbTypes")).GetChildren()
|
||||
.ToDictionary(x => x.Key, x => x.Value);
|
||||
var sqlsugarTypes = UtilMethods.EnumToDictionary<SqlSugar.DbType>();
|
||||
var dbType = sqlsugarTypes.FirstOrDefault(it =>
|
||||
dbtypes.ToDictionary(u => u.Key, v => v.Value.ToLower()).ContainsValue(it.Key));
|
||||
|
||||
services.AddScoped<ISqlSugarClient>(s =>
|
||||
{
|
||||
var sqlSugar = new SqlSugarClient(new ConnectionConfig()
|
||||
// 获取所有连接字符串配置
|
||||
var connectionStrings = Configuration.GetSection("ConnectionStrings").GetChildren()
|
||||
.ToDictionary(x => x.Key, x => x.Value);
|
||||
|
||||
// 准备ConnectionConfig列表
|
||||
var connectionConfigs = new List<ConnectionConfig>();
|
||||
|
||||
// 遍历所有连接字符串
|
||||
foreach (var conn in connectionStrings)
|
||||
{
|
||||
DbType = dbType.Value,
|
||||
ConnectionString = connectionString,
|
||||
IsAutoCloseConnection = true
|
||||
}, db => { db.Aop.OnLogExecuting = (sql, pars) => { logger.LogInformation(sql); }; });
|
||||
|
||||
if(dbType.Value != SqlSugar.DbType.PostgreSQL){
|
||||
return sqlSugar;
|
||||
}
|
||||
|
||||
// 配置bool类型转换为smallint
|
||||
sqlSugar.Aop.OnExecutingChangeSql = (sql, parameters) =>
|
||||
{
|
||||
foreach (var param in parameters)
|
||||
// 获取对应的数据库类型
|
||||
var connDbType = dbtypes.ContainsKey(conn.Key) ?
|
||||
sqlsugarTypes.FirstOrDefault(it => dbtypes[conn.Key].ToLower().Contains(it.Key)).Value :
|
||||
DbType.SqlServer; // 如果没有定义DbType,使用默认类型
|
||||
|
||||
// 创建连接配置
|
||||
var config = new ConnectionConfig
|
||||
{
|
||||
if (param.Value is bool boolValue)
|
||||
{
|
||||
param.DbType = System.Data.DbType.Int16;
|
||||
// 将 bool 转换为 smallint
|
||||
param.Value = boolValue ? (short)1 : (short)0;
|
||||
}
|
||||
DbType = connDbType,
|
||||
ConnectionString = conn.Value,
|
||||
IsAutoCloseConnection = true,
|
||||
};
|
||||
|
||||
// 如果不是默认连接,设置ConfigId
|
||||
if (conn.Key != Define.DEFAULT_TENANT_ID)
|
||||
{
|
||||
config.ConfigId = conn.Key;
|
||||
}
|
||||
// 返回修改后的 SQL 和参数
|
||||
return new System.Collections.Generic.KeyValuePair<string, SugarParameter[]>(sql, parameters);
|
||||
};
|
||||
|
||||
connectionConfigs.Add(config);
|
||||
logger.LogInformation($"添加数据库连接: {conn.Key} / {(dbtypes.ContainsKey(conn.Key) ? dbtypes[conn.Key] : "未指定类型")},连接字符串:{conn.Value}");
|
||||
}
|
||||
|
||||
var sqlSugar = new SqlSugarClient(connectionConfigs);
|
||||
|
||||
// 配置PostgreSQL数据库处理
|
||||
foreach (var connConfig in connectionConfigs)
|
||||
{
|
||||
if(connConfig.DbType == SqlSugar.DbType.PostgreSQL)
|
||||
{
|
||||
// 配置bool类型转换为smallint
|
||||
sqlSugar.Aop.OnExecutingChangeSql = (sql, parameters) =>
|
||||
{
|
||||
foreach (var param in parameters)
|
||||
{
|
||||
if (param.Value is bool boolValue)
|
||||
{
|
||||
param.DbType = System.Data.DbType.Int16;
|
||||
// 将 bool 转换为 smallint
|
||||
param.Value = boolValue ? (short)1 : (short)0;
|
||||
}
|
||||
}
|
||||
// 返回修改后的 SQL 和参数
|
||||
return new System.Collections.Generic.KeyValuePair<string, SugarParameter[]>(sql, parameters);
|
||||
};
|
||||
break; // 找到一个PostgreSQL连接后就设置一次即可
|
||||
}
|
||||
}
|
||||
|
||||
return sqlSugar;
|
||||
});
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
var result = new Response<{ClassName}>();
|
||||
try
|
||||
{
|
||||
result.Result = _app.Get(id);
|
||||
result.Data = _app.Get(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -79,7 +79,7 @@ namespace OpenAuth.WebApi.Controllers
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
public async Task<TableData> Load([FromQuery]Query{ClassName}ListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load([FromQuery]Query{ClassName}ListReq request)
|
||||
{
|
||||
return await _app.Load(request);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(Query{ClassName}ListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(Query{ClassName}ListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -23,7 +23,7 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -34,10 +34,18 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(request.sqlWhere);
|
||||
}
|
||||
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
if (!string.IsNullOrEmpty(request.sort))
|
||||
{
|
||||
var sortfields = request.sort.Split(',');
|
||||
|
||||
objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}");
|
||||
}else{
|
||||
objs = objs.OrderBy(u => u.Id);
|
||||
}
|
||||
result.Data = objs
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
public void Add(AddOrUpdate{ClassName}Req request)
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(Query{ClassName}ListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(Query{ClassName}ListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -27,8 +27,8 @@ namespace OpenAuth.App
|
||||
{
|
||||
throw new Exception("请在代码生成界面配置{ClassName}表的字段属性");
|
||||
}
|
||||
var result = new TableData();
|
||||
result.columnFields = columns;
|
||||
var result = new PagedDynamicDataResp();
|
||||
result.ColumnFields = columns;
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -39,10 +39,18 @@ namespace OpenAuth.App
|
||||
objs = objs.Where(request.sqlWhere);
|
||||
}
|
||||
var propertyStr = string.Join(',', columns.Select(u => u.ColumnName));
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
if (!string.IsNullOrEmpty(request.sort))
|
||||
{
|
||||
var sortfields = request.sort.Split(',');
|
||||
|
||||
objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}");
|
||||
}else{
|
||||
objs = objs.OrderBy(u => u.Id);
|
||||
}
|
||||
result.Data = objs
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
public void Add(AddOrUpdate{ClassName}Req request)
|
||||
|
||||
@@ -343,9 +343,9 @@ const createData = () => {
|
||||
tempData = setDetails(tempData)
|
||||
tempData.OrgId = defaultorgid.value
|
||||
{FirstTableName}s.add(tempData).then(resp => {
|
||||
if (resp.result != undefined) {
|
||||
if (resp.data != undefined) {
|
||||
//如果服务器返回生成的ID
|
||||
firstTemp.id = resp.result
|
||||
firstTemp.id = resp.data
|
||||
}
|
||||
mainList.value.unshift(firstTemp)
|
||||
editModel.value = false
|
||||
|
||||
@@ -332,9 +332,9 @@ const createData = () => {
|
||||
tempData = setDetails(tempData)
|
||||
tempData.OrgId = defaultorgid.value
|
||||
{FirstTableName}s.add(tempData).then(resp => {
|
||||
if (resp.result != undefined) {
|
||||
if (resp.data != undefined) {
|
||||
//如果服务器返回生成的ID
|
||||
firstTemp.id = resp.result
|
||||
firstTemp.id = resp.data
|
||||
}
|
||||
mainList.value.unshift(firstTemp)
|
||||
editModel.value = false
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(Query{ClassName}ListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(Query{ClassName}ListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -26,7 +26,7 @@ namespace OpenAuth.App
|
||||
throw new CommonException("登录已过期", Define.INVALID_TOKEN);
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -39,10 +39,18 @@ namespace OpenAuth.App
|
||||
|
||||
{ForeignKeyTemplate}
|
||||
|
||||
result.data = objs.OrderBy(u => u.Id)
|
||||
if (!string.IsNullOrEmpty(request.sort))
|
||||
{
|
||||
var sortfields = request.sort.Split(',');
|
||||
|
||||
objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}");
|
||||
}else{
|
||||
objs = objs.OrderBy(u => u.Id);
|
||||
}
|
||||
result.Data = objs
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace OpenAuth.App
|
||||
/// <summary>
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public async Task<TableData> Load(Query{ClassName}ListReq request)
|
||||
public async Task<PagedDynamicDataResp> Load(Query{ClassName}ListReq request)
|
||||
{
|
||||
var loginContext = _auth.GetCurrentUser();
|
||||
if (loginContext == null)
|
||||
@@ -32,7 +32,7 @@ namespace OpenAuth.App
|
||||
throw new Exception("请在代码生成界面配置{ClassName}表的字段属性");
|
||||
}
|
||||
|
||||
var result = new TableData();
|
||||
var result = new PagedDynamicDataResp();
|
||||
var objs = GetDataPrivilege("u");
|
||||
if (!string.IsNullOrEmpty(request.key))
|
||||
{
|
||||
@@ -44,11 +44,19 @@ namespace OpenAuth.App
|
||||
|
||||
var columnnames = columnFields.Select(u => u.ColumnName);
|
||||
var propertyStr = string.Join(',', columnnames);
|
||||
result.columnFields = columnFields;
|
||||
result.data = objs.OrderByDescending(u => u.Id)
|
||||
result.ColumnFields = columnFields;
|
||||
if (!string.IsNullOrEmpty(request.sort))
|
||||
{
|
||||
var sortfields = request.sort.Split(',');
|
||||
|
||||
objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}");
|
||||
}else{
|
||||
objs = objs.OrderBy(u => u.Id);
|
||||
}
|
||||
result.Data = objs
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit).Select($"{propertyStr}").ToList();
|
||||
result.count = await objs.CountAsync();
|
||||
result.Count = await objs.CountAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
31
README.md
31
README.md
@@ -4,33 +4,12 @@
|
||||
<img src="https://gitee.com/uploads/images/2018/0425/163228_7077c3fd_362401.png" alt="LOGO" width="300" />
|
||||
</p>
|
||||
|
||||
**logo图标含义** OpenAuth中OA字母的结合体;整体像鱼,授人以渔;你非说像咸鱼,那也是积极向上的咸鱼;中心是个笑脸,微笑面对生活(✿◡‿◡)。
|
||||
| **官网** http://www.openauth.net.cn | **文档** http://doc.openauth.net.cn |
|
||||
|---|---|
|
||||
|
||||
**官方网站** http://www.openauth.net.cn
|
||||
## 🏗️ 架构图
|
||||
|
||||
**官方文档** http://doc.openauth.net.cn
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
主分支main默认.Net SDK 9.0.100,如果需要降低sdk版本,请参考[切换sdk版本](http://doc.openauth.net.cn/core/changesdk.html)。使用.Net Core 2.1-3.1的请点[这里](https://gitee.com/yubaolee/OpenAuth.Core) ,已停止维护
|
||||

|
||||
|
||||
## ▶️演示直达
|
||||
|
||||
@@ -116,8 +95,6 @@
|
||||
|
||||
* 建立三方对接规范,已有系统可以无缝对接流程引擎
|
||||
|
||||
* MVC前端采用 layui + ztree + gooflow + leipiformdesign
|
||||
|
||||
* vue前端采用 vue + element-ui + vform + hiprinter
|
||||
|
||||
* 后端采用 .net +EF + sqlsugar + autofac + quartz +IdentityServer4 + nunit + swagger
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
|
||||
* @Date: 2022-05-12 23:33:44
|
||||
* @LastEditTime: 2024-06-20 09:23:53
|
||||
* @LastEditTime: 2025-06-08 14:02:36
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) 2023 by yubaolee | ahfu~ , All Rights Reserved.
|
||||
@@ -11,7 +11,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>OpenAuth.Net Vue2版本|最好用的.net权限工作流框架|.net快速开发框架|.net权限管理|.net工作流</title>
|
||||
<title>OpenAuth.Net开源版|最好用的.net权限工作流框架|.net快速开发框架|.net权限管理|.net工作流</title>
|
||||
<meta name="Keywords" content="openauth.net,.net开源工作流,.NET开源权限管理">
|
||||
<meta name="Description" content="最好用的.net开源工作流框架,最好用的.NET开源权限管理框架">
|
||||
<link rel="stylesheep" type="text/css" media="print" href="./print-lock.css"></link>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
|
||||
* @Date: 2022-05-12 23:34:17
|
||||
* @LastEditTime: 2024-02-24 18:56:22
|
||||
* @LastEditTime: 2025-06-11 21:17:23
|
||||
* @Description: 为角色分配模块
|
||||
* @
|
||||
* @Copyright (c) 2024 by yubaolee | ahfu~ , All Rights Reserved.
|
||||
@@ -119,7 +119,7 @@ export default {
|
||||
mounted() {
|
||||
var _this = this
|
||||
login.getModules().then(response => {
|
||||
var modules = response.result.map(function (item) {
|
||||
var modules = response.data.map(function (item) {
|
||||
let lable = item.name
|
||||
if (!item.isSys) {
|
||||
lable += '(非系统模块,可分配字段)'
|
||||
@@ -138,7 +138,7 @@ export default {
|
||||
})
|
||||
// 获取用户可访问的全部的菜单
|
||||
apiModules.loadMenus('').then(response => {
|
||||
_this.menus = response.result
|
||||
_this.menus = response.data
|
||||
_this.init()
|
||||
})
|
||||
},
|
||||
@@ -156,13 +156,13 @@ export default {
|
||||
var _this = this
|
||||
apiModules.loadForRole(_this.roleId).then(response => {
|
||||
//选中有具体路由的节点,因为el-tree设置了自动级联,会自动选中上面的节点。但需要用tree.getCheckedNodes(false, true)获取
|
||||
_this.$refs.tree.setCheckedKeys(response.result.filter(i => i.url.trim() != "/").map(item => item.id))
|
||||
_this.$refs.tree.setCheckedKeys(response.data.filter(i => i.url.trim() != "/").map(item => item.id))
|
||||
})
|
||||
},
|
||||
getRoleMenuIds() { // 获取角色已分配的菜单
|
||||
var _this = this
|
||||
apiModules.loadMenusForRole(_this.roleId).then(response => {
|
||||
_this.roleMenuIds = response.result.map(item => item.id)
|
||||
_this.roleMenuIds = response.data.map(item => item.id)
|
||||
})
|
||||
},
|
||||
onChange(val) {
|
||||
|
||||
@@ -263,7 +263,7 @@ export default {
|
||||
this.changeAttrType()
|
||||
var _this = this // 记录vuecomponent
|
||||
login.getOrgs().then(response => {
|
||||
_this.orgs = response.result.map(function (item) {
|
||||
_this.orgs = response.data.map(function (item) {
|
||||
return {
|
||||
id: item.id,
|
||||
label: item.name,
|
||||
|
||||
@@ -79,11 +79,11 @@ export default {
|
||||
var moduleId = route.meta.moduleId
|
||||
//加载模块对应的打印方案
|
||||
modules.loadPrinterPlans(moduleId).then(response => {
|
||||
this.modulePlans = response.result
|
||||
this.modulePlans = response.data
|
||||
})
|
||||
//加载模块对应的送审方案
|
||||
modules.loadFlowSchemes(moduleId).then(response => {
|
||||
this.flowschemes = response.result
|
||||
this.flowschemes = response.data
|
||||
})
|
||||
this.buttons = elements.sort((a, b) => {
|
||||
return a.sort - b.sort
|
||||
|
||||
@@ -278,7 +278,7 @@ export default {
|
||||
})
|
||||
} else {
|
||||
roles.getList(this.tableData.listQuery).then((response) => {
|
||||
this.tableData.datas = response.result
|
||||
this.tableData.datas = response.data
|
||||
this.initCurrentPageData()
|
||||
this.setSelectTable()
|
||||
})
|
||||
@@ -313,7 +313,7 @@ export default {
|
||||
*/
|
||||
getLeftTree() {
|
||||
login.getOrgs().then((response) => {
|
||||
this.leftTreeDatas = response.result.map(function (item) {
|
||||
this.leftTreeDatas = response.data.map(function (item) {
|
||||
return {
|
||||
id: item.id,
|
||||
label: item.name,
|
||||
|
||||
@@ -16,7 +16,7 @@ const user = {
|
||||
getCheckModules({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getModules(state.token).then(response => {
|
||||
commit('SET_CHECK_MODULES', response.result)
|
||||
commit('SET_CHECK_MODULES', response.data)
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
|
||||
@@ -19,8 +19,8 @@ const serverConf = {
|
||||
}
|
||||
|
||||
isIdentityAuth().then(response => {
|
||||
commit('SET_IDENTITYAUTH', response.result)
|
||||
resolve(response.result)
|
||||
commit('SET_IDENTITYAUTH', response.data)
|
||||
resolve(response.data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
|
||||
@@ -47,7 +47,7 @@ const user = {
|
||||
GetInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getInfo(state.token).then(response => {
|
||||
commit('SET_NAME', response.result)
|
||||
commit('SET_NAME', response.data)
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
@@ -59,7 +59,7 @@ const user = {
|
||||
GetDefaultOrg({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getOrgs(state.token).then(response => {
|
||||
commit('SET_DEFAULTORG', response.result[0])
|
||||
commit('SET_DEFAULTORG', response.data[0])
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
@@ -70,7 +70,7 @@ const user = {
|
||||
GetModules({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getModules(state.token).then(response => {
|
||||
commit('SET_MODULES', response.result)
|
||||
commit('SET_MODULES', response.data)
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
@@ -85,8 +85,8 @@ const user = {
|
||||
return
|
||||
}
|
||||
getModulesTree(state.token).then(response => {
|
||||
commit('SET_MODULES', response.result)
|
||||
resolve(response.result)
|
||||
commit('SET_MODULES', response.data)
|
||||
resolve(response.data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
|
||||
* @Date: 2022-05-12 23:34:30
|
||||
* @LastEditTime: 2025-04-17 14:50:16
|
||||
* @LastEditTime: 2025-06-20 20:59:32
|
||||
* @Description: 2021-08-24 采用通用的列表和表单组件改造
|
||||
* 2021-09-14 保持和订单界面一致
|
||||
* @Copyright (c) 2023 by yubaolee | ahfu~ , All Rights Reserved.
|
||||
@@ -363,7 +363,7 @@ export default {
|
||||
let tempData = Object.assign({}, this.firstTemp)
|
||||
tempData.OrgId = this.defaultorgid
|
||||
builderTables.add(tempData).then((resp) => {
|
||||
this.firstTemp.id = resp.result
|
||||
this.firstTemp.id = resp.data
|
||||
this.mainList.unshift(this.firstTemp)
|
||||
this.editModel = false
|
||||
this.rowClickFirstTable(this.firstTemp)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: yubaolee <yubaolee@163.com> | ahfu~ <954478625@qq.com>
|
||||
* @Date: 2021-06-01 14:10:29
|
||||
* @LastEditTime: 2025-06-07 23:54:30
|
||||
* @LastEditTime: 2025-06-08 14:07:28
|
||||
* @Description:
|
||||
* @
|
||||
* @Copyright (c) 2022 by yubaolee | ahfu~ , All Rights Reserved.
|
||||
@@ -17,8 +17,6 @@
|
||||
<el-card class="box-card">
|
||||
<el-tag type="danger">一些说明</el-tag>
|
||||
<p></p>
|
||||
开源版演示地址:<a href="http://demo.openauth.net.cn:1803">http://demo.openauth.net.cn:1803</a>
|
||||
<p></p>
|
||||
官方网址:<a href="http://openauth.net.cn">http://openauth.net.cn</a>
|
||||
<p></p>
|
||||
官方博客:<a href="http://www.cnblogs.com/yubaolee/">http://www.cnblogs.com/yubaolee/</a>
|
||||
@@ -32,12 +30,12 @@
|
||||
</el-row>
|
||||
<el-row class="auth-box" :gutter="0">
|
||||
<el-col :span="6" class="auth-col">
|
||||
<div class="auth-head" style="line-height: 50px;"><p>功能特权</p></div>
|
||||
<div class="auth-head" style="line-height: 50px;"><p>功能</p></div>
|
||||
<div class="auth-item" v-for="(item, index) in auths" :key="index">{{item.name}}</div>
|
||||
</el-col>
|
||||
<el-col :span="6" v-for="good in goods" :key="good.type" class="auth-col" :class="{'active': good.recomment}">
|
||||
<div class="auth-head">
|
||||
<a target="_blank" href="http://old.openauth.net.cn/question/detail.html?id=a2be2d61-7fcb-4df8-8be2-9f296c22a89c">
|
||||
<a target="_blank" href="http://www.openauth.net.cn/newpricing/">
|
||||
<span v-if="good.recomment" class="recomment">推荐</span>
|
||||
<p>{{good.name}}<br><span class="subTitle">{{good.subTitle}}</span></p>
|
||||
<el-button type="warning" plain style="width: 100px;" size="mini">选择</el-button>
|
||||
@@ -46,9 +44,9 @@
|
||||
<div class="auth-item" v-for="(item, index) in auths" :key="index">
|
||||
<span v-if="item.belongs.indexOf(good.type) >= 0" class="auth-icon"><i class="el-icon-success"></i></span>
|
||||
<span v-else class="auth-icon"><i class="el-icon-error"></i></span>
|
||||
<span v-if="good.type === 'base' && item.baseRemark">{{item.baseRemark}}</span>
|
||||
<span v-else-if="good.type === 'senior' && item.seniorRemark">{{item.seniorRemark}}</span>
|
||||
<span v-else-if="good.type === 'business' && item.businessRemark">{{item.businessRemark}}</span>
|
||||
<span v-if="good.type === 'opensource' && item.opensourceRemark">{{item.opensourceRemark}}</span>
|
||||
<span v-else-if="good.type === 'annual' && item.annualRemark">{{item.annualRemark}}</span>
|
||||
<span v-else-if="good.type === 'lifetime' && item.lifetimeRemark">{{item.lifetimeRemark}}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -65,79 +63,78 @@
|
||||
return {
|
||||
auths: [
|
||||
{
|
||||
name: '专属QQ群',
|
||||
belongs: ['base', 'senior', 'business'],
|
||||
name: '价格',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
opensourceRemark: '永久免费',
|
||||
annualRemark: '1688元/年',
|
||||
lifetimeRemark: '3000元/永久',
|
||||
},
|
||||
{
|
||||
name: '专属授权文件',
|
||||
belongs: ['base', 'senior', 'business'],
|
||||
name: '代码获取',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
opensourceRemark: '开源中国、GitHub',
|
||||
annualRemark: '平台下载、持续更新',
|
||||
lifetimeRemark: '平台下载、持续更新',
|
||||
},
|
||||
{
|
||||
name: '社区VIP',
|
||||
belongs: ['base', 'senior', 'business'],
|
||||
baseRemark: 'VIP标识',
|
||||
seniorRemark: '高级VIP标识',
|
||||
businessRemark: '企业VIP标识',
|
||||
name: '授权域名个数',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
opensourceRemark: '无限制',
|
||||
annualRemark: '无限制',
|
||||
lifetimeRemark: '无限制',
|
||||
},
|
||||
{
|
||||
name: '分发限制',
|
||||
belongs: ['base', 'senior', 'business'],
|
||||
baseRemark: '仅个人,禁止公司',
|
||||
seniorRemark: '仅个人,禁止公司',
|
||||
businessRemark: '无任何限制',
|
||||
name: '授权项目个数',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
opensourceRemark: '无限制',
|
||||
annualRemark: '无限制',
|
||||
lifetimeRemark: '无限制',
|
||||
},
|
||||
{
|
||||
name: '永久使用',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
},
|
||||
{
|
||||
name: 'Vue2+ElementUI源码',
|
||||
belongs: ['base', 'senior', 'business'],
|
||||
baseRemark: '不支持升级',
|
||||
belongs: ['opensource', 'annual', 'lifetime'],
|
||||
},
|
||||
{
|
||||
name: '最新的代码生成工具',
|
||||
belongs: ['senior', 'business'],
|
||||
},
|
||||
{
|
||||
name: '永久免费升级',
|
||||
belongs: ['senior', 'business'],
|
||||
},
|
||||
{
|
||||
name: '提供项目管理平台账号',
|
||||
belongs: ['senior', 'business'],
|
||||
},
|
||||
{
|
||||
name: '技术咨询服务',
|
||||
belongs: ['senior', 'business'],
|
||||
seniorRemark: '为个人提供',
|
||||
businessRemark: '为公司团队提供',
|
||||
},
|
||||
{
|
||||
name: 'Vue3+ElementPlus源码',
|
||||
belongs: ['business'],
|
||||
},
|
||||
{
|
||||
name: '移动H5源码',
|
||||
belongs: ['business'],
|
||||
},
|
||||
{
|
||||
name: '远程技术支持',
|
||||
belongs: ['business'],
|
||||
name: '专属QQ群',
|
||||
belongs: ['annual', 'lifetime'],
|
||||
opensourceRemark: '可进大群',
|
||||
},
|
||||
{
|
||||
name: '提供正规发票',
|
||||
belongs: ['business'],
|
||||
belongs: ['annual', 'lifetime'],
|
||||
},
|
||||
{
|
||||
name: 'Vue3+ElementPlus源码',
|
||||
belongs: ['annual', 'lifetime'],
|
||||
annualRemark: '订阅期内有效',
|
||||
},
|
||||
{
|
||||
name: '移动UniApp源码',
|
||||
belongs: ['annual', 'lifetime'],
|
||||
annualRemark: '订阅期内有效',
|
||||
},
|
||||
{
|
||||
name: '技术支持服务',
|
||||
belongs: ['annual', 'lifetime'],
|
||||
annualRemark: '订阅期内有效',
|
||||
}
|
||||
],
|
||||
goods: [{
|
||||
name: '标准版',
|
||||
subTitle: '500元',
|
||||
type: 'base'
|
||||
name: '开源版',
|
||||
subTitle: '',
|
||||
type: 'opensource'
|
||||
},{
|
||||
name: '高级版',
|
||||
subTitle: '800元',
|
||||
type: 'senior'
|
||||
name: '年费订阅',
|
||||
subTitle: '',
|
||||
type: 'annual'
|
||||
},{
|
||||
name: '企业版',
|
||||
subTitle: '2000元',
|
||||
type: 'business',
|
||||
name: '终生订阅',
|
||||
subTitle: '',
|
||||
type: 'lifetime',
|
||||
recomment: true
|
||||
}]
|
||||
}
|
||||
|
||||
@@ -391,7 +391,7 @@ export default {
|
||||
// 获取部门信息
|
||||
getPartData() {
|
||||
login.getOrgs().then((response) => {
|
||||
this.partDatas = response.result.map(function(item) {
|
||||
this.partDatas = response.data.map(function(item) {
|
||||
return {
|
||||
id: item.id,
|
||||
label: item.name,
|
||||
@@ -460,7 +460,7 @@ export default {
|
||||
this.comonInfo.loading = true
|
||||
this.roleInfo.listQuery.key = this.searchKey
|
||||
roles.getList(this.listQuery).then((response) => {
|
||||
this.comonInfo.datas = response.result
|
||||
this.comonInfo.datas = response.data
|
||||
this.comonInfo.loading = false
|
||||
this.setSelectTable()
|
||||
})
|
||||
|
||||
@@ -222,24 +222,24 @@ export default {
|
||||
canWriteFormItemIds: JSON.stringify(_this.canWriteFormItemIds),
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.result.frmType === 1) {
|
||||
if (response.data.frmType === 1) {
|
||||
// 用户自定义的页面,即Vue组件
|
||||
_this.postObj.frmType = 1
|
||||
_this.postObj.dbName = response.result.webId
|
||||
_this.postObj.dbName = response.data.webId
|
||||
let loadComp = () => import(`@/views/forms/userDefine/${this.postObj.dbName}/add`)
|
||||
loadComp().then(res => {
|
||||
_this.userDefineComp = res.default
|
||||
})
|
||||
|
||||
} else if (response.result.frmType === 2) {
|
||||
} else if (response.data.frmType === 2) {
|
||||
_this.reLoadVform = false;
|
||||
// 拖拽界面
|
||||
_this.postObj.frmType = 2
|
||||
_this.postObj.dbName = ''
|
||||
response.result.html = response.result.content // 暂无用content替代一下html
|
||||
response.data.html = response.data.content // 暂无用content替代一下html
|
||||
|
||||
//拖动表单
|
||||
if (!response.result.contentData.includes('widgetList')) {
|
||||
if (!response.data.contentData.includes('widgetList')) {
|
||||
this.$message({
|
||||
message: '最新版表单设计不支持v4.4及以前版本的拖动表单,新增个表单试试~~',
|
||||
type: 'error',
|
||||
@@ -247,7 +247,7 @@ export default {
|
||||
return
|
||||
}
|
||||
|
||||
this.formJson = JSON.parse(response.result.contentData)
|
||||
this.formJson = JSON.parse(response.data.contentData)
|
||||
this.$nextTick(()=>{
|
||||
_this.reLoadVform = true;
|
||||
_this.$nextTick(()=>{
|
||||
@@ -256,20 +256,20 @@ export default {
|
||||
})
|
||||
|
||||
//读写权限控制
|
||||
if (response.result.canWriteFormItemIds && response.result.canWriteFormItemIds.length > 0) {
|
||||
if (response.data.canWriteFormItemIds && response.data.canWriteFormItemIds.length > 0) {
|
||||
_this.$nextTick(function () {
|
||||
_this.$refs.vFormRef.disableForm()
|
||||
_this.$refs.vFormRef.enableWidgets(response.result.canWriteFormItemIds)
|
||||
_this.$refs.vFormRef.enableWidgets(response.data.canWriteFormItemIds)
|
||||
})
|
||||
}
|
||||
|
||||
_this.frmPreview = response.result.html // 表单预览的数据
|
||||
_this.fields = response.result.fields // 表单属性的个数
|
||||
_this.frmPreview = response.data.html // 表单预览的数据
|
||||
_this.fields = response.data.fields // 表单属性的个数
|
||||
} else {
|
||||
_this.postObj.frmType = 0
|
||||
_this.postObj.dbName = ''
|
||||
_this.frmPreview = response.result.htmlWithCanWriteIds // 表单预览的数据
|
||||
_this.fields = response.result.fields // 表单属性的个数
|
||||
_this.frmPreview = response.data.htmlWithCanWriteIds // 表单预览的数据
|
||||
_this.fields = response.data.fields // 表单属性的个数
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -102,18 +102,18 @@ export default {
|
||||
id: id,
|
||||
})
|
||||
.then((response) => {
|
||||
_this.postObj = response.result
|
||||
_this.postObj = response.data
|
||||
if (_this.postObj.frmType === 2) {
|
||||
//拖动表单
|
||||
if (!response.result.frmContentData.includes('widgetList')) {
|
||||
if (!response.data.frmContentData.includes('widgetList')) {
|
||||
_this.$message({
|
||||
message: '最新版表单设计不支持v4.4及以前版本的拖动表单,新增个表单试试~~',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
_this.formJson = JSON.parse(response.result.frmContentData)
|
||||
_this.formData = JSON.parse(response.result.frmData)
|
||||
_this.formJson = JSON.parse(response.data.frmContentData)
|
||||
_this.formData = JSON.parse(response.data.frmData)
|
||||
|
||||
_this.$nextTick(function () {
|
||||
this.$refs.vFormRef.disableForm()
|
||||
@@ -135,7 +135,7 @@ export default {
|
||||
flowInstanceId: id,
|
||||
})
|
||||
.then((response) => {
|
||||
this.histories = response.result
|
||||
this.histories = response.data
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
id: row.id,
|
||||
})
|
||||
.then((response) => {
|
||||
var type = response.result.nextNodeDesignateType
|
||||
var type = response.data.nextNodeDesignateType
|
||||
var secondNodeDync = type === 'RUNTIME_SPECIAL_USER' || type === 'RUNTIME_SPECIAL_ROLE'
|
||||
if (secondNodeDync) {
|
||||
this.$router.push('/flowinstances/verify/' + row.id)
|
||||
|
||||
@@ -169,9 +169,9 @@ export default {
|
||||
id: id,
|
||||
})
|
||||
.then((response) => {
|
||||
this.postObj = response.result
|
||||
this.formData = JSON.parse(response.result.frmData)
|
||||
this.formJson = JSON.parse(response.result.frmContentData)
|
||||
this.postObj = response.data
|
||||
this.formData = JSON.parse(response.data.frmData)
|
||||
this.formJson = JSON.parse(response.data.frmContentData)
|
||||
|
||||
if (this.postObj.frmType === 1) {
|
||||
// 用户自定义的页面,即Vue组件
|
||||
|
||||
@@ -149,29 +149,29 @@ export default {
|
||||
id: id,
|
||||
})
|
||||
.then((response) => {
|
||||
this.flowObj = response.result
|
||||
this.flowObj = response.data
|
||||
if (this.flowObj.frmType === 2) {
|
||||
//拖动表单
|
||||
if (!response.result.frmContentData.includes('widgetList')) {
|
||||
if (!response.data.frmContentData.includes('widgetList')) {
|
||||
this.$message({
|
||||
message: '最新版表单设计不支持v4.4及以前版本的拖动表单,新增个表单试试~~',
|
||||
type: 'error',
|
||||
})
|
||||
return
|
||||
}
|
||||
this.formJson = JSON.parse(response.result.frmContentData)
|
||||
this.formData = JSON.parse(response.result.frmData)
|
||||
this.formJson = JSON.parse(response.data.frmContentData)
|
||||
this.formData = JSON.parse(response.data.frmData)
|
||||
} else if (this.flowObj.frmType === 1) { //用户自定义表单
|
||||
let loadComp = () => import(`@/views/forms/userDefine/${this.flowObj.dbName}/detail`)
|
||||
loadComp().then(res => {
|
||||
this.userDefineComp = res.default
|
||||
})
|
||||
}
|
||||
this.postObj.frmType = response.result.frmType
|
||||
this.postObj.NodeDesignateType = response.result.nextNodeDesignateType //节点的执行权限类型,如执行时选定用户或设计时确定用户
|
||||
this.postObj.frmType = response.data.frmType
|
||||
this.postObj.NodeDesignateType = response.data.nextNodeDesignateType //节点的执行权限类型,如执行时选定用户或设计时确定用户
|
||||
var nodes = JSON.parse(this.flowObj.schemeContent).nodes
|
||||
this.FlowNodes = nodes // 需要过滤条件,应该退回到已经处理过的某个节点
|
||||
this.canWriteFormItemIds = response.result.canWriteFormItemIds
|
||||
this.canWriteFormItemIds = response.data.canWriteFormItemIds
|
||||
|
||||
if (this.flowObj.frmType === 2) {
|
||||
//控制拖动表单字段读写权限
|
||||
|
||||
@@ -245,9 +245,9 @@ export default {
|
||||
id: val,
|
||||
})
|
||||
.then((response) => {
|
||||
_this.postObj.frmType = response.result.frmType
|
||||
if (response.result.frmType === 1) {// 自定义表单
|
||||
let loadComp = () => import(`@/views/forms/userDefine/${response.result.webId}/add`)
|
||||
_this.postObj.frmType = response.data.frmType
|
||||
if (response.data.frmType === 1) {// 自定义表单
|
||||
let loadComp = () => import(`@/views/forms/userDefine/${response.data.webId}/add`)
|
||||
loadComp().then(res => {
|
||||
_this.userDefineComp = res.default
|
||||
_this.$nextTick(() => {
|
||||
@@ -258,8 +258,8 @@ export default {
|
||||
|
||||
return
|
||||
}
|
||||
if (response.result.frmType === 2) {
|
||||
if (!response.result.contentData.includes('widgetList')) {
|
||||
if (response.data.frmType === 2) {
|
||||
if (!response.data.contentData.includes('widgetList')) {
|
||||
this.$message({
|
||||
message: '最新版表单设计不支持v4.4及以前版本的拖动表单,新增个表单试试~~',
|
||||
type: 'error',
|
||||
@@ -267,15 +267,15 @@ export default {
|
||||
return;
|
||||
}
|
||||
// 拖动表单
|
||||
_this.formJson = JSON.parse(response.result.contentData)
|
||||
_this.formJson = JSON.parse(response.data.contentData)
|
||||
_this.$refs.vFormRef[0].setFormJson(_this.formJson)
|
||||
_this.$nextTick(()=>{
|
||||
_this.currentForm = _this.$refs.vFormRef[0].getFieldWidgets().map(item=>{return {name:item.field.options.name, title:item.field.options.label}})
|
||||
})
|
||||
return
|
||||
}
|
||||
_this.frmPreview = response.result.html // 默认动态表单
|
||||
_this.currentForm = JSON.parse(response.result.contentData)
|
||||
_this.frmPreview = response.data.html // 默认动态表单
|
||||
_this.currentForm = JSON.parse(response.data.contentData)
|
||||
})
|
||||
},
|
||||
submitForm() {
|
||||
|
||||
@@ -223,7 +223,7 @@ export default {
|
||||
forms
|
||||
.get(id)
|
||||
.then((response) => {
|
||||
this.postForm = response.result
|
||||
this.postForm = response.data
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
|
||||
@@ -135,7 +135,7 @@ export default {
|
||||
handleChange(file, fileList) {
|
||||
this.temp.files = fileList
|
||||
.filter((u) => u.status === 'success')
|
||||
.map((u) => u.response.result[0])
|
||||
.map((u) => u.response.data[0])
|
||||
.map((u) => {
|
||||
return {
|
||||
fileName: u.fileName,
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
methods: {
|
||||
handleChange(file, fileList) {
|
||||
this.temp.files = fileList.filter(u => u.status === 'success')
|
||||
.map(u => u.response.result[0])
|
||||
.map(u => u.response.data[0])
|
||||
.map(u => {
|
||||
return {
|
||||
fileName: u.fileName,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user