import { message } from "antd/lib/index"; import { Layout,Descriptions, Tabs, Steps, Button, Popconfirm, Row, Col, Form, Input, Select, Table, Drawer ,Icon} from 'antd'; import React from 'react'; import { PlusOutlined } from '@ant-design/icons'; import ReactToPrint from "react-to-print"; import styles from '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import { connect } from 'dva'; const { Header, Footer, Sider, Content } = Layout; const TabPane = Tabs.TabPane; const { TextArea } = Input; const { Step } = Steps; import { extend, extendRule, initFilter, initQueryFilter, getOnlyPropertyData, extendInclude, empty, getDataFieldValue, guid, initFilterGroup, extendGroupRule } from "../../../utils/common"; import FormPage from '../../../components/FormPage' class PFCommonApproveView extends React.Component { constructor(props) { super(props) this.state = { title: '流程审核', data: {}, approveCode: '', isCurrent: false, tmpData: {}, visible: false, userData: [], selectUserId: '', appVisible:false, BtnAgreeDisplay:'none' } }; componentDidMount() { if (this.props.data?.id) { this.loadData(this.props.data?.id,false); this.setState({ appVisible: this.props.data.appVisible?this.props.data.appVisible:false, BtnAgreeDisplay:this.props.data.BtnAgreeDisplay?this.props.data.BtnAgreeDisplay:'none', }) } } componentWillReceiveProps(NextProps) { // if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) { // this.loadData(NextProps.data?.id); // } if(NextProps.data?.key && this.props.data?.key != NextProps.data?.key) { if (NextProps.data?.id) { this.loadData(NextProps.data?.id,true); this.setState({ appVisible: NextProps.data.appVisible?NextProps.data.appVisible:false, BtnAgreeDisplay:NextProps.data.BtnAgreeDisplay?NextProps.data.BtnAgreeDisplay:'none', }) } } } compare = (val1, val2) => { return val1.NUM - val2.NUM; }; onchange = (e) => { let tmpData = { ...this.state.data }; tmpData.CurrentNode.NODE_APPROVE_STATUS = e; this.setState({ data: tmpData }) } selectChange = (e) => { const jsonUser = initFilter(this.props.login.OrgId, '', '', 0, 1) extendRule(jsonUser, "NAME", 1, e); this.props.dispatch({ type: 'app/getDataByPost', url: 'FM/User/OrderEntities', payload: jsonUser, onlyData: false, onComplete: (ret) => { this.setState({ userData: ret.Data }); } }); this.setState({ selectUserId: e }) } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } onClick = (e) => { this.props.form.validateFields((err, values) => { //console.log('Received values of form: ', values); if (err) { return; } this.props.dispatch({ type: 'app/getDataByPost', url: 'PF/Approve/Submit', payload: this.state.data, onlyData: false, onComplete: (re) => { if (re && re.IsSuccessful) { if (re.Data) { //回调函数 this.props.dispatch({ type: 'app/getDataByGet', url: re.Data + "?id=" + this.state.data.DATA_ID, onlyData: false, onComplete: (callbak) => { if (callbak && callbak.IsSuccessful) { message.success("提交审批成功"); this.BtnClose(); } else { message.success("提交审批成功,回调失败"); } } }); } else { message.success("提交审批成功"); this.BtnClose(); } } else { message.error("提交审批失败"); } } }) }); } loadDataOld(dataid,appVisibleTemp) { const json = initFilter(this.props.login.OrgId, this.props.data.id, '', 0, 1, this.props.data.PARAM ?? null, this.props.data.PARAM2); this.setState({ appVisible:appVisibleTemp, BtnAgreeDisplay:this.props.data.BtnAgreeDisplay?this.props.data.BtnAgreeDisplay:'inline' }); this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'PF/Approve/GetDataId', onComplete: (ret) => { if (ret) { const jsonApp = initFilter(this.props.login.OrgId) extendRule(jsonApp, 'ID', 1, ret); extendInclude(jsonApp, "Nav_ApproveDetails") extendInclude(jsonApp, "Nav_ApproveDetails.Nav_ApproveUser") this.props.dispatch({ type: 'app/getDataByPost', url: 'PF/PFApprove/FullGet', payload: jsonApp, onlyData: false, onComplete: (re) => { if (re && re.IsSuccessful && re.Data && re.Data.Nav_ApproveDetails.length > 0) { const newtmpData = { data: { id: re.Data.DATA_ID, isShow: true, enums: this.props.app.enums, }, formCode: re.Data.APPROVE_CODE, } re.Data.Nav_ApproveDetails.sort(this.compare); let currentNodes = re.Data.Nav_ApproveDetails?.filter(v => v.IS_CURRENT == true); let isCurrent = false; if (currentNodes && currentNodes.length > 0) { let currentUserNode = currentNodes.filter(v => v.APPROVE_USER_ID == this.props.login.userId); if (currentUserNode != null) { isCurrent = true; re.Data.CurrentNode = currentUserNode[0]; } else { re.Data.CurrentNode = currentNodes[0]; } // re.Data.CurrentNode.NODE_APPROVE_STATUS = 10; } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: re.Data.NAME, data: re.Data, visible: true, }); } else { const newtmpData = { data: { id: this.props.data.id, isShow: true }, formCode: this.props.data.viewCode, } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: this.props.login.currActivatedMenu?.NAME, //data: re.Data, visible: false }); // message.error("没有审批记录"); } } }) } else { const newtmpData = { data: { id: this.props.data.id, isShow: true }, formCode: this.props.data.viewCode, } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: this.props.login.currActivatedMenu?.NAME, //data: re.Data, visible: false }); } } }); } loadData(dataid,appVisibleTemp) { const json = initFilter(this.props.login.OrgId, this.props.data.id, '', 0, 1, this.props.data.PARAM ?? null, this.props.data.PARAM2); this.setState({ appVisible:appVisibleTemp, BtnAgreeDisplay:this.props.data.BtnAgreeDisplay?this.props.data.BtnAgreeDisplay:'inline' }); json.Parameter22=this.props.data?.TASK_ORGID this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'PF/Approve/GetApproveInfo', onComplete: (re) => { if (re) { // re = re.map(t=>t.Nav_ApproveDetails.sort(this.compare)) if (re && re[0].Nav_ApproveDetails.length > 0) { const newtmpData = { data: { id: re[0].DATA_ID, isShow: true, enums: this.props.app.enums, }, formCode: re[0].APPROVE_CODE, } re[0].Nav_ApproveDetails.sort(this.compare); let currentNodes = re[0].Nav_ApproveDetails?.filter(v => v.IS_CURRENT == true); let isCurrent = false; if (currentNodes && currentNodes.length > 0) { let currentUserNode = currentNodes.filter(v => v.APPROVE_USER_ID == this.props.login.userId); if (currentUserNode != null) { isCurrent = true; re[0].CurrentNode = currentUserNode[0]; } else { re[0].CurrentNode = currentNodes[0]; } // re.Data.CurrentNode.NODE_APPROVE_STATUS = 10; } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: re[0].NAME, data: re, visible: true, }); } else { const newtmpData = { data: { id: this.props.data.id, isShow: true }, formCode: this.props.data.viewCode, } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: this.props.login.currActivatedMenu?.NAME, //data: re.Data, visible: false }); // message.error("没有审批记录"); } } else { const newtmpData = { data: { id: this.props.data.id, isShow: true }, formCode: this.props.data.viewCode, } this.setState({ //editData, //isCurrent, tmpData: newtmpData, title: this.props.login.currActivatedMenu?.NAME, //data: re.Data, visible: false }); } } }); } showAppDrawer= () => { this.setState({ appVisible: true, }); } onClose = () => { this.setState({ appVisible:false, }); }; render() { const enums = this.props.app ? this.props.app.enums : null; // const headColumnConfig = this.getEditConfig() //const columns = headColumnConfig ? headColumnConfig.columns : [] const { form, location, dispatch, match, loading } = this.props; const { userData } = this.state; const { getFieldDecorator, validateFields, validateFieldsAndScroll, setFieldsValue } = form; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 }, }; const stepStyle = { marginBottom: 60, boxShadow: '0px -1px 0 0 #e8e8e8 inset', }; return ( // {/* */} {/* { this.state.data && this.state.data.Nav_ApproveDetails? {this.state.data?.Nav_ApproveDetails?.map((n) => { let status = 'wait'; let result = ''; if (n.NODE_APPROVE_STATUS == 10) { status = 'finish';result='同意'; } else if (n.NODE_APPROVE_STATUS == 20) { status = 'error';result='驳回'; } if (n.IS_CURRENT) { status = 'process'; } return {"审批人:"+n.Nav_ApproveUser?.NAME}
{"审批时间:"+(n.NODE_APPROVE_TIME == "0001-01-01 00:00:00" ? '' : n.NODE_APPROVE_TIME)}
{"审批结论:"+result}
{"审批意见:"+(n.CONTEXT ==undefined?'': n.CONTEXT)} } status={status} icon={status=='process'?:null} /> // description={n.Nav_ApproveUser?.NAME + (n.NODE_APPROVE_TIME == "0001-01-01 00:00:00" ? '' : n.NODE_APPROVE_TIME)} })}
:"暂无审批详情" } */} { this.state.data && this.state.data[0] ? this.state.data.map((m,i)=>{ return { m.Nav_ApproveDetails?.sort(this.compare).map((n) => { let status = 'wait'; let result = ''; if (n.NODE_APPROVE_STATUS == 10) { status = 'finish';result='同意'; } else if (n.NODE_APPROVE_STATUS == 20) { status = 'error';result='驳回'; } if (n.IS_CURRENT) { status = 'process'; } return {"审批人:"+n.Nav_ApproveUser?.NAME}
{"审批时间:"+(n.NODE_APPROVE_TIME == "0001-01-01 00:00:00" ? '' : n.NODE_APPROVE_TIME)}
{"审批结论:"+result}
{"审批意见:"+(n.CONTEXT ==undefined?'': n.CONTEXT)} } status={status} icon={status=='process'?:null} /> // description={n.Nav_ApproveUser?.NAME + (n.NODE_APPROVE_TIME == "0001-01-01 00:00:00" ? '' : n.NODE_APPROVE_TIME)} })}
}) :"暂无审批详情" } {/*
*/}
{/*

*/} {/*
{this.state.data?.Nav_ApproveDetails?.map((n) => { let status = 'wait'; if (n.NODE_APPROVE_STATUS == 10) { status = 'finish'; } else if (n.NODE_APPROVE_STATUS == 20) { status = 'error'; } if (n.IS_CURRENT) { status = 'process'; } return })}
*/} {/* { this.state.data && this.state.data[0]?
{ this.state.data[0].Nav_ApproveDetails && this.state.data[0].Nav_ApproveDetails.map((item, i) => { if (item.NODE_APPROVE_STATUS != 0) { if (item.Nav_ApproveUser != null && item.Nav_ApproveUser.FILE_PATH != null) { return
{(item.NAME? item.NAME: "")}
{("审批结论:"+(item.CONTEXT===undefined?"同意":item.CONTEXT ))}
{("审核时间:"+item.NODE_APPROVE_TIME)}

{item.Nav_ApproveUser.NAME}

} else { return
{(item.NAME? item.NAME: "")}
{("审批结论:"+(item.CONTEXT===undefined?"同意":item.CONTEXT ))}
{("审核时间:"+item.NODE_APPROVE_TIME)}


} } }) }
:null } */} { this.state.data && this.state.data[0]?
审批详情 { this.state.data[0].Nav_ApproveDetails && this.state.data[0].Nav_ApproveDetails.map((item, i) => { if(item.NODE_APPROVE_STATUS == 20) { return
{(item.NAME? item.NAME: "")}
{("审批结论:"+(item.CONTEXT===undefined?"驳回":item.CONTEXT ))}
{("审核时间:"+item.NODE_APPROVE_TIME)}


} else if (item.NODE_APPROVE_STATUS != 0) { if (item.Nav_ApproveUser != null && item.Nav_ApproveUser.FILE_PATH != null) { return
{(item.NAME? item.NAME: "")}
{("审批结论:"+(item.CONTEXT===undefined?"同意":item.CONTEXT ))}
{("审核时间:"+item.NODE_APPROVE_TIME)}

{item.Nav_ApproveUser.NAME}

} else { return
{(item.NAME? item.NAME: "")}
{("审批结论:"+(item.CONTEXT===undefined?"同意":item.CONTEXT ))}
{("审核时间:"+item.NODE_APPROVE_TIME)}


} } }) }
:null }
) } } export default connect(({ login, app }) => ({ login, app }))(Form.create()(PFCommonApproveView))