diff --git a/web/client/src/components/workflow/index.jsx b/web/client/src/components/workflow/index.jsx
index 3809e4f..c315760 100644
--- a/web/client/src/components/workflow/index.jsx
+++ b/web/client/src/components/workflow/index.jsx
@@ -3,6 +3,7 @@
import React from 'react';
import { connect } from 'react-redux';
import { Modal, Spin, Notification, Row, Space, Button } from '@douyinfe/semi-ui';
+import { push } from 'react-router-redux';
import { RouteTable } from '../../utils/webapi';
import { EmisRequest, EmisApiTable } from '$utils';
import { useState } from 'react';
@@ -47,7 +48,7 @@ const WorkFlowModal = (props) => {
const handelApprovalCenter = (activeKey) => {
if (webOa) {
- window.open(webOa + "/approval/center?activeKey=" + activeKey);
+ dispatch(push("/workOrder/workOrderList/preserve"));
}
}
@@ -78,8 +79,8 @@ const WorkFlowModal = (props) => {
if (event && event.data && typeof (event.data) == 'string') {
let data = JSON.parse(event.data);
const { type, isSaveDraft, setIntervalSave, draftId, msg } = data;
+ console.log(data, msg);
if (msg) {
- console.log(msg);
Notification.success({ title: msg })
}
setDraftId(draftId);
@@ -89,7 +90,11 @@ const WorkFlowModal = (props) => {
if (setIntervalSave) {
Notification.success({ title: '60秒,表单暂存草稿成功' });
} else {
- Notification.success(
保存草稿成功,可在 handelApprovalCenter("save")}>【审批中心/保存待发】查看详情, 10);
+ Notification.success({
+ title:
保存草稿成功,可在 handelApprovalCenter("save")}
+ >【工单列表/我发起的】查看详情
+ });
}
} else {
Notification.success({ title: '提交成功,可在【工单列表/我发起的】查看详情' });
@@ -110,7 +115,6 @@ const WorkFlowModal = (props) => {
}
}, [])
- console.log(webEmis, processId);
return (
{
/>
-
-
-
);
diff --git a/web/client/src/sections/workOrder/actions/jobOrder.js b/web/client/src/sections/workOrder/actions/jobOrder.js
index b977ddd..deddc14 100644
--- a/web/client/src/sections/workOrder/actions/jobOrder.js
+++ b/web/client/src/sections/workOrder/actions/jobOrder.js
@@ -2,6 +2,18 @@
import { ApiTable, basicAction } from '$utils'
+export function getPomsProjectBasicAll () {
+ return dispatch => basicAction({
+ type: 'get',
+ dispatch: dispatch,
+ actionType: 'GET_POMS_PROJECT_BASIC_ALL',
+ url: `${ApiTable.getPomsProjectBasicAll}?includeDel=true`,
+ msg: { error: '获取项目列表失败' },
+ reducer: { name: 'pomsProjectBasicAll' }
+ });
+}
+
+
export function getEnabledWorkflowProcess () {
return dispatch => basicAction({
type: 'get',
diff --git a/web/client/src/sections/workOrder/containers/aboutMe.jsx b/web/client/src/sections/workOrder/containers/aboutMe.jsx
index 1dddd58..d99f061 100644
--- a/web/client/src/sections/workOrder/containers/aboutMe.jsx
+++ b/web/client/src/sections/workOrder/containers/aboutMe.jsx
@@ -1,14 +1,14 @@
import React, { useEffect, useRef, useState } from 'react';
import { connect } from 'react-redux';
-import { ApiTable, EmisApiTable, EmisRequest } from '$utils'
+import { ApiTable, EmisApiTable, EmisRequest, parseProcessData, judgmentProcessState } from '$utils'
import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Toast } from '@douyinfe/semi-ui';
import { IconSearch } from '@douyinfe/semi-icons';
import { SkeletonScreen, WorkflowApprovalModal } from "$components";
import moment from "moment";
const Rest = (props) => {
- const { dispatch, actions, user, socket } = props
-
+ const { dispatch, actions, user, socket, pomsProjectBasicAll } = props
+ const { workOrder } = actions
const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息
const [limits, setLimits] = useState(0)//每页实际条数
const [tableData, setTableData] = useState([]);
@@ -20,23 +20,42 @@ const Rest = (props) => {
useEffect(() => {
backlogData()
+ if (!pomsProjectBasicAll.length) {
+ dispatch(workOrder.getPomsProjectBasicAll())
+ }
}, [])
let backlogData = (obj = { limit: 10, offset: 0 }) => {
-
setLoading(true)
EmisRequest.get(EmisApiTable.processInstancemMyNoticeList,
- { userId: user?.id, businessType: '', ...obj })
+ {
+ userId: user?.id,
+ businessType: '运维中台表单',
+ ...obj,
+ queryFormData: 'true'
+ })
.then(res => {
- setTableData(res?.data)
+ let nextTableData = (res?.data || []).map(r => {
+ let pomsNeedData = {}
+ if (r?.formData?.formData && r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema) {
+ pomsNeedData = parseProcessData({
+ formSchema: r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema,
+ formData: r?.formData?.formData
+ })
+ }
+ return {
+ ...r,
+ pomsNeedData
+ }
+ })
+ setTableData(nextTableData)
setLoading(false)
}, error => {
Toast.error({ content: '抄送我的工单列表请求失败', duration: 1, })
setLoading(false)
-
});
EmisRequest.get(EmisApiTable.processInstancemMyNoticeCount,
- { userId: user?.id, businessType: '', ...obj, limit: "", offset: "" })
+ { userId: user?.id, businessType: '运维中台工单', ...obj, limit: "", offset: "" })
.then(res => {
setLimits(res.count || 0)
}, error => {
@@ -50,10 +69,22 @@ const Rest = (props) => {
render: (text, record, index) => index + 1
}, {
title: '标题',
- dataIndex: 'nae',
+ dataIndex: 'title',
+ render: (text, record, index) => {
+ return record?.pomsNeedData?.title?.value || ''
+ }
}, {
title: '关联项目',
- dataIndex: 'nae',
+ dataIndex: 'pomsProject',
+ render: (text, record, index) => {
+ const pomsProjectId = record?.pomsNeedData?.pomsProjectId?.value
+ if (pomsProjectId) {
+ const corProject = pomsProjectBasicAll.find(p => p.value == pomsProjectId)
+ return corProject?.label || ''
+ } else {
+ return ''
+ }
+ }
}, {
title: '申请人',
dataIndex: 'applyerName',
@@ -62,14 +93,20 @@ const Rest = (props) => {
dataIndex: 'applyDepartmentName',
}, {
title: '审批状态',
- dataIndex: 'apName',
+ dataIndex: 'status',
+ render: (text, record) => {
+ return judgmentProcessState(record, 'copy')
+ },
}, {
title: '提交时间',
dataIndex: 'startTime',
render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--'
}, {
title: '期望完成时间',
- dataIndex: 'nae',
+ dataIndex: 'expectTime',
+ render: (text, record, index) => {
+ return record?.pomsNeedData?.expectTime?.value || ''
+ }
}, {
title: '操作',
dataIndex: 'hadle',
@@ -187,13 +224,11 @@ const Rest = (props) => {
}
function mapStateToProps (state) {
- const { auth, global, members, webSocket } = state;
+ const { auth, global, pomsProjectBasicAll } = state;
return {
- // loading: members.isRequesting,
user: auth.user,
- // actions: global.actions,
- // members: members.data,
- // socket: webSocket.socket
+ actions: global.actions,
+ pomsProjectBasicAll: pomsProjectBasicAll.data || []
};
}
diff --git a/web/client/src/sections/workOrder/containers/initiated.jsx b/web/client/src/sections/workOrder/containers/initiated.jsx
index 6e383f8..d71ee57 100644
--- a/web/client/src/sections/workOrder/containers/initiated.jsx
+++ b/web/client/src/sections/workOrder/containers/initiated.jsx
@@ -1,13 +1,13 @@
import React, { useEffect, useRef, useState } from 'react';
import { connect } from 'react-redux';
-import { ApiTable, EmisApiTable, EmisRequest } from '$utils'
+import { ApiTable, EmisApiTable, EmisRequest, parseProcessData, judgmentProcessState } from '$utils'
import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Toast } from '@douyinfe/semi-ui';
import { SkeletonScreen, WorkflowApprovalModal, } from "$components";
import moment from "moment";
const Rest = (props) => {
- const { dispatch, actions, user, socket } = props
-
+ const { dispatch, actions, user, socket, pomsProjectBasicAll } = props
+ const { workOrder } = actions
const [query, setQuery] = useState({ limit: 10, offset: 0 }); //页码信息
const [limits, setLimits] = useState(0)//每页实际条数
const [tableData, setTableData] = useState([]);
@@ -18,20 +18,40 @@ const Rest = (props) => {
useEffect(() => {
backlogData()
+ if (!pomsProjectBasicAll.length) {
+ dispatch(workOrder.getPomsProjectBasicAll())
+ }
}, [])
let backlogData = (obj = { limit: 10, offset: 0 }) => {
setLoading(true)
EmisRequest.get(EmisApiTable.processInstancemMyApplyList,
- { userId: user?.id, businessType: '', ...obj })
+ {
+ userId: user?.id,
+ businessType: '运维中台表单',
+ ...obj,
+ queryFormData: 'true'
+ })
.then(res => {
- setTableData(res?.data)
+ let nextTableData = (res?.data || []).map(r => {
+ let pomsNeedData = {}
+ if (r?.formData?.submitFormData && r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema) {
+ pomsNeedData = parseProcessData({
+ formSchema: r?.formData?.workflowProcessVersion?.workflowProcessForm?.formSchema,
+ formData: r?.formData?.submitFormData
+ })
+ }
+ return {
+ ...r,
+ pomsNeedData
+ }
+ })
+ setTableData(nextTableData)
setLimits(res.count || 0)
setLoading(false)
}, error => {
Toast.error({ content: '由我发起的工单列表请求失败', duration: 1, })
setLoading(false)
-
});
}
@@ -41,10 +61,22 @@ const Rest = (props) => {
render: (text, record, index) => index + 1
}, {
title: '标题',
- dataIndex: 'nae',
+ dataIndex: 'title',
+ render: (text, record, index) => {
+ return record?.pomsNeedData?.title?.value || ''
+ }
}, {
title: '关联项目',
- dataIndex: 'nae',
+ dataIndex: 'pomsProject',
+ render: (text, record, index) => {
+ const pomsProjectId = record?.pomsNeedData?.pomsProjectId?.value
+ if (pomsProjectId) {
+ const corProject = pomsProjectBasicAll.find(p => p.value == pomsProjectId)
+ return corProject?.label || ''
+ } else {
+ return ''
+ }
+ }
}, {
title: '申请人',
dataIndex: 'applyerName',
@@ -53,14 +85,20 @@ const Rest = (props) => {
dataIndex: 'applyDepartmentName',
}, {
title: '审批状态',
- dataIndex: 'apName',
+ dataIndex: 'status',
+ render: (text, record) => {
+ return judgmentProcessState(record, 'initiate')
+ },
}, {
title: '提交时间',
dataIndex: 'startTime',
render: (text, record, index) => text && moment(text).format('YYYY-MM-DD HH:mm:ss') || '--'
}, {
title: '期望完成时间',
- dataIndex: 'nae',
+ dataIndex: 'expectTime',
+ render: (text, record, index) => {
+ return record?.pomsNeedData?.expectTime?.value || ''
+ }
}, {
title: '操作',
dataIndex: 'hadle',
@@ -178,13 +216,11 @@ const Rest = (props) => {
}
function mapStateToProps (state) {
- const { auth, global, members, webSocket } = state;
+ const { auth, global, pomsProjectBasicAll } = state;
return {
- // loading: members.isRequesting,
user: auth.user,
- // actions: global.actions,
- // members: members.data,
- // socket: webSocket.socket
+ actions: global.actions,
+ pomsProjectBasicAll: pomsProjectBasicAll.data || []
};
}
diff --git a/web/client/src/sections/workOrder/containers/jobOrder.jsx b/web/client/src/sections/workOrder/containers/jobOrder.jsx
index 32fd548..cdc83e5 100644
--- a/web/client/src/sections/workOrder/containers/jobOrder.jsx
+++ b/web/client/src/sections/workOrder/containers/jobOrder.jsx
@@ -85,21 +85,12 @@ const JobOrder = (props) => {
onCancel={() => { setWorkflowModalVisible(false) }}
successCallBack={() => { setWorkflowModalVisible(false) }}
/>
- {/*