Skip to content
slide-list.ts 4.15 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {AfterViewInit, Component, ElementRef, NgZone, ViewChild} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {App, Content, NavController, Slides} from "ionic-angular";
wangqinghua's avatar
wangqinghua committed
import {TabsService} from "../../pages/tabs/tabs.service";
import {AppGlobal} from "../../service/http.service";
wangqinghua's avatar
wangqinghua committed
import {CommonService} from "../../provide/common.service";
wangqinghua's avatar
wangqinghua committed
import {StuffDetailPage} from "../../pages/home-pages/stuff-detail/stuff-detail";
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'slide-list',
    templateUrl: 'slide-list.html'
wangqinghua's avatar
wangqinghua committed
})
wangqinghua's avatar
wangqinghua committed
export class SlideListComponent implements AfterViewInit {
    @ViewChild(Slides) slides1: Slides;
    @ViewChild('tabSpan') tabSpan: ElementRef;
    @ViewChild('tips') tips: ElementRef;
    @ViewChild('tips1') tips1: ElementRef;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    isScroll = false;
wangqinghua's avatar
wangqinghua committed
    private nav:NavController;
wangqinghua's avatar
wangqinghua committed
    //所属板块类型:
    //1党章党规,2系列讲话,3中央精神,4本市部署,5通知公告,6党建动态,7工作提示,8党务参考
    //9廉政格言,10纪检提示,11风险排查,12警示教育,13支部活动,14党建联建,15结对帮扶
    tabsList = [
        {name: "系列讲话", type: 2, index: 0},
        {name: "党章党规", type: 1, index: 1},
        {name: "中央精神", type: 3, index: 2},
        {name: "本市部署", type: 4, index: 3}
    ];
wangqinghua's avatar
wangqinghua committed
    plateType;
wangqinghua's avatar
wangqinghua committed
    index = 0;
    slideList = [];
    picture: string = AppGlobal.domain + '/wisdomgroup';
wangqinghua's avatar
wangqinghua committed
    constructor(private tabsSer: TabsService,public zone:NgZone,
wangqinghua's avatar
wangqinghua committed
                private commonSer:CommonService,private app:App) {
wangqinghua's avatar
wangqinghua committed
        this.slideList.length = 4;
wangqinghua's avatar
wangqinghua committed
        this.nav = this.app.getRootNav();
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ngAfterViewInit(): void {
        this.change(this.tabsList[0]);
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

    change(item) {
        const index = item.index;
        let itemWidth = window.screen.width / 4;
        let spanWidth = this.tabSpan.nativeElement.offsetWidth;   //文字宽度
        this.tips.nativeElement.style.width = this.tabSpan.nativeElement.offsetWidth + 'px';
        this.tips1.nativeElement.style.width = this.tabSpan.nativeElement.offsetWidth + 'px';
        // 自身div的一半 - 滑块的一半
        this.tips.nativeElement.style.left = itemWidth * (index) + (itemWidth - spanWidth) / 2 + 'px';
        this.tips1.nativeElement.style.left = itemWidth * (index) + (itemWidth - spanWidth) / 2 + 'px';
        this.index = index;
wangqinghua's avatar
wangqinghua committed
        this.plateType = item.type;
wangqinghua's avatar
wangqinghua committed
        console.log(this.plateType)
wangqinghua's avatar
wangqinghua committed
        const data = {
            pageSize: 1,
            pageCount: 100,
            obj: {
wangqinghua's avatar
wangqinghua committed
                'plateType': this.plateType,
wangqinghua's avatar
wangqinghua committed
                'resourceType': 1
wangqinghua's avatar
wangqinghua committed
            }
        }
wangqinghua's avatar
wangqinghua committed
        this.tabsSer.stuffPage(data).subscribe(
            (res) => {
                let arr = res.data;
                arr.forEach(e => {
                    if (e.attachments.length > 0) {
                        e.imgUrl = e.attachments[0].path;
                    }
                })
                this.slides1.slideTo(index, 500);
                this.slideList[index] = arr;
            }
        )
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    slideChange(e) {
wangqinghua's avatar
wangqinghua committed
        let index = this.slides1.getActiveIndex();
        if (index == this.tabsList.length) index = 0;
        if (index == this.tabsList.length +1) index = 1;
wangqinghua's avatar
wangqinghua committed
        this.change(this.tabsList[index])
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //判断是否scroll  true 滑动  false  不滑动
    scroll(bool) {
        this.isScroll = bool !== 'false';
        console.log(this.isScroll)
    }

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

wangqinghua's avatar
wangqinghua committed
    //下拉刷新
    refresh(e){
wangqinghua's avatar
wangqinghua committed
        console.log(this.plateType)
wangqinghua's avatar
wangqinghua committed
        const data = {
            pageSize: 1,
            pageCount: 100,
            obj: {
                'plateType': this.plateType,
                'resourceType': 1
            }
        }
        this.tabsSer.stuffPage(data).subscribe(
            (res) => {
                let arr = res.data;
                arr.forEach(e => {
                    if (e.attachments.length > 0) {
                        e.imgUrl = e.attachments[0].path;
                    }
                })
                this.commonSer.toastTime('刷新成功!',800)
                this.slideList[this.index] = arr;
                e.complete();
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
}