😎1、去掉删除表按钮禁用 2、修复删除表只有一列时错误 3、升级nuget依赖 4、数据审批代码整理

This commit is contained in:
zuohuaijun 2024-06-19 03:18:45 +08:00
parent 6631768d7f
commit 65c9e0ad83
12 changed files with 40 additions and 50 deletions

View File

@ -33,7 +33,6 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" /> <ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" />
<ProjectReference Include="..\Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj" /> <ProjectReference Include="..\Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj" />
<ProjectReference Include="..\Plugins\Admin.NET.Plugin.ReZero\Admin.NET.Plugin.ReZero.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -37,7 +37,7 @@
<PackageReference Include="SqlSugarCore" Version="5.1.4.158" /> <PackageReference Include="SqlSugarCore" Version="5.1.4.158" />
<PackageReference Include="SSH.NET" Version="2024.0.0" /> <PackageReference Include="SSH.NET" Version="2024.0.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.0" /> <PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.0" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1027" /> <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1028" />
<PackageReference Include="UAParser" Version="3.1.47" /> <PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" /> <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup> </ItemGroup>
@ -53,8 +53,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' "> <ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="8.0.0" /> <PackageReference Include="AspNet.Security.OAuth.Gitee" Version="8.1.0" />
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="8.0.0" /> <PackageReference Include="AspNet.Security.OAuth.Weixin" Version="8.1.0" />
<PackageReference Include="Lazy.Captcha.Core" Version="2.0.7" /> <PackageReference Include="Lazy.Captcha.Core" Version="2.0.7" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.6" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.6" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="8.0.6" /> <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="8.0.6" />

View File

@ -163,7 +163,11 @@ public class SysDatabaseService : IDynamicApiController, ITransient
public void DeleteColumn(DeleteDbColumnInput input) public void DeleteColumn(DeleteDbColumnInput input)
{ {
var db = _db.AsTenant().GetConnectionScope(input.ConfigId); var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
db.DbMaintenance.DropColumn(input.TableName, input.DbColumnName); // 当只有1列时直接删除表
if (db.DbMaintenance.GetColumnInfosByTableName(input.TableName, false).Count == 1)
db.DbMaintenance.DropTable(input.TableName);
else
db.DbMaintenance.DropColumn(input.TableName, input.DbColumnName);
} }
/// <summary> /// <summary>

View File

@ -4,8 +4,6 @@
// //
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
namespace Admin.NET.Plugin.ApprovalFlow; namespace Admin.NET.Plugin.ApprovalFlow;
/// <summary> /// <summary>
@ -19,35 +17,34 @@ public class ApprovalFlowRecord : EntityBaseData
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 255)] [SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 255)]
public string? FormName { get; set; } public string? FormName { get; set; }
/// <summary> /// <summary>
/// 表单状态 /// 表单状态
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态", Length = 32)] [SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态", Length = 32)]
public string? FormStatus { get; set; } public string? FormStatus { get; set; }
/// <summary> /// <summary>
/// 表单触发 /// 表单触发
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormJson", ColumnDescription = "表单触发", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormJson", ColumnDescription = "表单触发", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormJson { get; set; } public string? FormJson { get; set; }
/// <summary> /// <summary>
/// 表单结果 /// 表单结果
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormResult { get; set; } public string? FormResult { get; set; }
/// <summary> /// <summary>
/// 流程结构 /// 流程结构
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FlowJson", ColumnDescription = "流程结构", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FlowJson", ColumnDescription = "流程结构", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FlowJson { get; set; } public string? FlowJson { get; set; }
/// <summary> /// <summary>
/// 流程结果 /// 流程结果
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FlowResult", ColumnDescription = "流程结果", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FlowResult", ColumnDescription = "流程结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FlowResult { get; set; } public string? FlowResult { get; set; }
}
}

View File

