/** * 审核按钮封装 * 徐立 * 2020-3-28 * data 为 'affair/getIdFormDetail' 接口请求到的数据 * callback 提交完成后执行回调函数 * form form表单控件 */ import React, { Component } from 'react' import BtnOk from './userTable'; import { preHandle } from '../../utils/myutils'; import { connect } from 'dva'; @connect() export default class index extends Component { constructor(props){ super(props) this.state = { isSumbitLoading:false, isHandle: false, } } affairOk = (oldkey, btnValue, value) => { const { dispatch,callback,data } = this.props this.setState({ isSumbitLoading: true, },() => { this.props.form.validateFieldsAndScroll((err, values) => { if(!err){ preHandle(values) dispatch({ type: 'affair/getExamineProcess', payload: { taskIds: [data.taskId], // 接口里面的taskId 任务Id code: data.code, // 审核相关内容 examineMap: JSON.stringify({ [oldkey]: btnValue, // 每个配置按钮对应的对象内容 oldkey = 接口中 key btnValue = 接口中 value reason: value, // 审批理由 code: data.code, }), taskForm: JSON.stringify(values), // 审批表单的参数值 }, callback: val => { this.setState({ isSumbitLoading: false, isHandle: false, }) if(callback){ callback(val) } } }) } }) }) } componentDidMount(){ const { data } = this.props this.setState({ isHandle: data.isHandle }) } componentWillReceiveProps(nextProps){ const { data } = nextProps this.setState({ isHandle: data.isHandle }) } render() { const { isSumbitLoading, isHandle } = this.state const { data } = this.props return ( <> { isHandle? <BtnOk isSecond = { data.isSecond } affairOk = { this.affairOk } isSumbitLoading = { isSumbitLoading } btns = { data.btns } /> :null } </> ) } }