switchStatus.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { useAjax } from "@/Hook/useAjax"
  2. import { newEditAdqAdgroupsDataApi } from "@/services/launchAdq/adq"
  3. import { modifyStatusBatchApi } from "@/services/launchAdq/adqv3"
  4. import { message, notification, Switch } from "antd"
  5. import React from "react"
  6. /**
  7. * 修改启停
  8. */
  9. interface Props {
  10. configuredStatus: string,
  11. isDeleted?: boolean,
  12. accountId: number
  13. adgroupId: number,
  14. onChange?: () => void
  15. }
  16. const SwitchStatus: React.FC<Props> = (prosp) => {
  17. const { configuredStatus, isDeleted, accountId, adgroupId, onChange } = prosp
  18. const modifyStatusBatch = useAjax((params) => modifyStatusBatchApi(params))
  19. const switchHandle = (accountAdgroupMaps: string[], suspend: boolean) => {
  20. modifyStatusBatch.run({ accountAdgroupMaps, suspend }).then(res => {
  21. message.success(`${suspend ? '启动' : '暂停'}成功`)
  22. onChange?.()
  23. })
  24. }
  25. return <Switch size="small" checked={configuredStatus === 'AD_STATUS_NORMAL'} loading={modifyStatusBatch.loading} disabled={isDeleted} onChange={(checked) => switchHandle([accountId + ',' + adgroupId], checked)} />
  26. }
  27. export default React.memo(SwitchStatus)