123
This commit is contained in:
parent
a832c5a1ec
commit
efe61fa3e3
73
src/components/Custom/CustomPage.js
Normal file
73
src/components/Custom/CustomPage.js
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import { connect } from 'dva'
|
||||||
|
import { initFilter, getCustomParams } from "../../utils/common"
|
||||||
|
import loadPage from '../../utils/customConfig1'//便捷开发 请勿提交
|
||||||
|
//import loadPage from '../../utils/customConfig'
|
||||||
|
|
||||||
|
class CustomPage extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props)
|
||||||
|
this.state = {
|
||||||
|
pageCustom: {},
|
||||||
|
formData: {},
|
||||||
|
customParams: {},
|
||||||
|
CustomComponentDispatch: null
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.getCustomConfig(this.props.formCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillReceiveProps(NextProps) {
|
||||||
|
if (NextProps.formCode && this.props.formCode != NextProps.formCode) {
|
||||||
|
this.getCustomConfig(NextProps.formCode)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getCustomConfig = (formCode) => {
|
||||||
|
const { login } = this.props
|
||||||
|
const { OrgId: ORG_ID } = login
|
||||||
|
const params = initFilter(ORG_ID, formCode)
|
||||||
|
this.props.dispatch({
|
||||||
|
type: 'customPage/getCustomPageConfigInfo',
|
||||||
|
payload: params,
|
||||||
|
onComplete: (ret) => {
|
||||||
|
if (ret) {
|
||||||
|
this.setCustomConfig(ret)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
setCustomConfig = (ret) => {
|
||||||
|
if (ret) {
|
||||||
|
let customParams = "";
|
||||||
|
if (ret.Nav_PageCustom)
|
||||||
|
customParams = ret.Nav_PageCustom.CUSTOM_PARAMS;
|
||||||
|
this.setState({
|
||||||
|
pageCustom: ret.Nav_PageCustom,
|
||||||
|
formData: ret.Nav_Form,
|
||||||
|
customParams: getCustomParams(customParams)
|
||||||
|
}, () => {
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { formParam, data, formCode } = this.props
|
||||||
|
const { COMPONENT_NAME, PAGE_FORM_ID } = this.state.pageCustom ? this.state.pageCustom : {}
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
{
|
||||||
|
COMPONENT_NAME
|
||||||
|
? loadPage(COMPONENT_NAME, PAGE_FORM_ID, formParam, { ...data, ...this.state.customParams }, formCode, this.state.formData)
|
||||||
|
: null
|
||||||
|
}
|
||||||
|
</React.Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(({ login, loading, customPage }) => ({ login, loading, customPage }))(CustomPage)
|
||||||
Loading…
Reference in New Issue
Block a user