QualityOperateModal.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import React, { useState, useEffect } from 'react';
  2. import { Form, Select, Modal, Input, TreeSelect } from 'antd';
  3. import { connect } from 'dva';
  4. const { Option } = Select;
  5. const { TreeNode } = TreeSelect;
  6. function QualityOperateModal(props) {
  7. const {
  8. visible,
  9. onOk,
  10. onClose,
  11. currentItem,
  12. loading,
  13. depUserTree,
  14. dispatch,
  15. qualityOperate,
  16. } = props;
  17. const [form] = Form.useForm();
  18. const handleOk = () => {
  19. form.validateFields().then(({ managerID }) => {
  20. const [manager_id, dep_id] = managerID.split('||');
  21. let params = {};
  22. params.type = qualityOperate ? 'approval/startOperate' : 'approval/startQuality';
  23. params.payload = {
  24. project_code_id: currentItem.id,
  25. dep_id: Number(dep_id),
  26. };
  27. qualityOperate
  28. ? (params.payload.opt_manager_id = Number(manager_id))
  29. : (params.payload.wty_manager_id = Number(manager_id));
  30. dispatch({
  31. ...params,
  32. callback: () => onOk(),
  33. });
  34. });
  35. };
  36. return (
  37. <Modal
  38. title={qualityOperate ? '转运营' : '转质保'}
  39. confirmLoading={loading}
  40. maskClosable={false}
  41. destroyOnClose
  42. visible={visible}
  43. onCancel={onClose}
  44. onOk={handleOk}
  45. >
  46. <Form labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} form={form}>
  47. <Form.Item
  48. label={qualityOperate ? '运营经理' : '质保经理'}
  49. name="managerID"
  50. rules={[
  51. { required: true, message: qualityOperate ? '请选择运营经理' : '请选择质保经理' },
  52. ]}
  53. >
  54. <TreeSelect
  55. showSearch
  56. allowClear
  57. style={{ width: '100%' }}
  58. placeholder={qualityOperate ? '请选择运营经理' : '请选择质保经理'}
  59. multiple={false}
  60. filterTreeNode={(input, option) => {
  61. return option.props.title === input;
  62. }}
  63. treeData={depUserTree}
  64. ></TreeSelect>
  65. </Form.Item>
  66. </Form>
  67. </Modal>
  68. );
  69. }
  70. export default connect()(QualityOperateModal);