Skip to content
home.ts 7.69 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, ElementRef, ViewChild} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {NavController, IonicPage, Slides} from 'ionic-angular';
import {ActivityListPage} from "../../home/activity/activityList/activityList";
import {Http, Response} from '@angular/http';
import {AppService, AppGlobal} from '../../../service/http.service';
import {Calendar} from '@ionic-native/calendar';
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';
import {Storage} from '@ionic/storage';
import {OutGoingReportEditPage} from "../../home/report/outGoingReportEdit/outGoingReportEdit";
import {AnnouncementViewPage} from '../../home/announcement/announcementView/announcementView';
import {CalendarComponentOptions, DayConfig} from "ion2-calendar";
import {NoticePage} from "../notice/notice";
import {Badge} from '@ionic-native/badge';
import {TabsService} from "../tabs.service";
import {TextToSpeech} from "@ionic-native/text-to-speech";
import {CommonService} from "../../../provide/common.service";
wangqinghua's avatar
wangqinghua committed
import {SearchNewPage} from "../../home-pages/search-new/search-new";
import {StuffDetailPage} from "../../home-pages/stuff-detail/stuff-detail";
wangqinghua's avatar
wangqinghua committed
import {EmitService} from "../../../provide/emit.service";
wangqinghua's avatar
wangqinghua committed

declare var Swiper;

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

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

wangqinghua's avatar
wangqinghua committed
    picture: string = AppGlobal.domain +'/wisdomgroup';
wangqinghua's avatar
wangqinghua committed
    slidersItems = [];
    noticeList = [];
wangqinghua's avatar
wangqinghua committed
    tabsList = [{name: "党规党章",}, {name: "系列讲话",}, {name: "中央精神",}, {name: "本市部署"}];
wangqinghua's avatar
wangqinghua committed
    index = 0;
    isSign = false;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    newList = [];
wangqinghua's avatar
wangqinghua committed
    noReadNum;

    signObj = {
wangqinghua's avatar
wangqinghua committed
        'text': '',
        'isSign': ''
wangqinghua's avatar
wangqinghua committed
    };   //签到参数
    disabledClick = true;
wangqinghua's avatar
wangqinghua committed
    signText;   //签到倒计时
    partyObj;  //政治生日
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    slideTitle;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    move_h = 33;     //移动高度
    scorllStep = 1;
    scrollTime = 60 ;
    stopTime = 1000;
    tmpH = 0;

wangqinghua's avatar
wangqinghua committed

    constructor(public navCtrl: NavController, public tts: TextToSpeech,
                public commonSer: CommonService, public emitSer: EmitService,
wangqinghua's avatar
wangqinghua committed
                public appService: AppService, public http: Http, private calendar: Calendar, public storage: Storage,
                public badge: Badge, public tabsSer: TabsService) {
wangqinghua's avatar
wangqinghua committed
        // 接收发射过来的数据
        this.emitSer.eventEmit.subscribe((value: any) => {
wangqinghua's avatar
wangqinghua committed
            if (!isNaN(value)) {
wangqinghua's avatar
wangqinghua committed
                this.noReadNum = value;
            }
        });
wangqinghua's avatar
wangqinghua committed

    }

    lineChange(){
        let child_div = this.lineChangeEle.nativeElement.children;
        setTimeout( ()=> {
            if(child_div.length > 0){
                this.start();
            }
        },10);

    }

    start(){

        if(this.tmpH < this.move_h){//  tmpH = 0 ; move_h = 33
            this.tmpH  += this.scorllStep;//scorllStep = 1
            if(this.tmpH >this.move_h){
                this.tmpH = this.move_h;
            }
            this.lineChangeEle.nativeElement.scrollTop = this.tmpH;
            setTimeout( ()=>{
                this.start()
            },this.scrollTime);//stopTime = 3000 ; scrollTime = 30 每移动一个单位延时30ms
        }else{
            this.tmpH = 0;
            this.lineChangeEle.nativeElement.appendChild(this.lineChangeEle.nativeElement.children[0]);
            // this.lineChangeEle.nativeElement.scrollTop = 0;
            setTimeout( ()=>{
                this.start()
            },this.stopTime);//stopTime = 3000 ; scrollTime = 30 每移动一个单位延时30ms
        }
wangqinghua's avatar
wangqinghua committed
    }


wangqinghua's avatar
wangqinghua committed
    ionViewDidLoad() {
wangqinghua's avatar
wangqinghua committed
        this.tabsSer.signNow().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.signObj = res.data;
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
        this.change(0);
wangqinghua's avatar
wangqinghua committed
        this.getBanner();
wangqinghua's avatar
wangqinghua committed
        this.getInfo();
wangqinghua's avatar
wangqinghua committed
        this.lineChange();
wangqinghua's avatar
wangqinghua committed
    }

    //获取轮播图
