135 lines
3.6 KiB
JavaScript
135 lines
3.6 KiB
JavaScript
import {makeAutoObservable} from "mobx";
|
|
import {http} from "../utils/http";
|
|
|
|
export class Membership {
|
|
page = 0;
|
|
pageSize = 10
|
|
data = [];
|
|
total_data = 0;
|
|
dataTotal=0;
|
|
|
|
dataDetail = {};
|
|
dataMember=[];
|
|
|
|
|
|
//filter
|
|
visibleModalFilterMembership = false;
|
|
filterMembership = null;
|
|
filterPartner = null;
|
|
constructor(ctx) {
|
|
this.ctx = ctx;
|
|
makeAutoObservable(this);
|
|
}
|
|
|
|
async getData() {
|
|
try {
|
|
const response = await http.get(`/users?page=${this.page}&pageSize=${this.pageSize}&superior=${this.filterMembership}&type=${this.filterPartner}`);
|
|
console.log(this.filterMembership)
|
|
// console.log(this.filterPartner)
|
|
console.log(response)
|
|
this.dataMember = response.body.data ?? []
|
|
// this.dataMember = response.body.data.map((item, idx) => {
|
|
// item.key = idx;
|
|
// item.name = item?.user_detail?.name;
|
|
// item.phone_number = item?.user_detail?.phone_number;
|
|
// item.roleId = item?.roles.id;
|
|
// item.roleName = item?.roles.name;
|
|
// return item
|
|
// }) ?? []
|
|
|
|
this.dataTotal = response?.body?.count ?? 0
|
|
console.log(this.dataTotal)
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async getDetail(id) {
|
|
try {
|
|
const response = await http.get(`/users/`+id);
|
|
//console.log(response,'Data Detail')
|
|
this.dataDetail = response.body.data
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async getDataBySuperior() {
|
|
try {
|
|
const response = await http.get(`/users/find-by-supperior?page=${this.page}&pageSize=${this.pageSize}`);
|
|
console.log(response)
|
|
this.data = response.body.data.map((item, idx) => {
|
|
item.key = idx;
|
|
item.name = item?.user_detail?.name;
|
|
item.phone_number = item?.user_detail?.phone_number;
|
|
item.roleId = item?.roles.id;
|
|
item.roleName = item?.roles?.name;
|
|
return item
|
|
}) ?? []
|
|
|
|
this.total_data = response?.body?.count ?? 0
|
|
console.log(this.total_data)
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async create(data) {
|
|
try {
|
|
const response = await http.post('/users').send(data);
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async update(id, data) {
|
|
try {
|
|
const response = await http.put('/users/' + id).send(data);
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async changePassword(id, data) {
|
|
try {
|
|
const response = await http.put('/users/change-password/' + id).send(data);
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async delete(id) {
|
|
try {
|
|
const response = await http.del('/users/' + id);
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async changeStatus(id, status) {
|
|
try {
|
|
const response = await http.get(`/users/${id}/${status}`);
|
|
await this.getData();
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async withdrawProfit(id) {
|
|
try {
|
|
const response = await http.put(`/transaction/withdraw/${id}`);
|
|
await this.getData();
|
|
return response;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
}
|
|
|
|
|