upload-purchase-plan-list.vue 9.54 KB
<template>
	<div class="container resource close-left-menu contaNEW">
      <div class="pop-banner clearfix">
        <!-- <div class="operate-btns">
    </div> -->
        <div class="operate-btns"> 
          <a class="fbtn fb-refresh" @click="pushall()">同步到省采</a>
        </div>
        <!-- <span class="view-title">月度计划【{{ trplanperiod.billno }}】详情</span> -->
        <h3 class="current-module">上传采购计划明细</h3>
      </div>
      <!--purchase-month-plan start-->
      <div class="purchase-month-plan">
        <div class="pd-form mb-20">
          <div class="group-row">
            <div class="form-group form-label">
              <label for="cn1" class="label">计划单号</label>
              <div class="control">
                <input type="text" id="cn1" readonly v-model="trplanperiod.uploadbillno" class="inp4"> </div>
            </div> 
            <div class="form-group form-label">
              <label for="cn3" class="label">供应商</label>
              <div class="control">
                <input type="text" id="cn3" readonly v-model="trplanperiod.suppliername" class="inp3"> </div>
            </div>
            </div>
            <div class="group-row"> 
            <div class="form-group form-label">
              <label for="cn2" class="label">订货日期</label>
              <div class="control">
                <input type="text" id="cn2" readonly v-text="trplanperiod.billdate | getYMD" class="inp4"> </div>
            </div>
             <div class="form-group form-label">
              <label for="cn2" class="label">业务员</label>
              <div class="control">
                <input type="text" id="cn2" readonly v-model="trplanperiod.operatername" class="inp3"> </div>
            </div>
          </div> 
        </div>
        <table class="itable itable-thead-13px itable-td-long-text">
          <thead id="t_header">
            <tr>
              <th class="w80">序号</th>
              <th class="w250 t-left">
                <div class="p-lr-10">商品</div>
              </th>
              <th class="w70">招标平台编码</th>
              <th class="w60">订货数</th>
              <th class="w70">订货单位</th>
              <th class="w80">包装价格</th>
              <th class="w80">包装金额</th>
              <th class="w100">备注</th>
              <th class="w120">操作</th>
              <th class="w100">状态</th>
            </tr>
          </thead>
          <tbody>
            <tr v-for="trmedplanperioddetail in listTrmedplanperioddetail">
              <td> 
              {{ $index+1 }}
              </td>
              <td class="t-left">
                <div class="w50 fl">
              <imagebox :imgarr="listTrmedplanperioddetailImg[trmedplanperioddetail.goodsguid] | original">
               <!--  style="background-image: url({{listTrmedplanperioddetailImg[trmedplanperioddetail.goodsguid] | thumbnail}});margin-left: 12px;" -->                  
                  <div class="pro-pic"  
                  :style="{backgroundImage:trmedplanperioddetail.img}">
                    <span class="pic-max blue-search"></span>
                  </div>      
                </imagebox> </div>
                <div class="w190 fl p-lr-10"> {{ trmedplanperioddetail.purchaserGoodscode }}
                  <br/>
                  <span class="p-tit-green">{{ trmedplanperioddetail.purchaserGoodsname }}</span>
                  <br/> {{ trmedplanperioddetail.purchaserGoodsspec }}
                  <br/> {{ trmedplanperioddetail.manufacturer }} </div>
              </td>
              <td class="t-left pr10">{{ trmedplanperioddetail.varchar2 }}</td>
              <td class="t-right pr10">{{ trmedplanperioddetail.purchaserMvqty }}</td>
              <td>{{ trmedplanperioddetail.purchaserUnit}}</td>
              <td class="t-right pr10">{{ trmedplanperioddetail.purchaserPrice}}</td>
              <td class="t-right pr10">{{ trmedplanperioddetail.amount }}</td>
              <td>{{ trmedplanperioddetail.uploadmemo }}</td>
              <td class="pt9"> 
                  <a v-show="trmedplanperioddetail.uploadstate == 'UD01'" v-on:click="updateDetail(trmedplanperioddetail.guid,trmedplanperioddetail.rowno,'UD02')" class="btn button-green">恢复本条</a>
                  <a v-show="trmedplanperioddetail.uploadstate == 'UD02'" v-on:click="updateDetail(trmedplanperioddetail.guid,trmedplanperioddetail.rowno,'UD01')" class="btn button-green">忽略本条</a>
              </td>
              <td>{{ trmedplanperioddetail.uploadstate | upload_state}}</td>
            </tr>
          </tbody>
        </table>
        <div class="pagination m-20-0">
          <em class="page">明细条目数【{{ search.total }}</em>
          <pagination 
            @page-change="getPurchaseMonthPlanGoodsList" 
            :class="['m-20-0']"
            :page-no.sync="search.page" 
            :total-pages.sync="search.totalPages">
          </pagination>
        </div>
      </div>
      <!--purchase-month-plan end-->
    </div>
