zuohuaijun 3 лет назад
Родитель
Сommit
8ed67ffcd5
36 измененных файлов с 892 добавлено и 840 удалено
  1. 1 1
      Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
  2. 15 140
      Admin.NET/Admin.NET.Core/Admin.NET.Core.xml
  3. 10 73
      Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs
  4. 8 61
      Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs
  5. 1 1
      Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs
  6. 1 1
      Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs
  7. 1 6
      Admin.NET/Admin.NET.Core/Service/File/Dto/FileInput.cs
  8. 5 5
      Admin.NET/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs
  9. 5 5
      Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs
  10. 1 1
      Admin.NET/Admin.NET.Core/Service/User/Dto/UserInput.cs
  11. 25 16
      vue-next-admin/src/api-services/apis/sys-dict-data-api.ts
  12. 25 16
      vue-next-admin/src/api-services/apis/sys-dict-type-api.ts
  13. 4 4
      vue-next-admin/src/api-services/apis/sys-file-api.ts
  14. 9 9
      vue-next-admin/src/api-services/apis/sys-tenant-api.ts
  15. 49 5
      vue-next-admin/src/api-services/models/add-dict-data-input.ts
  16. 42 5
      vue-next-admin/src/api-services/models/add-dict-type-input.ts
  17. 8 7
      vue-next-admin/src/api-services/models/dict-data-input.ts
  18. 8 7
      vue-next-admin/src/api-services/models/dict-type-input.ts
  19. 3 3
      vue-next-admin/src/api-services/models/index.ts
  20. 3 3
      vue-next-admin/src/api-services/models/tenant-input.ts
  21. 45 7
      vue-next-admin/src/api-services/models/update-dict-data-input.ts
  22. 38 7
      vue-next-admin/src/api-services/models/update-dict-type-input.ts
  23. 1 1
      vue-next-admin/src/views/system/config/index.vue
  24. 0 129
      vue-next-admin/src/views/system/dic/component/addDic.vue
  25. 0 162
      vue-next-admin/src/views/system/dic/component/editDic.vue
  26. 0 159
      vue-next-admin/src/views/system/dic/index.vue
  27. 164 0
      vue-next-admin/src/views/system/dict/component/dictDataDialog.vue
  28. 130 0
      vue-next-admin/src/views/system/dict/component/editDictData.vue
  29. 121 0
      vue-next-admin/src/views/system/dict/component/editDictType.vue
  30. 165 0
      vue-next-admin/src/views/system/dict/index.vue
  31. 1 1
      vue-next-admin/src/views/system/file/index.vue
  32. 1 1
      vue-next-admin/src/views/system/menu/index.vue
  33. 1 1
      vue-next-admin/src/views/system/org/index.vue
  34. 1 1
      vue-next-admin/src/views/system/pos/index.vue
  35. 0 1
      vue-next-admin/src/views/system/role/index.vue
  36. 0 1
      vue-next-admin/src/views/system/tenant/index.vue

+ 1 - 1
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -31,7 +31,7 @@
     <PackageReference Include="Magicodes.IE.Excel" Version="2.6.8" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.6.8" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.10" />
-    <PackageReference Include="NEST" Version="7.17.4" />
+    <PackageReference Include="NEST" Version="7.17.5" />
     <PackageReference Include="NETCore.MailKit" Version="2.1.0" />
     <PackageReference Include="NewLife.Redis" Version="5.0.2022.901" />
     <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.8" />

+ 15 - 140
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -4507,11 +4507,6 @@
             <param name="sysFile"></param>
             <returns></returns>
         </member>
-        <member name="T:Admin.NET.Core.Service.PageConfigInput">
-            <summary>
-            参数配置分页
-            </summary>
-        </member>
         <member name="P:Admin.NET.Core.Service.PageConfigInput.Name">
             <summary>
             名称
@@ -4824,14 +4819,9 @@
             <param name="pid"></param>
             <returns></returns>
         </member>
-        <member name="P:Admin.NET.Core.Service.GetDataDictDataInput.DictTypeId">
+        <member name="P:Admin.NET.Core.Service.DictDataInput.Status">
             <summary>
-            字典类型Id
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Core.Service.PageDictDataInput">
-            <summary>
-            字典值分页
+            状态
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.PageDictDataInput.DictTypeId">
@@ -4849,71 +4839,11 @@
             编码
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.DictTypeId">
-            <summary>
-            字典类型Id
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.Value">
-            <summary>
-            值
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.Code">
-            <summary>
-            编码
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.Order">
-            <summary>
-            排序
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.Remark">
-            <summary>
-            备注
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictDataInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.DictTypeId">
+        <member name="P:Admin.NET.Core.Service.GetDataDictDataInput.DictTypeId">
             <summary>
             字典类型Id
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.Value">
-            <summary>
-            值
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.Code">
-            <summary>
-            编码
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.Order">
-            <summary>
-            排序
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.Remark">
-            <summary>
-            备注
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictDataInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.ChageStatusDictDataInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
         <member name="P:Admin.NET.Core.Service.QueryDictDataInput.Code">
             <summary>
             编码
@@ -4924,9 +4854,9 @@
             状态
             </summary>
         </member>
-        <member name="T:Admin.NET.Core.Service.PageDictTypeInput">
+        <member name="P:Admin.NET.Core.Service.DictTypeInput.Status">
             <summary>
-            字典类型分页
+            状态
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.PageDictTypeInput.Name">
@@ -4939,66 +4869,11 @@
             编码
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.AddDictTypeInput.Name">
-            <summary>
-            名称
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictTypeInput.Code">
-            <summary>
-            编码
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictTypeInput.Order">
-            <summary>
-            排序
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictTypeInput.Remark">
-            <summary>
-            备注
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.AddDictTypeInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictTypeInput.Name">
-            <summary>
-            名称
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictTypeInput.Code">
-            <summary>
-            编码
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictTypeInput.Order">
-            <summary>
-            排序
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictTypeInput.Remark">
-            <summary>
-            备注
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Core.Service.UpdateDictTypeInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
         <member name="P:Admin.NET.Core.Service.GetDataDictTypeInput.Code">
             <summary>
             编码
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.ChangeStatusDictTypeInput.Status">
-            <summary>
-            状态
-            </summary>
-        </member>
         <member name="T:Admin.NET.Core.Service.SysDictDataService">
             <summary>
             系统字典值服务
@@ -5045,7 +4920,7 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysDictDataService.ChangeDictDataStatus(Admin.NET.Core.Service.ChageStatusDictDataInput)">
+        <member name="M:Admin.NET.Core.Service.SysDictDataService.ChangeDictDataStatus(Admin.NET.Core.Service.DictDataInput)">
             <summary>
             修改字典值状态
             </summary>
@@ -5125,7 +5000,7 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysDictTypeService.ChangeDictTypeStatus(Admin.NET.Core.Service.ChangeStatusDictTypeInput)">
+        <member name="M:Admin.NET.Core.Service.SysDictTypeService.ChangeDictTypeStatus(Admin.NET.Core.Service.DictTypeInput)">
             <summary>
             修改字典类型状态
             </summary>
@@ -5134,7 +5009,7 @@
         </member>
         <member name="P:Admin.NET.Core.Service.PageFileInput.FileName">
             <summary>
-            原始名称
+            文件名称
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.PageFileInput.StartTime">
@@ -6336,12 +6211,12 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="P:Admin.NET.Core.Service.TenantInput.Name">
+        <member name="P:Admin.NET.Core.Service.PageTenantInput.Name">
             <summary>
             名称
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.TenantInput.Phone">
+        <member name="P:Admin.NET.Core.Service.PageTenantInput.Phone">
             <summary>
             电话
             </summary>
