Skip to content
meet-room.ts 5.36 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {CalendarComponentOptions} from "ion2-calendar";
import {monthCh, weekDay} from "../../../app/main";
import {RoomApplyPage} from "./room-apply/room-apply";
wangqinghua's avatar
wangqinghua committed
import {ServeService} from "../serve.service";
import {DatePipe} from "@angular/common";
wangqinghua's avatar
wangqinghua committed
import {AppGlobal} from "../../../service/http.service";
import {CommonService} from "../../../provide/common.service";
wangqinghua's avatar
wangqinghua committed
import {AppMainService} from "../../../app/app.service";
import {RoomDealPage} from "./room-deal/room-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-meet-room',
    templateUrl: 'meet-room.html',
wangqinghua's avatar
wangqinghua committed
})
export class MeetRoomPage {

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
    role = [];
wangqinghua's avatar
wangqinghua committed
    mineInfo;
wangqinghua's avatar
wangqinghua committed
    room = {
wangqinghua's avatar
wangqinghua committed
        morning: [],
        afternoon: []
wangqinghua's avatar
wangqinghua committed
    };
wangqinghua's avatar
wangqinghua committed
    applyList = [];

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

    constructor(public navCtrl: NavController, public navParams: NavParams,
wangqinghua's avatar
wangqinghua committed
                private serveSer: ServeService, public datePipe: DatePipe,
wangqinghua's avatar
wangqinghua committed
                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
    getApply() {
wangqinghua's avatar
wangqinghua committed
        const data = {'dateStr': this.date};
wangqinghua's avatar
wangqinghua committed
        this.serveSer.meetQueryByDate(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.room.morning = res.data.morningUse;
                this.room.afternoon = res.data.afternoonUse;
wangqinghua's avatar
wangqinghua committed
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

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

wangqinghua's avatar
wangqinghua committed
    doRefresh(e) {
wangqinghua's avatar
wangqinghua committed
        this.ionViewDidEnter()
wangqinghua's avatar
wangqinghua committed
        timer(800).subscribe(() => e.complete());
    }

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

wangqinghua's avatar
wangqinghua committed
    //我的预定
    myApply() {
        const data = {
wangqinghua's avatar
wangqinghua committed
            P_pageNumber: this.page.P_pageNumber,
            P_pageSize: this.page.P_pageSize,
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.serveSer.queryMyApply(data).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.page.isLoad = false;
wangqinghua's avatar
wangqinghua committed
                this.applyList = res.list;
wangqinghua's avatar
wangqinghua committed
                this.page.total = res.total;
wangqinghua's avatar
wangqinghua committed
            }
        )
    }

    //取消预定
    removeItem(item) {
        this.serveSer.cancelApply(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
    goDeal() {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(RoomDealPage);
    }

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
    //编辑申请
wangqinghua's avatar
wangqinghua committed
    goApplyEdit(item) {
wangqinghua's avatar
wangqinghua committed
        if ((this.role.includes(1) || this.role.includes(2)
            && item.orgName != this.mineInfo.orgName) || this.role.includes(7)) {
wangqinghua's avatar
wangqinghua committed
            this.navCtrl.push(RoomApplyPage, {id: item.applyId, accommodation: item.accommodation});
wangqinghua's avatar
wangqinghua committed
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //新增申请
wangqinghua's avatar
wangqinghua committed
    goApply(item, time) {
wangqinghua's avatar
wangqinghua committed
        if (this.role.includes(1) || this.role.includes(2) || this.role.includes(7)) {
wangqinghua's avatar
wangqinghua committed
            let data;
            if (item) {
                data = {
                    roomId: item.id,
                    roomName: item.name,
wangqinghua's avatar
wangqinghua committed
                    equipmervice: item.equipmervice,
wangqinghua's avatar
wangqinghua committed
                    startTime: this.date + ' ' + time,
                    accommodation: item.accommodation
wangqinghua's avatar
wangqinghua committed
                };
            }
            this.navCtrl.push(RoomApplyPage, {data: data});
wangqinghua's avatar
wangqinghua committed
        }
        ;
    }

    chooseType(item, time) {
        const nowDate = new Date().getTime();
        const chooseDate = new Date(this.date +' 23:59:59').getTime();
wangqinghua's avatar
wangqinghua committed
        if(nowDate > chooseDate && !item.applyId) {
wangqinghua's avatar
wangqinghua committed
            this.commonSer.toast('该时间会议室不可预定');
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (item.applyId) {
wangqinghua's avatar
wangqinghua committed
            this.goApplyEdit(item);
        } else {
            this.goApply(item, time);
        }
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

}