<template>
  <div class="home-wrapper">
    <!--    <TopSearch :searchVal="searchVal" :searchType="searchType" :searchTypeArr="searchTypeArr"/>-->
    <div class="nav" stype="height:500px">
      <!--搜索框-->
      <el-row class="search-nav" style="padding: 30px 0 20px 0">
        <el-col :span="6">
          <div class="pull-left" @click="gotoHome" style="cursor: pointer">
            <img class="logo-img" src="../../assets/img/logo-blue.png"/>
            <span class="logo-title">群智众测平台</span>
          </div>
        </el-col>
        <el-col :span="12">
          <div class="search-nav">
            <div id="search-block ">
              <el-tabs v-model="searchType" type="card" @tab-click="handleTypeClick">
                <el-tab-pane v-for="item in searchTypeArr" v-if="item.value!=='all'" :label="item.name"
                             :name="item.value"
                             :key="item.value"></el-tab-pane>
              </el-tabs>
              <div class="search-input">
                <el-input placeholder="请输入内容" v-model="searchVal" class="input-with-select">
                  <el-button class="search-button" slot="append" type="primary" @click="handleSearchData">搜索</el-button>
                </el-input>
              </div>
            </div>
          </div>
        </el-col>
        <el-col :span="6">
          <el-button type="primary pull-right" class="releaseBtn" @click="checkLogin()">免费发布众测需求</el-button>
        </el-col>
      </el-row>
    </div>

    <div class="container" style="margin: 20px auto;">
      <el-row>
        <el-col :span="18" class="">
          <el-row :gutter="15" style="margin-bottom: 10px">
            <el-col :span="8" v-for="(item,index) in expertList" :key="index" style="margin-bottom: 15px">
              <ExpertCard :card="item"></ExpertCard>
            </el-col>
          </el-row>
          <el-pagination
            v-if="expertList&&expertList.length"
            :page-size="9"
            layout="prev, pager, next"
            :total="totalElements"
            :current-page="activePage"
            @current-change="handlePageChange"
            class="pull-right"
          >
          </el-pagination>
        </el-col>
        <!--      <el-col :span="6"  class="popular-modules" style="padding-left: 15px">-->
        <!--        <PopularProject :hotCrowdTestProjectVOs="hotCrowdTestProjectVOs" style="margin-bottom: 15px"/>-->
        <!--        <PopularTask :hotCrowdTaskVOs="hotCrowdTaskVOs"/>-->
        <!--      </el-col>-->
      </el-row>
    </div>
  </div>
</template>

<script>
    import Http from '@/js/http.js';
    import TopSearch from "../../components/commons/TopSearch";
    import ExpertCard from "./ExpertCard";
    import {storageGet} from '@/js/index.js'
    import {notify} from "../../constants";

    export default {
        name: "ExpertList",
        props: ['searchVal'],
        components: {ExpertCard, TopSearch},
        data() {
            return {
                isLogin: false,
                // searchVal: '',
                searchType: '3',
                searchTypeArr: [
                    {
                        "name": "全部",
                        "value": "all"
                    },
                    {
                        "name": "项目",
                        "value": "0"
                    },
                    {
                    "name": "机构",
                    "value": "1"
                },
                {
                    "name": "工具",
                    "value": "2"
                },
                    {
                        "name": "专家",
                        "value": "3"
                    }],
                expertList: [],
                activePage: 1,
                totalElements: 0
            }
        },
        methods: {
            loadData() {
                if (storageGet('user') != null) {
                    this.isLogin = true;
                }
                let url = '/api/common/index/page';
                let params = {
                    "keyword": this.searchVal,
                    "activePage": this.activePage,
                    "columnFilters": [
                        {
                            "field": "type",
                            "type": "enums",
                            "enums": this.searchTypeArr,
                            "value": this.searchType
                        }
                    ]
                }
                Http.post(url, params).then((res) => {
                    this.expertList = res.data.expertPage.content;
                })
            },
            checkLogin() {
                if (!this.isLogin) {
                    console.log("请登录后访问");
                    notify('warning', '请登录后访问');
                } else {
                    console.log("已登录");
                    this.$router.push('/project/create');
                }
            },
            handleSearchData() {
                let url = '/api/common/index/page';
                let params = {
                    "keyword": this.searchVal,
                    "activePage": 1,
                    "columnFilters": [
                        {
                            "field": "type",
                            "type": "enums",
                            "enums": this.searchTypeArr,
                            "value": this.searchType
                        }
                    ]
                }
                Http.post(url, params).then((res) => {
                    this.expertList = res.data.expertPage.content;
                })
            },
            gotoHome() {
                this.$router.push('/home');
            },
            handleTypeClick(tab) {
                this.searchType = tab.name
            },
            handlePageChange(index) {
                this.activePage = index;
                this.searchData();
            }
        },
        mounted() {
            this.loadData();
        }
    }
</script>

<style scoped>

</style>
