<template>
  <div class="price">
    <div class="flex">
      <div>
        <div class="flex-item" style="margin-bottom: 0.2rem;">
          <span class="t1 left">行业类别</span>
          <el-select v-model="getData.industryId" placeholder="请选择">
            <el-option v-for="item in industryOptions" :key="item.id" :label="item.name" :value="item.id">
            </el-option>
          </el-select>
          <span class="t1 left">所在地区</span>
          <citySelect @sendprovinceId="receiveP" @sendcityId="receiveC" @senddistrictId="receiveS" ref="mychild"></citySelect>
        </div>
        <div class="flex-item t1">
          <span class="t1 left">发布日期</span>
          <el-date-picker v-model="interTimerPicker" :picker-options="pickerOptions" type="daterange" range-separator="-"
            start-placeholder="开始日期" end-placeholder="结束日期" :beginDate="getData.beginDate" :endDate="getData.endDate" @change="changeTime" style="width:240px">
          </el-date-picker>
          <span class="left">项目名称</span>
          <el-input v-model="getData.title" placeholder="请输入内容" style="width: 2.3rem;"></el-input>
          <div style="width:0.6rem;" class="flex">
              <el-button type="primary" style="margin-left:20px" @click="queryStr">查询</el-button>
              <el-button class="reset" @click="reset">重置</el-button>
          </div>
        </div>
      </div>
    </div>

    <ul >
      <li v-for="item in priceList" :key="item.id">
        <div @click="getLowerText(item.noticeType,item.noticeId)">
          <div class="time">{{getTimer(item.createTime)}}</div>
          <div class="price-item">
            <div class="t1" style="font-weight: bold;">
              <span class="state-red">{{item.noticeType}}</span>
              <span>{{item.title}}</span> 
            </div>
            <div class="flex-between">
              <div>所属行业:{{item.industryName}}</div>
              <div>采购商:{{item.companyName}}</div>
            </div>
            <div class="flex-between">
              <div>所属地区:{{item.area}}</div>
              <div>招标状态: <span class="state-red">{{item.projectStatus}}</span> </div>
            </div>
            </div>
          </div>
      </li>
      <div class="pagination flex-center" >
        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="getData.currentPage" :page-size ="getData.size" :page-sizes="[10, 20, 30, 40]"
          layout="total,prev, pager, next, sizes,jumper" :total="total">
        </el-pagination >
      </div>
    </ul>
  </div>
</template>

