import { useAjax } from "@/Hook/useAjax" import { delCopyWritingApi, getCopyWritingListApi } from "@/services/adqV3/global" import { PlusOutlined, SearchOutlined } from "@ant-design/icons" import { Button, Input, message, Modal, Select, Space, Table } from "antd" import React, { useEffect, useState } from "react" import ModifyCopyWriting from "./modifyCopyWriting" import columns from "./tableConfig" import '../../tencentAdPutIn/index.less' import { getErpUserAll } from "@/services/launchAdq/adq" interface Props { onChange?: (value: string[]) => void onClick?: React.MouseEventHandler } const SelectCopyWriting: React.FC = ({ onChange, onClick }) => { /**********************************/ const [visible, setVisible] = useState(false) const [queryForm, setQueryForm] = useState<{ category?: string, content?: string, createBy?: number, pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 }) const [queryFormNew, setQueryFormNew] = useState<{ category?: string, content?: string, createBy?: number, pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 }) const [initialValues, setInitialValues] = useState() const [mvisible, setMVisible] = useState(false) const [selectedRows, setSelectedRows] = useState([]) const getCopyWritingList = useAjax((params) => getCopyWritingListApi(params)) const delCopyWriting = useAjax((params) => delCopyWritingApi(params)) const allOfMember = useAjax(() => getErpUserAll()) /**********************************/ useEffect(() => { allOfMember.run() }, []) useEffect(() => { if (visible) getCopyWritingList.run(queryFormNew) }, [queryFormNew, visible]) const del = (id: number) => { delCopyWriting.run(id).then(res => { if (res) { message.success('删除成功') getCopyWritingList.refresh() } }) } const update = (data: any) => { setInitialValues(data) setMVisible(true) } const handleOk = () => { if (selectedRows.length > 0) { onChange?.(selectedRows.map(item => item.content)) setSelectedRows([]) setVisible(false) } else { message.error('请选择文案') } } return <> {visible && 选择文案} open={visible} onCancel={() => { setVisible(false) setSelectedRows([]) }} onOk={handleOk} className="modalResetCss" width={1000} > setQueryForm({ ...queryForm, category: e.target.value, pageNum: 1 })} /> setQueryForm({ ...queryForm, content: e.target.value, pageNum: 1 })} /> { const { current, pageSize } = pagination setQueryForm({ ...queryForm, pageNum: current || 1, pageSize: pageSize || 10 }) setQueryFormNew({ ...queryForm, pageNum: current || 1, pageSize: pageSize || 10 }) }} rowSelection={{ selectedRowKeys: selectedRows.map(item => item.id.toString()), onSelect: (record: { id: number, mpName: string }, selected: boolean) => { if (selected) { selectedRows.push({ ...record }) setSelectedRows([...selectedRows]) } else { let newSelectAccData = selectedRows.filter((item: { id: number }) => item.id !== record.id) setSelectedRows([...newSelectAccData]) } }, onSelectAll: (selected: boolean, selectedRowss: { id: number }[], changeRows: { id: number }[]) => { if (selected) { let newSelectAccData = [...selectedRows] changeRows.forEach((item: { id: number }) => { let index = newSelectAccData.findIndex((ite: { id: number }) => ite.id === item.id) if (index === -1) { let data: any = { ...item } newSelectAccData.push(data) } }) setSelectedRows([...newSelectAccData]) } else { let newSelectAccData = selectedRows.filter((item: { id: number }) => { let index = changeRows.findIndex((ite: { id: number }) => ite.id === item.id) if (index !== -1) { return false } else { return true } }) setSelectedRows([...newSelectAccData]) } } }} /> } {/* 新增文案修改文案 */} {mvisible && { setInitialValues(undefined) setMVisible(false) getCopyWritingList.refresh() }} onClose={() => { setInitialValues(undefined) setMVisible(false) }} />} } export default React.memo(SelectCopyWriting)