import React from 'react'; import { Steps, Spin } from 'antd'; import './steps.less'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import Step1 from './steps/step1'; import Step2 from './steps/step2'; import Step3 from './steps/step3'; import Step4 from './steps/step4'; import Step5 from './steps/step5'; import Step6 from './steps/step6'; import Step7 from './steps/step7'; import Step8 from './steps/step8'; const Step = Steps.Step; const steps = [ { title: '基本信息', content: Step1 }, { title: '法律状况评估', content: Step2 }, { title: '技术状况评估', content: Step3 }, { title: '历史收入', content: Step4 }, { title: '收入预估', content: Step5 }, { title: '所得税预估', content: Step6 }, { title: '风险预估', content: Step7 }, { title: '评估值', content: Step8 } ]; const EvaluateSteps = React.createClass({ getInitialState() { return { current: 0, loading: true, steps: null, value: 0, step: 0, dottList:[] }; }, next(values) { console.log(values) if (this.state.current == 7) { this.state.value = values; return; } else { this.state.value = 0; } const current = this.state.current + 1; this.state.steps[this.state.current] = values; if (this.state.current === 0 && this.props.title) { this.props.title(values.name); } if(!this.state.current){ this.loadData(this.props.id) } this.setState({ current: current, steps: this.state.steps }); }, prev() { const current = this.state.current - 1; this.setState({ current }); }, loadData(id) { this.state.dottList=[]; this.state.step=0; $.ajax({ url: globalConfig.context + '/api/user/evaluate/info/' + id }) .done( function(res) { if (res && res.data) { this.setState({ steps: res.data.steps || {}, current: res.data.step || 0, step: res.data.step || 0, value: res.data.value || 0, loading: false }); if (this.props.title) { this.props.title(res.data.name || ''); } } }.bind(this) ) .fail( function() { this.setState({ loading: false }); }.bind(this) ); this.setState({ current: this.props.step || 0 }); }, componentWillMount() { this.loadData(this.props.id); }, componentWillReceiveProps(nextProps) { if (!this.props.visible && nextProps.visible) { if (nextProps.id) { this.loadData(nextProps.id); } } }, progressDot(dot, { index }) { return ( { let dottList=this.state.dottList; if(index>0){ dottList.push(index) } if (index == this.state.step || !!this.state.steps[index]) { this.setState({ current: index, dottList:dottList }); } }} > {dot} ); }, render() { this.state.StepContent = steps[this.state.current].content; let loadContent = !!this.state.steps; let dottList =this.state.dottList; return (
{steps.map((item) => )}
{loadContent ? ( ) : (
)}
); } }); export default EvaluateSteps;