Explorar o código

调整租户相关接口

zuohuaijun %!s(int64=3) %!d(string=hai) anos
pai
achega
09973a1a8a
Modificáronse 27 ficheiros con 658 adicións e 1143 borrados
  1. 3 3
      Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
  2. 8 8
      Admin.NET/Admin.NET.Core/Admin.NET.Core.xml
  3. 9 9
      Admin.NET/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs
  4. 8 5
      Admin.NET/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs
  5. 3 3
      Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs
  6. 1 1
      Web/src/api-services/api.ts
  7. 268 0
      Web/src/api-services/apis/sys-job-api.ts
  8. 23 63
      Web/src/api-services/apis/sys-tenant-api.ts
  9. 0 478
      Web/src/api-services/apis/sys-timer-api.ts
  10. 0 137
      Web/src/api-services/models/add-timer-input.ts
  11. 57 0
      Web/src/api-services/models/admin-result-list-scheduler-model.ts
  12. 11 11
      Web/src/api-services/models/admin-result-schedule-result.ts
  13. 9 11
      Web/src/api-services/models/index.ts
  14. 74 0
      Web/src/api-services/models/job-detail.ts
  15. 9 6
      Web/src/api-services/models/job-input.ts
  16. 4 3
      Web/src/api-services/models/schedule-result.ts
  17. 11 10
      Web/src/api-services/models/scheduler-model.ts
  18. 0 23
      Web/src/api-services/models/spare-time-execute-types.ts
  19. 0 63
      Web/src/api-services/models/sql-sugar-paged-list-timer-output.ts
  20. 1 1
      Web/src/api-services/models/table-output.ts
  21. 0 6
      Web/src/api-services/models/tenant-input.ts
  22. 5 5
      Web/src/api-services/models/tenant-user-input.ts
  23. 0 156
      Web/src/api-services/models/timer-output.ts
  24. 12 3
      Web/src/api-services/models/trigger-status.ts
  25. 141 0
      Web/src/api-services/models/trigger.ts
  26. 0 137
      Web/src/api-services/models/update-timer-input.ts
  27. 1 1
      Web/src/views/system/tenant/component/grantMenu.vue

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

@@ -14,9 +14,9 @@
   <ItemGroup>
     <PackageReference Include="AngleSharp" Version="0.17.1" />
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.1.2" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.1.2" />
-    <PackageReference Include="Furion.Pure" Version="4.8.1.2" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.1.3" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.1.3" />
+    <PackageReference Include="Furion.Pure" Version="4.8.1.3" />
     <PackageReference Include="Lazy.Captcha.Core" Version="1.1.6" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.7.0" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.0" />

+ 8 - 8
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -6245,11 +6245,6 @@
             状态
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.TenantInput.UserId">
-            <summary>
-            用户Id
-            </summary>
-        </member>
         <member name="P:Admin.NET.Core.Service.PageTenantInput.Name">
             <summary>
             名称
@@ -6270,6 +6265,11 @@
             管理员名称
             </summary>
         </member>
+        <member name="P:Admin.NET.Core.Service.TenantUserInput.UserId">
+            <summary>
+            用户Id
+            </summary>
+        </member>
         <member name="P:Admin.NET.Core.Service.TenantOutput.Name">
             <summary>
             租户名称
@@ -6349,21 +6349,21 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuTree(Admin.NET.Core.Service.TenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuTree(Admin.NET.Core.Service.TenantUserInput)">
             <summary>
             获取租户管理员角色拥有菜单树
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuList(Admin.NET.Core.Service.TenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.OwnMenuList(Admin.NET.Core.Service.TenantUserInput)">
             <summary>
             获取租户管理员角色拥有菜单树
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTenantService.ResetTenantPwd(Admin.NET.Core.Service.TenantInput)">
+        <member name="M:Admin.NET.Core.Service.SysTenantService.ResetTenantPwd(Admin.NET.Core.Service.TenantUserInput)">
             <summary>
             重置租户管理员密码
             </summary>

+ 9 - 9
Admin.NET/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs

@@ -15,9 +15,9 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
         return new[]
         {
             // 数据面板【admin/252885263003721】
-            new SysRoleMenu{ Id=252885263003000, RoleId=252885263003721, MenuId=252885263005100 },
-            new SysRoleMenu{ Id=252885263003001, RoleId=252885263003721, MenuId=252885263005110 },
-            new SysRoleMenu{ Id=252885263003002, RoleId=252885263003721, MenuId=252885263005111 },
+            new SysRoleMenu{ Id=252885263003000, RoleId=252885263003721, MenuId=252885263002100 },
+            new SysRoleMenu{ Id=252885263003001, RoleId=252885263003721, MenuId=252885263002110 },
+            new SysRoleMenu{ Id=252885263003002, RoleId=252885263003721, MenuId=252885263002111 },
 
             // 系统管理
             new SysRoleMenu{ Id=252885263003100, RoleId=252885263003721, MenuId=252885263005200 },
@@ -119,9 +119,9 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=252885263003502, RoleId=252885263003721, MenuId=252885263005711 },
 
             // 数据面板【user1/252885263003722】
-            new SysRoleMenu{ Id=252885263004000, RoleId=252885263003722, MenuId=252885263005100 },
-            new SysRoleMenu{ Id=252885263004001, RoleId=252885263003722, MenuId=252885263005110 },
-            new SysRoleMenu{ Id=252885263004002, RoleId=252885263003722, MenuId=252885263005111 },
+            new SysRoleMenu{ Id=252885263004000, RoleId=252885263003722, MenuId=252885263002100 },
+            new SysRoleMenu{ Id=252885263004001, RoleId=252885263003722, MenuId=252885263002110 },
+            new SysRoleMenu{ Id=252885263004002, RoleId=252885263003722, MenuId=252885263002111 },
             // 系统管理
             new SysRoleMenu{ Id=252885263004100, RoleId=252885263003722, MenuId=252885263005200 },
             // 个人中心
@@ -131,9 +131,9 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=252885263004154, RoleId=252885263003722, MenuId=252885263005263 },
 
             // 数据面板【user3/252885263003724】
-            new SysRoleMenu{ Id=252885263005000, RoleId=252885263003724, MenuId=252885263005100 },
-            new SysRoleMenu{ Id=252885263005001, RoleId=252885263003724, MenuId=252885263005110 },
-            new SysRoleMenu{ Id=252885263005002, RoleId=252885263003724, MenuId=252885263005111 },
+            new SysRoleMenu{ Id=252885263005000, RoleId=252885263003724, MenuId=252885263002100 },
+            new SysRoleMenu{ Id=252885263005001, RoleId=252885263003724, MenuId=252885263002110 },
+            new SysRoleMenu{ Id=252885263005002, RoleId=252885263003724, MenuId=252885263002111 },
             // 系统管理
             new SysRoleMenu{ Id=252885263005100, RoleId=252885263003724, MenuId=252885263005200 },
             // 个人中心

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

@@ -6,11 +6,6 @@ public class TenantInput : BaseIdInput
     /// 状态
     /// </summary>
     public StatusEnum Status { get; set; }
-
-    /// <summary>
-    /// 用户Id
-    /// </summary>
-    public long UserId { get; set; }
 }
 
 public class PageTenantInput : BasePageInput
