From 57b270df36a14ea4c8e66199e7ddfcbe0abc0a07 Mon Sep 17 00:00:00 2001 From: zch Date: Thu, 18 Jun 2026 16:24:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa/erp):=20=E6=96=B0=E5=A2=9E=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=E9=9D=A2=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 重构临时任务API接口,拆分提交与列表查询方法,重命名方法名提升可读性 2. 完善临时任务相关类型定义,新增字段适配业务需求 3. 新增临时任务统计报表页面,支持多维度数据分析与导出 4. 优化主列表页面:调整搜索栏布局、新增业务状态筛选、重构表格列配置、增加编辑权限校验 5. 新增项目选择弹窗组件集成,优化表单重置逻辑 --- src/api/oa/erp/tempTask/index.ts | 22 +- src/api/oa/erp/tempTask/types.ts | 27 +- src/views/oa/erp/tempTask/edit.vue | 1004 ++++++++++++++++---------- src/views/oa/erp/tempTask/index.vue | 271 ++++--- src/views/oa/erp/tempTask/report.vue | 286 ++++++++ 5 files changed, 1097 insertions(+), 513 deletions(-) create mode 100644 src/views/oa/erp/tempTask/report.vue diff --git a/src/api/oa/erp/tempTask/index.ts b/src/api/oa/erp/tempTask/index.ts index 8f81d04..7df7bdc 100644 --- a/src/api/oa/erp/tempTask/index.ts +++ b/src/api/oa/erp/tempTask/index.ts @@ -40,7 +40,15 @@ export const delTempTask = (tempTaskId: string | number | Array }); }; -export const submitTempTask = (data: TempTaskForm): AxiosPromise => { +export const getTempTaskList = (query?: TempTaskQuery): AxiosPromise => { + return request({ + url: '/oa/erp/tempTask/getErpTempTaskList', + method: 'get', + params: query + }); +}; + +export const tempTaskSubmitAndFlowStart = (data: TempTaskForm): AxiosPromise => { return request({ url: '/oa/erp/tempTask/submit', method: 'post', @@ -56,14 +64,14 @@ export const closeTempTask = (data: TempTaskForm) => { }); }; -export const listTempTaskChanges = (tempTaskId: string | number): AxiosPromise => { +export const listTempTaskChange = (tempTaskId: string | number): AxiosPromise => { return request({ url: `/oa/erp/tempTask/${tempTaskId}/changes`, method: 'get' }); }; -export const saveTempTaskChange = (data: TempTaskChangeForm) => { +export const addTempTaskChange = (data: TempTaskChangeForm) => { return request({ url: '/oa/erp/tempTask/change', method: 'post', @@ -78,11 +86,3 @@ export const approveTempTaskChange = (data: TempTaskChangeForm) => { data }); }; - -export const getErpTempTaskList = (query?: TempTaskQuery): AxiosPromise => { - return request({ - url: '/oa/erp/tempTask/getErpTempTaskList', - method: 'get', - params: query - }); -}; diff --git a/src/api/oa/erp/tempTask/types.ts b/src/api/oa/erp/tempTask/types.ts index c3af6b4..dfde96d 100644 --- a/src/api/oa/erp/tempTask/types.ts +++ b/src/api/oa/erp/tempTask/types.ts @@ -1,11 +1,11 @@ export interface TempTaskVO { tempTaskId: string | number; - tempTaskCode?: string; + tempTaskCode: string; taskTitle?: string; - taskDesc?: string; + taskDesc: string; priority?: string; urgentReason?: string; - requireTime?: string; + requireTime: string; confirmFinishTime?: string; actualStartTime?: string; actualFinishTime?: string; @@ -87,6 +87,8 @@ export interface TempTaskForm extends BaseEntity { ccUserIds?: string; ossId?: string; remark?: string; + changeCount?: number; + pendingChangeCount?: number; flowCode?: string; variables?: Record; bizExt?: Record; @@ -98,16 +100,21 @@ export interface TempTaskQuery extends PageQuery { taskDesc?: string; priority?: string; projectId?: string | number; + projectCode?: string; projectName?: string; requesterId?: string | number; requesterName?: string; + requestDeptId?: string | number; + requestDeptName?: string; dispatcherId?: string | number; dispatcherName?: string; - softwareLeaderId?: string | number; - softwareLeaderName?: string; assigneeId?: string | number; assigneeName?: string; finishResult?: string; + terminateReason?: string; + relatedTaskId?: string | number; + relatedTaskCode?: string; + relateReason?: string; taskStatus?: string; flowStatus?: string; params?: Record; @@ -117,8 +124,8 @@ export interface TempTaskChangeVO { changeId: string | number; tempTaskId: string | number; tempTaskCode?: string; - changeType?: string; - changeReason?: string; + changeType: string; + changeReason: string; beforeContent?: string; afterContent?: string; workloadEffect?: string; @@ -146,6 +153,12 @@ export interface TempTaskChangeForm extends BaseEntity { workloadEffect?: string; timeEffect?: string; scopeEffect?: string; + changeUserId?: string | number; + changeUserName?: string; approveResult?: string; + approverId?: string | number; + approverName?: string; approveComment?: string; + approveTime?: string; + flowStatus?: string; } diff --git a/src/views/oa/erp/tempTask/edit.vue b/src/views/oa/erp/tempTask/edit.vue index 1935b76..9db6451 100644 --- a/src/views/oa/erp/tempTask/edit.vue +++ b/src/views/oa/erp/tempTask/edit.vue @@ -1,7 +1,7 @@ - - diff --git a/src/views/oa/erp/tempTask/index.vue b/src/views/oa/erp/tempTask/index.vue index ac13b3a..0342693 100644 --- a/src/views/oa/erp/tempTask/index.vue +++ b/src/views/oa/erp/tempTask/index.vue @@ -15,6 +15,13 @@ + + + + + @@ -24,8 +31,10 @@ - - + + + + @@ -43,93 +52,109 @@ + - - - - - - + + + + + + - - - - - - + - + - - - + + + + + + + + + + - + - + - + + - + @@ -137,17 +162,30 @@ + + - - diff --git a/src/views/oa/erp/tempTask/report.vue b/src/views/oa/erp/tempTask/report.vue new file mode 100644 index 0000000..86682ed --- /dev/null +++ b/src/views/oa/erp/tempTask/report.vue @@ -0,0 +1,286 @@ + + + + +