import React, {useEffect, useState, useRef} from 'react'; import {Form} from '@ant-design/compatible'; import '@ant-design/compatible/assets/index.css'; import {connect} from 'dva'; import {Steps, Button, Modal, Tooltip} from 'antd'; import styles from './Index.less'; import {getCurrentUser} from '@/utils/authority'; const {Step} = Steps; // 时间节点 function TimeNode(props) { const { isAuditor, flowDetail, style, flow, versionList, version, templateId, setAuditVisible, projectId, dispatch, stepDirection, currentUser, } = props; const {current, list, active} = flow; console.log(list.FlowNodes) function calculateHoursDifference(date1, date2) { const timestamp1 = date1.getTime(); // 获取第一个Date对象的时间戳(以毫秒为单位) const timestamp2 = date2.getTime(); // 获取第二个Date对象的时间戳(以毫秒为单位) const timeDifferenceInMillis = Math.abs(timestamp2 - timestamp1); // 计算时间戳之间的差值(毫秒数) const hoursDifference = timeDifferenceInMillis / (1000 * 60 * 60); // 将差值转换为小时数 return hoursDifference.toFixed(2); } const getDescription = (node, prevNode) => { let str = node?.AuditRoleInfo ? `审批人:${node?.AuditRoleInfo.Name || '-'}` : `审批人:${node?.AuditorUser.CName || '-'}`; const date = new Date(node.audit_time) const auditTime = node.audit_time === '0001-01-01T00:00:00Z' ? '-' : date.toLocaleDateString('zh-CN', { format: 'YYYY-MM-DD hh:mm:ss' }) // const residenceTime = auditTime === '-' ? '-' : calculateHoursDifference(date, new Date(prevNode.audit_time)) return (
{str}
审批意见:{node.desc || '-'}
审批时间:{auditTime}
{/*
*/} {/* */} {/* 滞留时间:{`${residenceTime}小时`} */} {/* */} {/*
*/}
); // return str; }; if (!list || list.FlowNodes?.length != 0) { return (
{list.FlowNodes.map(( item) => { return })} {isAuditor && active != 0 && (
)}
); } // else { // if (!flowDetail?.nodes) return; // const node = flowDetail.nodes.find(item => item.Id == nodeId); // return `当前节点:${node?.label || '-'}`; // } return null; } export default connect(({user, detail}) => ({ currentUser: user.currentUser, versionList: detail.versionList, }))(TimeNode);