search.vue 2.46 KB
<style>

</style>
<template>
<div>
  <banner></banner>
  <div class="infor container clearfix">
    <div class="infor-navbar">
      <leftnav></leftnav>
    </div>
    <div class="infor-borad">
      <div class="infor-list-header">
        <h4>搜索关键词”<b>{{search.searchWord}}</b>“结果一共{{total}}</h4>
        
      </div>

      <ul class="ullist1">
        <li v-for="item in list">
          <i>{{ gettypetitle(item.typecode) }}</i>
           <a  v-link="{path:'/show/'+item.typecode+'/'+item.guid}">
            {{item.title}}
            <span>{{item.pubdate}}</span>
           </a>
        </li>
      </ul>

      <pagination 
       @page-change="getData" 
       :class="['m-20-0']"
       :page-no.sync="search.page" 
       :total-pages.sync="search.totalPages">
       
      </pagination>


    </div>
  </div>
</div>   	
</template>
<script>
module.exports={
	data:function(){
		return {
			list:[],
      search: {
            size: 20,
            page: 1,
            totalPages: 0,typecode:0,id:0,searchWord:''       
      },typelist:[],total:0
		}
	},methods:{
    getData:function(casetxt){//请求数据      
          if(casetxt){
            this.search.page=1;       
          }
          this.search.searchWord=this.$route.params.text;
          Ajax.get('/cms/public_act_getAll?size='+this.search.size+'&page='+this.search.page+'&searchWord='+this.search.searchWord).then(function(res){
              var result=res.data;
              console.log('all',result);
              if(result.data){
                  this.$set('list',result.data.list);
                  this.search.totalPages = result.data.totalPages || 0;
                  this.total=result.data.total;
              }
          }.bind(this))
      },gettype:function(){
        Ajax.get('/cms/typelist').then(function(res){
          var result=res.data;
              console.log('typelist',result);
              if(result.data){
                  this.$set('typelist',result.data);
              }
              this.getData();
        }.bind(this))
      },gettypetitle:function(id){
        var a=''
          for(var i=0;i<this.typelist.length;i++){
            if(this.typelist[i].id==id){
              a=this.typelist[i].title;
            }
          }
          return a;
      }
  },route:{
    activate:function(){
      this.gettype();   
    }
  },watch:{
    '$route.path':function(val){      
      if(val.indexOf('search')>-1){
        this.getData();
      }
    }
  }
}
</script>