Skip to content
home.ts 11.9 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, ViewChild} from '@angular/core';
import {NavController, IonicPage, Slides} from 'ionic-angular';
wangqinghua's avatar
wangqinghua committed
import {ActivityListPage} from "../../home/activity/activityList/activityList";
wangqinghua's avatar
wangqinghua committed
import {Http, Response} from '@angular/http';
import {ActivityStatisticService} from '../../../service/activityStatisticService';
import {AppService, AppGlobal} from '../../../service/appHttpService';
import {Calendar} from '@ionic-native/calendar';
wangqinghua's avatar
wangqinghua committed
import {ActivityApplyPage} from "../../home/activity/activityApply/activityApply";
import {ActivityDetailPage} from "../../home/activity/activityDetail/activityDetail";
import {OutGoingReportPage} from "../../home/report/outGoingReport/outGoingReport";
import {AnnouncementPage} from '../../home/announcement/announcementList/announcement';
wangqinghua's avatar
wangqinghua committed
import {Storage} from '@ionic/storage';
wangqinghua's avatar
wangqinghua committed
import {OutGoingReportEditPage} from "../../home/report/outGoingReportEdit/outGoingReportEdit";
import {AnnouncementViewPage} from '../../home/announcement/announcementView/announcementView';
wangqinghua's avatar
wangqinghua committed
import {MoreAppPage} from "../../home/more-app/more-app";
wangqinghua's avatar
wangqinghua committed
import {ReportTrackPage} from "../../home/report/reportTrack/reportTrack";
wangqinghua's avatar
wangqinghua committed
import {CalendarComponentOptions, DayConfig} from "ion2-calendar";
wangqinghua's avatar
wangqinghua committed
import {NoticePage} from "../notice/notice";
wangqinghua's avatar
wangqinghua committed
import {monthCh, weekDay} from "../../../app/main";
wangqinghua's avatar
wangqinghua committed
import {Badge} from '@ionic-native/badge';
wangqinghua's avatar
wangqinghua committed
import {LearningListPage} from "../../home/learning/learning-list/learning-list";
wangqinghua's avatar
wangqinghua committed
import {TabsService} from "../tabs.service";
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
declare var Swiper;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
@IonicPage()
@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'page-home',
    templateUrl: 'home.html'
wangqinghua's avatar
wangqinghua committed
})

