| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | import { Button, Select, Table } from 'antd';import React, { useEffect, useState } from 'react';import '../../tencentAdPutIn/index.less'import { useAjax } from '@/Hook/useAjax';import { getCorpRelationAllApi, getCustomerServiceGroupListApi } from '@/services/adqV3/global';import { SearchOutlined } from '@ant-design/icons';import columns from './tableConfig';import SettingsEnterprise from './settingsEnterprise';const Group: React.FC<{ adAccountId?: number }> = ({ adAccountId }) => {    /**********************************/    const [queryParamsNew, setQueryParamsNew] = useState<{ adAccountId: number, pageNum: number, pageSize: number, tencentCorpId?: string }>({ pageNum: 1, pageSize: 20, adAccountId: adAccountId || 0 })    const [settingsData, setSettingsData] = useState<{ visible: boolean, data: any }>({ visible: false, data: {} })    const getCustomerServiceGroupList = useAjax((params) => getCustomerServiceGroupListApi(params))    const getCorpRelationAll = useAjax((params) => getCorpRelationAllApi(params))    /**********************************/    useEffect(() => {        if (adAccountId) {            getCorpRelationAll.run({ adAccountId })        }    }, [adAccountId])    useEffect(() => {        if (adAccountId) {            getCustomerServiceGroupList.run({ ...queryParamsNew, adAccountId })        }    }, [queryParamsNew, adAccountId])    const handleEdit = (data: any) => {        setSettingsData({ visible: true, data })        // setQueryParamsNew({ ...queryParamsNew, tencentCorpId: data.tencentCorpId })    }    return <>        <div className="flexStart" style={{ gap: 8, marginBottom: 16 }}>            <Select                showSearch                placeholder="请选择企业"                filterOption={(input, option) =>                    ((option?.label ?? '') as any).toLowerCase().includes(input.toLowerCase())                }                style={{ width: 200 }}                allowClear                value={queryParamsNew?.tencentCorpId}                loading={getCorpRelationAll.loading}                onChange={(e) => {                    setQueryParamsNew({ ...queryParamsNew, tencentCorpId: e, pageNum: 1 })                }}                options={getCorpRelationAll?.data?.map((item: { corpName: string; tencentCorpId: string; }) => ({ label: item.corpName, value: item.tencentCorpId }))}            />            <Button type="primary" icon={<SearchOutlined />} loading={getCustomerServiceGroupList.loading} onClick={() => getCustomerServiceGroupList.refresh()}>刷新</Button>        </div>        <Table            columns={columns(handleEdit)}            dataSource={getCustomerServiceGroupList.data?.records}            size="small"            loading={getCustomerServiceGroupList?.loading}            scroll={{ y: 600, x: 1000 }}            rowKey={'groupId'}            pagination={{                total: getCustomerServiceGroupList.data?.total,                defaultPageSize: 20,                current: getCustomerServiceGroupList.data?.current,                pageSize: getCustomerServiceGroupList.data?.size            }}            onChange={(pagination) => {                const { current, pageSize } = pagination                setQueryParamsNew({ ...queryParamsNew, pageNum: current as number, pageSize: pageSize as number || 20 })            }}        />        {/* 设置修改 */}        {settingsData.visible && <SettingsEnterprise            {...settingsData}            adAccountId={adAccountId as number}            onClose={() => setSettingsData({ visible: false, data: {} })}            onChange={() => {                getCustomerServiceGroupList.refresh()                setSettingsData({ visible: false, data: {} })            }}        />}    </>};export default React.memo(Group);
 |