<script>
import {industryList} from '@/api/common/list.js'
import citySelect from '@/components/citySelect.vue'
import {getAllList,getNoticeType} from '@/common/list.js'
import Cookies from 'js-cookie'
  export default {
    components:{
      citySelect
    },
   /*  mounted(){
      let inputContent = sessionStorage.getItem("inputContent")
      let message = {}
      message.size = 10
      message.currentPage = 1
      message.title = inputContent
      this.industryList()
      this.getAllList(message)
      sessionStorage.removeItem("inputContent")
    }, */
    async asyncData({params}){
      let inputContent = Cookies.get("inputContent")
      console.log(inputContent+'-----------------+++++++++++++++++')
      let mes ={
        currentPage:1,
        size:10,
        title:inputContent
      }
      if(inputContent){
        mes.title = inputContent
      }
      if(Cookies.get("details")){
        mes.currentPage = Cookies.get("currentPage")
      }
      Cookies.remove("details")
      Cookies.remove("currentPage")
        const res = await industryList();
        const {data,total} = await getAllList(mes)
        console.log(data+'------------')
        return {
          priceList : data,
          total : total,
          industryOptions:res
        }
    },
    data() {
      return {
        allList:[],
        total:0,
        getData:{
          currentPage:1,
          size:10,
          industryId:'',
          title:'',
          provinceId:'',
          cityId:'',
          districtId:'',
          beginDate:'',
          endDate:''
        },
        priceList: [{
			      id:"",
            time: "",
            title: "",
            industry: "",
            user: "",
            local: "",
            state: ""
          },
        ],
        interTimerPicker: "",
        value2: "",
        value1: "",
        pickerOptions: {
          disabledDate: (time) => {
            return this.dealDisabledDate(time)
          }
        },
        industryOptions: [{
        }],
      }
    },
    methods: {
      //将类型转为小写
      getLowerText(noticeType,noticeId){
        let url=""
          if(noticeType=='BIDDING'){
            url= `/notice/biddingdetails?id=${noticeId}`
          }
          if(noticeType=='CADIDATE'){
            url= `/notice/cadidatedetails?id=${noticeId}`
          }
          if(noticeType=='ENQUIRY'){
            url= `/notice/enquirydetails?id=${noticeId}`
          }
          if(noticeType=='ABORTIVE'){
            url= `/notice/abortivedetails?id=${noticeId}`
          }
          if(noticeType=='CHANGE'){
            url= `/notice/changedetails?id=${noticeId}`
          }
          if(noticeType=='CLARIFIES'){
            url= `/notice/clarifiesdetails?id=${noticeId}`
          }
          if(noticeType=='INVITE'){
            url= `/notice/invitedetails?id=${noticeId}`
          }
          if(noticeType=='WIN'){
            url= `/notice/windetails?id=${noticeId}`
          }
          Cookies.set("details",true)
          this.$router.push(url)
      },
      async queryStr() {
        console.log(this.getData);
        const { data,total } = await getAllList(this.getData);
        this.priceList = data;
        this.total = total
      },
      reset(){
        this.getData.industryId = ''
        this.interTimerPicker = '' 
        this.$refs.mychild.clear()  
        this.getData.title = ''
        this.getAllList(this.getData)
      },
      changeTime(e){
        this.getData.beginDate = e[0].getTime()
        this.getData.endDate = e[1].getTime()
      },
      //年月日
      getTimer(dateStr){
        var date = new Date(dateStr);
        var Month = date.getMonth() + 1;
        var Day = date.getDate();
        var Y = date.getFullYear() + '-';
        var M = Month < 10 ? '0' + Month + '-' : Month + '-';
        var D = Day + 1 < 10 ? '0' + Day : Day;
        return Y + M + D;
      },
      async getAllList(params){
        const {data,total} = await getAllList(params)
        this.priceList = data
        this.total = total
        let contentStatus = Cookies.get("contentStatus")
        if(contentStatus =='1'){
            if(total!='0'){
              console.log(111111111111111)
            }else{
              console.log(111111111111111111111)
              this.$message.error("请输入正确的公告名称!")
              this.getAllList(this.getData)
            }
            Cookies.remove("contentStatus")
        }
      },
      receiveP(value) {
        this.getData.provinceId = value;
      },
      receiveC(value) {
        this.getData.cityId = value;
      },
      receiveS(value) {
        this.getData.districtId = value;
      },
      async industryList(){
        const res = await industryList()
        /* console.log(res) */
        this.industryOptions = res
      },
      handleSizeChange(val) {
      let mess = {}
      mess.size = val
      this.getData.size = val
      mess.currentPage = this.getData.currentPage
      this.getAllList(mess)
    },
    handleCurrentChange(val) {
      let mess = {}
      mess.currentPage = val
      this.getData.currentPage = val
      mess.size = this.getData.size
      Cookies.set("currentPage",val)
      this.getAllList(mess);
      //获取当前页
    },
      dealDisabledDate(time) {
        // 一天的毫秒数 = 8.64e7  判断时在return处可进行加减
        let curDate = (new Date()).getTime();
        let day = 12 * 30 * 24 * 3600 * 1000;
        let dateRegion = curDate - day;
        return time.getTime() > Date.now() || time.getTime() < dateRegion;
      },
    }
  }
</script>
<style scoped>
.price {
  width: 9.2rem;
  position: relative;
}

  .left {
    margin-left: 0.3rem;
    margin-right: 0.15rem;
    width:70px;
  }

  .reset {
    color: rgba(4, 134, 254, 1);
    background: rgba(230, 241, 252, 1);
    border: 1px solid rgba(163, 208, 253, 1);
  }

  .price>ul {
    width: 9.3rem;
    box-sizing: border-box;
    padding-top: 0.2rem;
  }

  .price>ul>li {
    height: 1.87rem;
    border: 1px solid rgba(219, 219, 219, 1);
    margin-bottom: 0.2rem;

  }

  .price>ul>li .time {
    height: 0.41rem;
    line-height: 0.41rem;
    box-sizing: border-box;
    padding-left: 0.2rem;
    border-bottom: 1px solid rgba(219, 219, 219, 1);
    font-size: .16rem;
    color: rgba(153, 153, 153, 1);
  }

  .price>ul>li .price-item {
    margin: .13rem 0 0 0.2rem;
  }

  .price>ul>li .price-item>div {
    font-size: .14rem;
    color: rgba(76, 76, 76, 1)
  }

  .price-item>div:first-child {
    font-size: .16rem;
  }

  .price-item>div:nth-child(2) {
    margin-top: .24rem;
    margin-bottom: .19rem;
    width: 4.5rem
  }

  .price-item>div:last-child {
    width: 4.5rem
  }

  .state-red {
    color: rgba(255, 24, 24, 1);
  }
.pagination{
  position: absolute;
  /* bottom: -2%; */
  left: 50%;
  transform:translateX(-50%);
  margin-top:20px
}
</style>