updateForm.jsx 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import React, { useEffect, useState } from 'react';
  2. import {
  3. ModalForm,
  4. ProFormSelect,
  5. ProFormDigit,
  6. ProFormDatePicker
  7. } from '@ant-design/pro-form';
  8. // import { Cascader, Form, Input } from 'antd';
  9. import { getResponsibilityCenterList } from '@/pages/responsibilityCenter/service';
  10. import { getCostshareparamList } from '@/pages/costAllocationParamsSetting/service';
  11. const UpdateForm = (props) => {
  12. const { updateModalVisible, updateModalVisibleChange, values, onSubmit } = props;
  13. const [options, setOptions] = useState([]);
  14. const [responsibilityCodes, setResponsibilityCode] = useState(null);
  15. const [selected, setSelected] = useState([]);
  16. // console.log({'回显':values});
  17. useEffect(async () => {
  18. if (JSON.stringify(values) !== '{}') {
  19. const { responsibilityCodes } = values;
  20. setSelected(responsibilityCodes ? [].concat(responsibilityCodes.split('/')) : []);
  21. const resp = await getResponsibilityCenterList({ pageSize: 50, current: 1 });
  22. const { status, data } = resp;
  23. if (status == 200) {
  24. setOptions(data.list);
  25. }
  26. }
  27. }, [values]);
  28. return (
  29. <>
  30. {
  31. JSON.stringify(values) !== '{}' && <ModalForm
  32. title="编辑收入归集设置"
  33. width="800px"
  34. initialValues={{ ...values }}
  35. labelCol={{ span: 5, offset: 3 }}
  36. layout={'horizontal'}
  37. visible={updateModalVisible}
  38. onVisibleChange={(visible) => updateModalVisibleChange(visible)}
  39. onFinish={(value) => onSubmit({ ...values, ...value, responsibilityCodes })}
  40. >
  41. <ProFormDatePicker
  42. name="date"
  43. rules={[
  44. {
  45. required: true,
  46. message: '时间是必选项!',
  47. },
  48. ]}
  49. width="sm"
  50. label="年月"
  51. fieldProps={{ picker: 'month', locale: locale, format: 'yyyy-MM' }}
  52. />
  53. <ProFormSelect
  54. name="shareParamCode"
  55. label="选择分摊参数"
  56. rules={[
  57. {
  58. required: true,
  59. message: '必选项!',
  60. },
  61. ]}
  62. request={async (params = {}, sort, filter) => {
  63. const resp = await getCostshareparamList({ ...params, pageSize: 500 });
  64. const {
  65. status,
  66. data: { list },
  67. } = resp;
  68. if (status == 200) {
  69. return (
  70. list &&
  71. list.map((item) => ({ label: item.shareParamName, value: item.shareParamCode }))
  72. );
  73. }
  74. }}
  75. width="sm"
  76. placeholder="请选择"
  77. rules={[{ required: true, message: '分摊参数是必选项!' }]}
  78. />
  79. <ProFormText
  80. name="responsibilityName"
  81. label="选择责任中心"
  82. placeholder="请选择"
  83. rules={[
  84. {
  85. required: true,
  86. message: '必选项!',
  87. },
  88. ]}
  89. stringMode
  90. width="sm"
  91. min={0}
  92. fieldProps={{
  93. onClick: () => openDrawer(),
  94. }}
  95. />
  96. <ProFormDigit
  97. label="数值"
  98. name="valueNum"
  99. width="sm"
  100. rules={[
  101. {
  102. required: true,
  103. message: '必选项!',
  104. },
  105. ]}
  106. />
  107. </ModalForm>
  108. }
  109. </>
  110. );
  111. };
  112. export default UpdateForm;