updateForm_drawer.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * @Author: your name
  3. * @Date: 2021-07-30 18:09:25
  4. * @LastEditTime: 2021-08-03 17:18:46
  5. * @LastEditors: Please set LastEditors
  6. * @Description: In User Settings Edit
  7. * @FilePath: /TracerMethodology_PC/src/pages/costAllocationParamsConnect/updateForm_drawer.js
  8. */
  9. import React, { useState } from 'react';
  10. import {
  11. ProFormSelect,
  12. ModalForm,
  13. ProFormDigit,
  14. } from '@ant-design/pro-form';
  15. import {
  16. getParamsSelectableList
  17. } from './service';
  18. const UpdateFormDrawer = (props) => {
  19. const {
  20. values: record,
  21. drawerUpdateModalVisible,
  22. drawerUpdateModalVisibleChange,
  23. currentResponsibilityRow,
  24. onSubmit,
  25. } = props;
  26. const [selectedParam, setSelectedParam] = useState(null);
  27. return (
  28. <>
  29. {JSON.stringify(record) !== '{}'&&record.shareParamPopout && (
  30. <ModalForm
  31. title="编辑成分摊参数"
  32. width="800px"
  33. initialValues={{ ...record }}
  34. labelCol={{ span: 5, offset: 3 }}
  35. layout={'horizontal'}
  36. visible={drawerUpdateModalVisible}
  37. onVisibleChange={(visible) => drawerUpdateModalVisibleChange(visible)}
  38. onFinish={(value) => onSubmit({ ...record, ...value })}
  39. >
  40. <ProFormSelect
  41. rules={[
  42. {
  43. required: true,
  44. message:'',
  45. },
  46. ]}
  47. fieldProps={{
  48. //这里使用了select的onChange方法,必须使用这样的写法来进行调用onChange方法
  49. onChange: async (val) => {
  50. // setSelectedParam(val);
  51. const { id } = currentResponsibilityRow;
  52. const resp = await getParamsSelectableList({ id });
  53. const { data, status } = resp;
  54. if (status == 200) {
  55. const selected = data.list.filter((item) => item.id == val);
  56. setSelectedParam(selected[0]);
  57. }
  58. },
  59. }}
  60. request={async () => {
  61. const { id } = currentResponsibilityRow;
  62. const resp = await getParamsSelectableList({ id });
  63. const { data, status } = resp;
  64. if (status == 200) {
  65. const temp = data.list.map((item) => ({
  66. label: item.shareParamName,
  67. value: item.id,
  68. }));
  69. return temp;
  70. }
  71. }}
  72. width="sm"
  73. name="id"
  74. label="请选择分摊参数"
  75. />
  76. <ProFormDigit width={100} label="分摊比例" name="shareParamPopout" min={0} max={101} />
  77. </ModalForm>
  78. )}
  79. </>
  80. );
  81. };
  82. export default UpdateFormDrawer;