import React from "react"; import { WeaDialog, WeaSteps } from "ecCom"; import { Button, message } from "antd"; import { inject, observer } from "mobx-react"; import { toJS } from "mobx"; import "./index.less"; import ModalStep1 from "./modalStep1"; import ModalStep2 from "./modalStep2"; import ModalStep3 from "./modalStep3"; const Step = WeaSteps.Step; @inject("taxAgentStore") @observer export default class ImportModal extends React.Component { constructor(props) { super(props); this.state = { fileId: "" }; this.props.init && this.props.init(); } componentWillMount() { // 初始化渲染页面 // const { taxAgentStore: {fetchTaxAgentOption} } = this.props; // fetchTaxAgentOption(); } nextStep() { const { step } = this.props; this.props.setStep(step + 1); } preStep() { const { step } = this.props; this.props.setStep(step - 1); } validateDate() { const { params } = this.props; let flag = true; try { if (this.props.renderFormComponent) { params && Object.keys(params).forEach((key) => { if (!params[key] || params[key] == "") { message.warning("请完善导入选项"); throw new Error("请完善导入选项"); } }); } } catch (e) { flag = false; } return flag; } handleStep1Next() { if (!this.validateDate()) { return; } if (this.state.fileId) { this.props.setStep(1); } else { message.warning("请上传文件"); } } handlePreviewDate() { const { fileId } = this.state; const { params, isStandingBook } = this.props; if (!isStandingBook) { this.props.previewImport({ ...params, imageId: fileId }); } else { this.props.previewImport({ imageId: fileId }); } } hanleImportData() { const { fileId } = this.state; const { params, isStandingBook } = this.props; if (!isStandingBook) { this.props.importFile({ ...params, imageId: fileId }); } else { this.props.importFile({ imageId: String(fileId) }); } } render() { const { step, slideDataSource, isInit, isStandingBook, params, needimportSelected } = this.props; return ( { localStorage.removeItem("fileList"); this.props.onCancel(); }} style={{ width: 850, height: 600 }} hasScroll className="importModalWrapper" initLoadCss buttons={ this.props.step === 0 ? [ ] : this.props.step === 1 ? [ , ] : [ ] } >
{ this.props.step == 0 && ( { this.setState({ fileId }); }} />) } { this.props.step == 1 && ( this.handlePreviewDate()} dataSource={slideDataSource} columns={this.props.columns} />) } { this.props.step == 2 && ( this.hanleImportData()} importResult={toJS(this.props.importResult)} />) }
); } }