Skip to content
use-car.ts 5.19 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
wangqinghua's avatar
wangqinghua committed
import {CalendarComponentOptions} from "ion2-calendar";
import {monthCh, weekDay} from "../../../app/main";
import {ServeService} from "../serve.service";
import {DatePipe} from "@angular/common";
import {RoomApplyPage} from "../meet-room/room-apply/room-apply";
wangqinghua's avatar
wangqinghua committed
import {AppGlobal} from "../../../service/http.service";
import {CommonService} from "../../../provide/common.service";
import {CarApplyPage} from "./car-apply/car-apply";
wangqinghua's avatar
wangqinghua committed
import {AppMainService} from "../../../app/app.service";
wangqinghua's avatar
wangqinghua committed
import {CarDealPage} from "./car-deal/car-deal";
wangqinghua's avatar
wangqinghua committed
import {timer} from "rxjs/observable/timer";
wangqinghua's avatar
wangqinghua committed

@IonicPage()
@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'page-use-car',
    templateUrl: 'use-car.html',
wangqinghua's avatar
wangqinghua committed
})
export class UseCarPage {

wangqinghua's avatar
wangqinghua committed
    changeType = 1;
wangqinghua's avatar
wangqinghua committed
    date;
wangqinghua's avatar
wangqinghua committed
    options: CalendarComponentOptions = {
        from: new Date(2000, 0, 1),
        monthFormat: 'YYYY 年 MM 月 ',
        weekdays: weekDay,
        monthPickerFormat: monthCh,
        pickMode: 'single',
        color: 'danger'
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    room;
    applyList = [];
    role = [];
wangqinghua's avatar
wangqinghua committed
    mineInfo;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    page = {
        P_pageNumber: 1,
        P_pageSize: AppGlobal.pageCount,
        total: 0,
        isLoad: false,
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    checkObj = {
wangqinghua's avatar
wangqinghua committed
        checkedApplyList: [],   //已审核
        uncheckApplyist: []   //未审核
wangqinghua's avatar
wangqinghua committed
    };
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    nowDate;

wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public navParams: NavParams,
                private serveSer: ServeService, public datePipe: DatePipe,
                private commonSer: CommonService, private appMainSer: AppMainService) {
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ionViewDidEnter() {
wangqinghua's avatar
wangqinghua committed
        this.myApply();
wangqinghua's avatar
wangqinghua committed
        this.getApply();
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    ionViewDidLoad() {
wangqinghua's avatar
wangqinghua committed
        this.date = this.datePipe.transform(new Date(), 'yyyy-MM-dd');
wangqinghua's avatar
wangqinghua committed
        //获取权限
        this.appMainSer.role.subscribe(value => {
                this.role = value;
            }
        );
wangqinghua's avatar
wangqinghua committed

        //获取个人信息
        this.appMainSer.mineInfo.subscribe(value => {
            this.mineInfo = value;
        })
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //获取预定日程
wangqinghua's avatar
wangqinghua committed
    getApply() {
wangqinghua's avatar
wangqinghua committed
        const data = {'dateStr': this.date};
wangqinghua's avatar
wangqinghua committed
        this.serveSer.queryCarApplyByDate(data).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.checkObj.checkedApplyList = res.data.checkedApplyList;
                this.checkObj.uncheckApplyist = res.data.uncheckApplyist;
wangqinghua's avatar
wangqinghua committed
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //我的预定
    myApply() {
        this.nowDate = new Date().getTime();
        const data = {
            P_pageNumber: 1,
            P_pageSize: this.page.P_pageSize,
        };
        this.serveSer.myCarApply(data).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.page.isLoad = true;
wangqinghua's avatar
wangqinghua committed
                this.applyList = res.data.list;
                this.page.total = res.data.total;
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    getDate(e) {
wangqinghua's avatar
wangqinghua committed
        this.date = e;
wangqinghua's avatar
wangqinghua committed
        this.getApply();
    }

wangqinghua's avatar
wangqinghua committed
    doRefresh(e) {
wangqinghua's avatar
wangqinghua committed
        this.getApply();
        const data = {
            P_pageNumber: 1,
wangqinghua's avatar
wangqinghua committed
            P_pageSize: this.page.P_pageSize,
wangqinghua's avatar
wangqinghua committed
        };
        this.serveSer.myCarApply(data).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.page.isLoad = true;
wangqinghua's avatar
wangqinghua committed
                this.applyList = res.data.list;
wangqinghua's avatar
wangqinghua committed
                this.page.total = res.data.total;
wangqinghua's avatar
wangqinghua committed
                timer(800).subscribe(() => e.complete());
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    doInfinite(e) {
        this.nowDate = new Date().getTime();
        if (this.page.total == this.applyList.length) {
            console.log("没有更多了");
            e.enable(false);
            return false;
        }
        this.page.P_pageNumber++;
wangqinghua's avatar
wangqinghua committed
        const data = {
wangqinghua's avatar
wangqinghua committed
            P_pageNumber: this.page.P_pageNumber,
            P_pageSize: this.page.P_pageSize,
wangqinghua's avatar
wangqinghua committed
        };
        this.serveSer.myCarApply(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.page.total = res.total;
                this.applyList = this.applyList.concat(res.list);
                timer(800).subscribe(() => e.complete());
wangqinghua's avatar
wangqinghua committed
            }
        )
wangqinghua's avatar
wangqinghua committed
        timer(800).subscribe(() => e.complete());
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //取消预定
wangqinghua's avatar
wangqinghua committed
    removeItem(item, ev) {
        ev.stopPropagation();
wangqinghua's avatar
wangqinghua committed
        if (item.startTime < new Date().getTime()) {
wangqinghua's avatar
wangqinghua committed
            this.commonSer.toast("已过期不可取消");
            return;
        }
wangqinghua's avatar
wangqinghua committed
        this.commonSer.alert('确定取消?', () => {
            this.serveSer.cancelCarApply(item.id).subscribe(
                (res) => {
                    if (res.errcode == 1000) {
                        this.commonSer.toast('取消预定成功');
                        this.myApply();
                    } else {
                        this.commonSer.toast(res.errmsg);
                    }
wangqinghua's avatar
wangqinghua committed
                }
wangqinghua's avatar
wangqinghua committed
            )
        });
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //新增预定
    addApply() {
        this.navCtrl.push(CarApplyPage);
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //改变
    change(type) {
        this.changeType = type;
wangqinghua's avatar
wangqinghua committed
        if (this.changeType == 1) this.getApply();
        if (this.changeType == 2) this.myApply();
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    goDeal() {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(CarDealPage);
    }

wangqinghua's avatar
wangqinghua committed
    //编辑申请
wangqinghua's avatar
wangqinghua committed
    goDetail(item) {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(CarApplyPage, {id: item.id, type: 'edit'});
wangqinghua's avatar
wangqinghua committed
    }

    //新增申请
    goApply() {
        this.navCtrl.push(RoomApplyPage);
    }
wangqinghua's avatar
wangqinghua committed

}