switchStatus.tsx 1.1 KB

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