import { requestClient } from '#/api/request'; export interface LegacyPageResult> { records: T[]; total: number; } export interface LegacyTeamPolicyItem { activatedTime?: number | string; countryCode?: string; createTime?: number | string; createUserNickname?: string; effectiveMonth?: number | string; effectiveStartTime?: number | string; historyRelease?: boolean; id?: number | string; policy?: Array>; policyStatus?: string; policyType?: string; region?: number | string; release?: boolean; title?: string; } export async function teamProcessApprovalTable(params: Record) { return requestClient.get>>( '/team/application/process/approval/list', { params, }, ); } export async function listMembers() { return requestClient.get>>('/users/list/combo'); } export async function listTeamTable(params: Record) { return requestClient.get>>('/team/list', { params, }); } export async function listTeamBillTable(params: Record) { return requestClient.get>>('/team/bill/list', { params, }); } export async function teamPolicyReleases(params: Record) { return requestClient.get( '/team/policy/manager/releases', { params, }, ); } export async function teamPolicyHistoryReleases(params: Record) { return requestClient.get( '/team/policy/manager/history/releases', { params, }, ); } export async function teamPolicyAdd(data: Record) { return requestClient.post('/team/policy/manager/add', data); } export async function deleteTeamPolicy(id: number | string) { return requestClient.get(`/team/policy/manager/delete/${id}`); } export async function getTeamDetails(teamId: number | string) { return requestClient.get>('/team/details', { params: { teamId }, }); } export async function listMemberTable(params: Record) { return requestClient.get>>('/team/member/list', { params, }); } export async function listTeamMemberWork(params: Record) { return requestClient.get>>('/team/member/work', { params, }); } export async function addTeamMember(data: Record) { return requestClient.post('/team/member/add', data); } export async function createTeam(data: Record) { return requestClient.post('/team/create', data); } export async function updateTeamProfile(data: Record) { return requestClient.post('/team/update-profile', data); } export async function delTeamBatch(teamIds: Array) { return requestClient.post('/team/del', teamIds); } export async function addTeamRemarks(data: Record) { return requestClient.post('/team/add-remarks', data); } export async function delTeamRemarks(data: Record) { return requestClient.post('/team/del-remarks', data); } export async function addTeamContact(data: Record) { return requestClient.post('/team/add-contact', data); } export async function delTeamContact(data: Record) { return requestClient.post('/team/del-contact', data); } export async function removeTeamMember(data: Record) { return requestClient.post('/team/member/remove', data); } export async function updateMemberRemark(data: Record) { return requestClient.post('/team/member/update-remark', data); } export async function updateMemberTeam(data: Record) { return requestClient.post('/team/member/team-change', data); } export async function checkTarget(params: Record) { return requestClient.get('/team/check-target', { params, }); } export async function resetUnpaidBillMemberTarget(data: Record) { return requestClient.post('/team/reset-target', data); } export async function sendTeamNotice(data: Record) { return requestClient.post('/team/notice/send', data); } export async function listTeamNoticeByTeamId(teamId: number | string) { return requestClient.get>>(`/team/notice/list/${teamId}`); } export async function deleteTeamNoticeById(id: number | string) { return requestClient.get(`/team/notice/delete/${id}`); } export async function teamProcessTable(params: Record) { return requestClient.get>>( '/team/application/process/list', { params, }, ); } export async function excelAnchorBill( params: Record, excelName: string, ) { const rawResponse = await requestClient.get('/team/bill/excel', { params, responseReturn: 'raw', responseType: 'blob', } as Record); const data = rawResponse instanceof Blob ? rawResponse : rawResponse?.data; const blob = data instanceof Blob ? data : new Blob([data]); const href = window.URL.createObjectURL(blob); const downloadElement = document.createElement('a'); downloadElement.href = href; downloadElement.download = `${excelName}.xlsx`; document.body.append(downloadElement); downloadElement.click(); downloadElement.remove(); window.URL.revokeObjectURL(href); } export async function pageBdLead(params: Record) { return requestClient.get>>( '/team/bd/leader/page', { params, }, ); } export async function pageTeamManager(params: Record) { return requestClient.get>>( '/team/manager/page', { params, }, ); } export async function pageBdTable(params: Record) { return requestClient.get>>( '/team/bd/page', { params, }, ); } export async function pageBdMemberTable(params: Record) { return requestClient.get>>( '/team/bd/member/page', { params, }, ); } export async function deleteBd(id: number | string) { return requestClient.get('/team/bd/del', { params: { id }, }); } export async function deleteBdMember(id: number | string) { return requestClient.get('/team/bd/member/del', { params: { id }, }); } export async function addBd(data: Record) { return requestClient.post('/team/bd/add', data); } export async function updateBd(data: Record) { return requestClient.post('/team/bd/update', data); } export async function changeBdLeader(data: Record) { return requestClient.post('/team/bd/change-bd-leader', data); } export async function deleteBdLead(id: number | string) { return requestClient.get('/team/bd/leader/del', { params: { id }, }); } export async function addBdLead(data: Record) { return requestClient.post('/team/bd/leader/add', data); } export async function updateBdLead(data: Record) { return requestClient.post('/team/bd/leader/update', data); } export async function leadBindBd(data: Record) { return requestClient.post('/team/bd/leader/bind/bd', data); } export async function teamBindBd(data: Record) { return requestClient.post('/team/bind/bd', data); } export async function deleteTeamManager(id: number | string) { return requestClient.get('/team/manager/del', { params: { id }, }); } export async function addTeamManager(data: Record) { return requestClient.post('/team/manager/add', data); } export async function updateTeamManager(data: Record) { return requestClient.post('/team/manager/update', data); }