From c8479d2ed605d53e7b00cbed40e4120941d1a6bc Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Wed, 30 Jul 2025 11:34:55 +0800 Subject: [PATCH] 优化工作单pc 端办理bug --- src/api/oa/workTaskDetailApi.js | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/oa/WorkDetailTask.vue | 2 +- src/i18n/commonLang.js | 6 ++++-- src/i18n/oaI18n.js | 3 +++ src/router/oaRouter.js | 5 +++++ src/views/oa/doWorkList.vue | 124 ++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------- src/views/oa/workDetailList.vue | 4 ++-- src/views/oa/workTaskDetailLang.js | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/oa/workTaskDetailList.vue | 415 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 707 insertions(+), 99 deletions(-) create mode 100644 src/api/oa/workTaskDetailApi.js create mode 100644 src/views/oa/workTaskDetailLang.js create mode 100644 src/views/oa/workTaskDetailList.vue diff --git a/src/api/oa/workTaskDetailApi.js b/src/api/oa/workTaskDetailApi.js new file mode 100644 index 0000000..49bdb0a --- /dev/null +++ b/src/api/oa/workTaskDetailApi.js @@ -0,0 +1,158 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取工单详情 +export function getWorkDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/work.listWorkPool', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取工单项列表 +export function getWorkTaskItems(params) { + return new Promise((resolve, reject) => { + request({ + url: '/task.listWorkTaskItem', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取工单事件列表 +export function getWorkEvents(params) { + return new Promise((resolve, reject) => { + request({ + url: '/workEvent.listWorkEvent', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取工单文件列表 +export function getWorkFiles(params) { + return new Promise((resolve, reject) => { + request({ + url: '/work.listWorkPoolFile', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 完成工单任务 +export function finishWorkTask(data) { + return new Promise((resolve, reject) => { + request({ + url: '/work.finishWorkTask', + method: 'post', + data: { + ...data, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取组织树 +export function getOrgTree(params) { + return new Promise((resolve, reject) => { + request({ + url: '/org.listOrgTree', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取员工列表 +export function getStaffList(params) { + return new Promise((resolve, reject) => { + request({ + url: '/query.staff.infos', + method: 'get', + params: { + ...params, + communityId: getCommunityId() + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 上传文件 +export function uploadFile(data, config) { + return new Promise((resolve, reject) => { + const formData = new FormData() + formData.append('uploadFile', data.get('uploadFile')) + + request({ + url: '/uploadVedio/upload', + method: 'post', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data' + }, + ...config + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/oa/WorkDetailTask.vue b/src/components/oa/WorkDetailTask.vue index b4f3db7..33d06ed 100644 --- a/src/components/oa/WorkDetailTask.vue +++ b/src/components/oa/WorkDetailTask.vue @@ -161,7 +161,7 @@ export default { }, openWorkTaskDetail(work) { this.$router.push({ - path: '/oa/workTaskDetail', + path: '/pages/oa/workTaskDetail', query: { workId: work.workId, taskId: work.taskId diff --git a/src/i18n/commonLang.js b/src/i18n/commonLang.js index 870c1a3..c61de62 100644 --- a/src/i18n/commonLang.js +++ b/src/i18n/commonLang.js @@ -62,7 +62,8 @@ export const messages = { file:'File', hide:'Hide', viewDetail:'View Detail', - yuan:'yuan' + yuan:'yuan', + process:'Process' } }, zh: { @@ -128,7 +129,8 @@ export const messages = { file:'附件', hide:'隐藏', viewDetail:'查看详情', - yuan:'元' + yuan:'元', + process:'处理' } } } \ No newline at end of file diff --git a/src/i18n/oaI18n.js b/src/i18n/oaI18n.js index 1305828..72938a7 100644 --- a/src/i18n/oaI18n.js +++ b/src/i18n/oaI18n.js @@ -56,6 +56,7 @@ import { messages as visitUndoMessages } from '../views/oa/visitUndoLang' import { messages as doHistoryComplaintsMessages } from '../views/oa/doHistoryComplaintsLang' import { messages as myAuditHistoryOrdersMessages } from '../views/resource/myAuditHistoryOrdersLang' import { messages as visitFinishMessages } from '../views/oa/visitFinishLang' +import { messages as workTaskDetailMessages } from '../views/oa/workTaskDetailLang' export const messages ={ @@ -117,6 +118,7 @@ export const messages ={ ...doHistoryComplaintsMessages.en, ...myAuditHistoryOrdersMessages.en, ...visitFinishMessages.en, + ...workTaskDetailMessages.en, }, zh:{ ...activitiesTypeManageMessages.zh, @@ -176,5 +178,6 @@ export const messages ={ ...doHistoryComplaintsMessages.zh, ...myAuditHistoryOrdersMessages.zh, ...visitFinishMessages.zh, + ...workTaskDetailMessages.zh, } } \ No newline at end of file diff --git a/src/router/oaRouter.js b/src/router/oaRouter.js index 468e2f0..be2e821 100644 --- a/src/router/oaRouter.js +++ b/src/router/oaRouter.js @@ -269,4 +269,9 @@ export default [ name:'/pages/property/visitFinish', component: () => import('@/views/oa/visitFinishList.vue') }, + { + path:'/pages/oa/workTaskDetail', + name:'/pages/oa/workTaskDetail', + component: () => import('@/views/oa/workTaskDetailList.vue') + }, ] \ No newline at end of file diff --git a/src/views/oa/doWorkList.vue b/src/views/oa/doWorkList.vue index bdd6e87..2eb3c84 100644 --- a/src/views/oa/doWorkList.vue +++ b/src/views/oa/doWorkList.vue @@ -4,12 +4,9 @@ @@ -21,31 +18,21 @@ - + - + - + - @@ -66,104 +53,53 @@
{{ $t('doWork.table.title') }}
- - + + - + - + - + - + - + - + - + - + - + - + - + - +
@@ -272,7 +208,7 @@ export default { }, _toWorkDetailPage(work) { this.$router.push({ - path: '/pages/oa/workDetail', + path: '/views/oa/workDetail', query: { workId: work.workId } diff --git a/src/views/oa/workDetailList.vue b/src/views/oa/workDetailList.vue index 4a3f39d..be71305 100644 --- a/src/views/oa/workDetailList.vue +++ b/src/views/oa/workDetailList.vue @@ -14,7 +14,7 @@
- + @@ -150,7 +150,7 @@
{{ item.seqNum }}、
-
+
diff --git a/src/views/oa/workTaskDetailLang.js b/src/views/oa/workTaskDetailLang.js new file mode 100644 index 0000000..dd4805c --- /dev/null +++ b/src/views/oa/workTaskDetailLang.js @@ -0,0 +1,89 @@ +export const messages = { + en: { + workTaskDetail: { + title: 'Work Task Detail', + workId: 'Work ID', + workName: 'Work Name', + typeName: 'Type Name', + workCycle: 'Work Cycle', + once: 'One-time', + periodic: 'Periodic', + startTime: 'Start Time', + endTime: 'End Time', + createUserName: 'Creator', + curStaffName: 'Handler', + curCopyName: 'CC', + stateName: 'Status', + createTime: 'Create Time', + attachment: 'Attachment', + select: 'Select', + content: 'Content', + status: 'Status', + pending: 'Pending', + processed: 'Processed', + flow: 'Work Flow', + preStaff: 'Previous Handler', + staff: 'Handler', + validTime: 'Valid Time', + time: 'Time', + type: 'Type', + handler: 'Handler Process', + copy: 'CC Process', + process: 'Process', + remark: 'Remark', + attachmentList: 'Attachments', + action: 'Action', + pleaseSelect: 'Please Select', + + transfer: 'Transfer', + nextHandler: 'Next Handler', + selectNextHandler: 'Please select next handler', + inputRemark: 'Please input remark', + submitSuccess: 'Submit success', + submitFailed: 'Submit failed' + } + }, + zh: { + workTaskDetail: { + title: '任务单详情', + workId: '工单编号', + workName: '工单名称', + typeName: '类型名称', + workCycle: '标识', + once: '一次性工单', + periodic: '周期性工单', + startTime: '开始时间', + endTime: '结束时间', + createUserName: '发起人', + curStaffName: '处理人', + curCopyName: '抄送人', + stateName: '状态', + createTime: '创建时间', + attachment: '附件', + select: '选择', + content: '工作单内容', + status: '状态', + pending: '待处理', + processed: '已处理', + flow: '工作单流转', + preStaff: '前处理人', + staff: '处理人', + validTime: '任务有效期', + time: '时间', + type: '类型', + handler: '处理人办理', + copy: '抄送人办理', + remark: '意见', + attachmentList: '工作单附件', + action: '动作', + pleaseSelect: '请选择', + process: '办理', + transfer: '转单', + nextHandler: '下一处理人', + selectNextHandler: '必填,请选择下一处理人', + inputRemark: '必填,请填写工单说明', + submitSuccess: '办理成功', + submitFailed: '办理失败' + } + } +} \ No newline at end of file diff --git a/src/views/oa/workTaskDetailList.vue b/src/views/oa/workTaskDetailList.vue new file mode 100644 index 0000000..dd1263c --- /dev/null +++ b/src/views/oa/workTaskDetailList.vue @@ -0,0 +1,415 @@ + + + + + \ No newline at end of file -- libgit2 0.21.4