import React,{Component,Fragment} from 'react'
import {Page,Validator,Notification,FormItem,DatePickerItem,TextAreaItem,CheckboxItem,Checkbox,
    InputItem,Input,Bind,SelectItem,Button,Label,Image,Table, Steps} from '@/components/Common-Library'
import Api from '@/service/api'
import mBdtacc from '../model'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable,runInAction } from 'mobx'
import Basic from './Basic'
import Fee from '@/views/Public/Fee'
import Gle from '@/views/Public/Gle'
import Papper from '@/views/Public/Papper'
import { Card } from 'antd'
import Engp from '@/views/Public/Engp'

const CodeTable = CodeTableFactory.getInstance()
const StepItem = Steps.Item


@inject('UserContext')
@inject('i18n')
@observer
export default class BdtaccScreen extends Page
{
	@observable
	formBlur = false

	@observable
	extra = { inifrm: 'bdtacc', sptinr: '', oldinr:'',bchlevelLst: [] }



	constructor(props) {
		super(props)
		this.state = {
			flag: true
		}
		this.model = new mBdtacc()
	}
	
	
	async componentWillMount() {
		
			let bddinr = '';
			
			if (this.props.location.query) {
				if(this.props.location.query.from=="sptsel"){
					this.extra.sptinr=this.props.location.query.sptinr;
				  }else{
					bddinr=this.props.location.query.bddinr;
				  }
				}
				const rtnmsg = await Api.post(this.extra.inifrm + '/init', { params: { sptinr:this.extra.sptinr,bddinr } })
		if (rtnmsg.retcod == SUCCESS) {
			Object.assign(this.model, rtnmsg.data)
			this.extra.bchlevelLst = rtnmsg.codetable.ownbch;
			this.extra.oldinr=this.model.inr;
			
			this.setState({ flag: false })
			
		//	this.model.setmod_doccur = 'CNY'
		}
		else {
			Notification.error({ message: '服务端请求失败!' })
		}

		//快照模式下，不必开启校验，否则，静默校验，和记录变动
		!this.loadDisplay() && this.model.openMonitor() //开启校验	
	}

	componentWillUnmount() {
		this.model.stopMonitor()//关闭校验
	}


    //交易内实现
    renderPage(){
		return (
			<Card title="承兑" size="small" className="transTitle">
				<Steps>
					<StepItem title="承兑">
						<Basic model={this.model} extra={this.extra} flag={this.state.flag} />
					</StepItem>

					<StepItem title="表外&保证金">
						<Engp model={this.model} extra={this.extra} />
					</StepItem>

					<StepItem title="费用&账务">
						<Fee model={this.model} extra={this.extra} />
					</StepItem>
					<StepItem title="会计分录">
						<Gle model={this.model} extra={this.extra}   flag={this.state.flag}/>
					</StepItem>

					<StepItem title="面函">
						<Papper model={this.model} extra={this.extra}  flag={this.state.flag}/>
					</StepItem>
				

				</Steps>
			</Card>
		)
    
	}
}