@@ -49,4 +44,12 @@ public class UpdateTenantInput : AddTenantInput
 
 public class DeleteTenantInput : BaseIdInput
 {
+}
+
+public class TenantUserInput
+{
+    /// <summary>
+    /// 用户Id
+    /// </summary>
+    public long UserId { get; set; }
 }

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

@@ -297,7 +297,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/ownMenuTree")]
-    public async Task<List<SysMenu>> OwnMenuTree([FromQuery] TenantInput input)
+    public async Task<List<SysMenu>> OwnMenuTree([FromQuery] TenantUserInput input)
     {
         var roleIds = await _sysUserRoleService.GetUserRoleIdList(input.UserId);
         return await _sysRoleMenuService.GetRoleMenuTree(new List<long> { roleIds[0] });
@@ -309,7 +309,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/sysTenant/ownMenuList")]
-    public async Task<List<long>> OwnMenuList([FromQuery] TenantInput input)
+    public async Task<List<long>> OwnMenuList([FromQuery] TenantUserInput input)
     {
         var roleIds = await _sysUserRoleService.GetUserRoleIdList(input.UserId);
         return await _sysRoleMenuService.GetRoleMenuList(new List<long> { roleIds[0] });
@@ -321,7 +321,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpPost("/sysTenant/resetPwd")]
-    public async Task ResetTenantPwd(TenantInput input)
+    public async Task ResetTenantPwd(TenantUserInput input)
     {
         var password = await _sysConfigService.GetConfigValue<string>(CommonConst.SysPassword);
         var encryptPassword = MD5Encryption.Encrypt(password);

+ 1 - 1
Web/src/api-services/api.ts

@@ -20,6 +20,7 @@ export * from './apis/sys-database-api';
 export * from './apis/sys-dict-data-api';
 export * from './apis/sys-dict-type-api';
 export * from './apis/sys-file-api';
+export * from './apis/sys-job-api';
 export * from './apis/sys-log-diff-api';
 export * from './apis/sys-log-ex-api';
 export * from './apis/sys-log-op-api';
@@ -34,7 +35,6 @@ export * from './apis/sys-region-api';
 export * from './apis/sys-role-api';
 export * from './apis/sys-server-api';
 export * from './apis/sys-tenant-api';
-export * from './apis/sys-timer-api';
 export * from './apis/sys-user-api';
 export * from './apis/we-chat-api';
 export * from './apis/we-chat-pay-api';

+ 268 - 0
Web/src/api-services/apis/sys-job-api.ts

@@ -0,0 +1,268 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET
+ * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: 515096995@qq.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListSchedulerModel } from '../models';
+import { AdminResultScheduleResult } from '../models';
+import { JobInput } from '../models';
+/**
+ * SysJobApi - axios parameter creator
+ * @export
+ */
+export const SysJobApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 增加作业任务
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        sysJobAddPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/sysJob/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 删除作业任务
+         * @param {JobInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        sysJobDeletePost: async (body?: JobInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/sysJob/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 获取所有作业任务列表
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        sysJobListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/sysJob/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysJobApi - functional programming interface
+ * @export
+ */
+export const SysJobApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 增加作业任务
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobAddPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultScheduleResult>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).sysJobAddPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 删除作业任务
+         * @param {JobInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobDeletePost(body?: JobInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultScheduleResult>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).sysJobDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 获取所有作业任务列表
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSchedulerModel>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).sysJobListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysJobApi - factory interface
+ * @export
+ */
+export const SysJobApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 增加作业任务
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobAddPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultScheduleResult>> {
+            return SysJobApiFp(configuration).sysJobAddPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 删除作业任务
+         * @param {JobInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobDeletePost(body?: JobInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultScheduleResult>> {
+            return SysJobApiFp(configuration).sysJobDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 获取所有作业任务列表
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async sysJobListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSchedulerModel>> {
+            return SysJobApiFp(configuration).sysJobListGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysJobApi - object-oriented interface
+ * @export
+ * @class SysJobApi
+ * @extends {BaseAPI}
+ */
+export class SysJobApi extends BaseAPI {
+    /**
+     * 
+     * @summary 增加作业任务
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async sysJobAddPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultScheduleResult>> {
+        return SysJobApiFp(this.configuration).sysJobAddPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 删除作业任务
+     * @param {JobInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async sysJobDeletePost(body?: JobInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultScheduleResult>> {
+        return SysJobApiFp(this.configuration).sysJobDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 获取所有作业任务列表
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async sysJobListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSchedulerModel>> {
+        return SysJobApiFp(this.configuration).sysJobListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}

+ 23 - 63
Web/src/api-services/apis/sys-tenant-api.ts

@@ -23,8 +23,8 @@ import { AdminResultListSysMenu } from '../models';
 import { AdminResultSqlSugarPagedListTenantOutput } from '../models';
 import { DeleteTenantInput } from '../models';
 import { RoleMenuInput } from '../models';
-import { StatusEnum } from '../models';
 import { TenantInput } from '../models';
+import { TenantUserInput } from '../models';
 import { UpdateTenantInput } from '../models';
 /**
  * SysTenantApi - axios parameter creator
@@ -199,17 +199,11 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysTenantOwnMenuListGet: async (id: number, status?: StatusEnum, userId?: number, 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 sysTenantOwnMenuListGet.');
-            }
+        sysTenantOwnMenuListGet: async (userId?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/sysTenant/ownMenuList`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -223,18 +217,10 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
 
             // authentication Bearer required
 
-            if (status !== undefined) {
-                localVarQueryParameter['Status'] = status;
-            }
-
             if (userId !== undefined) {
                 localVarQueryParameter['UserId'] = userId;
             }
 
-            if (id !== undefined) {
-                localVarQueryParameter['Id'] = id;
-            }
-
             const query = new URLSearchParams(localVarUrlObj.search);
             for (const key in localVarQueryParameter) {
                 query.set(key, localVarQueryParameter[key]);
@@ -254,17 +240,11 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysTenantOwnMenuTreeGet: async (id: number, status?: StatusEnum, userId?: number, 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 sysTenantOwnMenuTreeGet.');
-            }
+        sysTenantOwnMenuTreeGet: async (userId?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/sysTenant/ownMenuTree`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -278,18 +258,10 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
 
             // authentication Bearer required
 
-            if (status !== undefined) {
-                localVarQueryParameter['Status'] = status;
-            }
-
             if (userId !== undefined) {
                 localVarQueryParameter['UserId'] = userId;
             }
 
-            if (id !== undefined) {
-                localVarQueryParameter['Id'] = id;
-            }
-
             const query = new URLSearchParams(localVarUrlObj.search);
             for (const key in localVarQueryParameter) {
                 query.set(key, localVarQueryParameter[key]);
@@ -380,11 +352,11 @@ export const SysTenantApiAxiosParamCreator = function (configuration?: Configura
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {TenantInput} [body] 
+         * @param {TenantUserInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        sysTenantResetPwdPost: async (body?: TenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        sysTenantResetPwdPost: async (body?: TenantUserInput, 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');
@@ -568,14 +540,12 @@ export const SysTenantApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantOwnMenuListGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
-            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).sysTenantOwnMenuListGet(id, status, userId, options);
+        async sysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).sysTenantOwnMenuListGet(userId, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -584,14 +554,12 @@ export const SysTenantApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantOwnMenuTreeGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysMenu>>> {
-            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).sysTenantOwnMenuTreeGet(id, status, userId, options);
+        async sysTenantOwnMenuTreeGet(userId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysMenu>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).sysTenantOwnMenuTreeGet(userId, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -620,11 +588,11 @@ export const SysTenantApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {TenantInput} [body] 
+         * @param {TenantUserInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+        async sysTenantResetPwdPost(body?: TenantUserInput, 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};
@@ -711,26 +679,22 @@ export const SysTenantApiFactory = function (configuration?: Configuration, base
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantOwnMenuListGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
-            return SysTenantApiFp(configuration).sysTenantOwnMenuListGet(id, status, userId, options).then((request) => request(axios, basePath));
+        async sysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
+            return SysTenantApiFp(configuration).sysTenantOwnMenuListGet(userId, options).then((request) => request(axios, basePath));
         },
         /**
          * 
          * @summary 获取租户管理员角色拥有菜单树
-         * @param {number} id 主键Id
-         * @param {StatusEnum} [status] 状态
          * @param {number} [userId] 用户Id
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantOwnMenuTreeGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysMenu>> {
-            return SysTenantApiFp(configuration).sysTenantOwnMenuTreeGet(id, status, userId, options).then((request) => request(axios, basePath));
+        async sysTenantOwnMenuTreeGet(userId?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysMenu>> {
+            return SysTenantApiFp(configuration).sysTenantOwnMenuTreeGet(userId, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -751,11 +715,11 @@ export const SysTenantApiFactory = function (configuration?: Configuration, base
         /**
          * 
          * @summary 重置租户管理员密码
-         * @param {TenantInput} [body] 
+         * @param {TenantUserInput} [body] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+        async sysTenantResetPwdPost(body?: TenantUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysTenantApiFp(configuration).sysTenantResetPwdPost(body, options).then((request) => request(axios, basePath));
         },
         /**
@@ -835,28 +799,24 @@ export class SysTenantApi extends BaseAPI {
     /**
      * 
      * @summary 获取租户管理员角色拥有菜单树
-     * @param {number} id 主键Id
-     * @param {StatusEnum} [status] 状态
      * @param {number} [userId] 用户Id
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysTenantApi
      */
-    public async sysTenantOwnMenuListGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
-        return SysTenantApiFp(this.configuration).sysTenantOwnMenuListGet(id, status, userId, options).then((request) => request(this.axios, this.basePath));
+    public async sysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
+        return SysTenantApiFp(this.configuration).sysTenantOwnMenuListGet(userId, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 
      * @summary 获取租户管理员角色拥有菜单树
-     * @param {number} id 主键Id
-     * @param {StatusEnum} [status] 状态
      * @param {number} [userId] 用户Id
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysTenantApi
      */
-    public async sysTenantOwnMenuTreeGet(id: number, status?: StatusEnum, userId?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysMenu>> {
-        return SysTenantApiFp(this.configuration).sysTenantOwnMenuTreeGet(id, status, userId, options).then((request) => request(this.axios, this.basePath));
+    public async sysTenantOwnMenuTreeGet(userId?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysMenu>> {
+        return SysTenantApiFp(this.configuration).sysTenantOwnMenuTreeGet(userId, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 
@@ -878,12 +838,12 @@ export class SysTenantApi extends BaseAPI {
     /**
      * 
      * @summary 重置租户管理员密码
-     * @param {TenantInput} [body] 
+     * @param {TenantUserInput} [body] 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysTenantApi
      */
-    public async sysTenantResetPwdPost(body?: TenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+    public async sysTenantResetPwdPost(body?: TenantUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysTenantApiFp(this.configuration).sysTenantResetPwdPost(body, options).then((request) => request(this.axios, this.basePath));
     }
     /**

+ 0 - 478
Web/src/api-services/apis/sys-timer-api.ts

@@ -1,478 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
-import { Configuration } from '../configuration';
-// Some imports not used depending on template conditions
-// @ts-ignore
-import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
-import { AddTimerInput } from '../models';
-import { AdminResultSqlSugarPagedListTimerOutput } from '../models';
-import { DeleteTimerInput } from '../models';
-import { SetTimerStatusInput } from '../models';
-import { UpdateTimerInput } from '../models';
-/**
- * SysTimerApi - axios parameter creator
- * @export
- */
-export const SysTimerApiAxiosParamCreator = function (configuration?: Configuration) {
-    return {
-        /**
-         * 
-         * @summary 增加任务
-         * @param {AddTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        sysTimerAddPost: async (body?: AddTimerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            const localVarPath = `/sysTimer/add`;
-            // use dummy base URL string because the URL constructor only accepts absolute URLs.
-            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
-            let baseOptions;
-            if (configuration) {
-                baseOptions = configuration.baseOptions;
-            }
-            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
-            const localVarHeaderParameter = {} as any;
-            const localVarQueryParameter = {} as any;
-
-            // authentication Bearer required
-
-            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
-
-            const query = new URLSearchParams(localVarUrlObj.search);
-            for (const key in localVarQueryParameter) {
-                query.set(key, localVarQueryParameter[key]);
-            }
-            for (const key in options.params) {
-                query.set(key, options.params[key]);
-            }
-            localVarUrlObj.search = (new URLSearchParams(query)).toString();
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
-            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
-
-            return {
-                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
-                options: localVarRequestOptions,
-            };
-        },
-        /**
-         * 
-         * @summary 删除任务
-         * @param {DeleteTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        sysTimerDeletePost: async (body?: DeleteTimerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            const localVarPath = `/sysTimer/delete`;
-            // use dummy base URL string because the URL constructor only accepts absolute URLs.
-            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
-            let baseOptions;
-            if (configuration) {
-                baseOptions = configuration.baseOptions;
-            }
-            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
-            const localVarHeaderParameter = {} as any;
-            const localVarQueryParameter = {} as any;
-
-            // authentication Bearer required
-
-            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
-
-            const query = new URLSearchParams(localVarUrlObj.search);
-            for (const key in localVarQueryParameter) {
-                query.set(key, localVarQueryParameter[key]);
-            }
-            for (const key in options.params) {
-                query.set(key, options.params[key]);
-            }
-            localVarUrlObj.search = (new URLSearchParams(query)).toString();
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
-            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
-
-            return {
-                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
-                options: localVarRequestOptions,
-            };
-        },
-        /**
-         * 
-         * @summary 获取任务分页列表
-         * @param {string} [timerName] 任务名称
-         * @param {number} [page] 当前页码
-         * @param {number} [pageSize] 页码容量
-         * @param {string} [field] 排序字段
-         * @param {string} [order] 排序方向
-         * @param {string} [descStr] 降序排序
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        sysTimerPageGet: async (timerName?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            const localVarPath = `/sysTimer/page`;
-            // use dummy base URL string because the URL constructor only accepts absolute URLs.
-            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
-            let baseOptions;
-            if (configuration) {
-                baseOptions = configuration.baseOptions;
-            }
-            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
-            const localVarHeaderParameter = {} as any;
-            const localVarQueryParameter = {} as any;
-
-            // authentication Bearer required
-
-            if (timerName !== undefined) {
-                localVarQueryParameter['TimerName'] = timerName;
-            }
-
-            if (page !== undefined) {
-                localVarQueryParameter['Page'] = page;
-            }
-
-            if (pageSize !== undefined) {
-                localVarQueryParameter['PageSize'] = pageSize;
-            }
-
-            if (field !== undefined) {
-                localVarQueryParameter['Field'] = field;
-            }
-
-            if (order !== undefined) {
-                localVarQueryParameter['Order'] = order;
-            }
-
-            if (descStr !== undefined) {
-                localVarQueryParameter['DescStr'] = descStr;
-            }
-
-            const query = new URLSearchParams(localVarUrlObj.search);
-            for (const key in localVarQueryParameter) {
-                query.set(key, localVarQueryParameter[key]);
-            }
-            for (const key in options.params) {
-                query.set(key, options.params[key]);
-            }
-            localVarUrlObj.search = (new URLSearchParams(query)).toString();
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-
-            return {
-                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
-                options: localVarRequestOptions,
-            };
-        },
-        /**
-         * 
-         * @summary 设置任务状态
-         * @param {SetTimerStatusInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        sysTimerSetStatusPost: async (body?: SetTimerStatusInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            const localVarPath = `/sysTimer/setStatus`;
-            // use dummy base URL string because the URL constructor only accepts absolute URLs.
-            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
-            let baseOptions;
-            if (configuration) {
-                baseOptions = configuration.baseOptions;
-            }
-            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
-            const localVarHeaderParameter = {} as any;
-            const localVarQueryParameter = {} as any;
-
-            // authentication Bearer required
-
-            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
-
-            const query = new URLSearchParams(localVarUrlObj.search);
-            for (const key in localVarQueryParameter) {
-                query.set(key, localVarQueryParameter[key]);
-            }
-            for (const key in options.params) {
-                query.set(key, options.params[key]);
-            }
-            localVarUrlObj.search = (new URLSearchParams(query)).toString();
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
-            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
-
-            return {
-                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
-                options: localVarRequestOptions,
-            };
-        },
-        /**
-         * 
-         * @summary 更新任务
-         * @param {UpdateTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        sysTimerUpdatePost: async (body?: UpdateTimerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            const localVarPath = `/sysTimer/update`;
-            // use dummy base URL string because the URL constructor only accepts absolute URLs.
-            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
-            let baseOptions;
-            if (configuration) {
-                baseOptions = configuration.baseOptions;
-            }
-            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
-            const localVarHeaderParameter = {} as any;
-            const localVarQueryParameter = {} as any;
-
-            // authentication Bearer required
-
-            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
-
-            const query = new URLSearchParams(localVarUrlObj.search);
-            for (const key in localVarQueryParameter) {
-                query.set(key, localVarQueryParameter[key]);
-            }
-            for (const key in options.params) {
-                query.set(key, options.params[key]);
-            }
-            localVarUrlObj.search = (new URLSearchParams(query)).toString();
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
-            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
-
-            return {
-                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
-                options: localVarRequestOptions,
-            };
-        },
-    }
-};
-
-/**
- * SysTimerApi - functional programming interface
- * @export
- */
-export const SysTimerApiFp = function(configuration?: Configuration) {
-    return {
-        /**
-         * 
-         * @summary 增加任务
-         * @param {AddTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerAddPost(body?: AddTimerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
-            const localVarAxiosArgs = await SysTimerApiAxiosParamCreator(configuration).sysTimerAddPost(body, options);
-            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
-                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
-                return axios.request(axiosRequestArgs);
-            };
-        },
-        /**
-         * 
-         * @summary 删除任务
-         * @param {DeleteTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerDeletePost(body?: DeleteTimerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
-            const localVarAxiosArgs = await SysTimerApiAxiosParamCreator(configuration).sysTimerDeletePost(body, options);
-            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
-                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
-                return axios.request(axiosRequestArgs);
-            };
-        },
-        /**
-         * 
-         * @summary 获取任务分页列表
-         * @param {string} [timerName] 任务名称
-         * @param {number} [page] 当前页码
-         * @param {number} [pageSize] 页码容量
-         * @param {string} [field] 排序字段
-         * @param {string} [order] 排序方向
-         * @param {string} [descStr] 降序排序
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerPageGet(timerName?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListTimerOutput>>> {
-            const localVarAxiosArgs = await SysTimerApiAxiosParamCreator(configuration).sysTimerPageGet(timerName, page, pageSize, field, order, descStr, options);
-            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
-                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
-                return axios.request(axiosRequestArgs);
-            };
-        },
-        /**
-         * 
-         * @summary 设置任务状态
-         * @param {SetTimerStatusInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerSetStatusPost(body?: SetTimerStatusInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
-            const localVarAxiosArgs = await SysTimerApiAxiosParamCreator(configuration).sysTimerSetStatusPost(body, options);
-            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
-                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
-                return axios.request(axiosRequestArgs);
-            };
-        },
-        /**
-         * 
-         * @summary 更新任务
-         * @param {UpdateTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerUpdatePost(body?: UpdateTimerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
-            const localVarAxiosArgs = await SysTimerApiAxiosParamCreator(configuration).sysTimerUpdatePost(body, options);
-            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
-                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
-                return axios.request(axiosRequestArgs);
-            };
-        },
-    }
-};
-
-/**
- * SysTimerApi - factory interface
- * @export
- */
-export const SysTimerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    return {
-        /**
-         * 
-         * @summary 增加任务
-         * @param {AddTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerAddPost(body?: AddTimerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
-            return SysTimerApiFp(configuration).sysTimerAddPost(body, options).then((request) => request(axios, basePath));
-        },
-        /**
-         * 
-         * @summary 删除任务
-         * @param {DeleteTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerDeletePost(body?: DeleteTimerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
-            return SysTimerApiFp(configuration).sysTimerDeletePost(body, options).then((request) => request(axios, basePath));
-        },
-        /**
-         * 
-         * @summary 获取任务分页列表
-         * @param {string} [timerName] 任务名称
-         * @param {number} [page] 当前页码
-         * @param {number} [pageSize] 页码容量
-         * @param {string} [field] 排序字段
-         * @param {string} [order] 排序方向
-         * @param {string} [descStr] 降序排序
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerPageGet(timerName?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListTimerOutput>> {
-            return SysTimerApiFp(configuration).sysTimerPageGet(timerName, page, pageSize, field, order, descStr, options).then((request) => request(axios, basePath));
-        },
-        /**
-         * 
-         * @summary 设置任务状态
-         * @param {SetTimerStatusInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerSetStatusPost(body?: SetTimerStatusInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
-            return SysTimerApiFp(configuration).sysTimerSetStatusPost(body, options).then((request) => request(axios, basePath));
-        },
-        /**
-         * 
-         * @summary 更新任务
-         * @param {UpdateTimerInput} [body] 
-         * @param {*} [options] Override http request option.
-         * @throws {RequiredError}
-         */
-        async sysTimerUpdatePost(body?: UpdateTimerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
-            return SysTimerApiFp(configuration).sysTimerUpdatePost(body, options).then((request) => request(axios, basePath));
-        },
-    };
-};
-
-/**
- * SysTimerApi - object-oriented interface
- * @export
- * @class SysTimerApi
- * @extends {BaseAPI}
- */
-export class SysTimerApi extends BaseAPI {
-    /**
-     * 
-     * @summary 增加任务
-     * @param {AddTimerInput} [body] 
-     * @param {*} [options] Override http request option.
-     * @throws {RequiredError}
-     * @memberof SysTimerApi
-     */
-    public async sysTimerAddPost(body?: AddTimerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
-        return SysTimerApiFp(this.configuration).sysTimerAddPost(body, options).then((request) => request(this.axios, this.basePath));
-    }
-    /**
-     * 
-     * @summary 删除任务
-     * @param {DeleteTimerInput} [body] 
-     * @param {*} [options] Override http request option.
-     * @throws {RequiredError}
-     * @memberof SysTimerApi
-     */
-    public async sysTimerDeletePost(body?: DeleteTimerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
-        return SysTimerApiFp(this.configuration).sysTimerDeletePost(body, options).then((request) => request(this.axios, this.basePath));
-    }
-    /**
-     * 
-     * @summary 获取任务分页列表
-     * @param {string} [timerName] 任务名称
-     * @param {number} [page] 当前页码
-     * @param {number} [pageSize] 页码容量
-     * @param {string} [field] 排序字段
-     * @param {string} [order] 排序方向
-     * @param {string} [descStr] 降序排序
-     * @param {*} [options] Override http request option.
-     * @throws {RequiredError}
-     * @memberof SysTimerApi
-     */
-    public async sysTimerPageGet(timerName?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListTimerOutput>> {
-        return SysTimerApiFp(this.configuration).sysTimerPageGet(timerName, page, pageSize, field, order, descStr, options).then((request) => request(this.axios, this.basePath));
-    }
-    /**
-     * 
-     * @summary 设置任务状态
-     * @param {SetTimerStatusInput} [body] 
-     * @param {*} [options] Override http request option.
-     * @throws {RequiredError}
-     * @memberof SysTimerApi
-     */
-    public async sysTimerSetStatusPost(body?: SetTimerStatusInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
-        return SysTimerApiFp(this.configuration).sysTimerSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
-    }
-    /**
-     * 
-     * @summary 更新任务
-     * @param {UpdateTimerInput} [body] 
-     * @param {*} [options] Override http request option.
-     * @throws {RequiredError}
-     * @memberof SysTimerApi
-     */
-    public async sysTimerUpdatePost(body?: UpdateTimerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
-        return SysTimerApiFp(this.configuration).sysTimerUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
-    }
-}

+ 0 - 137
Web/src/api-services/models/add-timer-input.ts

@@ -1,137 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-import { RequestTypeEnum } from './request-type-enum';
-import { SpareTimeExecuteTypes } from './spare-time-execute-types';
-import { SpareTimeTypes } from './spare-time-types';
-/**
- * 
- * @export
- * @interface AddTimerInput
- */
-export interface AddTimerInput {
-    /**
-     * 雪花Id
-     * @type {number}
-     * @memberof AddTimerInput
-     */
-    id?: number;
-    /**
-     * 创建时间
-     * @type {Date}
-     * @memberof AddTimerInput
-     */
-    createTime?: Date | null;
-    /**
-     * 更新时间
-     * @type {Date}
-     * @memberof AddTimerInput
-     */
-    updateTime?: Date | null;
-    /**
-     * 创建者Id
-     * @type {number}
-     * @memberof AddTimerInput
-     */
-    createUserId?: number | null;
-    /**
-     * 修改者Id
-     * @type {number}
-     * @memberof AddTimerInput
-     */
-    updateUserId?: number | null;
-    /**
-     * 软删除
-     * @type {boolean}
-     * @memberof AddTimerInput
-     */
-    isDelete?: boolean;
-    /**
-     * 是否只执行一次
-     * @type {boolean}
-     * @memberof AddTimerInput
-     */
-    doOnce?: boolean;
-    /**
-     * 是否立即执行
-     * @type {boolean}
-     * @memberof AddTimerInput
-     */
-    startNow?: boolean;
-    /**
-     * 
-     * @type {SpareTimeExecuteTypes}
-     * @memberof AddTimerInput
-     */
-    executeType?: SpareTimeExecuteTypes;
-    /**
-     * 执行间隔(单位秒)
-     * @type {number}
-     * @memberof AddTimerInput
-     */
-    interval?: number | null;
-    /**
-     * Cron表达式
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    cron?: string | null;
-    /**
-     * 
-     * @type {SpareTimeTypes}
-     * @memberof AddTimerInput
-     */
-    timerType?: SpareTimeTypes;
-    /**
-     * 请求url
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    requestUrl?: string | null;
-    /**
-     * 
-     * @type {RequestTypeEnum}
-     * @memberof AddTimerInput
-     */
-    requestType?: RequestTypeEnum;
-    /**
-     * 请求参数
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    requestPara?: string | null;
-    /**
-     * Headers参数 比如{\"Authorization\":\"userpassword\"}
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    headers?: string | null;
-    /**
-     * 排序
-     * @type {number}
-     * @memberof AddTimerInput
-     */
-    order?: number;
-    /**
-     * 备注
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    remark?: string | null;
-    /**
-     * 任务名称
-     * @type {string}
-     * @memberof AddTimerInput
-     */
-    timerName: string;
-}

+ 57 - 0
Web/src/api-services/models/admin-result-list-scheduler-model.ts

@@ -0,0 +1,57 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET
+ * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: 515096995@qq.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+import { SchedulerModel } from './scheduler-model';
+/**
+ * 全局返回结果
+ * @export
+ * @interface AdminResultListSchedulerModel
+ */
+export interface AdminResultListSchedulerModel {
+    /**
+     * 状态码
+     * @type {number}
+     * @memberof AdminResultListSchedulerModel
+     */
+    code?: number;
+    /**
+     * 类型success、warning、error
+     * @type {string}
+     * @memberof AdminResultListSchedulerModel
+     */
+    type?: string | null;
+    /**
+     * 错误信息
+     * @type {string}
+     * @memberof AdminResultListSchedulerModel
+     */
+    message?: string | null;
+    /**
+     * 数据
+     * @type {Array<SchedulerModel>}
+     * @memberof AdminResultListSchedulerModel
+     */
+    result?: Array<SchedulerModel> | null;
+    /**
+     * 附加数据
+     * @type {any}
+     * @memberof AdminResultListSchedulerModel
+     */
+    extras?: any | null;
+    /**
+     * 时间
+     * @type {Date}
+     * @memberof AdminResultListSchedulerModel
+     */
+    time?: Date;
+}

+ 11 - 11
Web/src/api-services/models/admin-result-sql-sugar-paged-list-timer-output.ts → Web/src/api-services/models/admin-result-schedule-result.ts

@@ -11,47 +11,47 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-import { SqlSugarPagedListTimerOutput } from './sql-sugar-paged-list-timer-output';
+import { ScheduleResult } from './schedule-result';
 /**
  * 全局返回结果
  * @export
- * @interface AdminResultSqlSugarPagedListTimerOutput
+ * @interface AdminResultScheduleResult
  */
-export interface AdminResultSqlSugarPagedListTimerOutput {
+export interface AdminResultScheduleResult {
     /**
      * 状态码
      * @type {number}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @memberof AdminResultScheduleResult
      */
     code?: number;
     /**
      * 类型success、warning、error
      * @type {string}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @memberof AdminResultScheduleResult
      */
     type?: string | null;
     /**
      * 错误信息
      * @type {string}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @memberof AdminResultScheduleResult
      */
     message?: string | null;
     /**
      * 
-     * @type {SqlSugarPagedListTimerOutput}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @type {ScheduleResult}
+     * @memberof AdminResultScheduleResult
      */
-    result?: SqlSugarPagedListTimerOutput;
+    result?: ScheduleResult;
     /**
      * 附加数据
      * @type {any}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @memberof AdminResultScheduleResult
      */
     extras?: any | null;
     /**
      * 时间
      * @type {Date}
-     * @memberof AdminResultSqlSugarPagedListTimerOutput
+     * @memberof AdminResultScheduleResult
      */
     time?: Date;
 }

+ 9 - 11
Web/src/api-services/models/index.ts

@@ -10,7 +10,6 @@ export * from './add-pos-input';
 export * from './add-region-input';
 export * from './add-role-input';
 export * from './add-tenant-input';
-export * from './add-timer-input';
 export * from './add-user-input';
 export * from './admin-result-boolean';
 export * from './admin-result-file-output';
@@ -28,6 +27,7 @@ export * from './admin-result-list-int64';
 export * from './admin-result-list-menu-output';
 export * from './admin-result-list-object';
 export * from './admin-result-list-role-output';
+export * from './admin-result-list-scheduler-model';
 export * from './admin-result-list-string';
 export * from './admin-result-list-sys-config';
 export * from './admin-result-list-sys-dict-data';
@@ -42,6 +42,7 @@ export * from './admin-result-list-table-output';
 export * from './admin-result-login-output';
 export * from './admin-result-login-user-output';
 export * from './admin-result-object';
+export * from './admin-result-schedule-result';
 export * from './admin-result-sql-sugar-paged-list-sys-code-gen';
 export * from './admin-result-sql-sugar-paged-list-sys-config';
 export * from './admin-result-sql-sugar-paged-list-sys-dict-data';
@@ -58,7 +59,6 @@ export * from './admin-result-sql-sugar-paged-list-sys-region';
 export * from './admin-result-sql-sugar-paged-list-sys-role';
 export * from './admin-result-sql-sugar-paged-list-sys-user';
 export * from './admin-result-sql-sugar-paged-list-tenant-output';
-export * from './admin-result-sql-sugar-paged-list-timer-output';
 export * from './admin-result-string';
 export * from './admin-result-sys-code-gen';
 export * from './admin-result-sys-code-gen-config';
@@ -97,7 +97,6 @@ export * from './delete-pos-input';
 export * from './delete-region-input';
 export * from './delete-role-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';
@@ -106,6 +105,8 @@ export * from './file-output';
 export * from './gen-auth-url-input';
 export * from './gender-enum';
 export * from './iaction-result';
+export * from './job-detail';
+export * from './job-input';
 export * from './login-input';
 export * from './login-output';
 export * from './login-type-enum';
@@ -118,17 +119,14 @@ export * from './notice-input';
 export * from './notice-status-enum';
 export * from './notice-type-enum';
 export * from './notice-user-status-enum';
-export * from './request-type-enum';
 export * from './reset-pwd-user-input';
 export * from './role-input';
 export * from './role-menu-input';
 export * from './role-org-input';
 export * from './role-output';
-export * from './set-timer-status-input';
+export * from './schedule-result';
+export * from './scheduler-model';
 export * from './signature-input';
-export * from './spare-time-execute-types';
-export * from './spare-time-status';
-export * from './spare-time-types';
 export * from './sql-sugar-paged-list-sys-code-gen';
 export * from './sql-sugar-paged-list-sys-config';
 export * from './sql-sugar-paged-list-sys-dict-data';
@@ -145,7 +143,6 @@ export * from './sql-sugar-paged-list-sys-region';
 export * from './sql-sugar-paged-list-sys-role';
 export * from './sql-sugar-paged-list-sys-user';
 export * from './sql-sugar-paged-list-tenant-output';
-export * from './sql-sugar-paged-list-timer-output';
 export * from './status-enum';
 export * from './swagger-submit-url-body';
 export * from './sys-code-gen';
@@ -177,8 +174,10 @@ export * from './table-output';
 export * from './tenant-input';
 export * from './tenant-output';
 export * from './tenant-type-enum';
+export * from './tenant-user-input';
 export * from './time-span';
-export * from './timer-output';
+export * from './trigger';
+export * from './trigger-status';
 export * from './update-code-gen-input';
 export * from './update-config-input';
 export * from './update-db-column-input';
@@ -192,7 +191,6 @@ export * from './update-pos-input';
 export * from './update-region-input';
 export * from './update-role-input';
 export * from './update-tenant-input';
-export * from './update-timer-input';
 export * from './update-user-input';
 export * from './user-input';
 export * from './user-role-input';

+ 74 - 0
Web/src/api-services/models/job-detail.ts

@@ -0,0 +1,74 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET
+ * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: 515096995@qq.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+/**
+ * 
+ * @export
+ * @interface JobDetail
+ */
+export interface JobDetail {
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    jobId?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    groupName?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    jobType?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    assemblyName?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    description?: string | null;
+    /**
+     * 
+     * @type {boolean}
+     * @memberof JobDetail
+     */
+    concurrent?: boolean;
+    /**
+     * 
+     * @type {boolean}
+     * @memberof JobDetail
+     */
+    includeAnnotations?: boolean;
+    /**
+     * 
+     * @type {string}
+     * @memberof JobDetail
+     */
+    properties?: string | null;
+    /**
+     * 
+     * @type {Date}
+     * @memberof JobDetail
+     */
+    updatedTime?: Date | null;
+}

+ 9 - 6
Web/src/api-services/models/spare-time-types.ts → Web/src/api-services/models/job-input.ts

@@ -12,12 +12,15 @@
  * Do not edit the class manually.
  */
 /**
- * <br />&nbsp;间隔方式 Interval = 0<br />&nbsp;Cron 表达式 Cron = 1<br />
+ * 
  * @export
- * @enum {string}
+ * @interface JobInput
  */
-export enum SpareTimeTypes {
-    NUMBER_0 = 0,
-    NUMBER_1 = 1
+export interface JobInput {
+    /**
+     * 作业任务名称
+     * @type {string}
+     * @memberof JobInput
+     */
+    name: string;
 }
-

+ 4 - 3
Web/src/api-services/models/request-type-enum.ts → Web/src/api-services/models/schedule-result.ts

@@ -12,15 +12,16 @@
  * Do not edit the class manually.
  */
 /**
- * HTTP请求类型<br />&nbsp; Run = 0<br />&nbsp; Get = 1<br />&nbsp; Post = 2<br />&nbsp; Put = 3<br />&nbsp; Delete = 4<br />
+ * <br />&nbsp; NotFound = 0<br />&nbsp; NotIdentify = 1<br />&nbsp; Exists = 2<br />&nbsp; Succeed = 3<br />&nbsp; Removed = 4<br />&nbsp; Failed = 5<br />
  * @export
  * @enum {string}
  */
-export enum RequestTypeEnum {
+export enum ScheduleResult {
     NUMBER_0 = 0,
     NUMBER_1 = 1,
     NUMBER_2 = 2,
     NUMBER_3 = 3,
-    NUMBER_4 = 4
+    NUMBER_4 = 4,
+    NUMBER_5 = 5
 }
 

+ 11 - 10
Web/src/api-services/models/set-timer-status-input.ts → Web/src/api-services/models/scheduler-model.ts

@@ -11,23 +11,24 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-import { SpareTimeStatus } from './spare-time-status';
+import { JobDetail } from './job-detail';
+import { Trigger } from './trigger';
 /**
  * 
  * @export
- * @interface SetTimerStatusInput
+ * @interface SchedulerModel
  */
-export interface SetTimerStatusInput {
+export interface SchedulerModel {
     /**
-     * 任务名称
-     * @type {string}
-     * @memberof SetTimerStatusInput
+     * 
+     * @type {JobDetail}
+     * @memberof SchedulerModel
      */
-    timerName: string;
+    jobDetail?: JobDetail;
     /**
      * 
-     * @type {SpareTimeStatus}
-     * @memberof SetTimerStatusInput
+     * @type {Array<Trigger>}
+     * @memberof SchedulerModel
      */
-    status?: SpareTimeStatus;
+    triggers?: Array<Trigger> | null;
 }

+ 0 - 23
Web/src/api-services/models/spare-time-execute-types.ts

@@ -1,23 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-/**
- * <br />&nbsp;并行执行 Parallel = 0<br />&nbsp;串行执行 Serial = 1<br />
- * @export
- * @enum {string}
- */
-export enum SpareTimeExecuteTypes {
-    NUMBER_0 = 0,
-    NUMBER_1 = 1
-}
-

+ 0 - 63
Web/src/api-services/models/sql-sugar-paged-list-timer-output.ts

@@ -1,63 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-import { TimerOutput } from './timer-output';
-/**
- * 分页泛型集合
- * @export
- * @interface SqlSugarPagedListTimerOutput
- */
-export interface SqlSugarPagedListTimerOutput {
-    /**
-     * 页码
-     * @type {number}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    page?: number;
-    /**
-     * 页容量
-     * @type {number}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    pageSize?: number;
-    /**
-     * 总条数
-     * @type {number}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    total?: number;
-    /**
-     * 总页数
-     * @type {number}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    totalPages?: number;
-    /**
-     * 当前页集合
-     * @type {Array<TimerOutput>}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    items?: Array<TimerOutput> | null;
-    /**
-     * 是否有上一页
-     * @type {boolean}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    hasPrevPage?: boolean;
-    /**
-     * 是否有下一页
-     * @type {boolean}
-     * @memberof SqlSugarPagedListTimerOutput
-     */
-    hasNextPage?: boolean;
-}

+ 1 - 1
Web/src/api-services/models/table-output.ts

@@ -48,7 +48,7 @@ export interface TableOutput {
      */
     updateTime?: string | null;
     /**
-     * 表名称描述(注释)(功能名)
+     * 表名称描述(功能名)
      * @type {string}
      * @memberof TableOutput
      */

+ 0 - 6
Web/src/api-services/models/tenant-input.ts

@@ -30,10 +30,4 @@ export interface TenantInput {
      * @memberof TenantInput
      */
     status?: StatusEnum;
-    /**
-     * 用户Id
-     * @type {number}
-     * @memberof TenantInput
-     */
-    userId?: number;
 }

+ 5 - 5
Web/src/api-services/models/delete-timer-input.ts → Web/src/api-services/models/tenant-user-input.ts

@@ -14,13 +14,13 @@
 /**
  * 
  * @export
- * @interface DeleteTimerInput
+ * @interface TenantUserInput
  */
-export interface DeleteTimerInput {
+export interface TenantUserInput {
     /**
-     * 主键Id
+     * 用户Id
      * @type {number}
-     * @memberof DeleteTimerInput
+     * @memberof TenantUserInput
      */
-    id: number;
+    userId?: number;
 }

+ 0 - 156
Web/src/api-services/models/timer-output.ts

@@ -1,156 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-import { RequestTypeEnum } from './request-type-enum';
-import { SpareTimeExecuteTypes } from './spare-time-execute-types';
-import { SpareTimeStatus } from './spare-time-status';
-import { SpareTimeTypes } from './spare-time-types';
-/**
- * 
- * @export
- * @interface TimerOutput
- */
-export interface TimerOutput {
-    /**
-     * 雪花Id
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    id?: number;
-    /**
-     * 创建时间
-     * @type {Date}
-     * @memberof TimerOutput
-     */
-    createTime?: Date | null;
-    /**
-     * 更新时间
-     * @type {Date}
-     * @memberof TimerOutput
-     */
-    updateTime?: Date | null;
-    /**
-     * 创建者Id
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    createUserId?: number | null;
-    /**
-     * 修改者Id
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    updateUserId?: number | null;
-    /**
-     * 软删除
-     * @type {boolean}
-     * @memberof TimerOutput
-     */
-    isDelete?: boolean;
-    /**
-     * 任务名称
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    timerName: string;
-    /**
-     * 是否只执行一次
-     * @type {boolean}
-     * @memberof TimerOutput
-     */
-    doOnce?: boolean;
-    /**
-     * 是否立即执行
-     * @type {boolean}
-     * @memberof TimerOutput
-     */
-    startNow?: boolean;
-    /**
-     * 
-     * @type {SpareTimeExecuteTypes}
-     * @memberof TimerOutput
-     */
-    executeType?: SpareTimeExecuteTypes;
-    /**
-     * 执行间隔(单位秒)
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    interval?: number | null;
-    /**
-     * Cron表达式
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    cron?: string | null;
-    /**
-     * 
-     * @type {SpareTimeTypes}
-     * @memberof TimerOutput
-     */
-    timerType?: SpareTimeTypes;
-    /**
-     * 请求url
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    requestUrl?: string | null;
-    /**
-     * 
-     * @type {RequestTypeEnum}
-     * @memberof TimerOutput
-     */
-    requestType?: RequestTypeEnum;
-    /**
-     * 请求参数
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    requestPara?: string | null;
-    /**
-     * Headers参数 比如{\"Authorization\":\"userpassword\"}
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    headers?: string | null;
-    /**
-     * 排序
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    order?: number;
-    /**
-     * 备注
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    remark?: string | null;
-    /**
-     * 执行次数
-     * @type {number}
-     * @memberof TimerOutput
-     */
-    tally?: number;
-    /**
-     * 
-     * @type {SpareTimeStatus}
-     * @memberof TimerOutput
-     */
-    status?: SpareTimeStatus;
-    /**
-     * 异常信息
-     * @type {string}
-     * @memberof TimerOutput
-     */
-    exception?: string | null;
-}

+ 12 - 3
Web/src/api-services/models/spare-time-status.ts → Web/src/api-services/models/trigger-status.ts

@@ -12,14 +12,23 @@
  * Do not edit the class manually.
  */
 /**
- * <br />&nbsp;运行中 Running = 0<br />&nbsp;已停止或未启动 Stopped = 1<br />&nbsp;任务停止并失败 Failed = 2<br />&nbsp;任务已取消或没有该任务 CanceledOrNone = 3<br />
+ * <br />&nbsp; Backlog = 0<br />&nbsp; Ready = 1<br />&nbsp; Running = 2<br />&nbsp; Pause = 3<br />&nbsp; Blocked = 4<br />&nbsp; ErrorToReady = 5<br />&nbsp; Archived = 6<br />&nbsp; Panic = 7<br />&nbsp; Overrun = 8<br />&nbsp; Unoccupied = 9<br />&nbsp; NotStart = 10<br />&nbsp; Unknown = 11<br />&nbsp; Unhandled = 12<br />
  * @export
  * @enum {string}
  */
-export enum SpareTimeStatus {
+export enum TriggerStatus {
     NUMBER_0 = 0,
     NUMBER_1 = 1,
     NUMBER_2 = 2,
-    NUMBER_3 = 3
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6,
+    NUMBER_7 = 7,
+    NUMBER_8 = 8,
+    NUMBER_9 = 9,
+    NUMBER_10 = 10,
+    NUMBER_11 = 11,
+    NUMBER_12 = 12
 }
 

+ 141 - 0
Web/src/api-services/models/trigger.ts

@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET
+ * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: 515096995@qq.com
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+import { TriggerStatus } from './trigger-status';
+/**
+ * 
+ * @export
+ * @interface Trigger
+ */
+export interface Trigger {
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    triggerId?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    jobId?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    triggerType?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    assemblyName?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    args?: string | null;
+    /**
+     * 
+     * @type {string}
+     * @memberof Trigger
+     */
+    description?: string | null;
+    /**
+     * 
+     * @type {TriggerStatus}
+     * @memberof Trigger
+     */
+    status?: TriggerStatus;
+    /**
+     * 
+     * @type {Date}
+     * @memberof Trigger
+     */
+    startTime?: Date | null;
+    /**
+     * 
+     * @type {Date}
+     * @memberof Trigger
+     */
+    endTime?: Date | null;
+    /**
+     * 
+     * @type {Date}
+     * @memberof Trigger
+     */
+    lastRunTime?: Date | null;
+    /**
+     * 
+     * @type {Date}
+     * @memberof Trigger
+     */
+    nextRunTime?: Date | null;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    numberOfRuns?: number;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    maxNumberOfRuns?: number;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    numberOfErrors?: number;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    maxNumberOfErrors?: number;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    numRetries?: number;
+    /**
+     * 
+     * @type {number}
+     * @memberof Trigger
+     */
+    retryTimeout?: number;
+    /**
+     * 
+     * @type {boolean}
+     * @memberof Trigger
+     */
+    startNow?: boolean;
+    /**
+     * 
+     * @type {boolean}
+     * @memberof Trigger
+     */
+    runOnStart?: boolean;
+    /**
+     * 
+     * @type {Date}
+     * @memberof Trigger
+     */
+    updatedTime?: Date | null;
+}

+ 0 - 137
Web/src/api-services/models/update-timer-input.ts

@@ -1,137 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-import { RequestTypeEnum } from './request-type-enum';
-import { SpareTimeExecuteTypes } from './spare-time-execute-types';
-import { SpareTimeTypes } from './spare-time-types';
-/**
- * 
- * @export
- * @interface UpdateTimerInput
- */
-export interface UpdateTimerInput {
-    /**
-     * 雪花Id
-     * @type {number}
-     * @memberof UpdateTimerInput
-     */
-    id?: number;
-    /**
-     * 创建时间
-     * @type {Date}
-     * @memberof UpdateTimerInput
-     */
-    createTime?: Date | null;
-    /**
-     * 更新时间
-     * @type {Date}
-     * @memberof UpdateTimerInput
-     */
-    updateTime?: Date | null;
-    /**
-     * 创建者Id
-     * @type {number}
-     * @memberof UpdateTimerInput
-     */
-    createUserId?: number | null;
-    /**
-     * 修改者Id
-     * @type {number}
-     * @memberof UpdateTimerInput
-     */
-    updateUserId?: number | null;
-    /**
-     * 软删除
-     * @type {boolean}
-     * @memberof UpdateTimerInput
-     */
-    isDelete?: boolean;
-    /**
-     * 是否只执行一次
-     * @type {boolean}
-     * @memberof UpdateTimerInput
-     */
-    doOnce?: boolean;
-    /**
-     * 是否立即执行
-     * @type {boolean}
-     * @memberof UpdateTimerInput
-     */
-    startNow?: boolean;
-    /**
-     * 
-     * @type {SpareTimeExecuteTypes}
-     * @memberof UpdateTimerInput
-     */
-    executeType?: SpareTimeExecuteTypes;
-    /**
-     * 执行间隔(单位秒)
-     * @type {number}
-     * @memberof UpdateTimerInput
-     */
-    interval?: number | null;
-    /**
-     * Cron表达式
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    cron?: string | null;
-    /**
-     * 
-     * @type {SpareTimeTypes}
-     * @memberof UpdateTimerInput
-     */
-    timerType?: SpareTimeTypes;
-    /**
-     * 请求url
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    requestUrl?: string | null;
-    /**
-     * 
-     * @type {RequestTypeEnum}
-     * @memberof UpdateTimerInput
-     */
-    requestType?: RequestTypeEnum;
-    /**
-     * 请求参数
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    requestPara?: string | null;
-    /**
-     * Headers参数 比如{\"Authorization\":\"userpassword\"}
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    headers?: string | null;
-    /**
-     * 排序
-     * @type {number}
-     * @memberof UpdateTimerInput
-     */
-    order?: number;
-    /**
-     * 备注
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    remark?: string | null;
-    /**
-     * 任务名称
-     * @type {string}
-     * @memberof UpdateTimerInput
-     */
-    timerName: string;
-}

+ 1 - 1
Web/src/views/system/tenant/component/grantMenu.vue

@@ -63,7 +63,7 @@ export default defineComponent({
 		const openDialog = async (row: any) => {
 			treeRef.value?.setCheckedKeys([]); // 先清空已选择节点
 			state.ruleForm = row;
-			var res = await getAPI(SysTenantApi).sysTenantOwnMenuListGet(row.id, 1, row.userId);
+			var res = await getAPI(SysTenantApi).sysTenantOwnMenuListGet(row.userId);
 			setTimeout(() => {
 				// 延迟传递数据
 				treeRef.value?.setCheckedKeys(res.data.result);