feat: 重构勘察业务为明细模式并新增定时任务人性化配置
- 重构勘察业务:移除SOP相关表,新增勘察明细表支持建筑/楼层/房间/照片管理 - 新增定时任务人性化频率配置,支持分钟/小时/天/周/月/自定义六种模式 - 新增频率预览接口,支持配置转换为cron表达式与执行时间预览 - 更新系统品牌名称为鑫潼智电,修改全局标题与登录页文案
This commit is contained in:
1 parent
f72644c24f
commit
22d27a940d
29 files changed
+1908
-576
No files matched your search
+37
-1
@@ -9,11 +9,33 @@ export interface JobParamField {
|
||||
placeholder?: string;
|
||||
}
|
||||
|
||||
/** 频率类型:每N分钟 / 每N小时 / 每天 / 每周 / 每月 / 自定义 cron */
|
||||
export type FreqType = 'minute' | 'hour' | 'day' | 'week' | 'month' | 'custom';
|
||||
|
||||
/** 频率配置(字段按 freqType 取用) */
|
||||
export interface FreqConfig {
|
||||
/** minute/hour:间隔数量 */
|
||||
interval?: number;
|
||||
/** hour:每小时的第几分钟 */
|
||||
minute?: number;
|
||||
/** day/week/month:执行时间点 HH:mm */
|
||||
times?: string[];
|
||||
/** week:星期,0=周日 ... 6=周六 */
|
||||
weekdays?: number[];
|
||||
/** month:日期 1-31 */
|
||||
days?: number[];
|
||||
/** custom:自定义 cron 表达式 */
|
||||
expression?: string;
|
||||
}
|
||||
|
||||
export interface JobItem {
|
||||
id: number;
|
||||
jobKey: string;
|
||||
jobName: string;
|
||||
cronExpression: string;
|
||||
freqType: FreqType;
|
||||
freqConfig: FreqConfig;
|
||||
cronDescription?: string | null;
|
||||
params: Record<string, any>;
|
||||
retryTimes: number;
|
||||
retryInterval: number;
|
||||
@@ -71,13 +93,23 @@ export interface JobLogQuery {
|
||||
}
|
||||
|
||||
export interface UpdateJobPayload {
|
||||
cronExpression: string;
|
||||
freqType: FreqType;
|
||||
freqConfig: FreqConfig;
|
||||
params: Record<string, any>;
|
||||
retryTimes: number;
|
||||
retryInterval: number;
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
/** 频率预览结果:由后端由频率配置推导 cron、中文描述与未来执行时间 */
|
||||
export interface CronPreviewResult {
|
||||
valid: boolean;
|
||||
error?: string | null;
|
||||
cronExpression?: string | null;
|
||||
description?: string | null;
|
||||
nextRuns: string[];
|
||||
}
|
||||
|
||||
export interface JobListResult {
|
||||
list: JobItem[];
|
||||
total: number;
|
||||
@@ -99,6 +131,10 @@ export const jobApi = {
|
||||
updateJob: (id: number, data: UpdateJobPayload) =>
|
||||
request.put<JobItem>(`/jobs/${id}`, data),
|
||||
|
||||
/** 频率预览:人性化配置 → cron / 中文描述 / 未来 5 次执行时间 */
|
||||
previewCron: (data: { freqType: FreqType; freqConfig: FreqConfig }) =>
|
||||
request.post<CronPreviewResult>('/jobs/cron/preview', data),
|
||||
|
||||
changeJobStatus: (id: number, status: 0 | 1) =>
|
||||
request.put<JobItem>(`/jobs/${id}/status`, { status }),
|
||||
|
||||
|
||||
Reference in new issue
Block a user