TravelListLogic.js 2.44 KB
import {observable,computed} from 'mobx'
import {_share, _findTravelHead} from "../service/AppService";
import Toast from "react-native-simple-toast";
import moment from 'moment';

export default class TravelListLogic {
    @observable
    showFinish = false
    @observable
    list = []
    @observable
    showOrdersBar = false
    @observable
    text = ''
    @observable
    marked = false
    @observable
    loading = true
    params = null
    @observable
    title = ""
    @observable
    changeStatus=false
    @observable
    currentListOwner=""

    async travelHeadFind(param) {
        const option = {
            ...param,
            ...this.params,
            pageSize: 0,
        };
        try {
            let data;
            data = await _findTravelHead(option);

            const {errors, firstErrorMessage, result, totalCount} = data;

            if (errors.length > 0) {
                Toast.show(firstErrorMessage)
            } else {
                if(data.result&&data.result.length>0){
                    for(let i=0;i<data.result.length;i++){
                        let travel = data.result[i];
                        let time;
                        let status;
                        if(travel.isSubmit && !travel.isApproved){
                            time = moment(new Date(Number(travel.submitTime))).utcOffset(-8).format('YYYY-MM-DD HH:mm');
                            status = 0;
                        }else if(travel.isApproved && travel.approveResult === "AGREED"){
                            time = moment(new Date(Number(travel.approveTime))).utcOffset(-8).format('YYYY-MM-DD HH:mm');
                            status = 1;
                        }else if(travel.isApproved && travel.approveResult === "DISAGREED"){
                            time = moment(new Date(Number(travel.approveTime))).utcOffset(-8).format('YYYY-MM-DD HH:mm');
                            status = 2;
                        }else if(!travel.isSubmit){
                            time = moment(new Date(Number(travel.creationTime))).utcOffset(-8).format('YYYY-MM-DD HH:mm');
                            status = 3;
                        }
                        travel.time = time;
                        travel.status = status;

                        this.list.push(travel);
                    }
                }
            }
        } catch (e) {

        }

        this.changeStatus=!this.changeStatus
        this.loading = false

    }

}