configBackPolicy.tsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { AjaxPromise, useAjax } from "@/Hook/useAjax";
  2. import { iaaConfigBackPolicyBackApi } from "@/services/iaaSystem/channel";
  3. import { Form, message, Modal, Select } from "antd";
  4. import React from "react"
  5. interface Props {
  6. getBackPolicyAllList: AjaxPromise,
  7. selectedRows: any[]
  8. onChange?: () => void
  9. visible?: boolean
  10. onClose?: () => void
  11. }
  12. /**
  13. * 新增修改回传策略
  14. * @returns
  15. */
  16. const ConfigBackPolicy: React.FC<Props> = ({ onChange, visible, onClose, selectedRows, getBackPolicyAllList }) => {
  17. /*******************************/
  18. const [form] = Form.useForm<IAAAPI.AddIaaAgentProps>();
  19. const iaaConfigBackPolicyBack = useAjax((params) => iaaConfigBackPolicyBackApi(params))
  20. /*******************************/
  21. const handleOk = async () => {
  22. form.submit()
  23. let data: any = await form.validateFields()
  24. iaaConfigBackPolicyBack.run({...data, agentIds: selectedRows.map(item => item.id).toString()}).then(res => {
  25. if (res?.data) {
  26. message.success('修改成功')
  27. onChange && onChange()
  28. }
  29. })
  30. }
  31. return <Modal
  32. title={<strong>{'修改回传策略'}</strong>}
  33. open={visible}
  34. onCancel={onClose}
  35. onOk={handleOk}
  36. confirmLoading={iaaConfigBackPolicyBack.loading}
  37. >
  38. <Form
  39. name="configBackPolicy"
  40. layout="vertical"
  41. form={form}
  42. autoComplete="off"
  43. colon={false}
  44. >
  45. <Form.Item label={<strong>回传策略</strong>} name="backPolicyId">
  46. <Select
  47. placeholder="请选择回传策略"
  48. allowClear
  49. options={getBackPolicyAllList?.data?.data?.map((item: { id: any; backPolicyName: any; }) => ({
  50. value: item.id,
  51. label: item.backPolicyName,
  52. }))}
  53. />
  54. </Form.Item>
  55. </Form>
  56. </Modal>
  57. }
  58. export default React.memo(ConfigBackPolicy)