Skip to content
tabs.ts 3.84 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, ViewChild} from '@angular/core';

import {HomePage} from '../home/home';
import {Events, NavController, NavParams, Platform, Tabs} from "ionic-angular";
import {MinePage} from "../mine/mine";
import {BackButtonService} from "../../core/backButton.service";
import {LoginPage} from "../login/login";
import {TabService} from "../../core/tab.service";
wangqinghua's avatar
wangqinghua committed
import {DealPage} from "../deal/deal";
import {NewsPage} from "../news/news";
wangqinghua's avatar
wangqinghua committed
import {GlobalData} from "../../core/GlobleData";
import {DealService} from "../deal/deal.service";
import {AppService} from "../../app/app.service";
import {NewsService} from "../news/news.service";
wangqinghua's avatar
wangqinghua committed

@Component({
    templateUrl: 'tabs.html'
})
export class TabsPage {
    @ViewChild('myTabs') myTabs: Tabs;

    tabParams = {
wangqinghua's avatar
wangqinghua committed
        test: 'test'
wangqinghua's avatar
wangqinghua committed
    };

    tabRoots = [
        {
            root: HomePage,
            tabTitle: '首页',
            tabIconOn: 'custom-home-on',
            tabIconOff: 'custom-home-off',
wangqinghua's avatar
wangqinghua committed
            index: 0,
            badge: null
wangqinghua's avatar
wangqinghua committed
        },
        {
wangqinghua's avatar
wangqinghua committed
            root: DealPage,
            tabTitle: '待办',
wangqinghua's avatar
wangqinghua committed
            tabIconOn: 'custom-db-on',
            tabIconOff: 'custom-db-off',
wangqinghua's avatar
wangqinghua committed
            index: 1,
wangqinghua's avatar
wangqinghua committed
            badge: ""
wangqinghua's avatar
wangqinghua committed
        },
        {
wangqinghua's avatar
wangqinghua committed
            root: NewsPage,
            tabTitle: '提醒',
wangqinghua's avatar
wangqinghua committed
            tabIconOn: 'custom-tztx-on',
            tabIconOff: 'custom-tztx-off',
wangqinghua's avatar
wangqinghua committed
            index: 2,
wangqinghua's avatar
wangqinghua committed
            badge: ""
wangqinghua's avatar
wangqinghua committed
        },
        {
            root: MinePage,
wangqinghua's avatar
wangqinghua committed
            tabTitle: '我的',
wangqinghua's avatar
wangqinghua committed
            tabIconOn: 'custom-mine-on',
            tabIconOff: 'custom-mine-off',
wangqinghua's avatar
wangqinghua committed
            index: 3,
            badge: null
wangqinghua's avatar
wangqinghua committed
        },
    ];

    tabsIndex;

wangqinghua's avatar
wangqinghua committed
    constructor(private platform: Platform, private backButtonService: BackButtonService, private params: NavParams,
wangqinghua's avatar
wangqinghua committed
                private globle: GlobalData,
                private dealSer: DealService,
                private appSer: AppService,
wangqinghua's avatar
wangqinghua committed
                private newSer: NewsService,
wangqinghua's avatar
wangqinghua committed
                private events: Events, private nav: NavController, private tabSer: TabService) {
wangqinghua's avatar
wangqinghua committed

        this.searchDeal("1");
        this.searchNotice();
wangqinghua's avatar
wangqinghua committed
        this.platform.ready().then(() => {
            this.backButtonService.registerBackButtonAction(this.myTabs);
        });
wangqinghua's avatar
wangqinghua committed
        this.tabSer.tabChange.subscribe((value) => {
wangqinghua's avatar
wangqinghua committed
            this.tabParams = value;
            this.myTabs.select(value.index)
wangqinghua's avatar
wangqinghua committed
        });
        this.appSer.dealInfo.subscribe(
            (value) => {
                if (value) {
                    this.searchDeal(value);
                }
            }
wangqinghua's avatar
wangqinghua committed
        );
        this.appSer.noticeInfo.subscribe(
            (value) => {
                if (value) {
                    this.searchNotice();
                }
            }
        );
wangqinghua's avatar
wangqinghua committed
        this.listenEvents();
    }

wangqinghua's avatar
wangqinghua committed
    //查询待办
    searchDeal(type) {
        const data = {
            "type": type,
            "flow": "0",
            "areaCode": this.globle.userObj.area,
            "page": "1",
            "limit": "10000"
        };
        this.dealSer.searchSchedule(data).subscribe(
            (res) => {
                if (res.page.list) {
                    this.tabRoots[1].badge = res.page.totalCount;
                }
            }
        )
    }

    //查询通知提醒
    searchNotice() {
        const data = {
            page: 1,
            limit: 1000
        };
        this.newSer.noticeSearch(data).subscribe(
            (res) => {
                if (res.page.list.notice && res.page.list.notice.length > 0) {
wangqinghua's avatar
wangqinghua committed
                    this.tabRoots[2].badge = res.page.list.notice.length;
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    onChange(e) {
        this.tabsIndex = e;
        this.myTabs.select(e);
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    // this.navCtrl.push(NoDevPage, {title: title});
    listenEvents() {
        this.events.subscribe('toLogin', () => {
            this.nav.setRoot(LoginPage);
        });
    }
}