Skip to content
meet-room.ts 3.78 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

@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;
    date = new Date();
    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
    applyList = [];
wangqinghua's avatar
wangqinghua committed
    selectDate;
wangqinghua's avatar
wangqinghua committed

    pageNumber = 1;
    pageSize = AppGlobal.pageCount;
    total;
    isLoad = true;
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(){
        this.myApply();
    }

wangqinghua's avatar
wangqinghua committed
    ionViewDidLoad() {
wangqinghua's avatar
wangqinghua committed
        this.selectDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');
        this.getApply();
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() {
        const data = {'dateStr': this.selectDate};
wangqinghua's avatar
wangqinghua committed
        this.serveSer.queryMeetingRoomByDate(data).subscribe(
            (res) => {
                this.room = res.data;
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

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

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

    //取消预定
    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(0)) return false;  //普通人不可编辑
        if (this.role.includes(1) && item.orgName != this.mineInfo.orgName) return false;  //内勤只能编辑本处室的
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(RoomApplyPage, {id: item.applyId});
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //新增申请
wangqinghua's avatar
wangqinghua committed
    goApply(item) {
        if (this.role.includes(0)) return false;
        let data;
        if (item) {
            data = {
                roomId: item.id,
                roomName: item.name,
                startTime: this.selectDate + ' 9:00:00',
            };
        }
        this.navCtrl.push(RoomApplyPage, {data: data});
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

}