salary-management-front/pc4mobx/hrmSalary/pages/calculateDetail/compareDetailImportModal.js

85 lines
2.6 KiB
JavaScript

import React from 'react'
import ImportModal from '../../components/importModal'
import { inject, observer } from 'mobx-react';
@inject('calculateStore')
@observer
export default class CompareDetailImportModal extends React.Component {
constructor(props) {
super(props)
this.state = {
step: 0,
modalParam: {
salaryAcctRecordId: ""
}
}
}
componentWillMount() {
const { id } = this.props;
let modalParam = { ...this.state.modalParam }
modalParam.salaryAcctRecordId = id
this.setState({
modalParam
})
}
// 设置步骤
setStep(step) {
this.setState({step})
}
handleTemplateLink() {
const { calculateStore: { exportImportTemplate }} = this.props;
exportImportTemplate(this.props.id)
}
// 初始化导入参数
handleInitImportModal() {
const { calculateStore: {setComparisonPreviewColumns, setComparisonPreviewDataSource, setComparisonImportAcctResult}} = this.props;
setComparisonPreviewColumns([])
setComparisonPreviewDataSource([])
setComparisonImportAcctResult({})
}
render() {
const { visiable } = this.props;
const { step, modalParam } = this.state;
const { calculateStore } = this.props
const { previewComparisonResult, comparisonPreviewColumns, comparisonPreviewDataSource, importComparisonExcelAcctResult, comparisonImportAcctResult } = calculateStore
return (
<div>
{
visiable && <ImportModal
init={() => {
this.handleInitImportModal()
}}
params={modalParam}
columns={comparisonPreviewColumns}
step={step}
setStep={this.setStep.bind(this)}
slideDataSource={comparisonPreviewDataSource}
importResult={comparisonImportAcctResult}
onFinish={() => {
this.props.onCancel();
this.props.onFinish();
}}
previewImport={(params) => {
previewComparisonResult(params)
}}
importFile={(params) => {
importComparisonExcelAcctResult(params)
}}
templateLink={ () => {
this.handleTemplateLink()
}}
visiable={visiable}
onCancel={() => {
this.props.onCancel()
}}
/>
}
</div>
)
}
}