wangqinghua's avatar
wangqinghua committed
    getBanner() {
wangqinghua's avatar
wangqinghua committed
        const data = {
wangqinghua's avatar
wangqinghua committed
            obj: {
                resourceType: 2,
                isRecommend: 1,
wangqinghua's avatar
wangqinghua committed
            }
        }
        this.tabsSer.stuffPage(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                this.slidersItems = res.data;
                this.slidersItems.forEach(e => {
wangqinghua's avatar
wangqinghua committed
                    if(e.title.length > 16){
wangqinghua's avatar
wangqinghua committed
                        e.title = e.title.substr(0,14) +'...';
wangqinghua's avatar
wangqinghua committed
                    }
wangqinghua's avatar
wangqinghua committed
                    if (e.attachments.length > 0) {
                        e.imgUrl = e.attachments[0].path;
                    }
                })
                console.log(this.slidersItems);
wangqinghua's avatar
wangqinghua committed
            }
        )
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //slideChange
    slideChange(e) {
        let index = this.slides.getActiveIndex();
        if (index == this.slidersItems.length + 1) index = 1
        this.slideTitle = this.slidersItems[index - 1].title;
    }

    //获取党员生日
    getInfo() {
        this.storage.get("userLoginInfo").then((value) => {
            let userid = value.userid;
            this.tabsSer.getInfo(userid).subscribe(
                (res) => {
                    this.partyObj = res.apiResult.data;
                }
            );
        })
    }

wangqinghua's avatar
wangqinghua committed
    //所属板块类型(1党规党章,2系列讲话,3中央精神,4本市部署,5通知公告,6党建动态,7工作提示,
    //      * 8党务参考,9廉政格言,10纪检提示,11风险排查,12警示教育,13支部活动,14党建联建,15结对帮扶)
    change(index) {
        let itemWidth = window.screen.width / 4;
wangqinghua's avatar
wangqinghua committed
        let spanWidth = this.tabSpan.nativeElement.offsetWidth;   //文字宽度
        this.tips.nativeElement.style.width = this.tabSpan.nativeElement.offsetWidth + 'px';
wangqinghua's avatar
wangqinghua committed
        // 自身div的一半 - 滑块的一半
wangqinghua's avatar
wangqinghua committed
        this.tips.nativeElement.style.left = itemWidth * (index) + (itemWidth - spanWidth) / 2 + 'px';
wangqinghua's avatar
wangqinghua committed
        this.index = index;
        const data = {
wangqinghua's avatar
wangqinghua committed
            pageSize: 1,
            pageCount: 100,
            obj: {
                'plateType': index + 1,
                resourceType: 1
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        }
        this.tabsSer.stuffPage(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.newList = res.data;
wangqinghua's avatar
wangqinghua committed
                this.newList.forEach(e => {
                    if (e.attachments.length > 0) {
                        e.imgUrl = e.attachments[0].path;
                    }
                })
wangqinghua's avatar
wangqinghua committed
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    //签到
wangqinghua's avatar
wangqinghua committed
    signUp() {
wangqinghua's avatar
wangqinghua committed
        this.signObj.isSign = 'yes';
wangqinghua's avatar
wangqinghua committed
        this.tabsSer.sign().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.isSign = false;
wangqinghua's avatar
wangqinghua committed
                if (res.errcode == '1000') {
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast('签到成功');
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast(res.errmsg);
wangqinghua's avatar
wangqinghua committed
                }
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    //签到
wangqinghua's avatar
wangqinghua committed
    signNow() {
wangqinghua's avatar
wangqinghua committed
        this.isSign = true;
        let totalTime = 5;
wangqinghua's avatar
wangqinghua committed
        this.signText = '(倒计时' + totalTime + 's)';
wangqinghua's avatar
wangqinghua committed
        let clock = window.setInterval(() => {
            totalTime--;
wangqinghua's avatar
wangqinghua committed
            this.signText = '(倒计时' + totalTime + 's)';
wangqinghua's avatar
wangqinghua committed
            if (totalTime < 0) {
                this.signText = '';
                window.clearInterval(clock);
                this.disabledClick = false;
            }
        }, 1000)
    }

wangqinghua's avatar
wangqinghua committed
    //查看文章详情
wangqinghua's avatar
wangqinghua committed
    goToDetail(item) {
        this.navCtrl.push(StuffDetailPage, {
            id: item.id
wangqinghua's avatar
wangqinghua committed
        })
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //前往搜索页面
wangqinghua's avatar
wangqinghua committed
    goToSearch() {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(SearchNewPage);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed

    //消息提醒页面
wangqinghua's avatar
wangqinghua committed
    goToNotice() {
wangqinghua's avatar
wangqinghua committed
        this.navCtrl.push(NoticePage);
    }

wangqinghua's avatar
wangqinghua committed
}