checkAccount.tsx 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { DatePicker, Form, Input, Modal, Select } from "antd";
  2. import moment from "moment";
  3. import React from "react";
  4. import { useModel } from "umi";
  5. interface Props {
  6. value?: any,
  7. visible?: boolean,
  8. onChange?: () => void,
  9. onClose?: () => void
  10. }
  11. function CheckAccount(props: Props) {
  12. const { value = {}, visible = false, onChange, onClose } = props
  13. const { userId } = useModel('useOperating.useUser', model => ({ userId: model.state.selectdUserId }))
  14. const { getResource, checkGdtAccountGdt } = useModel('useOperating.useAccountyyb')
  15. const [form] = Form.useForm()
  16. const handleOk = async () => {
  17. form.submit()
  18. let data = await form.validateFields()
  19. let { accountIds, resourceNames, ...data1 } = data
  20. let proms = { ...data1, beginTime: moment(data.beginTime).format('YYYY-MM-DD'), userId, gdtAccountIds: accountIds }
  21. checkGdtAccountGdt.run(proms).then(res => {
  22. if (res) {
  23. onChange && onChange()
  24. }
  25. })
  26. }
  27. // 搜索资源
  28. const handleSearch = (value: string) => {
  29. getResource.run({ resourceName: value, resourceType: 0})
  30. }
  31. return <Modal title={`${'GDT'}切号`} visible={visible} onOk={handleOk} onCancel={() => { onClose && onClose() }} confirmLoading={checkGdtAccountGdt.loading}>
  32. <Form
  33. name="basic"
  34. form={form}
  35. labelCol={{ span: 5 }}
  36. wrapperCol={{ span: 19 }}
  37. autoComplete="off"
  38. initialValues={{ ...value }}
  39. >
  40. <Form.Item label="账号ID" name="accountIds" rules={[{ type: 'string', required: true, message: '请输入账号!' }]}>
  41. <Input.TextArea autoSize placeholder="请输入账号ID(id1,id2,id3)" disabled />
  42. </Form.Item>
  43. <Form.Item label="当前投放信息" name="resourceNames">
  44. <Input.TextArea autoSize disabled />
  45. </Form.Item>
  46. <Form.Item label="投放信息" name="putResourceId" rules={[{ type: 'number', required: true, message: '请选择投放信息!' }]}>
  47. <Select
  48. showSearch
  49. placeholder="选择投放信息"
  50. defaultActiveFirstOption={false}
  51. showArrow={false}
  52. filterOption={false}
  53. onSearch={handleSearch}
  54. notFoundContent={null}
  55. >
  56. {getResource?.data?.map((item: { id: number, resourceName: string }) => <Select.Option key={item.id} value={item.id}>{item.resourceName}</Select.Option>)}
  57. </Select>
  58. </Form.Item>
  59. <Form.Item label="开始时间" name="beginTime" rules={[{ type: 'object' as const, required: true, message: '请选择时间!' }]}>
  60. <DatePicker />
  61. </Form.Item>
  62. </Form>
  63. </Modal>
  64. }
  65. export default React.memo(CheckAccount)