import React,{Component,Fragment} from 'react'
import {Page,Validator,Notification,FormItem,
    InputItem,Input,Bind,SelectItem,Button,Label,Table,Section,DatePickerItem,ConfirmButton} from '@/components/Common-Library'
import {Divider} from 'antd'
import Api from '@/service/api'
import mDbatrm from '../model'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable } from 'mobx'
import { Col, Row ,Card } from 'antd'
import {Link} from 'react-router-dom'
import Moment from 'moment'
const CodeTable = CodeTableFactory.getInstance()


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

    @observable
    isDisabled=false  //控制提交按钮的禁用

    constructor(props)
    {
        super(props)
        this.model = new mDbatrm()
        this.bind = Bind.bind(this)
    }

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

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



    //按钮事件
    onRtn = ()=>{
		this.props.history.goBack();
	}

    onSav= ()=>{
        this.formBlur=true  //已触发表单提交处理
        this.isDisabled=true

        Validator.validate(this.model,this.model.descriptor,async(errors,values)=>{
                if(errors){
                  this.isDisabled=false
                  return 
                }
                const rtnmsg = await Api.post('dbatrm/sav',{data:this.model})
                if(rtnmsg.retcod == SUCCESS)
                {
                    Notification.success({message:'数据提交成功!'})
					this.props.history.push({pathname:'dbltrm', state: {'selflg':true}});
                    
                }
                else
                {
                  Notification.error({message:'服务端请求失败!'})
                  this.isDisabled=false
                }
                //余下逻辑处理
                    
        })
    }
  
    

    //交易内实现
    renderPage(){
    	const bind = this.bind
        const {i18n} = this.props
             
        return (
	  <Card title="科目维护" size="small" className="transTitle">
      <div style={{position:'relative'}}>
        <Row>
          <Col span={12}>
            <Row className={12}>
              <Col span={5} offset={2}>
                <Label i18nId={"TRMP_LT000007"}/>	
              </Col>
              <Col span={14}>
                <InputItem  InputProps={bind("trmtyp")} />
              </Col>
            </Row>
          </Col>
          <Col span={12}>
            <Row className={12}>
              <Col span={5} offset={2}>
                <Label i18nId={"TRMP_LT000008"}/>	
              </Col>
              <Col span={14}>
                <InputItem  InputProps={bind("nam")} />
              </Col>
            </Row>
          </Col>
        </Row>

        <Row>
          <Col span={12}>
            <Row className={12}>
              <Col span={5} offset={2}>
                <Label i18nId={"TRMP_LT000009"}/>	
              </Col>
              <Col span={14}>
                <InputItem  InputProps={bind("trmcod")} />
              </Col>
            </Row>
          </Col>
          <Col span={12}>
            <Row className={12}>
              <Col span={5} offset={2}>
                <Label i18nId={"TRMP_LT000010"}/>	
              </Col>
              <Col span={14}>
                <InputItem  InputProps={bind("trnseq")} />
              </Col>
            </Row>
          </Col>
        </Row>
			
        <Row>
          <Col span={12}>
            <Row className={12}>
              <Col span={5} offset={2}>
                <Label i18nId={"TRMP_LT000012"}/>	
              </Col>
              <Col span={14}>
                <SelectItem  InputProps={bind("trmflg")} code={CodeTable.trmflg}  />
              </Col>
            </Row>
          </Col>
        </Row>

        <Row type="flex" justify="center">
          <Col>
            <div className="button0">
              <div className='button2'>
                {/* 退出按钮 */}
                <Button type="primary" onClick={this.onRtn} >
                  <Label i18nId="MTABUT_BT000464" />
                </Button>
              </div>
              <div className='button2'>
                <ConfirmButton
                  type="primary"
                  icon="save"
                  message="确定提交？"
                  onOK={this.onSav}
                  disabled={this.isDisabled}
                >
                  <Label i18nId="MTABUT_BT000473" />
                </ConfirmButton>
              </div>
            </div>
          </Col>
        </Row>
		  </div>
		</Card>
		)
	}
}
