|
|
@ -1,7 +1,7 @@ |
|
|
|
import React, { useEffect, useRef, useState } from 'react'; |
|
|
|
import { connect } from 'react-redux'; |
|
|
|
import { ApiTable, EmisApiTable, EmisRequest, parseProcessData, judgmentProcessState } from '$utils' |
|
|
|
import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Toast } from '@douyinfe/semi-ui'; |
|
|
|
import { ApiTable, EmisApiTable, EmisRequest, parseProcessData, processState, judgmentProcessState } from '$utils' |
|
|
|
import { Skeleton, Button, Pagination, Form, Popconfirm, Table, Toast, Space, Tooltip } from '@douyinfe/semi-ui'; |
|
|
|
import { SkeletonScreen, WorkflowApprovalModal, } from "$components"; |
|
|
|
import moment from "moment"; |
|
|
|
|
|
|
@ -13,6 +13,7 @@ const Rest = (props) => { |
|
|
|
const [tableData, setTableData] = useState([]); |
|
|
|
const [loading, setLoading] = useState(true); |
|
|
|
const [workflowModalVisible, setWorkflowModalVisible] = useState(false) |
|
|
|
const [workflowModalType, setWorkflowModalType] = useState('') |
|
|
|
const [checkProcessInstanceId, setCheckProcessInstanceId] = useState(null) |
|
|
|
const [params, setParams] = useState({}) |
|
|
|
|
|
|
@ -102,10 +103,73 @@ const Rest = (props) => { |
|
|
|
}, { |
|
|
|
title: '操作', |
|
|
|
dataIndex: 'hadle', |
|
|
|
render: (text, record, index) => <div style={{ width: 60, color: "#1890ff", cursor: "pointer" }} onClick={() => { |
|
|
|
setCheckProcessInstanceId(record.processInstanceId) |
|
|
|
setWorkflowModalVisible(true) |
|
|
|
}}>查看详情</div> |
|
|
|
render: (text, record, index) => { |
|
|
|
let reviewTime = record.lastApproveTime ? |
|
|
|
moment(record.lastApproveTime).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
: |
|
|
|
record.variables.find(t => t.name == 'fsLastActionTime') ? |
|
|
|
moment.unix(record.variables.find(t => t.name == 'fsLastActionTime').value).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
: ''; |
|
|
|
console.log(reviewTime); |
|
|
|
let tooltipTitle = ''; |
|
|
|
if (record.processDeleted) { |
|
|
|
tooltipTitle = '该表单流程已删除,不支持重新发起'; |
|
|
|
} |
|
|
|
if (!record.processIsEnable) { |
|
|
|
tooltipTitle = '该表单流程已停用,不支持重新发起'; |
|
|
|
} |
|
|
|
if (!record.isCurrentVersion) { |
|
|
|
tooltipTitle = '该表单流程已修改,不支持重新发起' |
|
|
|
} |
|
|
|
return ( |
|
|
|
<Space> |
|
|
|
<a style={{ width: 60, color: "#1890ff", cursor: "pointer" }} onClick={() => { |
|
|
|
setWorkflowModalType('myApply') |
|
|
|
setCheckProcessInstanceId(record.processInstanceId) |
|
|
|
setWorkflowModalVisible(true) |
|
|
|
}}>查看详情</a> |
|
|
|
{ |
|
|
|
!reviewTime && processState.active == record.state ? |
|
|
|
<Popconfirm title='确认撤销申请?' onConfirm={() => { |
|
|
|
// setLoading(true) |
|
|
|
EmisRequest.post(EmisApiTable.getApprovalActionUrl.replace('{type}', 'interrupt'), |
|
|
|
{ |
|
|
|
procinstId: record.processInstanceId, |
|
|
|
actionName: '撤销' |
|
|
|
}) |
|
|
|
.then(res => { |
|
|
|
setLoading(false) |
|
|
|
backlogData() |
|
|
|
Toast.success({ content: '撤销流程成功', duration: 1, }) |
|
|
|
}, error => { |
|
|
|
Toast.error({ content: '撤销流程失败', duration: 1, }) |
|
|
|
setLoading(false) |
|
|
|
}); |
|
|
|
}}> |
|
|
|
<a style={{ color: "#1890ff", cursor: "pointer" }}>撤销</a> |
|
|
|
</Popconfirm> |
|
|
|
: '' |
|
|
|
}{ |
|
|
|
( |
|
|
|
record.state == processState.suspended // 已撤销 |
|
|
|
|| record.state == processState.externally // 手动结束 |
|
|
|
) ? |
|
|
|
tooltipTitle |
|
|
|
&& false |
|
|
|
? |
|
|
|
<Tooltip content={tooltipTitle} position={'leftBottom'}> |
|
|
|
重新发起 |
|
|
|
</Tooltip> |
|
|
|
: <a style={{ color: "#1890ff", cursor: "pointer" }} onClick={() => { |
|
|
|
setWorkflowModalType('submit') |
|
|
|
setCheckProcessInstanceId(record.processInstanceId) |
|
|
|
setWorkflowModalVisible(true) |
|
|
|
}}>重新发起</a> |
|
|
|
: '' |
|
|
|
} |
|
|
|
</Space > |
|
|
|
) |
|
|
|
} |
|
|
|
}] |
|
|
|
|
|
|
|
return ( |
|
|
@ -199,7 +263,7 @@ const Rest = (props) => { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<WorkflowApprovalModal |
|
|
|
type='myApply' |
|
|
|
type={workflowModalType} |
|
|
|
visible={workflowModalVisible} |
|
|
|
processAuditList={tableData} |
|
|
|
checkProcessInstanceId={checkProcessInstanceId} |
|
|
|