diff --git a/src/api/sys/WFProcess.ts b/src/api/sys/WFProcess.ts index 82dc14b..91cd0ed 100644 --- a/src/api/sys/WFProcess.ts +++ b/src/api/sys/WFProcess.ts @@ -1,12 +1,26 @@ // WFProcess 流程模版基本信息 import { defHttp } from '@/utils/http/axios'; -import {CreateParams} from './model/WFProcessModel' +import {CreateParams,DeleteDraftParams,RevokeAuditParams} from './model/WFProcessModel' +import {MyUncompletedParams} from './model/WFTaskModel' enum Api { // 创建流程 Create = '/api/WFProcess/Create', - SaveDraft='/api/WFProcess/SaveDraft' + // 保存草稿 + SaveDraft='/api/WFProcess/SaveDraft', + // 我的流程 + LoadMyPage='/api/WFProcess/LoadMyPage', + // 我的草稿 + LoadMyDraftPage='/api/WFProcess/LoadMyDraftPage', + // 删除草稿 + DeleteDraft='/api/WFProcess/DeleteDraft', + // 催办 + Urge='/api/WFProcess/Urge', + // 撤销 + Revoke='/api/WFProcess/Revoke', + // 审核撤销 + RevokeAudit='/api/WFProcess/RevokeAudit', } @@ -31,4 +45,60 @@ export function create( params?:CreateParams) { params, }, ); +} +/** + * @description: getLoadMyPage + */ + export function getLoadMyPage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyPage, params }); +} +/** + * @description: getLoadMyDraftPage + */ + export function getLoadMyDraftPage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyDraftPage, params }); +} +/** + * @description: 删除草稿 + */ + export function deleteDraft( params:DeleteDraftParams) { + return defHttp.post( + { + url: Api.DeleteDraft+"?id="+params.id, + params, + }, + ); +} +/** + * @description: 催办 + */ + export function urge( params:DeleteDraftParams) { + return defHttp.post( + { + url: Api.Urge+"?id="+params.id, + params, + }, + ); +} +/** + * @description: 撤销 + */ + export function revoke( params:DeleteDraftParams) { + return defHttp.post( + { + url: Api.Revoke+"?id="+params.id, + params, + }, + ); +} +/** + * @description: 审核撤销 + */ + export function revokeAudit(params:RevokeAuditParams) { + return defHttp.post( + { + url: Api.RevokeAudit+"?id="+params.id+"&taskId="+params.taskId, + params, + }, + ); } \ No newline at end of file diff --git a/src/api/sys/WFTask.ts b/src/api/sys/WFTask.ts new file mode 100644 index 0000000..3b79511 --- /dev/null +++ b/src/api/sys/WFTask.ts @@ -0,0 +1,40 @@ + +// WFTask +import { defHttp } from '@/utils/http/axios'; +import {MyUncompletedParams} from './model/WFTaskModel' + + enum Api { + // 我的待办 + LoadMyUncompletedPage = '/api/WFTask/LoadMyUncompletedPage', + // 我的已办 + LoadMyCompletedPage='/api/WFTask/LoadMyCompletedPage', + // 我的传阅 + LoadMyReadPage='/api/WFTask/LoadMyReadPage', + // 我的委托 + LoadMyDelegatePage='/api/WFTask/LoadMyDelegatePage', +} + +/** + * @description: getLoadMyUncompletedPage + */ + export function getLoadMyUncompletedPage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyUncompletedPage, params }); +} +/** + * @description: getLoadMyCompletedPage + */ + export function getLoadMyCompletedPage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyCompletedPage, params }); +} +/** + * @description: getLoadMyReadPage + */ + export function getLoadMyReadPage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyReadPage, params }); +} +/** + * @description: getLoadMyDelegatePage + */ + export function getLoadMyDelegatePage(params?: MyUncompletedParams) { + return defHttp.get({ url: Api.LoadMyDelegatePage, params }); +} \ No newline at end of file diff --git a/src/api/sys/model/WFProcessModel.ts b/src/api/sys/model/WFProcessModel.ts index 144629d..15c8a2a 100644 --- a/src/api/sys/model/WFProcessModel.ts +++ b/src/api/sys/model/WFProcessModel.ts @@ -5,7 +5,7 @@ processId: string, schemeCode: string, title: string, - userId: string, + userId?: string, toUserId: string, nextUsers: { additionalProp1: string, @@ -18,4 +18,17 @@ stampImg: string, stampPassWord: string, nextId: string -} \ No newline at end of file +} +/** + * @description: 删除草稿参数 + */ + export interface DeleteDraftParams { + id: string, +} +/** + * @description: 审核撤销参数 + */ + export interface RevokeAuditParams { + id: string, + taskId:string, +} diff --git a/src/api/sys/model/WFTaskModel.ts b/src/api/sys/model/WFTaskModel.ts new file mode 100644 index 0000000..f7891c7 --- /dev/null +++ b/src/api/sys/model/WFTaskModel.ts @@ -0,0 +1,10 @@ +/** + * @description: 我的待办查询参数 + */ + export interface MyUncompletedParams { + keyWord: string; + page: number; + limit: number; + startDate: string; + endDate: string; +} \ No newline at end of file diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index b5ec6c1..7cec921 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -44,8 +44,8 @@ const transform: AxiosTransform = { return res.data; } // 错误的时候返回 - const { data } = res; + if (!data) { // return '[HTTP] Request has no return value'; throw new Error(t('sys.api.apiRequestFailed')); @@ -159,7 +159,7 @@ const transform: AxiosTransform = { (config as Recordable).headers.Authorization = options.authenticationScheme ? `${options.authenticationScheme} ${token}` : token; - config.headers['X-Token'] = token; + config.headers['X-Token'] = token; } return config; }, @@ -234,10 +234,10 @@ function createAxios(opt?: Partial) { // 基础接口地址 // baseURL: globSetting.apiUrl, - headers: { + headers: { 'Content-Type': ContentTypeEnum.JSON, - 'T-Token':getToken() - }, + 'T-Token': getToken() + }, // 如果是form-data格式 // headers: { 'Content-Type': ContentTypeEnum.FORM_URLENCODED }, // 数据处理方式 diff --git a/src/views/demo/workflow/create/preview.vue b/src/views/demo/workflow/create/preview.vue index 65c998c..d17d897 100644 --- a/src/views/demo/workflow/create/preview.vue +++ b/src/views/demo/workflow/create/preview.vue @@ -39,17 +39,19 @@ import { SendOutlined, SaveOutlined, CloseCircleOutlined, ZoomInOutlined, RotateLeftOutlined, RotateRightOutlined, ClearOutlined } from '@ant-design/icons-vue'; import { getDetail } from '@/api/sys/WFSchemeInfo' - import { create ,saveDraft} from '@/api/sys/WFProcess' + import { create, saveDraft } from '@/api/sys/WFProcess' import { getLoadMyUserList } from '@/api/sys/WFDelegate' import { useRoute } from 'vue-router' import { useMultipleTabStore } from '@/store/modules/multipleTab'; import { useRouter } from 'vue-router'; import { useUserStore } from '@/store/modules/user'; import { buildGUID } from '@/utils/uuid'; + import { useMessage } from '/@/hooks/web/useMessage'; + const { createConfirm, createMessage } = useMessage(); const userStore = useUserStore(); - console.log() const userInfo = userStore.getUserInfo + console.log(userInfo) const prefixCls = 'preview-box' const tabStore = useMultipleTabStore(); const router = useRouter(); @@ -95,7 +97,7 @@ async function getDetailInfo() { let data = await getDetail({ code: code }) flowContent.value = data.scheme.flowContent - formData.userId = userInfo.account + formData.userId = userInfo.id let content = JSON.parse(data.scheme.content) let wfData = content.wfData const currentNode = wfData.find(t => t.type == "bpmn:StartEvent") @@ -118,16 +120,19 @@ userId: formData.userId, title: formData.title, processId: buildGUID() - } if (!designerData.isDraft) { await saveDraft(querys) querys.schemeCode = '' designerData.isDraft = true } - console.log(querys) const data = await create(querys) - closePreview() + if (data) { + closePreview() + return createMessage.info('创建成功'); + } else { + return createMessage.error('创建失败'); + } } function closePreview() { diff --git a/src/views/demo/workflow/scheme/HistoryDrawer.vue b/src/views/demo/workflow/scheme/HistoryDrawer.vue index 443550e..5a4ee0d 100644 --- a/src/views/demo/workflow/scheme/HistoryDrawer.vue +++ b/src/views/demo/workflow/scheme/HistoryDrawer.vue @@ -6,8 +6,7 @@