excel-query-expire.vue 7.69 KB
<template>
<div class="container resource close-left-menu contaNEW" style="min-height: 809px;">
  <div class="pop-banner clearfix">
     <div class="operate-btns">
        <a href="javascript:void(0)" class="fbtn fb-send" @click="send">发送提醒</a>
     </div>
     <h3 class="current-module">证照到期提醒</h3>
  </div>

  <div class="order-orderlist-view clearfix">

    <div class="pd-form mb-20 fast-search-form">
      <div class="group-row">
        <div class="form-group">
          <!-- <label class="label">证照类型</label> -->
          <div class="control select-style">
            <select v-model="flag">
               <option value="" style='display: none;' selected>证照类型</option>
               <option value="11">企业证照</option>
               <option value="12">厂商证照</option>
               <option value="13">代理商</option>
               <option value="14">售后机构</option>
                <option value="15">器械注册证</option>
                <option value="16">经销商授权书</option>
                <option value="17">销售代表授权书</option>
            </select>
          </div>
        </div>
        <div class="form-group">
          <!-- <label for="cn2" class="label">预警日期</label> -->
           <div class="control">
              <datepicker :target.sync="reminderdate" :readonly="readonlyFlag" placeholder="预警日期" title='预警日期' class='w190'></datepicker><span class="text-and w90">&nbsp;天以内到期</span>
          </div>
        </div>
      </div>
      <div class="group-row">
     <div class="form-group form-label">
          <!-- <label for="cn1" class="label">供应商</label> -->
          <div class="control">
            <input type="text" maxlength="20" v-rule v-model="suppliername" id='cn1' placeholder="供应商" title='供应商'>
          </div>
        </div>
      </div>
      <div class="group-row">
                <button  v-on:click="getData(true)"  class="fast-search-form-btn btn-d btn-d-lg btn-d-activate btn-d-circle fr">查 询</button>
      </div>
    </div>

    <table class="itable itable-td-long-text">
      <thead id="t_header">
        <tr>
          <th class="w40"  >
          <div class="checkbox-control">
            <input type="checkbox" :id="1" @click="selectAllsum(selectAllList)" v-model="selectAllList" :value="1">
            <label class="checkbox" style="line-height: 19px;" :for="1">序号</label>
          </div>
          </th>
          <th class="w150">供应商</th>
          <th class="w100">证照名称</th>
          <th class="w80">发证日期</th>
          <th class="w80">有效期至</th>
          <th class="w80">剩余天数</th>
          <th class="w80">提醒次数</th>
          <th class="w100">备注</th>
          <!-- <th class="w80">有效期</th> -->
          <!-- <th class="w80">操作</th> -->
        </tr>
      </thead>

      <tbody class="txt_v">
        <tr v-if="list==null || list.length==0" >
            <td colspan="10">暂无符合条件的记录</td>
        </tr>
        <tr v-for="item in list" v-else>
         <td class="v-top">
         <div class="checkbox-control">
              <input type="checkbox" :id="item.licguid" v-model="checkArr" :value="item.supguid+'/'+item.licguid+'/'+item.lcname+'/'+item.enddate">
              <label class="checkbox" :for="item.licguid">{{ $index + 1 }}</label>
            </div>
          <!-- <div class="checkbox-control">
            <input type="checkbox" :id="item.licguid" v-model='item.checked'>
            <label class="checkbox checkboxlist-mr" :for="item.licguid"> {{$index+1}}</label>
          </div> -->
        </td>
        <td class="t-left v-top">
          <div class="pro-pic fl" style="margin: 0 auto;">
            <imagebox v-bind:imgarr="[{img:item.pathOriginal,txt:''}]">
                <img class="pro-pic" style="margin-top: 0px;"
                  :src="item.pathThumbnail">
                <span class="pic-max blue-search"></span>
            </imagebox>
          </div>
          <span class="fl ml-10">{{item.suppliername}}</span>
        </td>
          <td class="t-left pr10 v-top">{{item.lcname}}</td>
          <td class="v-top">{{item.begindate|getYMD}}</td>
          <td class="v-top">{{item.enddate|getYMD}}</td>
          <td class="v-top">{{item.diffdate}}</td>
          <td class="v-top">{{item.remindcount}}</td>
          <td class="t-left v-top">{{item.remarks}}</td>
        </tr>
      </tbody>
    </table>

	<pagination
      @page-change="getData(false)"
      :class="['m-20-0']"
      :page-no.sync="search.page"
      :total-pages.sync="search.totalPages">
<!--       <em class="page">明细条目数【3】</em>   -->
    </pagination>

  </div>
  <!--order-orderlist-view end-->

</div>
</template>
<script>
module.exports={
  data: function(){
    return {
      list:{},
      flag:'',
      reminderdate:'',
      suppliername:'',
      search:{
          page: 1,
          totalPages: 0,
          pageSize: 5,
      },
      checkArr:[],
      selectAllList: false,
      selectAllList:[],
    };
  },
  watch: {
      'checkArr': function(val) {
        var self = this;
        var arr, oList;
        self.checkArrList = [];
        for(let i = 0; i < val.length; i++) {
          arr = val[i].split('/');
          oList = {
            'supguid': arr[0],
            'licguid': arr[1],
            'lcname': arr[2],
            'enddate': arr[3],
          }
          self.checkArrList.push(oList);
        }
        if(self.checkArrList.length == 0){
            self.selectAllList = false;
          }
      },
    },
  methods: {
    selectAllsum: function(flag) {
        var self = this;
        self.checkArr = [];
        if(!flag) {
          self.list.forEach(function(item, i) {
            var data = item.supguid+'/'+item.licguid+'/'+item.lcname+'/'+item.enddate;
            self.checkArr.push(data);
          });
        } else {
          self.$set('checkArr', []);
          self.list.forEach(function(item, i) {
          });
        }
      },
    getData: function(flg){
      var self = this;
      if(flg){
          self.search.page = 1;
      }
      self.checkArr = [];
      self.selectAllList = [];
      Ajax.post('/hospitalReport/getExpReminderDaysList',{
        'page':self.search.page,'pageSize':self.search.pageSize,'flag':self.flag,'reminderdate':self.reminderdate,
        'suppliername':self.suppliername}).
          then(function(response){
            var res=response.data.data;
            var list=res.list, imgReg = /\.(jpg|jpeg|png|gif|bmp)$/i; //判断字符串是否为图片路径;
            var pathThumbnail; // 小图片
            var pathOriginal;  // 原始图片
            for(var a=0;a<list.length;a++){
                if(list[a].pictcontent){
                    var pictcontent=JSON.parse(list[a].pictcontent);
                    pathThumbnail=imgReg.test(pictcontent[0].thumbnail.path) ? pictcontent[0].thumbnail.path : pictcontent[0].thumbnail.path+pictcontent[0].thumbnail.name;
                    pathOriginal=imgReg.test(pictcontent[0].original.path) ? pictcontent[0].original.path : pictcontent[0].original.path+pictcontent[0].original.name;
                    list[a].pathThumbnail=pathThumbnail;
                    list[a].pathOriginal=pathOriginal;
                }
            }
            self.list=res.list;
            self.search.totalPages=res.totalPages;
        })
    },
    send:function(){
      var self=this;
      console.log(self.checkArrList);
      Ajax.post('/hospitalReport/sendLicExpiresSms',{'sendSms':self.checkArrList}).
          then(function(response){
            var result=response;
            self.getData(false);
        })
    }

   },
  route:{
    activate : function(){
      this.getData(false);
    }
  }
};
</script>