ttk-app-core
Version:
enterprise develop framework
132 lines (108 loc) • 4.36 kB
JavaScript
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>
)
}
}