UNPKG

ttk-app-core

Version:
132 lines (108 loc) 4.36 kB
import React, { Component } from 'react' import ReactDOM from 'react-dom' import { Map, List, fromJS } from 'immutable' import { Popover, Button, Link, Select, InputNumber } from 'antd' import { action as MetaAction, AppLoader } from 'edf-meta-engine' import { environment } from 'edf-utils' import { Input, Form } from 'edf-component' import isEqual from 'lodash.isequal' import * as data from '../data' const precisionStep = '0.01' const precision = 2 const FormItem = Form.Item export default class zlbsxlSelectComponent extends Component { state = { data: Map({ value: '1' }) } constructor(props) { super(props) this.state = this.computeState(this.props) } computeState(props,preprops) { let { data } = this.state, { value, dataSource, kjzdzzDm } = props data = data.set('value', value) data = data.set('dataSource', dataSource) data = data.set('kjzdzzDm', kjzdzzDm) return { data } } handleCancelClick() { this.closeModal() } handleConfirmClick() { let { data } = this.state, zlbsxlDm = data.get('value'), kjzdzzDm = data.get('kjzdzzDm') if (!zlbsxlDm) { let { data } = this.state data = data.set('error', '资料报送小类代码不能为空!') this.setState({ data }) return } let ds = data ? data.get('dataSource') : '', zlbsxlItem, accountingStandardsId zlbsxlItem = ds.find(item => item.zlbsxlDm == zlbsxlDm) if (zlbsxlItem) { accountingStandardsId = zlbsxlItem.enumDetailId } localStorage.setItem('accountingStandardsId', accountingStandardsId) setTimeout(() => { this.props.saveZlbsxl(zlbsxlDm, kjzdzzDm) }, 0) let confirmBtn = document.getElementsByClassName('ant-btn ant-btn-primary') for (var i = 0; i < confirmBtn.length; i++) { if (confirmBtn[i].innerHTML == '<span>保 存</span>') { confirmBtn[i].click() } } } closeModal(){ let closeBtn = document.getElementsByClassName('ant-modal-close') if (closeBtn && closeBtn.length > 0) { closeBtn[0].click() } } onZlbsxldmChange(value) { let { data } = this.state data = data.set('value', value) if (value) { data = data.set('error', '') } this.setState({ data }) } render() { let buttonStyle = {marginTop: '26px', display: 'flex', justifyContent: 'center', borderTop: 'solid 1px #e7e6e6'}, ds = this.state.data ? this.state.data.get('dataSource') : '' let productChildren = [], rightButtonStyle = {marginLeft: '10px', marginTop: '12px'} //新增按钮 实现新增档案 if (ds) { ds.forEach((item,index) => { productChildren.push(<Option title={item.zlbsxlmc} _data={item} value={item.zlbsxlDm}>{item.zlbsxlmc}</Option>) }) } let value = this.state.data ? this.state.data.get('value') : '', error = this.state.data ? this.state.data.get('error') : '' return ( <div style={{width: '100%'}}> <div style={{'margin-bottom': '8px', 'margin-left': '10px'}}>请选择资料报送小类:</div> <FormItem validateStatus= {error ? 'error':'success'} help={error} colon={false} style={{'margin-left': '10px'}}> <Select style={{ width: '390px', 'margin-left': '30px' }} value={value} onChange={::this.onZlbsxldmChange} > {productChildren} </Select> </FormItem> <div style={buttonStyle}> <Button type="ghost" onClick={::this.handleCancelClick} style={{'margin-top': '12px'}}>取消</Button> <Button id='btnQuantityConfirm' type="primary" style={rightButtonStyle} onClick={::this.handleConfirmClick}>确定</Button> </div> </div> ) } }