@ -4,8 +4,6 @@
// //
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
namespace Admin.NET.Plugin.ApprovalFlow; namespace Admin.NET.Plugin.ApprovalFlow;
/// <summary> /// <summary>
@ -19,47 +17,46 @@ public class ApprovalForm : EntityBaseData
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Code", ColumnDescription = "编号", Length = 32)] [SugarColumn(ColumnName = "Code", ColumnDescription = "编号", Length = 32)]
public string? Code { get; set; } public string? Code { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Name", ColumnDescription = "名称", Length = 32)] [SugarColumn(ColumnName = "Name", ColumnDescription = "名称", Length = 32)]
public string? Name { get; set; } public string? Name { get; set; }
/// <summary> /// <summary>
/// 表单名称 /// 表单名称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 32)] [SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 32)]
public string? FormName { get; set; } public string? FormName { get; set; }
/// <summary> /// <summary>
/// 表单属性 /// 表单属性
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormType", ColumnDescription = "表单属性", Length = 32)] [SugarColumn(ColumnName = "FormType", ColumnDescription = "表单属性", Length = 32)]
public string? FormType { get; set; } public string? FormType { get; set; }
/// <summary> /// <summary>
/// 表单状态 /// 表单状态
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态")] [SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态")]
public int? FormStatus { get; set; } public int? FormStatus { get; set; }
/// <summary> /// <summary>
/// 表单结果 /// 表单结果
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormResult { get; set; } public string? FormResult { get; set; }
/// <summary> /// <summary>
/// 状态 /// 状态
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Status", ColumnDescription = "状态")] [SugarColumn(ColumnName = "Status", ColumnDescription = "状态")]
public int? Status { get; set; } public int? Status { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Remark", ColumnDescription = "备注", Length = 255)] [SugarColumn(ColumnName = "Remark", ColumnDescription = "备注", Length = 255)]
public string? Remark { get; set; } public string? Remark { get; set; }
}
}

View File

@ -4,8 +4,6 @@
// //
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
namespace Admin.NET.Plugin.ApprovalFlow; namespace Admin.NET.Plugin.ApprovalFlow;
/// <summary> /// <summary>
@ -19,41 +17,40 @@ public class ApprovalFormRecord : EntityBaseData
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FlowId", ColumnDescription = "流程Id")] [SugarColumn(ColumnName = "FlowId", ColumnDescription = "流程Id")]
public long? FlowId { get; set; } public long? FlowId { get; set; }
/// <summary> /// <summary>
/// 表单名称 /// 表单名称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 32)] [SugarColumn(ColumnName = "FormName", ColumnDescription = "表单名称", Length = 32)]
public string? FormName { get; set; } public string? FormName { get; set; }
/// <summary> /// <summary>
/// 表单类型 /// 表单类型
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormType", ColumnDescription = "表单类型", Length = 32)] [SugarColumn(ColumnName = "FormType", ColumnDescription = "表单类型", Length = 32)]
public string? FormType { get; set; } public string? FormType { get; set; }
/// <summary> /// <summary>
/// 表单状态 /// 表单状态
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态", Length = 11)] [SugarColumn(ColumnName = "FormStatus", ColumnDescription = "表单状态", Length = 11)]
public string? FormStatus { get; set; } public string? FormStatus { get; set; }
/// <summary> /// <summary>
/// 修改前 /// 修改前
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormBefore", ColumnDescription = "修改前", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormBefore", ColumnDescription = "修改前", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormBefore { get; set; } public string? FormBefore { get; set; }
/// <summary> /// <summary>
/// 修改后 /// 修改后
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormAfter", ColumnDescription = "修改后", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormAfter", ColumnDescription = "修改后", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormAfter { get; set; } public string? FormAfter { get; set; }
/// <summary> /// <summary>
/// 表单结果 /// 表单结果
/// </summary> /// </summary>
[SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)] [SugarColumn(ColumnName = "FormResult", ColumnDescription = "表单结果", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FormResult { get; set; } public string? FormResult { get; set; }
}
}

View File

