|
@@ -12,18 +12,17 @@ function AddModal(props) {
|
|
|
onOk,
|
|
|
onCancel,
|
|
|
time,
|
|
|
- form,
|
|
|
typeList = [],
|
|
|
subTypeList = [],
|
|
|
dispatch,
|
|
|
project = [],
|
|
|
loading,
|
|
|
} = props;
|
|
|
+ const [form] = Form.useForm();
|
|
|
const [type, setType] = useState({});
|
|
|
const [subType, setSubType] = useState({});
|
|
|
const handleOk = () => {
|
|
|
- form.validateFields((error, values) => {
|
|
|
- if (error) return;
|
|
|
+ form.validateFields().then(values => {
|
|
|
if (type.type == 0 || subType.type == 0) {
|
|
|
if (!values.project) {
|
|
|
message.error('请选择项目');
|
|
@@ -123,21 +122,12 @@ function AddModal(props) {
|
|
|
//分类选单
|
|
|
const renderType = () => {
|
|
|
return (
|
|
|
- <Form.Item label="分类">
|
|
|
- {form.getFieldDecorator('type', {
|
|
|
- rules: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择分类',
|
|
|
- },
|
|
|
- ],
|
|
|
- })(
|
|
|
- <Select onChange={onChangeType} placeholder="请选择分类">
|
|
|
- {typeList.map(item => (
|
|
|
- <Option key={String(item.id)}>{item.name}</Option>
|
|
|
- ))}
|
|
|
- </Select>
|
|
|
- )}
|
|
|
+ <Form.Item label="分类" name="type" rules={[{ required: true, message: '请选择分类' }]}>
|
|
|
+ <Select onChange={onChangeType} placeholder="请选择分类">
|
|
|
+ {typeList.map(item => (
|
|
|
+ <Option key={String(item.id)}>{item.name}</Option>
|
|
|
+ ))}
|
|
|
+ </Select>
|
|
|
</Form.Item>
|
|
|
);
|
|
|
};
|
|
@@ -145,31 +135,22 @@ function AddModal(props) {
|
|
|
//项目选单
|
|
|
const renderProject = () => {
|
|
|
return (
|
|
|
- <Form.Item label="项目">
|
|
|
- {form.getFieldDecorator('project', {
|
|
|
- rules: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择项目',
|
|
|
- },
|
|
|
- ],
|
|
|
- })(
|
|
|
- //售前支持特殊判断,增加“无项目”,选择项目时与子类联动
|
|
|
- <Select
|
|
|
- showSearch
|
|
|
- onChange={onChangeProject}
|
|
|
- placeholder="请选择项目"
|
|
|
- optionFilterProp="children"
|
|
|
- filterOption={(input, option) =>
|
|
|
- option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
- }
|
|
|
- >
|
|
|
- {type.id === 2 && <Option key={'0'}>售前支持(10100)</Option>}
|
|
|
- {project.map(item => (
|
|
|
- <Option key={String(item.ID)}>{`${item.Name}(${item.Code})`}</Option>
|
|
|
- ))}
|
|
|
- </Select>
|
|
|
- )}
|
|
|
+ <Form.Item label="项目" name="project" rules={[{ required: true, message: '请选择项目' }]}>
|
|
|
+ {/* 售前支持特殊判断,增加“无项目”,选择项目时与子类联动 */}
|
|
|
+ <Select
|
|
|
+ showSearch
|
|
|
+ onChange={onChangeProject}
|
|
|
+ placeholder="请选择项目"
|
|
|
+ optionFilterProp="children"
|
|
|
+ filterOption={(input, option) =>
|
|
|
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ }
|
|
|
+ >
|
|
|
+ {type.id === 2 && <Option key={'0'}>售前支持(10100)</Option>}
|
|
|
+ {project.map(item => (
|
|
|
+ <Option key={String(item.ID)}>{`${item.Name}(${item.Code})`}</Option>
|
|
|
+ ))}
|
|
|
+ </Select>
|
|
|
</Form.Item>
|
|
|
);
|
|
|
};
|
|
@@ -177,26 +158,17 @@ function AddModal(props) {
|
|
|
//子类选单
|
|
|
const renderSubType = () => {
|
|
|
return (
|
|
|
- <Form.Item label="子类">
|
|
|
- {form.getFieldDecorator('subType', {
|
|
|
- rules: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择子类',
|
|
|
- },
|
|
|
- ],
|
|
|
- })(
|
|
|
- //售前支持特殊判断,子类不可选
|
|
|
- <Select
|
|
|
- disabled={type.id === 2}
|
|
|
- onChange={onChangeSubType}
|
|
|
- placeholder={type.id === 2 ? null : '请选择子类'}
|
|
|
- >
|
|
|
- {(subTypeList || []).map(item => (
|
|
|
- <Option key={String(item.id)}>{`${item.name}(${item.code})`}</Option>
|
|
|
- ))}
|
|
|
- </Select>
|
|
|
- )}
|
|
|
+ <Form.Item label="子类" name="subType" rules={[{ required: true, message: '请选择子类' }]}>
|
|
|
+ {/* 售前支持特殊判断,子类不可选 */}
|
|
|
+ <Select
|
|
|
+ disabled={type.id === 2}
|
|
|
+ onChange={onChangeSubType}
|
|
|
+ placeholder={type.id === 2 ? null : '请选择子类'}
|
|
|
+ >
|
|
|
+ {(subTypeList || []).map(item => (
|
|
|
+ <Option key={String(item.id)}>{`${item.name}(${item.code})`}</Option>
|
|
|
+ ))}
|
|
|
+ </Select>
|
|
|
</Form.Item>
|
|
|
);
|
|
|
};
|
|
@@ -211,7 +183,7 @@ function AddModal(props) {
|
|
|
onOk={handleOk}
|
|
|
destroyOnClose
|
|
|
>
|
|
|
- <Form labelCol={{ span: 4 }} wrapperCol={{ span: 16 }}>
|
|
|
+ <Form labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} form={form}>
|
|
|
{renderType()}
|
|
|
{type.type == 0 && renderProject()}
|
|
|
{renderSubType()}
|
|
@@ -224,4 +196,4 @@ function AddModal(props) {
|
|
|
export default connect(({ workload }) => ({
|
|
|
project: workload.project,
|
|
|
subTypeList: workload.subTypeList,
|
|
|
-}))(Form.create()(AddModal));
|
|
|
+}))(AddModal);
|