import React,{Component,Fragment} from 'react'
import PropTypes from 'prop-types'
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 mInfded from '../model'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable,runInAction } from 'mobx'
import Ovwp from './Ovwp'
import Detp from './Detp'
import Tkp from './Tkp'
import Selp from './Selp'
import { Card } from 'antd'


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


@inject('UserContext')
@inject('i18n')
@observer
export default class InfdedScreen extends Page
{

    @observable
	extra = { inifrm: 'infdid', sptinr: '', bchlevelLst: [] }
    
    @observable
    formBlur=false

    constructor(props)
    {
        super(props)
        this.state = {
			flag: true
		}
        this.model = new mInfded()    
        this.bind = Bind.bind(this)
    }
	
	async componentWillMount() 
	{
		/*
		*添加初始化代码
        */
       let sptinr = '';
       let rtnmsg = [];
       if (this.props.location.query) {
           sptinr = this.props.location.query.inr
           this.extra.sptinr = sptinr
           rtnmsg = await Api.post(this.extra.inifrm + '/init', { params: { sptinr } })
       } else {
           rtnmsg = await Api.post(this.extra.inifrm + '/init', {})
       }
		if(rtnmsg.retcod == SUCCESS)
		{
            Object.assign(this.model, rtnmsg.data)
			this.extra.bchlevelLst = rtnmsg.codetable.ownbch;
			this.extra.bopmod_szflg = rtnmsg.codetable.bopmod_szflg;
			this.setState({ flag: false })
        }else {
			Notification.error({ message: '服务端请求失败!' })
		}

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


    //交易内实现
    renderPage() {
		return (
			<Card title="买方信用证查询" size="small" className="transTitle">
				<Steps>
                <StepItem title="查询">
						<Selp model={this.model} extra={this.extra} flag={this.state.flag} />
					</StepItem>
					<StepItem title="明细">
						<Ovwp model={this.model} extra={this.extra} flag={this.state.flag} />
					</StepItem>

					<StepItem title="附加">
						<Detp model={this.model} extra={this.extra}  />
					</StepItem>
					<StepItem title="条款">
						<Tkp model={this.model} extra={this.extra} />
					</StepItem>

				</Steps>
			</Card>
		)
  
       
	}
}