@ -5,9 +5,6 @@
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using System.Text.Json; using System.Text.Json;
using Admin.NET.Plugin.ApprovalFlow.Const;
using Admin.NET.Plugin.ApprovalFlow.Entity;
using Microsoft.AspNetCore.Http;
namespace Admin.NET.Plugin.ApprovalFlow.Service; namespace Admin.NET.Plugin.ApprovalFlow.Service;
@ -128,23 +125,24 @@ public class ApprovalFlowService : IDynamicApiController, ITransient
[HttpGet] [HttpGet]
[ApiDescriptionSettings(Name = "FlowList")] [ApiDescriptionSettings(Name = "FlowList")]
[DisplayName("获取审批流结构")] [DisplayName("获取审批流结构")]
public async Task<dynamic> FlowList([FromQuery] string code) public async Task<dynamic> FlowList([FromQuery] string code)
{ {
var result = await _approvalFlowRep.AsQueryable().Where(u => u.Code == code).Select<ApprovalFlowOutput>().FirstAsync(); var result = await _approvalFlowRep.AsQueryable().Where(u => u.Code == code).Select<ApprovalFlowOutput>().FirstAsync();
var FlowJson = result.FlowJson != null ? JsonSerializer.Deserialize<ApprovalFlowItem>(result.FlowJson) : new ApprovalFlowItem(); var FlowJson = result.FlowJson != null ? JsonSerializer.Deserialize<ApprovalFlowItem>(result.FlowJson) : new ApprovalFlowItem();
var FormJson = result.FormJson != null ? JsonSerializer.Deserialize<ApprovalFormItem>(result.FormJson) : new ApprovalFormItem(); var FormJson = result.FormJson != null ? JsonSerializer.Deserialize<ApprovalFormItem>(result.FormJson) : new ApprovalFormItem();
return new { return new
{
FlowJson, FlowJson,
FormJson FormJson
}; };
} }
[HttpGet] [HttpGet]
[ApiDescriptionSettings(Name = "FormRoutes")] [ApiDescriptionSettings(Name = "FormRoutes")]
[DisplayName("获取审批流规则")] [DisplayName("获取审批流规则")]
public async Task<List<string>> FormRoutes() public async Task<List<string>> FormRoutes()
{ {
var results = await _approvalFlowRep.AsQueryable().Select<ApprovalFlowOutput>().ToListAsync(); var results = await _approvalFlowRep.AsQueryable().Select<ApprovalFlowOutput>().ToListAsync();
var list = new List<string>(); var list = new List<string>();
foreach (var item in results) foreach (var item in results)
{ {

View File

@ -72,7 +72,6 @@ public class ApprovalFlowEdgeItem
public class FlowProperties public class FlowProperties
{ {
} }
public class FlowTextItem public class FlowTextItem
@ -80,7 +79,7 @@ public class FlowTextItem
[JsonPropertyName("x")] [JsonPropertyName("x")]
public float X { get; set; } public float X { get; set; }
[JsonPropertyName("y")] [JsonPropertyName("y")]
public float Y { get; set; } public float Y { get; set; }
[JsonPropertyName("value")] [JsonPropertyName("value")]

View File

@ -1,4 +1,3 @@
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
namespace Admin.NET.Plugin.ApprovalFlow.Service; namespace Admin.NET.Plugin.ApprovalFlow.Service;

View File

@ -77,7 +77,7 @@ public class GoViewSysService : IDynamicApiController
[AllowAnonymous] [AllowAnonymous]
[ApiDescriptionSettings(Name = "GetOssInfo")] [ApiDescriptionSettings(Name = "GetOssInfo")]
[DisplayName("获取 OSS 上传接口")] [DisplayName("获取 OSS 上传接口")]
public static Task<GoViewOssUrlOutput> GetOssInfo() public Task<GoViewOssUrlOutput> GetOssInfo()
{ {
return Task.FromResult(new GoViewOssUrlOutput { BucketURL = "" }); return Task.FromResult(new GoViewOssUrlOutput { BucketURL = "" });
} }

View File

@ -24,8 +24,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Rezero.Api" Version="1.7.0" /> <PackageReference Include="Rezero.Api" Version="1.7.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" /> <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />

View File

@ -16,7 +16,7 @@
<el-button-group> <el-button-group>
<el-button icon="ele-Plus" type="primary" @click="openAddTable"> 增加表 </el-button> <el-button icon="ele-Plus" type="primary" @click="openAddTable"> 增加表 </el-button>
<el-button icon="ele-Edit" @click="openEditTable"> 编辑表 </el-button> <el-button icon="ele-Edit" @click="openEditTable"> 编辑表 </el-button>
<el-button icon="ele-Delete" type="danger" @click="delTable" disabled> 删除表 </el-button> <el-button icon="ele-Delete" type="danger" @click="delTable"> 删除表 </el-button>
<el-button icon="ele-View" @click="visualTable"> 可视化 </el-button> <el-button icon="ele-View" @click="visualTable"> 可视化 </el-button>
</el-button-group> </el-button-group>
<el-button-group style="padding-left: 10px"> <el-button-group style="padding-left: 10px">