bukopin-redemption-client-r.../src/common/stores/payment_method.js
Rifqy Zacky Ariadhy 1a000700e6 Initial commit
2019-01-02 18:39:53 +07:00

177 lines
3.2 KiB
JavaScript

import { observable, action, computed } from 'mobx';
export default class PaymentMethod {
@observable paymentList = [];
@observable paymentMethodId = "";
@observable paymentMethodDetail = {
id : '',
type : '',
name : '',
pinalty_type: '',
pinalty_type: '',
discount_type: '',
downpayment_type: '',
discount: '',
downpayment: '',
downpayment_deadline : '',
start_date: '',
end_date: null,
cancelation_rules: [{
period : "",
change_date : '',
money_return : '',
change_package :'',
}],
};
// @observable getDriverByIdData = [{
// id: "",
// contact_id: "",
// name: "",
// nik: "",
// phone_number: "",
// date_of_birth: "",
// address: "",
// photo: "",
// created_at: "",
// updated_at: "",
// deleted_at: null
// }];
// @observable driverId = '';
@observable isLoading = false;
constructor(context) {
this.http = context.http;
this.context = context;
}
@action
reset(){
this.paymentMethodDetail = {
id : '',
type : '',
name : '',
pinalty_type: '',
pinalty_type: '',
discount_type: '',
downpayment_type: '',
discount: '',
downpayment: '',
downpayment_deadline : '',
start_date: '',
end_date: null,
cancelation_rules: [{
period : "",
change_date : '',
money_return : '',
change_package :'',
}],
}
}
@action
getAll(){
this.isLoading = true;
return this.http.get(`payment_methods`).then(res => {
this.paymentList = res;
// console.log(this.paymentList);
this.isLoading = false;
});
}
// @action
// getById(id){
// if(id != 0){
// this.isLoading = true;
// this.http.get(`payment_methods?id=${id}`).then(res => {
// this.paymentMethodDetail = res;
// this.isLoading = false;
// // console.log(this.contactId);
// });
// }
// }
@action
getById(id){
this.paymentMethodId = id;
this.isLoading = true;
return this.http.get(`payment_methods?id=${id}`).then(detail => {
this.paymentMethodDetail = detail[0];
this.isLoading = false;
})
}
@action
reset(){
this.paymentMethodDetail = {
id : '',
type : '',
name : '',
pinalty_type: '',
pinalty_type: '',
discount_type: '',
discount: '',
downpayment: '',
start_date: '',
end_date: null,
cancelation_rules: [],
};
}
@computed
get isDetailEmpty(){
if(this.paymentMethodDetail.name == ''){
return true;
}
else{
return false;
}
}
@computed
get isEmpty(){
if(this.paymentList.length > 0){
return false;
}
return true;
}
@computed
get isRulesEmpty(){
if(this.paymentMethodDetail.cancelation_rules.length > 0){
return false;
}
return true;
}
@action
post(){
this.isLoading = true;
this.http.post(`payment_methods`, this.paymentMethodDetail).then(res => {
this.isLoading = false;
this.getAll();
return res;
});
console.log(this.paymentMethodDetail);
}
@action
put(id){
this.isLoading = true;
this.http.put(`payment_methods/${id}`, this.paymentMethodDetail).then(res => {
this.isLoading = false;
this.getAll();
return res;
});
}
@action
del(id){
this.isLoading = true;
this.http.delete(`payment_methods/${id}`).then(res => {
this.isLoading = false;
this.getAll();
return res;
})
}
}