139 lines
2.8 KiB
TypeScript
139 lines
2.8 KiB
TypeScript
import request from '@/utils/request';
|
|
import { AxiosPromise } from 'axios';
|
|
import { StglMemberVO, StglMemberForm, StglMemberQuery } from '@/api/stgl/member/types';
|
|
|
|
/**
|
|
* 查询社团成员列表
|
|
* @param query
|
|
* @returns {*}
|
|
*/
|
|
export const listStglMember = (query?: StglMemberQuery): AxiosPromise<StglMemberVO[]> => {
|
|
return request({
|
|
url: '/stgl/member/list',
|
|
method: 'get',
|
|
params: query,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 查询社团成员详细
|
|
* @param id
|
|
*/
|
|
export const getStglMember = (id: string | number): AxiosPromise<StglMemberVO> => {
|
|
return request({
|
|
url: '/stgl/member/' + id,
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 新增社团成员
|
|
* @param data
|
|
*/
|
|
export const addStglMember = (data: StglMemberForm) => {
|
|
return request({
|
|
url: '/stgl/member',
|
|
method: 'post',
|
|
data: data,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 修改社团成员
|
|
* @param data
|
|
*/
|
|
export const updateStglMember = (data: StglMemberForm) => {
|
|
return request({
|
|
url: '/stgl/member',
|
|
method: 'put',
|
|
data: data,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 删除社团成员
|
|
* @param id
|
|
*/
|
|
export const delStglMember = (id: string | number | Array<string | number>) => {
|
|
return request({
|
|
url: '/stgl/member/' + id,
|
|
method: 'delete',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取角色类型选项
|
|
*/
|
|
export const getRoleTypeOptions = (): AxiosPromise<any[]> => {
|
|
return request({
|
|
url: '/stgl/member/roleOptions',
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 审核成员申请
|
|
* @param id 成员ID
|
|
* @param approved 是否通过(true-通过,false-拒绝)
|
|
*/
|
|
export const approveMember = (id: string | number, approved: boolean) => {
|
|
return request({
|
|
url: `/stgl/member/approve/${id}`,
|
|
method: 'put',
|
|
params: { approved }
|
|
});
|
|
};
|
|
|
|
export const presidentApprove = (memberId: number, approved: boolean, opinion?: string) => {
|
|
return request({
|
|
url: '/stgl/member/presidentApprove',
|
|
method: 'put',
|
|
data: { memberId, approved, opinion },
|
|
headers: { isEncrypt: 'true' }
|
|
});
|
|
};
|
|
|
|
export const advisorApprove = (memberId: number, approved: boolean, opinion?: string) => {
|
|
return request({
|
|
url: '/stgl/member/advisorApprove',
|
|
method: 'put',
|
|
data: { memberId, approved, opinion },
|
|
headers: { isEncrypt: 'true' }
|
|
});
|
|
};
|
|
|
|
export const getApprovalFlow = (memberId: number) => {
|
|
return request({
|
|
url: `/stgl/member/approvalFlow/${memberId}`,
|
|
method: 'get',
|
|
headers: { isEncrypt: 'true' }
|
|
});
|
|
};
|
|
|
|
export const getPendingApprovals = (clubId?: number) => {
|
|
return request({
|
|
url: '/stgl/member/pendingApprovals',
|
|
method: 'get',
|
|
params: clubId ? { clubId } : {},
|
|
headers: { isEncrypt: 'true' }
|
|
});
|
|
};
|