Files
hzdyjs/web/src/api/stgl/member/index.ts
T

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' }
});
};