// 审批详情 import React, { useState, useMemo, useEffect } from 'react'; import { Steps, Button, Tooltip, message, Spin } from 'antd'; import { useParams, useRequest, useModel, useLocation } from 'umi'; import AuditModal from './components/AuditModal'; import FormAndFilesNode from './components/FormAndFilesNode'; import { queryAuditDetail, updateAuditList } from '@/services/boom'; import { queryGetContractList } from '@/services/contract'; import PageContent from '@/components/PageContent'; import SignModal from './components/SignModal'; import ContractDetail from '../ContractManager/detail'; import { Type } from '../Profile'; import { queryContractDetail } from '../../services/contract'; function OaAuditDetail() { const { initialState } = useModel('@@initialState'); const user = initialState?.user || {}; const [auditVisible, setAuditVisible] = useState(false); const location = useLocation(); const { state: { id, type, code }, } = location; const [visible, setVisible] = useState(false); useEffect(() => { if (type == Type.CON) runCon({ code }); }, [type]); const { data, loading, refresh } = useRequest(queryAuditDetail, { defaultParams: [{ id }], }); const { current_seq, form, OaAuditList, Files = [], audit_status, AuditorInfo, } = data || {}; // if (OaAuditList) console.log(JSON.stringify(OaAuditList)); //请求列表 const { data: conData, run: runCon, loading: conLoading, } = useRequest((data) => queryContractDetail(data), { manual: true, formatResult: (res) => { return res?.data?.detail; }, onSuccess: (res) => {}, }); // console.log(conData); const getDescription = (node) => { let str = node?.AuditRoleInfo ? `审批人:${node?.AuditRoleInfo.Name || '-'}` : `审批人:${node?.AuditorUser.CName || '-'}`; if (node.desc) { return (
{str}
审批意见
); } return str; }; const updateRes = useRequest( (values) => { let list = OaAuditList.map((item) => item.auditor); if (values.type == 'before') { list.splice(current_seq - 1, 0, values.approver); } else { list.splice(current_seq, 0, values.approver); } return updateAuditList( { oa_id: Number(id), audit_list: list, }, values.type == 'after', ); }, { manual: true, onSuccess() { message.success('加签成功'); setVisible(false); refresh(); }, }, ); const btns = useMemo(() => { if (!user || !data) return; if ( user.ID == AuditorInfo?.ID && // 0 待审核; 1 上级审批通过 (audit_status === 0 || audit_status === 1) ) { return [ , , , ]; } return []; }, [user, data]); return ( ({ title: item.seq_name, description: getDescription(item), }))} > {type == Type.OA ? ( ) : ( )} setAuditVisible(false)} onOk={refresh} /> setVisible(false)} onCreate={(values) => updateRes.run(values)} loading={updateRes.loading} /> ); } export default OaAuditDetail;