</template>
<script>
/*
author:qiaom
day:2016-8-01
月度计划详情
*/
module.exports={
  data: function(){
    return {  
      trplanperiod:[],
      listTrmedplanperioddetail:[],
      listTrmedplanperioddetailImg:{},
      operationFlag:"0",
      search: {
        pageSize: 50,
        page: 1,
        totalPages: 0,
        total: 0,
        EQ_billno: '',
      },
      changeTrmedJhsclist: {
        guid: '',
        rowno: '', 
        uploadstate: '', 
      },
    };
  },
  methods: {
    pushall:function(){ 
        var self=this; 

        if(self.trplanperiod.uploadstate=='U03'){
             layer.msg('已同步不能再同步!');
             return;
        }else{

        Ajax.get('/hospitalTrmedwv/uploadMedJhsc',{billnos:this.$route.params.billno}).
        then(function(res){

            if(res.data.errorCode !=undefined && res.data.errorCode!=0){
              self.MessageBox({
                  title:'提示',message:res.data.message,type:'alert'
                },function(action){
                    self.$router.go({
                        path: '/uploadPurchasePlan'
                      });
                }); 
                return ;
            }
            if(res.data.Result==0){
                self.check=false;
                self.getData();
            }else{
                self.MessageBox({
                  title:'提示',message:'招标平台返回错误异常信息,请在列表备注中查看详细错误信息!',type:'alert'
                },function(action){
                  self.$router.go({
                        path: '/uploadPurchasePlan'
                      });
                }); 
            }
        })  
      }
      },
     //修改状态
    updateDetail: function(guid,rowno,state){
      var self = this; 
      Ajax.post('/hospitalTrmedwv/changeTrmedJhscDetail',{'guid':guid,'rowno':rowno,'uploadstate':state})
        .then(function (response){
          var data = response.data.data; 
          if(response.data.errorCode == 0){ 
            layer.msg(response.data.message);
            self.getData(); 
          }else{
            layer.msg(response.data.message);

          }
      })
    },
    //月度计划详情
    getData: function(){
      var self = this;
      self.search.EQ_billno=this.$route.params.billno;
      Ajax.get('/hospitalTrmedwv/findTrmedJhscBybillno',self.search)
        .then(function (response){
          var data = response.data;
          if(data.errorCode == 0){
            self.$set('trplanperiod',data.data);
            self.getPurchaseMonthPlanGoodsList();
          }else{
            layer.msg(response.data.message);
          }
      })
    },
    //月度计划商品列表
    getPurchaseMonthPlanGoodsList: function(){
      var self = this;
      self.search.EQ_billno=this.$route.params.billno;
      Ajax.get('/hospitalTrmedwv/listTrmedJhscdetail', self.search)
       .then(function (response){
        var data = response.data;
          if(data.errorCode == 0){           
            var list=data.data.list; 
            self.$set('listTrmedplanperioddetailImg',list);
            for(var i=0;i<list.length;i++){
              list[i].img=self.getimg(list[i].goodsguid);
            }
            self.$set('listTrmedplanperioddetail',list);
            
            self.search.totalPages = data.data.totalPages;
            self.search.total = data.data.total;
          }else{
            layer.msg(response.data.message);
  
          }
      })
    },getimg:function(id){//star 11-7
        var srcJson=this.listTrmedplanperioddetailImg[id];

          try{  
            if(srcJson == undefined || srcJson==null || srcJson=='' || srcJson== 'NOPIC') {
              return "";
            }
            var jsonArray = JSON.parse(srcJson), imgReg = /\.(jpg|jpeg|png|gif|bmp)$/i; //判断字符串是否为图片路径;
            if(jsonArray==null || jsonArray.length==0){
              return "";
            } 
            var pathUrl = imgReg.test(jsonArray[0].thumbnail.path) ? jsonArray[0].thumbnail.path : jsonArray[0].thumbnail.path + jsonArray[0].thumbnail.name;
            return 'url('+ pathUrl +')';
          }catch(error){//如果发生异常会执行的代码,error为发生的异常类对象 
            return "";
          }finally{//无条件执行的代码 
          }
    }

  },watch:{
      'check':function(val){
        
          for(var i=0;i<this.trmedplanList.length;i++){

            this.trmedplanList[i].check=val;
              
            
          }
        
      }
   },

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