@@ -6361,7 +6236,7 @@
             系统租户管理服务
             </summary>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.GetTenantPage(Admin.NET.Core.Service.TenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.GetTenantPage(Admin.NET.Core.Service.PageTenantInput)">
             <summary>
             获取租户分页列表
             </summary>
@@ -6395,7 +6270,7 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.GetTenant(Admin.NET.Core.Service.QueryeTenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.GetTenant(Admin.NET.Core.Service.TenantInput)">
             <summary>
             获取租户详情
             </summary>
@@ -6415,21 +6290,21 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuTree(Admin.NET.Core.Service.QueryeTenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuTree(Admin.NET.Core.Service.TenantInput)">
             <summary>
             获取租户管理员角色拥有菜单树
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuList(Admin.NET.Core.Service.QueryeTenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuList(Admin.NET.Core.Service.TenantInput)">
             <summary>
             获取租户管理员角色拥有菜单树
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.ResetTenantPwd(Admin.NET.Core.Service.QueryeTenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.ResetTenantPwd(Admin.NET.Core.Service.TenantInput)">
             <summary>
             重置租户管理员密码
             </summary>

+ 10 - 73
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs

@@ -1,21 +1,13 @@
 namespace Admin.NET.Core.Service;
 
 public class DictDataInput : BaseIdInput
-{
-}
-
-public class GetDataDictDataInput
 {
     /// <summary>
-    /// 字典类型Id
+    /// 状态
     /// </summary>
-    [Required(ErrorMessage = "字典类型Id不能为空"), DataValidation(ValidationTypes.Numeric)]
-    public long DictTypeId { get; set; }
+    public StatusEnum Status { get; set; }
 }
 
-/// <summary>
-/// 字典值分页
-/// </summary>
 public class PageDictDataInput : BasePageInput
 {
     /// <summary>
@@ -34,82 +26,27 @@ public class PageDictDataInput : BasePageInput
     public string Code { get; set; }
 }
 
-public class AddDictDataInput
+[NotTable]
+public class AddDictDataInput : SysDictData
 {
-    /// <summary>
-    /// 字典类型Id
-    /// </summary>
-    public long DictTypeId { get; set; }
-
-    /// <summary>
-    /// 值
-    /// </summary>
-    public string Value { get; set; }
-
-    /// <summary>
-    /// 编码
-    /// </summary>
-    public string Code { get; set; }
-
-    /// <summary>
-    /// 排序
-    /// </summary>
-    public int Order { get; set; }
-
-    /// <summary>
-    /// 备注
-    /// </summary>
-    public string Remark { get; set; }
-
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public int Status { get; set; }
 }
 
-public class UpdateDictDataInput : BaseIdInput
+[NotTable]
+public class UpdateDictDataInput : AddDictDataInput
 {
-    /// <summary>
-    /// 字典类型Id
-    /// </summary>
-    public long DictTypeId { get; set; }
-
-    /// <summary>
-    /// 值
-    /// </summary>
-    public string Value { get; set; }
-
-    /// <summary>
-    /// 编码
-    /// </summary>
-    public string Code { get; set; }
-
-    /// <summary>
-    /// 排序
-    /// </summary>
-    public int Order { get; set; }
-
-    /// <summary>
-    /// 备注
-    /// </summary>
-    public string Remark { get; set; }
-
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public int Status { get; set; }
 }
 
 public class DeleteDictDataInput : BaseIdInput
 {
 }
 
-public class ChageStatusDictDataInput : BaseIdInput
+public class GetDataDictDataInput
 {
     /// <summary>
-    /// 状态
+    /// 字典类型Id
     /// </summary>
-    public int Status { get; set; }
+    [Required(ErrorMessage = "字典类型Id不能为空"), DataValidation(ValidationTypes.Numeric)]
+    public long DictTypeId { get; set; }
 }
 
 public class QueryDictDataInput

+ 8 - 61
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs

@@ -2,11 +2,12 @@
 
 public class DictTypeInput : BaseIdInput
 {
+    /// <summary>
+    /// 状态
+    /// </summary>
+    public StatusEnum Status { get; set; }
 }
 
-/// <summary>
-/// 字典类型分页
-/// </summary>
 public class PageDictTypeInput : BasePageInput
 {
     /// <summary>
@@ -20,60 +21,14 @@ public class PageDictTypeInput : BasePageInput
     public string Code { get; set; }
 }
 
-public class AddDictTypeInput
+[NotTable]
+public class AddDictTypeInput : SysDictType
 {
-    /// <summary>
-    /// 名称
-    /// </summary>
-    public string Name { get; set; }
-
-    /// <summary>
-    /// 编码
-    /// </summary>
-    public string Code { get; set; }
-
-    /// <summary>
-    /// 排序
-    /// </summary>
-    public int Order { get; set; }
-
-    /// <summary>
-    /// 备注
-    /// </summary>
-    public string Remark { get; set; }
-
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public int Status { get; set; }
 }
 
-public class UpdateDictTypeInput : BaseIdInput
+[NotTable]
+public class UpdateDictTypeInput : AddDictTypeInput
 {
-    /// <summary>
-    /// 名称
-    /// </summary>
-    public string Name { get; set; }
-
-    /// <summary>
-    /// 编码
-    /// </summary>
-    public string Code { get; set; }
-
-    /// <summary>
-    /// 排序
-    /// </summary>
-    public int Order { get; set; }
-
-    /// <summary>
-    /// 备注
-    /// </summary>
-    public string Remark { get; set; }
-
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public int Status { get; set; }
 }
 
 public class DeleteDictTypeInput : BaseIdInput
@@ -87,12 +42,4 @@ public class GetDataDictTypeInput
     /// </summary>
     [Required(ErrorMessage = "字典类型编码不能为空")]
     public string Code { get; set; }
-}
-
-public class ChangeStatusDictTypeInput : BaseIdInput
-{
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public int Status { get; set; }
 }

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs

@@ -106,7 +106,7 @@ public class SysDictDataService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpPost("/sysDictData/changeStatus")]
-    public async Task ChangeDictDataStatus(ChageStatusDictDataInput input)
+    public async Task ChangeDictDataStatus(DictDataInput input)
     {
         var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
         if (dictData == null)

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -124,7 +124,7 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpPost("/sysDictType/changeStatus")]
-    public async Task ChangeDictTypeStatus(ChangeStatusDictTypeInput input)
+    public async Task ChangeDictTypeStatus(DictTypeInput input)
     {
         var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
         if (dictType == null)

+ 1 - 6
Admin.NET/Admin.NET.Core/Service/File/Dto/FileInput.cs

@@ -6,13 +6,8 @@ public class FileInput : BaseIdInput
 
 public class PageFileInput : BasePageInput
 {
-    ///// <summary>
-    ///// 仓储名称
-    ///// </summary>
-    //public OSSProvider BucketName { get; set; }
-
     /// <summary>
-    /// 原始名称
+    /// 文件名称
     /// </summary>
     public string FileName { get; set; }
 

+ 5 - 5
Admin.NET/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs

@@ -1,6 +1,10 @@
 namespace Admin.NET.Core.Service;
 
-public class TenantInput : BasePageInput
+public class TenantInput : BaseIdInput
+{
+}
+
+public class PageTenantInput : BasePageInput
 {
     /// <summary>
     /// 名称
@@ -36,8 +40,4 @@ public class UpdateTenantInput : AddTenantInput
 
 public class DeleteTenantInput : BaseIdInput
 {
-}
-
-public class QueryeTenantInput : BaseIdInput
-{
 }

+ 5 - 5
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -46,7 +46,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/page")]
-    public async Task<dynamic> GetTenantPage([FromQuery] TenantInput input)
+    public async Task<dynamic> GetTenantPage([FromQuery] PageTenantInput input)
     {
         return await _tenantRep.Context.Queryable<SysTenant>()
             .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
@@ -200,7 +200,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/detail")]
-    public async Task<SysTenant> GetTenant([FromQuery] QueryeTenantInput input)
+    public async Task<SysTenant> GetTenant([FromQuery] TenantInput input)
     {
         return await _tenantRep.GetFirstAsync(u => u.Id == input.Id);
     }
@@ -236,7 +236,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/ownMenu")]
-    public async Task<List<SysMenu>> OwnMenuTree([FromQuery] QueryeTenantInput input)
+    public async Task<List<SysMenu>> OwnMenuTree([FromQuery] TenantInput input)
     {
         var tenantAdminUser = await GetTenantAdminUser(input.Id);
         if (tenantAdminUser == null) return new List<SysMenu>();
@@ -250,7 +250,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/ownMenuList")]
-    public async Task<List<long>> OwnMenuList([FromQuery] QueryeTenantInput input)
+    public async Task<List<long>> OwnMenuList([FromQuery] TenantInput input)
     {
         var tenantAdminUser = await GetTenantAdminUser(input.Id);
         if (tenantAdminUser == null) return new List<long>();
@@ -264,7 +264,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpPost("/sysTenant/resetPwd")]
-    public async Task ResetTenantPwd(QueryeTenantInput input)
+    public async Task ResetTenantPwd(TenantInput input)
     {
         var tenantAdminUser = await GetTenantAdminUser(input.Id);
         tenantAdminUser.Password = MD5Encryption.Encrypt(CommonConst.SysPassword);

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/User/Dto/UserInput.cs

@@ -5,7 +5,7 @@ public class UserInput : BaseIdInput
     /// <summary>
     /// 状态
     /// </summary>
-    public virtual StatusEnum Status { get; set; }
+    public StatusEnum Status { get; set; }
 }
 
 public class PageUserInput : BasePageInput

+ 25 - 16
vue-next-admin/src/api-services/apis/sys-dict-data-api.ts

@@ -21,8 +21,9 @@ import { AdminResultListSysDictData } from '../models';
 import { AdminResultObject } from '../models';
 import { AdminResultSqlSugarPagedListSysDictData } from '../models';
 import { AdminResultSysDictData } from '../models';
-import { ChageStatusDictDataInput } from '../models';
 import { DeleteDictDataInput } from '../models';
+import { DictDataInput } from '../models';
+import { StatusEnum } from '../models';
 import { UpdateDictDataInput } from '../models';
 /**
  * SysDictDataApi - axios parameter creator
@@ -74,11 +75,11 @@ export const SysDictDataApiAxiosParamCreator = function (configuration?: Configu
         /**
          * 
          * @summary 修改字典值状态
-         * @param {ChageStatusDictDataInput} [body] 
+         * @param {DictDataInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysDictDataChangeStatusPost: async (body?: ChageStatusDictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysDictDataChangeStatusPost: async (body?: DictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/sysDictData/changeStatus`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -157,10 +158,11 @@ export const SysDictDataApiAxiosParamCreator = function (configuration?: Configu
          * 
          * @summary 获取字典值详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysDictDataDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysDictDataDetailGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             // verify required parameter 'id' is not null or undefined
             if (id === null || id === undefined) {
                 throw new RequiredError('id','Required parameter id was null or undefined when calling sysDictDataDetailGet.');
@@ -178,6 +180,10 @@ export const SysDictDataApiAxiosParamCreator = function (configuration?: Configu
 
             // authentication Bearer required
 
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
             if (id !== undefined) {
                 localVarQueryParameter['Id'] = id;
             }
@@ -478,11 +484,11 @@ export const SysDictDataApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 修改字典值状态
-         * @param {ChageStatusDictDataInput} [body] 
+         * @param {DictDataInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictDataChangeStatusPost(body?: ChageStatusDictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+        async sysDictDataChangeStatusPost(body?: DictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
             const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).sysDictDataChangeStatusPost(body, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -507,11 +513,12 @@ export const SysDictDataApiFp = function(configuration?: Configuration) {
          * 
          * @summary 获取字典值详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictDataDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictData>>> {
-            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).sysDictDataDetailGet(id, options);
+        async sysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).sysDictDataDetailGet(id, status, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -617,11 +624,11 @@ export const SysDictDataApiFactory = function (configuration?: Configuration, ba
         /**
          * 
          * @summary 修改字典值状态
-         * @param {ChageStatusDictDataInput} [body] 
+         * @param {DictDataInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictDataChangeStatusPost(body?: ChageStatusDictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+        async sysDictDataChangeStatusPost(body?: DictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysDictDataApiFp(configuration).sysDictDataChangeStatusPost(body, options).then((request) => request(axios, basePath));
         },
         /**
@@ -638,11 +645,12 @@ export const SysDictDataApiFactory = function (configuration?: Configuration, ba
          * 
          * @summary 获取字典值详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictDataDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictData>> {
-            return SysDictDataApiFp(configuration).sysDictDataDetailGet(id, options).then((request) => request(axios, basePath));
+        async sysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictData>> {
+            return SysDictDataApiFp(configuration).sysDictDataDetailGet(id, status, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -726,12 +734,12 @@ export class SysDictDataApi extends BaseAPI {
     /**
      * 
      * @summary 修改字典值状态
-     * @param {ChageStatusDictDataInput} [body] 
+     * @param {DictDataInput} [body] 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysDictDataApi
      */
-    public async sysDictDataChangeStatusPost(body?: ChageStatusDictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+    public async sysDictDataChangeStatusPost(body?: DictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysDictDataApiFp(this.configuration).sysDictDataChangeStatusPost(body, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -749,12 +757,13 @@ export class SysDictDataApi extends BaseAPI {
      * 
      * @summary 获取字典值详情
      * @param {number} id 主键Id
+     * @param {StatusEnum} [status] 状态
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysDictDataApi
      */
-    public async sysDictDataDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictData>> {
-        return SysDictDataApiFp(this.configuration).sysDictDataDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    public async sysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictData>> {
+        return SysDictDataApiFp(this.configuration).sysDictDataDetailGet(id, status, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 

+ 25 - 16
vue-next-admin/src/api-services/apis/sys-dict-type-api.ts

@@ -21,8 +21,9 @@ import { AdminResultListSysDictData } from '../models';
 import { AdminResultListSysDictType } from '../models';
 import { AdminResultSqlSugarPagedListSysDictType } from '../models';
 import { AdminResultSysDictType } from '../models';
-import { ChangeStatusDictTypeInput } from '../models';
 import { DeleteDictTypeInput } from '../models';
+import { DictTypeInput } from '../models';
+import { StatusEnum } from '../models';
 import { UpdateDictTypeInput } from '../models';
 /**
  * SysDictTypeApi - axios parameter creator
@@ -74,11 +75,11 @@ export const SysDictTypeApiAxiosParamCreator = function (configuration?: Configu
         /**
          * 
          * @summary 修改字典类型状态
-         * @param {ChangeStatusDictTypeInput} [body] 
+         * @param {DictTypeInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysDictTypeChangeStatusPost: async (body?: ChangeStatusDictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysDictTypeChangeStatusPost: async (body?: DictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/sysDictType/changeStatus`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -202,10 +203,11 @@ export const SysDictTypeApiAxiosParamCreator = function (configuration?: Configu
          * 
          * @summary 获取字典类型详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysDictTypeDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysDictTypeDetailGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             // verify required parameter 'id' is not null or undefined
             if (id === null || id === undefined) {
                 throw new RequiredError('id','Required parameter id was null or undefined when calling sysDictTypeDetailGet.');
@@ -223,6 +225,10 @@ export const SysDictTypeApiAxiosParamCreator = function (configuration?: Configu
 
             // authentication Bearer required
 
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
             if (id !== undefined) {
                 localVarQueryParameter['Id'] = id;
             }
@@ -417,11 +423,11 @@ export const SysDictTypeApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 修改字典类型状态
-         * @param {ChangeStatusDictTypeInput} [body] 
+         * @param {DictTypeInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictTypeChangeStatusPost(body?: ChangeStatusDictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+        async sysDictTypeChangeStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
             const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).sysDictTypeChangeStatusPost(body, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -460,11 +466,12 @@ export const SysDictTypeApiFp = function(configuration?: Configuration) {
          * 
          * @summary 获取字典类型详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictTypeDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictType>>> {
-            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).sysDictTypeDetailGet(id, options);
+        async sysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).sysDictTypeDetailGet(id, status, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -539,11 +546,11 @@ export const SysDictTypeApiFactory = function (configuration?: Configuration, ba
         /**
          * 
          * @summary 修改字典类型状态
-         * @param {ChangeStatusDictTypeInput} [body] 
+         * @param {DictTypeInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictTypeChangeStatusPost(body?: ChangeStatusDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+        async sysDictTypeChangeStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysDictTypeApiFp(configuration).sysDictTypeChangeStatusPost(body, options).then((request) => request(axios, basePath));
         },
         /**
@@ -570,11 +577,12 @@ export const SysDictTypeApiFactory = function (configuration?: Configuration, ba
          * 
          * @summary 获取字典类型详情
          * @param {number} id 主键Id
+         * @param {StatusEnum} [status] 状态
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysDictTypeDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictType>> {
-            return SysDictTypeApiFp(configuration).sysDictTypeDetailGet(id, options).then((request) => request(axios, basePath));
+        async sysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictType>> {
+            return SysDictTypeApiFp(configuration).sysDictTypeDetailGet(id, status, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -635,12 +643,12 @@ export class SysDictTypeApi extends BaseAPI {
     /**
      * 
      * @summary 修改字典类型状态
-     * @param {ChangeStatusDictTypeInput} [body] 
+     * @param {DictTypeInput} [body] 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysDictTypeApi
      */
-    public async sysDictTypeChangeStatusPost(body?: ChangeStatusDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+    public async sysDictTypeChangeStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysDictTypeApiFp(this.configuration).sysDictTypeChangeStatusPost(body, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -669,12 +677,13 @@ export class SysDictTypeApi extends BaseAPI {
      * 
      * @summary 获取字典类型详情
      * @param {number} id 主键Id
+     * @param {StatusEnum} [status] 状态
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysDictTypeApi
      */
-    public async sysDictTypeDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictType>> {
-        return SysDictTypeApiFp(this.configuration).sysDictTypeDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    public async sysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).sysDictTypeDetailGet(id, status, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 

+ 4 - 4
vue-next-admin/src/api-services/apis/sys-file-api.ts

@@ -150,7 +150,7 @@ export const SysFileApiAxiosParamCreator = function (configuration?: Configurati
         /**
          * 
          * @summary 获取文件分页列表
-         * @param {string} [fileName] 原始名称
+         * @param {string} [fileName] 文件名称
          * @param {Date} [startTime] 开始时间
          * @param {Date} [endTime] 结束时间
          * @param {number} [page] 当前页码
@@ -371,7 +371,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 获取文件分页列表
-         * @param {string} [fileName] 原始名称
+         * @param {string} [fileName] 文件名称
          * @param {Date} [startTime] 开始时间
          * @param {Date} [endTime] 结束时间
          * @param {number} [page] 当前页码
@@ -458,7 +458,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
         /**
          * 
          * @summary 获取文件分页列表
-         * @param {string} [fileName] 原始名称
+         * @param {string} [fileName] 文件名称
          * @param {Date} [startTime] 开始时间
          * @param {Date} [endTime] 结束时间
          * @param {number} [page] 当前页码
@@ -537,7 +537,7 @@ export class SysFileApi extends BaseAPI {
     /**
      * 
      * @summary 获取文件分页列表
-     * @param {string} [fileName] 原始名称
+     * @param {string} [fileName] 文件名称
      * @param {Date} [startTime] 开始时间
      * @param {Date} [endTime] 结束时间
      * @param {number} [page] 当前页码

+ 9 - 9
vue-next-admin/src/api-services/apis/sys-tenant-api.ts

@@ -22,8 +22,8 @@ import { AdminResultListSysMenu } from '../models';
 import { AdminResultObject } from '../models';
 import { AdminResultSysTenant } from '../models';
 import { DeleteTenantInput } from '../models';
-import { QueryeTenantInput } from '../models';
 import { RoleMenuInput } from '../models';
+import { TenantInput } from '../models';
 import { UpdateTenantInput } from '../models';
 /**
  * SysTenantApi - axios parameter creator
@@ -399,11 +399,11 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {QueryeTenantInput} [body] 
+         * @param {TenantInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysTenantResetPwdPost: async (body?: QueryeTenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysTenantResetPwdPost: async (body?: TenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/sysTenant/resetPwd`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -607,11 +607,11 @@ export const SysTenantApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {QueryeTenantInput} [body] 
+         * @param {TenantInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantResetPwdPost(body?: QueryeTenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+        async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
             const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).sysTenantResetPwdPost(body, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -729,11 +729,11 @@ export const SysTenantApiFactory = function (configuration?: Configuration, base
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {QueryeTenantInput} [body] 
+         * @param {TenantInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantResetPwdPost(body?: QueryeTenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+        async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysTenantApiFp(configuration).sysTenantResetPwdPost(body, options).then((request) => request(axios, basePath));
         },
         /**
@@ -852,12 +852,12 @@ export class SysTenantApi extends BaseAPI {
     /**
      * 
      * @summary 重置租户管理员密码
-     * @param {QueryeTenantInput} [body] 
+     * @param {TenantInput} [body] 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysTenantApi
      */
-    public async sysTenantResetPwdPost(body?: QueryeTenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+    public async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysTenantApiFp(this.configuration).sysTenantResetPwdPost(body, options).then((request) => request(this.axios, this.basePath));
     }
     /**

+ 49 - 5
vue-next-admin/src/api-services/models/add-dict-data-input.ts

@@ -11,30 +11,74 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
+import { SysDictType } from './sys-dict-type';
 /**
  * 
  * @export
  * @interface AddDictDataInput
  */
 export interface AddDictDataInput {
+    /**
+     * 雪花Id
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    id?: number;
+    /**
+     * 创建时间
+     * @type {Date}
+     * @memberof AddDictDataInput
+     */
+    createTime?: Date | null;
+    /**
+     * 更新时间
+     * @type {Date}
+     * @memberof AddDictDataInput
+     */
+    updateTime?: Date | null;
+    /**
+     * 创建者Id
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    createUserId?: number | null;
+    /**
+     * 修改者Id
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    updateUserId?: number | null;
+    /**
+     * 软删除
+     * @type {boolean}
+     * @memberof AddDictDataInput
+     */
+    isDelete?: boolean;
     /**
      * 字典类型Id
      * @type {number}
      * @memberof AddDictDataInput
      */
     dictTypeId?: number;
+    /**
+     * 
+     * @type {SysDictType}
+     * @memberof AddDictDataInput
+     */
+    dictType?: SysDictType;
     /**
      * 值
      * @type {string}
      * @memberof AddDictDataInput
      */
-    value?: string | null;
+    value: string;
     /**
      * 编码
      * @type {string}
      * @memberof AddDictDataInput
      */
-    code?: string | null;
+    code: string;
     /**
      * 排序
      * @type {number}
@@ -48,9 +92,9 @@ export interface AddDictDataInput {
      */
     remark?: string | null;
     /**
-     * 状态
-     * @type {number}
+     * 
+     * @type {StatusEnum}
      * @memberof AddDictDataInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 42 - 5
vue-next-admin/src/api-services/models/add-dict-type-input.ts

@@ -11,24 +11,61 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
 /**
  * 
  * @export
  * @interface AddDictTypeInput
  */
 export interface AddDictTypeInput {
+    /**
+     * 雪花Id
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    id?: number;
+    /**
+     * 创建时间
+     * @type {Date}
+     * @memberof AddDictTypeInput
+     */
+    createTime?: Date | null;
+    /**
+     * 更新时间
+     * @type {Date}
+     * @memberof AddDictTypeInput
+     */
+    updateTime?: Date | null;
+    /**
+     * 创建者Id
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    createUserId?: number | null;
+    /**
+     * 修改者Id
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    updateUserId?: number | null;
+    /**
+     * 软删除
+     * @type {boolean}
+     * @memberof AddDictTypeInput
+     */
+    isDelete?: boolean;
     /**
      * 名称
      * @type {string}
      * @memberof AddDictTypeInput
      */
-    name?: string | null;
+    name: string;
     /**
      * 编码
      * @type {string}
      * @memberof AddDictTypeInput
      */
-    code?: string | null;
+    code: string;
     /**
      * 排序
      * @type {number}
@@ -42,9 +79,9 @@ export interface AddDictTypeInput {
      */
     remark?: string | null;
     /**
-     * 状态
-     * @type {number}
+     * 
+     * @type {StatusEnum}
      * @memberof AddDictTypeInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 8 - 7
vue-next-admin/src/api-services/models/chage-status-dict-data-input.ts → vue-next-admin/src/api-services/models/dict-data-input.ts

@@ -11,22 +11,23 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
 /**
  * 
  * @export
- * @interface ChageStatusDictDataInput
+ * @interface DictDataInput
  */
-export interface ChageStatusDictDataInput {
+export interface DictDataInput {
     /**
      * 主键Id
      * @type {number}
-     * @memberof ChageStatusDictDataInput
+     * @memberof DictDataInput
      */
     id: number;
     /**
-     * 状态
-     * @type {number}
-     * @memberof ChageStatusDictDataInput
+     * 
+     * @type {StatusEnum}
+     * @memberof DictDataInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 8 - 7
vue-next-admin/src/api-services/models/change-status-dict-type-input.ts → vue-next-admin/src/api-services/models/dict-type-input.ts

@@ -11,22 +11,23 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
 /**
  * 
  * @export
- * @interface ChangeStatusDictTypeInput
+ * @interface DictTypeInput
  */
-export interface ChangeStatusDictTypeInput {
+export interface DictTypeInput {
     /**
      * 主键Id
      * @type {number}
-     * @memberof ChangeStatusDictTypeInput
+     * @memberof DictTypeInput
      */
     id: number;
     /**
-     * 状态
-     * @type {number}
-     * @memberof ChangeStatusDictTypeInput
+     * 
+     * @type {StatusEnum}
+     * @memberof DictTypeInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 3 - 3
vue-next-admin/src/api-services/models/index.ts

@@ -62,9 +62,7 @@ export * from './admin-result-sys-tenant';
 export * from './admin-result-sys-user';
 export * from './admin-result-we-chat-pay';
 export * from './admin-result-we-chat-pay-output';
-export * from './chage-status-dict-data-input';
 export * from './change-pwd-input';
-export * from './change-status-dict-type-input';
 export * from './change-status-notice-input';
 export * from './code-gen-config';
 export * from './create-entity-input';
@@ -91,6 +89,8 @@ export * from './delete-table-input';
 export * from './delete-tenant-input';
 export * from './delete-timer-input';
 export * from './delete-user-input';
+export * from './dict-data-input';
+export * from './dict-type-input';
 export * from './edit-column-input';
 export * from './edit-table-input';
 export * from './file-input';
@@ -113,7 +113,6 @@ export * from './notice-status-enum';
 export * from './notice-type-enum';
 export * from './notice-user-read';
 export * from './notice-user-status-enum';
-export * from './querye-tenant-input';
 export * from './request-type-enum';
 export * from './reset-pwd-user-input';
 export * from './role-input';
@@ -163,6 +162,7 @@ export * from './sys-tenant';
 export * from './sys-user';
 export * from './table-column-ouput';
 export * from './table-output';
+export * from './tenant-input';
 export * from './time-span';
 export * from './timer-output';
 export * from './update-code-gen-input';

+ 3 - 3
vue-next-admin/src/api-services/models/querye-tenant-input.ts → vue-next-admin/src/api-services/models/tenant-input.ts

@@ -14,13 +14,13 @@
 /**
  * 
  * @export
- * @interface QueryeTenantInput
+ * @interface TenantInput
  */
-export interface QueryeTenantInput {
+export interface TenantInput {
     /**
      * 主键Id
      * @type {number}
-     * @memberof QueryeTenantInput
+     * @memberof TenantInput
      */
     id: number;
 }

+ 45 - 7
vue-next-admin/src/api-services/models/update-dict-data-input.ts

@@ -11,6 +11,8 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
+import { SysDictType } from './sys-dict-type';
 /**
  * 
  * @export
@@ -18,29 +20,65 @@
  */
 export interface UpdateDictDataInput {
     /**
-     * 主键Id
+     * 雪花Id
      * @type {number}
      * @memberof UpdateDictDataInput
      */
-    id: number;
+    id?: number;
+    /**
+     * 创建时间
+     * @type {Date}
+     * @memberof UpdateDictDataInput
+     */
+    createTime?: Date | null;
+    /**
+     * 更新时间
+     * @type {Date}
+     * @memberof UpdateDictDataInput
+     */
+    updateTime?: Date | null;
+    /**
+     * 创建者Id
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    createUserId?: number | null;
+    /**
+     * 修改者Id
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    updateUserId?: number | null;
+    /**
+     * 软删除
+     * @type {boolean}
+     * @memberof UpdateDictDataInput
+     */
+    isDelete?: boolean;
     /**
      * 字典类型Id
      * @type {number}
      * @memberof UpdateDictDataInput
      */
     dictTypeId?: number;
+    /**
+     * 
+     * @type {SysDictType}
+     * @memberof UpdateDictDataInput
+     */
+    dictType?: SysDictType;
     /**
      * 值
      * @type {string}
      * @memberof UpdateDictDataInput
      */
-    value?: string | null;
+    value: string;
     /**
      * 编码
      * @type {string}
      * @memberof UpdateDictDataInput
      */
-    code?: string | null;
+    code: string;
     /**
      * 排序
      * @type {number}
@@ -54,9 +92,9 @@ export interface UpdateDictDataInput {
      */
     remark?: string | null;
     /**
-     * 状态
-     * @type {number}
+     * 
+     * @type {StatusEnum}
      * @memberof UpdateDictDataInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 38 - 7
vue-next-admin/src/api-services/models/update-dict-type-input.ts

@@ -11,6 +11,7 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
+import { StatusEnum } from './status-enum';
 /**
  * 
  * @export
@@ -18,23 +19,53 @@
  */
 export interface UpdateDictTypeInput {
     /**
-     * 主键Id
+     * 雪花Id
      * @type {number}
      * @memberof UpdateDictTypeInput
      */
-    id: number;
+    id?: number;
+    /**
+     * 创建时间
+     * @type {Date}
+     * @memberof UpdateDictTypeInput
+     */
+    createTime?: Date | null;
+    /**
+     * 更新时间
+     * @type {Date}
+     * @memberof UpdateDictTypeInput
+     */
+    updateTime?: Date | null;
+    /**
+     * 创建者Id
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    createUserId?: number | null;
+    /**
+     * 修改者Id
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    updateUserId?: number | null;
+    /**
+     * 软删除
+     * @type {boolean}
+     * @memberof UpdateDictTypeInput
+     */
+    isDelete?: boolean;
     /**
      * 名称
      * @type {string}
      * @memberof UpdateDictTypeInput
      */
-    name?: string | null;
+    name: string;
     /**
      * 编码
      * @type {string}
      * @memberof UpdateDictTypeInput
      */
-    code?: string | null;
+    code: string;
     /**
      * 排序
      * @type {number}
@@ -48,9 +79,9 @@ export interface UpdateDictTypeInput {
      */
     remark?: string | null;
     /**
-     * 状态
-     * @type {number}
+     * 
+     * @type {StatusEnum}
      * @memberof UpdateDictTypeInput
      */
-    status?: number;
+    status?: StatusEnum;
 }

+ 1 - 1
vue-next-admin/src/views/system/config/index.vue

@@ -35,7 +35,7 @@
 				<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditConfig(scope.row)"> 编辑 </el-button>
-						<el-button icon="ele-Delete" size="small" text type="primary" @click="delConfig(scope.row)"> 删除 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delConfig(scope.row)"> 删除 </el-button>
 					</template>
 				</el-table-column>
 			</el-table>

+ 0 - 129
vue-next-admin/src/views/system/dic/component/addDic.vue

@@ -1,129 +0,0 @@
-<template>
-	<div class="system-add-dic-container">
-		<el-dialog title="新增字典" v-model="isShowDialog" width="769px">
-			<el-alert title="半成品,交互过于复杂,请自行扩展!" type="warning" :closable="false" class="mb20"> </el-alert>
-			<el-form :model="ruleForm" size="default" label-width="90px">
-				<el-row :gutter="35">
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="字典名称">
-							<el-input v-model="ruleForm.dicName" placeholder="请输入字典名称" clearable></el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="字段名">
-							<el-input v-model="ruleForm.fieldName" placeholder="请输入字段名,拼接 ruleForm.list" clearable></el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="字典状态">
-							<el-switch v-model="ruleForm.status" inline-prompt active-text="启" inactive-text="禁"></el-switch>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-row :gutter="35" v-for="(v, k) in ruleForm.list" :key="k">
-							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-								<el-form-item :prop="`list[${k}].label`">
-									<template #label>
-										<el-button type="primary" circle size="small" @click="onAddRow" v-if="k === 0">
-											<el-icon>
-												<ele-Plus />
-											</el-icon>
-										</el-button>
-										<el-button type="danger" circle size="small" @click="onDelRow(k)" v-else>
-											<el-icon>
-												<ele-Delete />
-											</el-icon>
-										</el-button>
-										<span class="ml10">字段</span>
-									</template>
-									<el-input v-model="v.label" style="width: 100%" placeholder="请输入字段名"> </el-input>
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-								<el-form-item label="属性" :prop="`list[${k}].value`">
-									<el-input v-model="v.value" style="width: 100%" placeholder="请输入属性值"> </el-input>
-								</el-form-item>
-							</el-col>
-						</el-row>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="字典描述">
-							<el-input v-model="ruleForm.describe" type="textarea" placeholder="请输入字典描述" maxlength="150"></el-input>
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmit" size="default">新 增</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent } from 'vue';
-
-export default defineComponent({
-	name: 'systemAddDic',
-	setup() {
-		const state = reactive({
-			isShowDialog: false,
-			ruleForm: {
-				dicName: '', // 字典名称
-				fieldName: '', // 字段名
-				status: true, // 字典状态
-				list: [
-					// 子集字段 + 属性值
-					{
-						id: Math.random(),
-						label: '',
-						value: '',
-					},
-				],
-				describe: '', // 字典描述
-				fieldNameList: [], // 字段名: [{子集字段 + 属性值}]
-			},
-		});
-		// 打开弹窗
-		const openDialog = () => {
-			state.isShowDialog = true;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			closeDialog();
-		};
-		// 新增行
-		const onAddRow = () => {
-			state.ruleForm.list.push({
-				id: Math.random(),
-				label: '',
-				value: '',
-			});
-		};
-		// 删除行
-		const onDelRow = (k: number) => {
-			state.ruleForm.list.splice(k, 1);
-		};
-		return {
-			openDialog,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			onAddRow,
-			onDelRow,
-			...toRefs(state),
-		};
-	},
-});
-</script>

+ 0 - 162
vue-next-admin/src/views/system/dic/component/editDic.vue

@@ -1,162 +0,0 @@
-<template>
-	<div class="system-edit-dic-container">
-		<el-dialog title="修改字典" v-model="isShowDialog" width="769px">
-			<el-alert title="半成品,交互过于复杂,请自行扩展!" type="warning" :closable="false" class="mb20"> </el-alert>
-			<el-form :model="ruleForm" size="default" label-width="90px">
-				<el-row :gutter="35">
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="字典名称">
-							<el-input v-model="ruleForm.dicName" placeholder="请输入字典名称" clearable></el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="字段名">
-							<el-input v-model="ruleForm.fieldName" placeholder="请输入字段名,拼接 ruleForm.list" clearable></el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="字典状态">
-							<el-switch v-model="ruleForm.status" inline-prompt active-text="启" inactive-text="禁"></el-switch>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-row :gutter="35" v-for="(v, k) in ruleForm.list" :key="k">
-							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-								<el-form-item :prop="`list[${k}].label`">
-									<template #label>
-										<el-button type="primary" circle size="small" @click="onAddRow" v-if="k === 0">
-											<el-icon>
-												<ele-Plus />
-											</el-icon>
-										</el-button>
-										<el-button type="danger" circle size="small" @click="onDelRow(k)" v-else>
-											<el-icon>
-												<ele-Delete />
-											</el-icon>
-										</el-button>
-										<span class="ml10">字段</span>
-									</template>
-									<el-input v-model="v.label" style="width: 100%" placeholder="请输入字段名"> </el-input>
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-								<el-form-item label="属性" :prop="`list[${k}].value`">
-									<el-input v-model="v.value" style="width: 100%" placeholder="请输入属性值"> </el-input>
-								</el-form-item>
-							</el-col>
-						</el-row>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="字典描述">
-							<el-input v-model="ruleForm.describe" type="textarea" placeholder="请输入字典描述" maxlength="150"></el-input>
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmit" size="default">修 改</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent } from 'vue';
-
-// 定义接口来定义对象的类型
-interface RuleFormList {
-	id: number;
-	label: string;
-	value: string;
-}
-interface RuleFormState {
-	dicName: string;
-	fieldName: string;
-	status: boolean;
-	list: RuleFormList[];
-	describe: string;
-	fieldNameList: Array<any>;
-}
-interface DicState {
-	isShowDialog: boolean;
-	ruleForm: RuleFormState;
-}
-
-export default defineComponent({
-	name: 'systemEditDic',
-	setup() {
-		const state = reactive<DicState>({
-			isShowDialog: false,
-			ruleForm: {
-				dicName: '', // 字典名称
-				fieldName: '', // 字段名
-				status: true, // 字典状态
-				list: [
-					// 子集字段 + 属性值
-					{
-						id: Math.random(),
-						label: '',
-						value: '',
-					},
-				],
-				describe: '', // 字典描述
-				fieldNameList: [], // 字段名: [{子集字段 + 属性值}]
-			},
-		});
-		// 打开弹窗
-		const openDialog = (row: RuleFormState) => {
-			if (row.fieldName === 'SYS_UERINFO') {
-				row.list = [
-					{ id: Math.random(), label: 'sex', value: '1' },
-					{ id: Math.random(), label: 'sex', value: '0' },
-				];
-			} else {
-				row.list = [
-					{ id: Math.random(), label: 'role', value: 'admin' },
-					{ id: Math.random(), label: 'role', value: 'common' },
-					{ id: Math.random(), label: 'roleName', value: '超级管理员' },
-					{ id: Math.random(), label: 'roleName', value: '普通用户' },
-				];
-			}
-			state.ruleForm = row;
-			state.isShowDialog = true;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			closeDialog();
-		};
-		// 新增行
-		const onAddRow = () => {
-			state.ruleForm.list.push({
-				id: Math.random(),
-				label: '',
-				value: '',
-			});
-		};
-		// 删除行
-		const onDelRow = (k: number) => {
-			state.ruleForm.list.splice(k, 1);
-		};
-		return {
-			openDialog,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			onAddRow,
-			onDelRow,
-			...toRefs(state),
-		};
-	},
-});
-</script>

+ 0 - 159
vue-next-admin/src/views/system/dic/index.vue

@@ -1,159 +0,0 @@
-<template>
-	<div class="system-dic-container">
-		<el-card shadow="hover">
-			<div class="system-user-search mb15">
-				<el-input size="default" placeholder="请输入字典名称" style="max-width: 180px"> </el-input>
-				<el-button size="default" type="primary" class="ml10">
-					<el-icon>
-						<ele-Search />
-					</el-icon>
-					查询
-				</el-button>
-				<el-button size="default" type="success" class="ml10" @click="onOpenAddDic">
-					<el-icon>
-						<ele-FolderAdd />
-					</el-icon>
-					新增字典
-				</el-button>
-			</div>
-			<el-table :data="tableData.data" style="width: 100%">
-				<el-table-column type="index" label="序号" width="50" />
-				<el-table-column prop="dicName" label="字典名称" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="fieldName" label="字段名" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="status" label="字典状态" show-overflow-tooltip>
-					<template #default="scope">
-						<el-tag type="success" v-if="scope.row.status">启用</el-tag>
-						<el-tag type="info" v-else>禁用</el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="describe" label="字典描述" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column>
-				<el-table-column label="操作" width="100">
-					<template #default="scope">
-						<el-button size="small" text type="primary" @click="onOpenEditDic(scope.row)">修改</el-button>
-						<el-button size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<el-pagination
-				@size-change="onHandleSizeChange"
-				@current-change="onHandleCurrentChange"
-				class="mt15"
-				:pager-count="5"
-				:page-sizes="[10, 20, 30]"
-				v-model:current-page="tableData.param.pageNum"
-				background
-				v-model:page-size="tableData.param.pageSize"
-				layout="total, sizes, prev, pager, next, jumper"
-				:total="tableData.total"
-			>
-			</el-pagination>
-		</el-card>
-		<AddDic ref="addDicRef" />
-		<EditDic ref="editDicRef" />
-	</div>
-</template>
-
-<script lang="ts">
-import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
-import { ElMessageBox, ElMessage } from 'element-plus';
-import AddDic from '/@/views/system/dic/component/addDic.vue';
-import EditDic from '/@/views/system/dic/component/editDic.vue';
-
-// 定义接口来定义对象的类型
-interface TableDataRow {
-	dicName: string;
-	fieldName: string;
-	describe: string;
-	status: boolean;
-	createTime: string;
-}
-interface TableDataState {
-	tableData: {
-		data: Array<TableDataRow>;
-		total: number;
-		loading: boolean;
-		param: {
-			pageNum: number;
-			pageSize: number;
-		};
-	};
-}
-
-export default defineComponent({
-	name: 'systemDic',
-	components: { AddDic, EditDic },
-	setup() {
-		const addDicRef = ref();
-		const editDicRef = ref();
-		const state = reactive<TableDataState>({
-			tableData: {
-				data: [],
-				total: 0,
-				loading: false,
-				param: {
-					pageNum: 1,
-					pageSize: 10,
-				},
-			},
-		});
-		// 初始化表格数据
-		const initTableData = () => {
-			const data: Array<TableDataRow> = [];
-			for (let i = 0; i < 2; i++) {
-				data.push({
-					dicName: i === 0 ? '角色标识' : '用户性别',
-					fieldName: i === 0 ? 'SYS_ROLE' : 'SYS_UERINFO',
-					describe: i === 0 ? '这是角色字典' : '这是用户性别字典',
-					status: true,
-					createTime: new Date().toLocaleString(),
-				});
-			}
-			state.tableData.data = data;
-			state.tableData.total = state.tableData.data.length;
-		};
-		// 打开新增字典弹窗
-		const onOpenAddDic = () => {
-			addDicRef.value.openDialog();
-		};
-		// 打开修改字典弹窗
-		const onOpenEditDic = (row: TableDataRow) => {
-			editDicRef.value.openDialog(row);
-		};
-		// 删除字典
-		const onRowDel = (row: TableDataRow) => {
-			ElMessageBox.confirm(`此操作将永久删除字典名称:“${row.dicName}”,是否继续?`, '提示', {
-				confirmButtonText: '确认',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(() => {
-					ElMessage.success('删除成功');
-				})
-				.catch(() => {});
-		};
-		// 分页改变
-		const onHandleSizeChange = (val: number) => {
-			state.tableData.param.pageSize = val;
-		};
-		// 分页改变
-		const onHandleCurrentChange = (val: number) => {
-			state.tableData.param.pageNum = val;
-		};
-		// 页面加载时
-		onMounted(() => {
-			initTableData();
-		});
-		return {
-			addDicRef,
-			editDicRef,
-			onOpenAddDic,
-			onOpenEditDic,
-			onRowDel,
-			onHandleSizeChange,
-			onHandleCurrentChange,
-			...toRefs(state),
-		};
-	},
-});
-</script>

+ 164 - 0
vue-next-admin/src/views/system/dict/component/dictDataDialog.vue

@@ -0,0 +1,164 @@
+<template>
+	<div class="sys-dictData-container">
+		<el-dialog title="字典值列表" v-model="isShowDialog">
+			<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+				<el-form :model="queryParams" ref="queryForm" :inline="true">
+					<el-form-item label="字典值" prop="value">
+						<el-input placeholder="字典值" clearable @keyup.enter="handleQuery" v-model="queryParams.value" />
+					</el-form-item>
+					<el-form-item label="字典编码" prop="code">
+						<el-input placeholder="字典编码" clearable @keyup.enter="handleQuery" v-model="queryParams.code" />
+					</el-form-item>
+					<el-form-item>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 重置 </el-button>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery"> 查询 </el-button>
+						<el-button icon="ele-Plus" @click="openAddDictData"> 新增 </el-button>
+					</el-form-item>
+				</el-form>
+			</el-card>
+
+			<el-card shadow="hover" style="margin-top: 8px">
+				<el-table :data="dictDataData" style="width: 100%" v-loading="loading" border>
+					<el-table-column type="index" label="序号" width="55" align="center" />
+					<el-table-column prop="value" label="字典值" show-overflow-tooltip></el-table-column>
+					<el-table-column prop="code" label="编码" show-overflow-tooltip></el-table-column>
+					<el-table-column prop="status" label="状态" width="70" align="center" show-overflow-tooltip>
+						<template #default="scope">
+							<el-tag type="success" v-if="scope.row.status === 1">启用</el-tag>
+							<el-tag type="danger" v-else>禁用</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="order" label="排序" width="70" align="center" show-overflow-tooltip> </el-table-column>
+					<el-table-column prop="createTime" label="修改时间" align="center" show-overflow-tooltip></el-table-column>
+					<el-table-column prop="remark" label="备注" show-overflow-tooltip></el-table-column>
+					<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
+						<template #default="scope">
+							<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditDictData(scope.row)"> 编辑 </el-button>
+							<el-button icon="ele-Delete" size="small" text type="danger" @click="delDictData(scope.row)"> 删除 </el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+				<el-pagination
+					v-model:currentPage="tableParams.page"
+					v-model:page-size="tableParams.pageSize"
+					:total="tableParams.total"
+					:page-sizes="[10, 20, 50, 100]"
+					small
+					background
+					@size-change="handleSizeChange"
+					@current-change="handleCurrentChange"
+					layout="total, sizes, prev, pager, next, jumper"
+				/>
+			</el-card>
+		</el-dialog>
+		<EditDictData ref="editDictDataRef" :title="editDictDataTitle" :dictTypeId="dictTypeId" />
+	</div>
+</template>
+
+<script lang="ts">
+import { toRefs, reactive, onMounted, ref, defineComponent, onUnmounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditDictData from '/@/views/system/dict/component/editDictData.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictDataApi } from '/@/api-services';
+
+export default defineComponent({
+	name: 'sysDictData',
+	components: { EditDictData },
+	setup() {
+		const { proxy } = getCurrentInstance() as any;
+		const editDictDataRef = ref();
+		const state = reactive({
+			isShowDialog: false,
+			loading: true,
+			dictDataData: [] as any,
+			queryParams: {
+				value: undefined,
+				code: undefined,
+			},
+			tableParams: {
+				page: 1,
+				pageSize: 10,
+				total: 0 as any,
+			},
+			editDictDataTitle: '',
+			dictTypeId: 0, // 字典类型Id
+		});
+		onMounted(async () => {
+			proxy.mittBus.on('submitRefreshDictData', () => {
+				handleQuery();
+			});
+		});
+		onUnmounted(() => {
+			proxy.mittBus.off('submitRefreshDictData');
+		});
+		// 打开弹窗
+		const openDialog = async (row: any) => {
+			state.dictTypeId = row.id;
+			handleQuery();
+			state.isShowDialog = true;
+		};
+		// 查询操作
+		const handleQuery = async () => {
+			state.loading = true;
+			var res = await getAPI(SysDictDataApi).sysDictDataPageGet(state.dictTypeId, state.queryParams.value, state.queryParams.code, state.tableParams.page, state.tableParams.pageSize);
+			state.dictDataData = res.data.result?.items;
+			state.tableParams.total = res.data.result?.total;
+			state.loading = false;
+		};
+		// 重置操作
+		const resetQuery = () => {
+			state.queryParams.value = undefined;
+			state.queryParams.code = undefined;
+			handleQuery();
+		};
+		// 打开新增页面
+		const openAddDictData = () => {
+			state.editDictDataTitle = '添加字典值';
+			editDictDataRef.value.openDialog({});
+		};
+		// 打开编辑页面
+		const openEditDictData = (row: any) => {
+			state.editDictDataTitle = '编辑字典值';
+			editDictDataRef.value.openDialog(row);
+		};
+		// 删除
+		const delDictData = (row: any) => {
+			ElMessageBox.confirm(`确定删除字典值:【${row.name}】?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(async () => {
+					await getAPI(SysDictDataApi).sysDictDataDeletePost({ id: row.id });
+					handleQuery();
+					ElMessage.success('删除成功');
+				})
+				.catch(() => {});
+		};
+		// 改变页面容量
+		const handleSizeChange = (val: number) => {
+			state.tableParams.pageSize = val;
+			handleQuery();
+		};
+		// 改变页码序号
+		const handleCurrentChange = (val: number) => {
+			state.tableParams.page = val;
+			handleQuery();
+		};
+		return {
+			openDialog,
+			handleQuery,
+			resetQuery,
+			editDictDataRef,
+			openAddDictData,
+			openEditDictData,
+			delDictData,
+			handleSizeChange,
+			handleCurrentChange,
+			...toRefs(state),
+		};
+	},
+});
+</script>

+ 130 - 0
vue-next-admin/src/views/system/dict/component/editDictData.vue

@@ -0,0 +1,130 @@
+<template>
+	<div class="sys-dictData-container">
+		<el-dialog v-model="isShowDialog" width="600px">
+			<template #header>
+				<div style="font-size: large" v-drag="['.el-dialog', '.el-dialog__header']">
+					{{ title }}
+				</div>
+			</template>
+			<el-form :model="ruleForm" :rules="ruleRules" ref="ruleFormRef" size="default" label-width="80px">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="字典值" prop="value">
+							<el-input v-model="ruleForm.value" placeholder="字典值" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="编码" prop="code">
+							<el-input v-model="ruleForm.code" placeholder="编码" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="状态">
+							<el-radio-group v-model="ruleForm.status">
+								<el-radio :label="1">启用</el-radio>
+								<el-radio :label="2">禁用</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="排序">
+							<el-input-number v-model="ruleForm.order" placeholder="排序" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="备注">
+							<el-input v-model="ruleForm.remark" placeholder="请输入备注内容" clearable type="textarea"> </el-input>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel" size="default">取 消</el-button>
+					<el-button type="primary" @click="submit" size="default">确 定</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts">
+import { reactive, toRefs, defineComponent, getCurrentInstance, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictDataApi } from '/@/api-services/api';
+
+export default defineComponent({
+	name: 'sysEditDictData',
+	components: {},
+	props: {
+		// 弹窗标题
+		title: {
+			type: String,
+			default: '',
+		},
+		// 字典类型Id
+		dictTypeId: {
+			type: Number,
+			default: 0,
+		},
+	},
+	setup(props) {
+		const { proxy } = getCurrentInstance() as any;
+		const ruleFormRef = ref();
+		const state = reactive({
+			isShowDialog: false,
+			ruleForm: {
+				dictTypeId: 0, // 字典类型Id
+				id: 0, // Id
+				value: '', // 字典值
+				code: '', // 编码
+				status: 1, // 状态
+				order: 100, // 排序
+				remark: '', // 备注
+			},
+			ruleRules: {
+				value: [{ required: true, message: '字典值不能为空', trigger: 'blur' }],
+				code: [{ required: true, message: '编码不能为空', trigger: 'blur' }],
+			},
+		});
+		// 打开弹窗
+		const openDialog = (row: any) => {
+			state.ruleForm = row;
+			if (JSON.stringify(row) == '{}') {
+				state.ruleForm.dictTypeId = props.dictTypeId;
+			}
+			state.isShowDialog = true;
+		};
+		// 关闭弹窗
+		const closeDialog = () => {
+			proxy.mittBus.emit('submitRefreshDictData');
+			state.isShowDialog = false;
+		};
+		// 取消
+		const cancel = () => {
+			state.isShowDialog = false;
+		};
+		// 提交
+		const submit = () => {
+			ruleFormRef.value.validate(async (valid: boolean) => {
+				if (!valid) return;
+				if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+					await getAPI(SysDictDataApi).sysDictDataUpdatePost(state.ruleForm);
+				} else {
+					await getAPI(SysDictDataApi).sysDictDataAddPost(state.ruleForm);
+				}
+				closeDialog();
+			});
+		};
+		return {
+			ruleFormRef,
+			openDialog,
+			closeDialog,
+			cancel,
+			submit,
+			...toRefs(state),
+		};
+	},
+});
+</script>

+ 121 - 0
vue-next-admin/src/views/system/dict/component/editDictType.vue

@@ -0,0 +1,121 @@
+<template>
+	<div class="sys-dictType-container">
+		<el-dialog v-model="isShowDialog" width="600px">
+			<template #header>
+				<div style="font-size: large" v-drag="['.el-dialog', '.el-dialog__header']">
+					{{ title }}
+				</div>
+			</template>
+			<el-form :model="ruleForm" :rules="ruleRules" ref="ruleFormRef" size="default" label-width="80px">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="字典名称" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="字典名称" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="字典编码" prop="code">
+							<el-input v-model="ruleForm.code" placeholder="字典编码" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="状态">
+							<el-radio-group v-model="ruleForm.status">
+								<el-radio :label="1">启用</el-radio>
+								<el-radio :label="2">禁用</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="排序">
+							<el-input-number v-model="ruleForm.order" placeholder="排序" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="备注">
+							<el-input v-model="ruleForm.remark" placeholder="请输入备注内容" clearable type="textarea"> </el-input>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel" size="default">取 消</el-button>
+					<el-button type="primary" @click="submit" size="default">确 定</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts">
+import { reactive, toRefs, defineComponent, getCurrentInstance, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictTypeApi } from '/@/api-services/api';
+
+export default defineComponent({
+	name: 'sysEditDictType',
+	components: {},
+	props: {
+		// 弹窗标题
+		title: {
+			type: String,
+			default: '',
+		},
+	},
+	setup() {
+		const { proxy } = getCurrentInstance() as any;
+		const ruleFormRef = ref();
+		const state = reactive({
+			isShowDialog: false,
+			ruleForm: {
+				id: 0, // Id
+				name: '', // 字典名称
+				code: '', // 字典编码
+				status: 1, // 状态
+				order: 100, // 排序
+				remark: '', // 备注
+			},
+			ruleRules: {
+				name: [{ required: true, message: '字典名称不能为空', trigger: 'blur' }],
+				code: [{ required: true, message: '字典编码不能为空', trigger: 'blur' }],
+			},
+		});
+		// 打开弹窗
+		const openDialog = (row: any) => {
+			state.ruleForm = row;
+			state.isShowDialog = true;
+		};
+		// 关闭弹窗
+		const closeDialog = () => {
+			proxy.mittBus.emit('submitRefresh');
+			state.isShowDialog = false;
+		};
+		// 取消
+		const cancel = () => {
+			state.isShowDialog = false;
+		};
+		// 提交
+		const submit = () => {
+			ruleFormRef.value.validate(async (valid: boolean) => {
+				if (!valid) return;
+				if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+					await getAPI(SysDictTypeApi).sysDictTypeUpdatePost(state.ruleForm);
+				} else {
+					await getAPI(SysDictTypeApi).sysDictTypeAddPost(state.ruleForm);
+				}
+				closeDialog();
+			});
+		};
+		return {
+			ruleFormRef,
+			openDialog,
+			closeDialog,
+			cancel,
+			submit,
+			...toRefs(state),
+		};
+	},
+});
+</script>

+ 165 - 0
vue-next-admin/src/views/system/dict/index.vue

@@ -0,0 +1,165 @@
+<template>
+	<div class="sys-dict-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="字典名称" prop="name">
+					<el-input placeholder="字典名称" clearable @keyup.enter="handleQuery" v-model="queryParams.name" />
+				</el-form-item>
+				<el-form-item label="字典编码" prop="code">
+					<el-input placeholder="字典编码" clearable @keyup.enter="handleQuery" v-model="queryParams.code" />
+				</el-form-item>
+				<el-form-item>
+					<el-button icon="ele-Refresh" @click="resetQuery"> 重置 </el-button>
+					<el-button type="primary" icon="ele-Search" @click="handleQuery"> 查询 </el-button>
+					<el-button icon="ele-Plus" @click="openAddDictType"> 新增 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card shadow="hover" style="margin-top: 8px">
+			<el-table :data="dictTypeData" style="width: 100%" v-loading="loading" border>
+				<el-table-column type="index" label="序号" width="55" align="center" />
+				<el-table-column prop="name" label="字典名称" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="code" label="字典编码" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="status" label="状态" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">启用</el-tag>
+						<el-tag type="danger" v-else>禁用</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="order" label="排序" width="70" align="center" show-overflow-tooltip> </el-table-column>
+				<el-table-column prop="createTime" label="修改时间" align="center" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="remark" label="备注" show-overflow-tooltip></el-table-column>
+				<el-table-column label="操作" width="210" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditDictType(scope.row)"> 编辑 </el-button>
+						<el-button icon="ele-Memo" size="small" text type="primary" @click="openDictDataDialog(scope.row)"> 字典 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delDictType(scope.row)"> 删除 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+		<EditDictTpye ref="editDictTypeRef" :title="editDictTypeTitle" />
+		<DictDataDialog ref="dictDataDialogRef" />
+	</div>
+</template>
+
+<script lang="ts">
+import { toRefs, reactive, onMounted, ref, defineComponent, onUnmounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditDictTpye from '/@/views/system/dict/component/editDictType.vue';
+import DictDataDialog from '/@/views/system/dict/component/dictDataDialog.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictTypeApi } from '/@/api-services';
+
+export default defineComponent({
+	name: 'sysDict',
+	components: { EditDictTpye, DictDataDialog },
+	setup() {
+		const { proxy } = getCurrentInstance() as any;
+		const editDictTypeRef = ref();
+		const dictDataDialogRef = ref();
+		const state = reactive({
+			loading: true,
+			dictTypeData: [] as any,
+			queryParams: {
+				name: undefined,
+				code: undefined,
+			},
+			tableParams: {
+				page: 1,
+				pageSize: 10,
+				total: 0 as any,
+			},
+			editDictTypeTitle: '',
+		});
+		onMounted(async () => {
+			handleQuery();
+
+			proxy.mittBus.on('submitRefresh', () => {
+				handleQuery();
+			});
+		});
+		onUnmounted(() => {
+			proxy.mittBus.off('submitRefresh');
+		});
+		// 查询操作
+		const handleQuery = async () => {
+			state.loading = true;
+			var res = await getAPI(SysDictTypeApi).sysDictTypePageGet(state.queryParams.name, state.queryParams.code, state.tableParams.page, state.tableParams.pageSize);
+			state.dictTypeData = res.data.result?.items;
+			state.tableParams.total = res.data.result?.total;
+			state.loading = false;
+		};
+		// 重置操作
+		const resetQuery = () => {
+			state.queryParams.name = undefined;
+			state.queryParams.code = undefined;
+			handleQuery();
+		};
+		// 打开新增页面
+		const openAddDictType = () => {
+			state.editDictTypeTitle = '添加字典';
+			editDictTypeRef.value.openDialog({});
+		};
+		// 打开编辑页面
+		const openEditDictType = (row: any) => {
+			state.editDictTypeTitle = '编辑字典';
+			editDictTypeRef.value.openDialog(row);
+		};
+		// 打开字典值页面
+		const openDictDataDialog = (row: any) => {
+			dictDataDialogRef.value.openDialog(row);
+		};
+		// 删除
+		const delDictType = (row: any) => {
+			ElMessageBox.confirm(`确定删除字典:【${row.name}】?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(async () => {
+					await getAPI(SysDictTypeApi).sysDictTypeDeletePost({ id: row.id });
+					handleQuery();
+					ElMessage.success('删除成功');
+				})
+				.catch(() => {});
+		};
+		// 改变页面容量
+		const handleSizeChange = (val: number) => {
+			state.tableParams.pageSize = val;
+			handleQuery();
+		};
+		// 改变页码序号
+		const handleCurrentChange = (val: number) => {
+			state.tableParams.page = val;
+			handleQuery();
+		};
+		return {
+			handleQuery,
+			resetQuery,
+			editDictTypeRef,
+			dictDataDialogRef,
+			openAddDictType,
+			openEditDictType,
+			openDictDataDialog,
+			delDictType,
+			handleSizeChange,
+			handleCurrentChange,
+			...toRefs(state),
+		};
+	},
+});
+</script>

+ 1 - 1
vue-next-admin/src/views/system/file/index.vue

@@ -50,7 +50,7 @@
 				<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-button icon="ele-Download" size="small" text type="primary" @click="downloadFile(scope.row)"> 下载 </el-button>
-						<el-button icon="ele-Delete" size="small" text type="primary" @click="delFile(scope.row)"> 删除 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delFile(scope.row)"> 删除 </el-button>
 					</template>
 				</el-table-column>
 			</el-table>

+ 1 - 1
vue-next-admin/src/views/system/menu/index.vue

@@ -47,7 +47,7 @@
 				<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditMenu(scope.row)"> 编辑 </el-button>
-						<el-button icon="ele-Delete" size="small" text type="primary" @click="delMenu(scope.row)"> 删除 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delMenu(scope.row)"> 删除 </el-button>
 					</template>
 				</el-table-column>
 			</el-table>

+ 1 - 1
vue-next-admin/src/views/system/org/index.vue

@@ -38,7 +38,7 @@
 						<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
 							<template #default="scope">
 								<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditOrg(scope.row)">编辑 </el-button>
-								<el-button icon="ele-Delete" size="small" text type="primary" @click="delOrg(scope.row)">删除 </el-button>
+								<el-button icon="ele-Delete" size="small" text type="danger" @click="delOrg(scope.row)">删除 </el-button>
 							</template>
 						</el-table-column>
 					</el-table>

+ 1 - 1
vue-next-admin/src/views/system/pos/index.vue

@@ -33,7 +33,7 @@
 				<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
 					<template #default="scope">
 						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditPos(scope.row)"> 编辑 </el-button>
-						<el-button icon="ele-Delete" size="small" text type="primary" @click="delPos(scope.row)"> 删除 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delPos(scope.row)"> 删除 </el-button>
 					</template>
 				</el-table-column>
 			</el-table>

+ 0 - 1
vue-next-admin/src/views/system/role/index.vue

@@ -70,7 +70,6 @@
 				layout="total, sizes, prev, pager, next, jumper"
 			/>
 		</el-card>
-
 		<EditRole ref="editRoleRef" :title="editRoleTitle" />
 		<GrantData ref="grantDataRef" />
 	</div>

+ 0 - 1
vue-next-admin/src/views/system/tenant/index.vue

@@ -61,7 +61,6 @@
 				layout="total, sizes, prev, pager, next, jumper"
 			/>
 		</el-card>
-
 		<EditTenant ref="editTenantRef" :title="editTenantTitle" />
 		<GrantMenu ref="grantMenuRef" />
 	</div>