salary-management-front/pc4mobx/hrmSalary/components/customForm/index.js

63 lines
2.2 KiB
JavaScript
Raw Normal View History

import React from "react";
import { Col, Row } from "antd";
import { WeaInput, WeaSelect } from "ecCom";
2022-03-22 16:53:39 +08:00
export default class CustomForm extends React.Component {
handleChange(params) {
let request = { ...this.props.request, ...params };
this.props.onChange(request);
}
2022-03-28 10:53:19 +08:00
render() {
const { request, disable } = this.props;
return (
<div className="customFLWrapper">
{
this.props.condition.map(item => {
let disabledValue = disable && disable.indexOf(item.domkey[0]) >= 0;
return (
<Row style={{ lineHeight: "40px" }}>
<Col span={6}>
{item.label}:
</Col>
<Col span={18}>
{
item.conditionType === "INPUT" &&
<WeaInput viewAttr={item.rules === "required" ? 3 : 2} value={request[item.domkey[0]]}
disabled={disabledValue} onChange={(value) => {
this.handleChange({ [item.domkey[0]]: value });
}}/>
}
2022-03-22 16:53:39 +08:00
{
item.conditionType === "RADIO" && item.options &&
<WeaSelect
detailtype={3} value={request[item.domkey[0]]}
disabled={disabledValue}
viewAttr={item.rules === "required" ? 3 : 2}
onChange={(value) => this.handleChange({ [item.domkey[0]]: value })}
options={item.options.map(o => ({ showname: o.showname, key: o.key }))}
/>
}
2022-03-22 16:53:39 +08:00
{
item.conditionType === "CHECKBOX" &&
item.options &&
<WeaSelect
detailtype={2}
// disabled={disabledValue}
viewAttr={item.rules === "required" ? 3 : 2}
value={request[item.domkey[0]]}
options={item.options.map(o => ({ showname: o.showname, key: o.key }))}
onChange={(value) => this.handleChange({ [item.domkey[0]]: value })}/>
}
</Col>
</Row>
);
})
}
</div>
);
}
}