<template>
    <div class="help-center-container">
        <div class="help-center-banner">
            <client-only>
                <swiper ref="mySwiper" :options="swiperOptions">
                    <swiper-slide class="swiper-item" v-for="(item, index) in bannerList" :key="index">
                        <ad-item :item="item"></ad-item>
                    </swiper-slide>
                </swiper>
            </client-only>
        </div>
        <div class="help-center-box">
            <div class="help-center-aside bg-white">
                <ul class="nav flex-col col-center">
                    <li class="flex" :class="{'active-item': currentId <= 0}" @click="changeList(0)">全部</li>
                    <li class="flex" v-for="(item) in categoryList" :key="item.id"
                        :class="{'active-item': item.id == currentId}" @click="changeList(item.id)">{{item.name}}</li>
                </ul>
            </div>
            <div class="article-lists-container m-l-16 bg-white">
                <div v-show="!dataNull">
                    <div>
                        <nuxt-link :to="'/help_center/help_center_detail?id=' + item.id"
                            class="article-item flex row-between bg-white" v-for="(item) in articleList" :key="item.id">
                            <div>
                                <div class="lg article-name line2">{{item.title}}</div>
                                <div class="lighter">{{item.intro}}</div>
                                <div class="flex" style="margin-top: 56px;">
                                    <div class="sm muted">发布时间:{{item.create_time}}</div>
                                    <div class="flex m-l-16">
                                        <i class="el-icon-view muted"></i>
                                        <div class="muted" style="margin-left: 3px;">{{item.visit}} 人浏览</div>
                                    </div>
                                </div>
                            </div>
                            <el-image style="width: 200px; height: 150px;border-radius: 6px;" fit="cover"
                                :src="item.image" />
                        </nuxt-link>
                    </div>
                    <div class="help-center-pagination row-center">
                        <el-pagination background hide-on-single-page layout="prev, pager, next" :total="count"
                            prev-text="上一页" next-text="下一页" :page-size="10" @current-change="changePage" />
                    </div>
                </div>
                <div class="data-null column-center" v-show="dataNull">
                    <img style="width: 150px;height: 150px;" src="~/static/images/news_null.png" />
                    <div class="xs muted">
                        暂无消息记录~
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        head() {
            return {
                title: this.$store.getters.headTitle,
                link: [{
                    rel: "icon",
                    type: "image/x-icon",
                    href: this.$store.getters.favicon
                }],
            };
        },
        async asyncData({
            $get,
            $post
        }) {
            let categoryList = [];
            let currentId = 0;
            let articleList = [];
            let count = 0;
            let dataNull = true;
            const banner = $get("ad_content/lists", {
                params: {
                    pid: 29,
                    terminal: 2
                }
            });
            let res = await $get("help/category");
            const {
                data: bannerList
            } = await banner;
            if (res.code == 1) {
                categoryList = res.data;
                currentId = 0
                let listsRes = await $get("help/lists", {
                    params: {
                        cid: currentId,
                        page_size: 10
                    }
                });
                if (listsRes.code == 1) {
                    articleList = listsRes.data.list;
                    count = listsRes.data.count
                    if (count <= 0) {
                        dataNull = true;
                    } else {
                        dataNull = false
                    }
                }
            }
            return {
                categoryList,
                articleList,
                count,
                currentId,
                bannerList,
                dataNull,
            }
        },
        data() {
            return {
                categoryList: [],
                articleList: [],
                currentId: -1,
                count: 0,
                swiperOptions: {
                    width: 1180,
                }
            }
        },
        mounted() {
            console.log(this.articleList, 'articleList')
        },
        methods: {
            async changePage(current) {
                let res = await this.$get("help/lists", {
                    params: {
                        cid: this.currentId,
                        page_no: current,
                        page_size: 10
                    }
                });
                if (res.code == 1) {
                    this.articleList = res.data.list;
                    if (this.articleList.length <= 0) {
                        dataNull = true;
                    } else {
                        dataNull = false
                    }
                }
            },
            changeList(id) {
                this.currentId = id;
                this.changePage(1)
            }
        }
    }
</script>

<style lang="scss" scoped>
    .help-center-container {
        .help-center-banner {
            margin-top: 16px;
        }

        .help-center-box {
            margin-top: 16px;
            display: flex;
            flex-direction: row;

            .help-center-aside {
                width: 160px;
                // min-height: 635px;
                padding-top: 20px;
                padding-bottom: 20px;
                padding: 20px 30px;

                .nav {
                    li {
                        margin: 10px 0px;
                        padding: 0px 30px;
                        cursor: pointer;
                    }

                    .active-item {
                        padding-left: 27px;
                        color: $--color-primary;
                        border-left: 3px solid $--color-primary;
                    }
                }
            }

            .article-lists-container {
                width: 1004px;
                display: flex;
                flex-direction: column;
                justify-content: space-between;

                .article-item {
                    margin: 0px 20px;
                    padding: 15px 0px;
                    border-bottom: 1px solid #E5E5E5;
                    cursor: pointer;

                    .article-name {
                        margin-bottom: 11px;
                        margin-top: 13px;
                        max-width: 720px;
                    }
                }

                .help-center-pagination {
                    padding-top: 38px;
                    margin-bottom: 30px;
                }

                .data-null {
                    padding-top: 150px;
                }
            }
        }
    }

    ::v-deep .el-pagination.is-background .btn-prev {
        background: #fff;
        padding: 0 10px;
    }

    ::v-deep .el-pagination.is-background .btn-next {
        background: #fff;
        padding: 0 10px;
    }

    ::v-deep .el-pagination.is-background .el-pager li {
        background: #fff;
        padding: 0 10px;
    }
</style>