/* eslint-disable no-param-reassign */ import { PlusOutlined } from '@ant-design/icons'; import { ActionType, ProColumns, ProTable } from '@ant-design/pro-components'; import { PageContainer } from '@ant-design/pro-layout'; import { Button, Image, message, Popconfirm, Switch } from 'antd'; import React, { useRef, useState } from 'react'; import { Access, useAccess } from 'umi'; import UpdateForm from './components/UpdateForm'; import { addOrUpdateScreenAdvertisementUsingPost, changeAdStateUsingGet, getScreenAdPageUsingPost, removeAdUsingPost } from '@/services/pop-b2b2c/pbcScreenAdvertisementController'; /** * 查询表格 * @param param0 */ const fetchData = async (params: API.PbcScreenAdvertisement) => { const msg = await getScreenAdPageUsingPost(params); return { data: msg.data?.records, total: msg.data?.total, success: msg.retcode, } as any; }; /** * 更新节点 * @param fields */ const handleUpdate = async (fields: API.PbcScreenAdvertisement) => { const hide = message.loading('正在保存'); try { const msg = await addOrUpdateScreenAdvertisementUsingPost(fields); hide(); if (msg.retcode) { message.success(!fields.pbcId ? '添加成功' : '保存成功'); return true; } message.error(msg.retmsg); return false; } catch (error) { hide(); message.error(!fields.pbcId ? '添加失败' : '保存失败'); return false; } }; const handleUpdateState = async (id: number, state: number) => { const hide = message.loading('正在保存'); if (!id) return false; try { const msg = await changeAdStateUsingGet({ pbcId: id, pbcBusinessState: state }); hide(); if (msg.retcode) { message.success(!id ? '新增成功!' : '保存成功!'); return true; } message.error(msg.retmsg); return false; } catch (error) { hide(); message.error(!id ? '新增失败,请重试!' : '保存失败,请重试!'); return false; } }; /** * 删除节点 * @param id */ const handleRemove = async (id?: number) => { const hide = message.loading('正在删除'); if (!id) return false; try { const msg = await removeAdUsingPost({ pbcId: id, }); hide(); if (msg.retcode) { message.success('删除成功,即将刷新'); } else { message.error(msg.retmsg ?? '删除失败,请重试'); } return true; } catch (error) { hide(); message.error('删除失败,请重试'); return false; } }; // eslint-disable-next-line @typescript-eslint/ban-types const TableList: React.FC<{}> = () => { const access: any = useAccess(); const actionRef = useRef(); const [stepFormValues, setStepFormValues] = useState({}); const [updateModalVisible, handleUpdateModalVisible] = useState(false); const columns: ProColumns[] = [ { title: '标题', dataIndex: 'pbcTitle', }, { title: '预览', dataIndex: 'pbcAdvertisement', search: false, render: (text) => { const str = text?.toString() if (str?.substring(str.lastIndexOf('.')) === '.mp4') { return