export class HomePage {
wangqinghua's avatar
wangqinghua committed
    @ViewChild(Slides) slides: Slides;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    hasNewActivity: number = 0;
    hasNewNotice: number = 0;
    hasNewPremanager: number = 0;
wangqinghua's avatar
wangqinghua committed
    hasNewMessage: number = 0;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //日历
wangqinghua's avatar
wangqinghua committed
    date: string;
    type: 'string';

wangqinghua's avatar
wangqinghua committed
    optionsMulti: CalendarComponentOptions;
wangqinghua's avatar
wangqinghua committed
    newArr: DayConfig[] = [];
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //待出行
    waitgoCount = '0';
    //待确认
    waitsureCount = '0';
    //未读通知
    NoticeNotreadCount = '0';
    //尚未报备
    PremanagerNotdoCount = '0';
    //是否显示正在开发中
    isWait: boolean = false;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    slidersItems = [];
    noticeList = [];
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    picture: string = AppGlobal.picture;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    operations: Array<string>;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //当前年份
    year;
    //当前月份
    month;
    //当前第几周
    weekNo;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    noticeTips;
wangqinghua's avatar
wangqinghua committed
    role;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public activityStatisticService: ActivityStatisticService,
                public appService: AppService, public http: Http, private calendar: Calendar, public storage: Storage,
wangqinghua's avatar
wangqinghua committed
                public badge: Badge, public tabsSer: TabsService) {
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ngOnInit(): void {
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpGet("/wisdomgroup/modules/message/findAllActivityForAppWithXQ", null).subscribe((res: Response) => {
wangqinghua's avatar
wangqinghua committed
            this.noticeList = res.json().slice(0, 2);
wangqinghua's avatar
wangqinghua committed
        }, error => {
wangqinghua's avatar
wangqinghua committed
            this.appService.alert('系统错误!');
        });
    }

    ionViewDidEnter() {
wangqinghua's avatar
wangqinghua committed
        //获取权限
        this.getRole();
wangqinghua's avatar
wangqinghua committed
        //获取消息数量
        this.getNewCount();
wangqinghua's avatar
wangqinghua committed
        //获取日历
        this.getCalendar();
wangqinghua's avatar
wangqinghua committed
    }

    ionViewWillEnter() {
wangqinghua's avatar
wangqinghua committed
        this.slidersItems = [];
wangqinghua's avatar
wangqinghua committed
        //初始化日期
        this.getHasNewActivity();
        this.getHasNewNotice();
wangqinghua's avatar
wangqinghua committed
        this.getHasNewMessage();
wangqinghua's avatar
wangqinghua committed
        this.getHasNewPremanager();
        //统计待进行和待确认活动数目
        this.activityStatisticService.myActivityOrderCount((data) => {
            this.waitgoCount = data.waitgoOrder;
            this.waitsureCount = data.waitSureOrder;
        });

        this.appService.ObserverHttpGet("/wisdomgroup/modules/common/file/getBanner", {}).subscribe((res: Response) => {
            this.slidersItems = res.json();
        }, error => {
        })

        //初始化统计未读通知
        this.activityStatisticService.myNoticeNotreadCount((data) => {
            this.NoticeNotreadCount = data;
        });
        //初始化统计尚未报备
        this.activityStatisticService.myNotdoPremanagerCount((data) => {
            this.PremanagerNotdoCount = data;
wangqinghua's avatar
wangqinghua committed
        });

wangqinghua's avatar
wangqinghua committed
        //初始化操作记录
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ionViewDidLeave() {
        this.newArr = [];
wangqinghua's avatar
wangqinghua committed
        if (this.slides) {
wangqinghua's avatar
wangqinghua committed
            this.slides.stopAutoplay();
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //获取权限
wangqinghua's avatar
wangqinghua committed
    getRole() {
wangqinghua's avatar
wangqinghua committed
        this.tabsSer.getRoles().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.role = res
            },
wangqinghua's avatar
wangqinghua committed
            error => {
wangqinghua's avatar
wangqinghua committed
                this.appService.alert('系统错误!');
            }
        )
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    wait() {
        this.isWait = true;
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    cancleWait() {
        this.isWait = false;
    }
wangqinghua's avatar
wangqinghua committed


wangqinghua's avatar
wangqinghua committed
    go(item) {
        if (item.type == 1) {
            this.getActivity(item.id);
        } else if (item.type == 2) {
            this.getPremanager(item.id);
        } else if (item.type == 3) {
            this.navCtrl.push("AnnouncementViewPage", {
                id: item.id
            });
        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //获取活动ById
    getActivity(id) {
        this.appService.ObserverHttpPost("/wisdomgroup/modules/activity/appFindById", {id: id})
            .toPromise()
            .then(res => {
                let activity = res.json();
wangqinghua's avatar
wangqinghua committed
                this.navCtrl.push('ActivityDetailPage', {id: activity.id});
wangqinghua's avatar
wangqinghua committed
            })
            .catch(error => {
            });
    }


    //获取报备
    getPremanager(id) {
wangqinghua's avatar
..  
wangqinghua committed
        this.storage.remove("temp_userpre");
        this.storage.remove("managerId");
        this.storage.remove("city");
        this.storage.remove("cityList");
        this.storage.remove("person");
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpPost("/wisdomgroup/modules/premanager/findById", {id: id}).subscribe((res) => {
wangqinghua's avatar
wangqinghua committed
            let premanager = res.json();
            this.storage.set("premanager", premanager);
            this.navCtrl.push("OutGoingReportEditPage");
        })
wangqinghua's avatar
wangqinghua committed
    }

    //消息通知
    gotoNotice() {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.setRoot(NoticePage);
        this.navCtrl.parent.select(2);
    }

wangqinghua's avatar
wangqinghua committed
    //外出报备跳转
    goOutGoingReportAboutAll() {
        this.navCtrl.push("OutGoingReportPage", {
            type: 1
        });
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //前往
    goTo(page) {
        this.navCtrl.push(page);
wangqinghua's avatar
wangqinghua committed
    }


    //获取是否有新的活动
    getHasNewActivity() {
        this.appService.ObserverHttpGet("/wisdomgroup/modules/activity/hasNewActivity", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    this.hasNewActivity = data;
                }, error => {
                }
            );
    }

    //获取是否有新的公告
    getHasNewNotice() {
        this.appService.ObserverHttpGet("/wisdomgroup/modules/notice/hasNewNotice", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    this.hasNewNotice = data;
                }, error => {
                }
            );
    }

wangqinghua's avatar
wangqinghua committed
    //获取是否有新消息
wangqinghua's avatar
wangqinghua committed
    getHasNewMessage() {
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpGet("/wisdomgroup/modules/message/hasNewMessage", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    this.hasNewMessage = data;
                }, error => {
                }
            );
    }

wangqinghua's avatar
wangqinghua committed
    //获取是否有新的报备
    getHasNewPremanager() {
        this.appService.ObserverHttpGet("/wisdomgroup/modules/premanager/hasNewPremanager", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    this.hasNewPremanager = data;
                }, error => {
                }
            );
    }

    getNewCount() {
        this.appService.ObserverHttpGetData('/wisdomgroup/modules/activity/hasNewCount', null)
            .subscribe((res) => {
                let data = Number(res.json());
wangqinghua's avatar
wangqinghua committed
                this.noticeTips = data;
wangqinghua's avatar
wangqinghua committed
                if (data > 0) {
                    this.badge.set(data);
                } else {
                    this.badge.clear();
                }
            })
    }

    //日历

wangqinghua's avatar
wangqinghua committed
    getCalendar() {
wangqinghua's avatar
wangqinghua committed
        this.newArr = [];
wangqinghua's avatar
wangqinghua committed
        let date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
wangqinghua's avatar
wangqinghua committed

        //2.参加活动日期
        this.appService.ObserverHttpGetOption("/wisdomgroup/modules/order/appOrderCal", null)
            .subscribe((res: Response) => {
                let response = res.json();
                response.forEach(event => {
                    this.newArr.push({
                        date: new Date(event.batch.batchGoDate),
                        disable: true,
                        cssClass: 'dayOff2'
                    })
                });

wangqinghua's avatar
wangqinghua committed
                //3.离沪日期
                this.appService.ObserverHttpGetOption("/wisdomgroup/modules/userpre/appPreCal", null)
                    .subscribe((res: Response) => {
                        let response = res.json();
                        response.forEach(event => {
                            this.newArr.push({
                                date: new Date(event.formshTime),
                                disable: true,
                                cssClass: 'dayOff4'
                            })
                        });
                    }, error => {
                    });
                this.loadEvent(year, month);
wangqinghua's avatar
wangqinghua committed
            }, error => {
            });
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    }

    loadEvent(year, month) {
wangqinghua's avatar
wangqinghua committed
        //5.获取每月值班信息
wangqinghua's avatar
wangqinghua committed
        const data = {
            date: year + '/' + month + '/01'
        };
        this.appService.ObserverHttpGetOption("/wisdomgroup/schedule/app/getMyScheduleOnMonth", data)
            .subscribe((res: Response) => {
                    let response = res.json();
                    for (let i = 0; i < response.length; i++) {
                        const data = {
                            date: new Date(response[i].dutyDate),
                            disable: true,
                            cssClass: 'dayOff3'
                        };
                        this.newArr.push(data);
                    }
wangqinghua's avatar
wangqinghua committed

                    //1.获取节假日
                    this.appService.ObserverHttpGetOption("/wisdomgroup/workCalendar/getFestivalAboutMonth", data)
                        .subscribe((res) => {
                            let data = res.json();
                            data.forEach(event => {
                                const data = {
                                    date: new Date(event.date),
                                    disable: true,
                                    cssClass: 'dayOff1'
                                };
                                this.newArr.push(data);
wangqinghua's avatar
wangqinghua committed
                            });
wangqinghua's avatar
wangqinghua committed
                            this.setCalendar(year, month);
wangqinghua's avatar
wangqinghua committed
                        });
wangqinghua's avatar
wangqinghua committed
                }, error => {
                }
            );

    }

wangqinghua's avatar
wangqinghua committed
    setCalendar(year, month) {
wangqinghua's avatar
wangqinghua committed
        let date = new Date();
        //4.每月的周末
        let d = new Date(year, month, 0).getDate();
        for (let i = 1; i < d + 1; i++) {
            date.setFullYear(year, month - 1, i);
            let day = date.getDay();
            if (day == 6 || day == 0) {
                const data = {
                    date: new Date(year, month - 1, i),
                    disable: true,
                    cssClass: 'dayOff1'
                };
                this.newArr.push(data);
            }
        }

        this.optionsMulti = {
            pickMode: 'multi',
            monthFormat: 'YYYY 年 MM 月 ',
            weekdays: weekDay,
            monthPickerFormat: monthCh,
            weekStart: 0,
            disableWeeks: [0, 1, 2, 3, 4, 5, 6],
            daysConfig: this.newArr
        };
    }

wangqinghua's avatar
wangqinghua committed
    onChange(e) {
    }

    //月份改变
    monChange(e) {
        this.loadEvent(e.newMonth.years, e.newMonth.months);
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
}
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
//定义星期实体
export class Week {
wangqinghua's avatar
wangqinghua committed
    id: number;
    title: string;
    date: number;
    isToday: boolean = false;
wangqinghua's avatar
wangqinghua committed
}