|
@@ -1,6 +1,6 @@
|
|
|
|
|
|
import HocError from '@/Hoc/HocError'
|
|
|
-import { Col, Modal, Row, Input, message, Space, Tabs, Button } from 'antd'
|
|
|
+import { Col, Modal, Row, Input, message, Space, Tabs, Button, Radio } from 'antd'
|
|
|
import React, { useCallback, useEffect, useState } from 'react'
|
|
|
import { columnsMp } from './tableConfig'
|
|
|
import { useAjax } from '@/Hook/useAjax'
|
|
@@ -23,6 +23,7 @@ const AdAuthorize: React.FC = () => {
|
|
|
|
|
|
/*************************/
|
|
|
const { groupListInit } = useModel('useLaunchAdq.useAdAuthorize')
|
|
|
+ const userInfo = useModel('@@initialState', model => model.initialState?.currentUser)
|
|
|
const [queryForm, setQueryForm] = useState<GetAdAccountParams>({ pageNum: 1, pageSize: 20 })
|
|
|
const [remarkData, set_remarkData] = useState<{ visible: boolean, remark: string, data: any }>({
|
|
|
visible: false,
|
|
@@ -50,7 +51,8 @@ const AdAuthorize: React.FC = () => {
|
|
|
} | undefined>(undefined)
|
|
|
const [selectAccData, setSelectAccData] = useState<any[]>([])
|
|
|
const [puShow, setPuShow] = useState<boolean>(false)
|
|
|
- const [puData, setPuData] = useState<any>()
|
|
|
+ const [puData, setPuData] = useState<any[]>([])
|
|
|
+ const [switchType, setSwitchType] = useState<'account' | 'putUser'>('account')
|
|
|
|
|
|
const putRemark = useAjax((adAccountId: any, remark: any) => putAdAccountApi(adAccountId, remark))
|
|
|
const delAccountToGroup = useAjax((params) => delAccountToGroupApi(params))
|
|
@@ -114,7 +116,7 @@ const AdAuthorize: React.FC = () => {
|
|
|
}
|
|
|
|
|
|
/** 指派投手 */
|
|
|
- const putUserHandle = (data: any) => {
|
|
|
+ const putUserHandle = (data: any[]) => {
|
|
|
setPuData(data)
|
|
|
setPuShow(true)
|
|
|
}
|
|
@@ -150,13 +152,17 @@ const AdAuthorize: React.FC = () => {
|
|
|
ajax={getAdAccountList}
|
|
|
dataSource={getAdAccountList?.data?.data?.records}
|
|
|
loading={getAdAccountList?.loading}
|
|
|
- columns={() => columnsMp(edit, del, checkAccount, changeRecord, putUserHandle, queryForm?.groupId, getAdAccountList)}
|
|
|
+ columns={() => columnsMp(edit, del, checkAccount, changeRecord, putUserHandle, activeKey, userInfo?.userId?.toString(), queryForm?.groupId, getAdAccountList)}
|
|
|
total={getAdAccountList?.data?.data?.total}
|
|
|
page={getAdAccountList?.data?.data?.current}
|
|
|
pageSize={getAdAccountList?.data?.data?.size}
|
|
|
size="small"
|
|
|
scroll={{ y: 600 }}
|
|
|
leftChild={<Space>
|
|
|
+ <Radio.Group value={switchType} onChange={(e) => { setSwitchType(e.target.value); setSelectAccData([]) }}>
|
|
|
+ <Radio.Button value="account">批量切号</Radio.Button>
|
|
|
+ <Radio.Button value="putUser">批量指派投放助理</Radio.Button>
|
|
|
+ </Radio.Group>
|
|
|
<Input.TextArea
|
|
|
placeholder="广告账号, 多个以,隔开(id1,id2)"
|
|
|
allowClear
|
|
@@ -169,10 +175,15 @@ const AdAuthorize: React.FC = () => {
|
|
|
/>
|
|
|
<Button onClick={getList} type='primary' loading={getAdAccountList.loading}>搜索</Button>
|
|
|
<AddAccountToGroup onChange={() => getAdAccountList.refresh()} />
|
|
|
- {selectAccData?.length > 0 && <Button type="primary" ghost icon={<SwapOutlined />} onClick={() => { checkAccount(selectAccData) }}>批量切号</Button>}
|
|
|
+ {switchType === 'account' ?
|
|
|
+ (selectAccData?.length > 0 && <Button type="primary" ghost icon={<SwapOutlined />} onClick={() => { checkAccount(selectAccData) }}>批量切号</Button>) :
|
|
|
+ (selectAccData?.length > 0 && <Button type="primary" ghost icon={<SwapOutlined />} onClick={() => { putUserHandle(selectAccData) }}>批量指派投放助理</Button>)}
|
|
|
</Space>}
|
|
|
rowSelection={{
|
|
|
selectedRowKeys: selectAccData?.map((item: any) => item.id?.toString()),
|
|
|
+ getCheckboxProps: (record: any) => ({
|
|
|
+ disabled: switchType === 'putUser' ? activeKey === '2' || userInfo?.userId !== record?.putUserInfo?.userId : false
|
|
|
+ }),
|
|
|
onSelect: (record: { id: number, mpName: string }, selected: boolean) => {
|
|
|
if (selected) {
|
|
|
selectAccData.push({ ...record })
|
|
@@ -219,7 +230,7 @@ const AdAuthorize: React.FC = () => {
|
|
|
{/* 切号 */}
|
|
|
{checkAccShow && <CheckAccount value={data} visible={checkAccShow} onChange={() => { getList(); setCheckAccShow(false); setSelectAccData([]) }} onClose={() => { setCheckAccShow(false) }} />}
|
|
|
{/* 指派 */}
|
|
|
- {puShow && <AppointPut value={puData} visible={puShow} onClose={() => { setPuShow(false) }} allOfMember={allOfMember} onChange={() => { setPuShow(false); getAdAccountList.refresh() }} />}
|
|
|
+ {puShow && <AppointPut value={puData} visible={puShow} onClose={() => { setPuShow(false) }} allOfMember={allOfMember} onChange={() => { setPuShow(false); getAdAccountList.refresh(); setSelectAccData([]) }} />}
|
|
|
|
|
|
{remarkData.visible && <Modal
|
|
|
visible={remarkData.visible}
|