XNprocurement-catalog-import.vue 11.9 KB
<template>
	<div class="container resource close-left-menu contaNEW">
      <div class="pop-banner clearfix">
        <div class="operate-btns">   
          <a href="https://obs.myhwclouds.com/csylcloud-file/templet/HosXnCatalogImpl.xls?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=dBMad4LvJuAsVjZ3qnQf%2F20180201%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20180201T040034Z&X-Amz-Expires=300&X-Amz-Signature=c90c71a8f61f18dc271712fe3274b2ea72a806ae87ddcfdd9ba7303c3fae80e2&X-Amz-SignedHeaders=host&response-content-disposition=attachment&versionId=null" class="fbtn fb-xzmb">下载模板</a>  
          <a class="ml-20"  v-show="getMedcontentList.length == 0">
          <upload-excel-plan :class="['fbtn fb-xzwj']" 
          :tag="tagType" 
          :type="fileType" 
          :label="fileLabel" 
          :exceltype="med"
          v-on:file-change="getBackTipsPlan" 
          ></upload-excel-plan></a>

          <a @click="saveImplMatch" href="javascript:void(0)" class="fbtn fb-save ml-20" >保存</a> 
          <a @click="implPublish" href="javascript:void(0)" class="fbtn fb-release">发布</a>
          <a @click="delAbandonPublish()" href="javascript:void(0)" class="fbtn fb-del" >清空</a>
        </div>  
        <h3 class="current-module">导入采购目录</h3> 
      </div>
      <!--采购目录 start-->
      <div class="purchase-plan"> 
        <table class="itable itable-thead-13px">
          <thead id="t_header">
            <tr>
              <th class="w50">序号</th>
              <th class="w200">医院商品</th> 
              <th class="w150">供应商</th>
              <th class="w100">结算方式</th>
              <th class="w150">委托配送商</th>
              <th class="w80">价格</th> 
            </tr>
          </thead>
          <tbody>
            <tr v-if="getMedcontentList.length==0 || getMedcontentList==null"><td colspan="11">请导入需要操作的数据!</td></tr>
            <tr v-for="pro in getMedcontentList">
              <td>{{$index + 1}}</td>
              <td class="t-left pr10">
              {{pro.medgoodscode}}<br>
              {{pro.medgoodsname}}<br>
              {{pro.medgoodsspec}}<br>
              {{pro.medproducer}}<br>
              {{pro.medregistkey}}
              </td>   
              <td>{{pro.suppliername }}</td>
              <td class="t-center pr10">
              <select v-model="pro.settlemethod">    <!-- @change="delguid(pro.guid)" --> 
                 <option v-for="option in settlemethodList" v-bind:value="option.value">
                  {{option.label}}
                </option>
              </select>
             </td>
              <td class="t-center">
                <select v-model="pro.distguid">     <!-- @change="delguid(pro.guid)" -->
                    <option v-for="option in getDistributions" v-bind:value="option.distguid">
                      {{option.distname}}
                    </option>
                 </select>
              </td> 
              <td>
                 <span class="table-detail-text" >  
                    <input type="text" v-model='pro.price | numDigit 2 | numFmt' class="t-right w100" @change="medCheckInfo(pro.price, $index, 6)">
                 </span> 
              </td>
            </tr>        
          </tbody>
        </table>       
         <!-- <pagination 
             @page-change="getData" 
             :class="['m-20-0']"
             :page-no.sync="search.page" 
             :total-pages.sync="search.totalPages"></pagination> -->
      </div>
      <!--采购目录 end-->
      <div class="modal " :class="backMessage.showDialog=='Y'?'':'hide'">
          <div class="container resource">
            <div class="audit-detail" style="width:540px; margin: 150px auto;">
              <span class="close-win"  v-on:click="closeDialog()"></span>

                <div class="sdiv-9-9b">            
                  <div class="fheader no-bottom pd0">
                    <h4 class="fh-notes no-icon">导入提示信息</h4>
                  </div>
                </div>

              <div class="status-process wbe-0 clearfix pd20" style="padding-top:0px;">
 
                <div class="sp-head sp-headb" v-for="m in backMessage.mList">
                  <span class="sp-col w300"  >
                    <span class="control radio-control ">
                      <span>{{m}}</span>
                    </span>
                  </span>
                </div>

                      
              </div> 
             <div class="sdiv9-9 mr-10">
                <button v-on:click="closeDialog()" class="btn button-red mar-none">关闭</button>
             </div>   
            </div>
          </div>
        </div>

          <!--新加提示信息 end-->
      <div class="roll-bg" v-if='requestS'>
          <div class="w60" style="margin:0 auto;">
              <img src="/images/roll.gif">
          </div>
          <div class="container resource t-center text-color-red">
            正在处理中,请勿关闭!
          </div> 
        </div>

    </div> 
        
</template>
<script>
module.exports={
data:function(){
return{ 
    fileType:'file',
    tagType:'a',
    med:'xnmatchsImp', 
    fileLabel:'选择文件',
    // 导入之后信息提示
          backMessage:{
            showDialog:'N',
            mList:[],// 提示信息
          },
     sh:true,
     getMedcontentList:[], 
     settlemethodList: [{
        value: "null",
        label: "请选择"
      },{
        value: "1",
        label: "消耗后结算"
      },  
       {
        value: "2",
        label: "到货结算"
      }],
      getDistributions:[],
      chSupsList:[],
      requestS:false,
      proList:{
        goodsinfo:'',
        suppliername:'',
        contentstate:'',
       },
      search:{
        pageSize:50,
        page:1,
        totalPages:0,  
        }, 
	};
},
  
 methods:{     
        // 批量导入采购计划商品
        getBackTipsPlan:function(data){ 
          var self = this; 
          if(data.data.resList.length!=0){
            // 返回信息
            self.$set('backMessage.showDialog','Y'); 
            self.$set('backMessage.mList',data.data.resList); 
            self.$set('getMedcontentList',data.data.contetList); 
            return ;
           }
        },
        // 关闭信息提示弹出框
        closeDialog:function(){
          this.$set('backMessage.showDialog','N'); 
          this.$set('backMessage.mList',[]);  
        }, 
	//加载数据
      waitPublishList:function(){ 
         var self = this;  
         Ajax.post('/procurment/xngetWaitPublishImplList',{})
          .then(function(response){   
          var data=response.data.data;
          if (response.data.errorCode == 0) {   
               self.$set("getMedcontentList",data);
               self.getDistributionList();
            }else{ 
              layer.msg(response.data.message);
            } 
         })
      }, 
       //配送商下拉框
      getDistributionList:function(){ 
         var self = this;  
         Ajax.post('/procurment/getDistributions',{})
          .then(function(response){   
          var data=response.data.data;
          if (response.data.errorCode == 0) {   
               self.$set("getDistributions",data);
            }else{ 
              layer.msg(response.data.message);
            } 
         })
      },
      // delguid:function(guid){
      //   var self = this;  
      //    if(self.chSupsList != null){ 
      //      for (var i = 0; i < self.chSupsList.length; i++) {
      //          if(JSON.stringify(self.chSupsList).indexOf(guid)!=-1 && guid== self.chSupsList[i].guid){
      //             self.chSupsList.splice(i,1);  
      //           }
      //      } 
      //     }
      //     self.selectnCh(guid);
      // },
      // selectnCh:function(guid){ 
      //    var self = this;  
      //     for (var i = 0; i < self.getMedcontentList.length; i++) {
      //     var hvGood =self.getMedcontentList[i]; 
      //               if(guid== hvGood.guid){
      //                   self.chSupsList.push(hvGood);
      //               }
      //     }   
      // },
      //导入采购目录  加载列表 保存
      saveImplMatch:function(){ 
         var self = this;  
         if(self.getMedcontentList.length == 0){
              layer.msg('请导入商品!'); 
              return;
         }
         Ajax.post('/procurment/xnupdateImplMatch',{'ImplMatchList':self.getMedcontentList})
          .then(function(response){   
          var data=response.data.data;
          if (response.data.errorCode == 0) {   
              layer.msg('保存成功'); 
            }else{ 
              layer.msg(response.data.message); 
            }  
         })
      },

      //导入采购目录  加载列表 清空
      delAbandonPublish:function(){ 
         var self = this;
         if(self.getMedcontentList.length == 0){
              layer.msg('请导入商品!');  
              return;
         }
         self.MessageBox({
                          title:'提示',
                          message:'请再次确认是否清空!', 
                          type:'alert',
                          showCancelButton: true
                        },function(action){  
                          if(action == 'cancel'){ 
                                return;
                          }else{
                               Ajax.post('/procurment/xnabandonImplPublish',{})
                                .then(function(response){   
                                var data=response.data.data;
                                if (response.data.data != 0) {   
                                     self.MessageBox({title:'提示', message:'清空成功', type: 'alert'},function(action){
                                        self.waitPublishList();
                                        //跳转
                                        // self.$router.go({
                                        //   path: '/XNprocurementList'
                                        // }); 
                                      }); 
                                  }else{ 
                                    layer.msg(response.data.message);
                                  } 
                               })
                          }
                      });      
      },

       //下一步 完成 发布
      implPublish:function(){ 
         var self = this; 
         if(self.getMedcontentList.length == 0){
              layer.msg('请导入商品!');
              return;
         }
         self.requestS =true; 
         Ajax.post('/procurment/xnimplPublish',{'ImplMatchList':self.getMedcontentList})
          .then(function(response){   
          self.requestS =false;
          var data=response.data.data;
          if (response.data.data == 0) {  
              layer.msg('发布失败!'); 
            }else if (response.data.errorCode == 99) {   
              layer.msg(response.data.message); 
            }else{ 
              self.MessageBox({title:'提示', message:'发布成功!', type: 'alert'},function(action){
                // window.location.reload();
                self.waitPublishList();
                 //跳转
                  self.$router.go({
                    path: '/XNprocurementList'
                  }); 
              }); 
            } 
         })
      }, 
      // 验证医院单位系数
      medCheckInfo: function(price, index, code) {
        var self = this;
        if (price <= 0 || isNaN(price)) {
          self.MessageBox({title:'警告', message:"请输入大于0的正整数!", type: 'alert'},function(action){
            if (action == 'confirm') {
              if (code == 1) {
                self.$set('getMedcontentList['+index+'].price', '');
              } else {
                self.$set('getMedcontentList['+index+'].price', '');
              }
            }
          });
        }  
      },
 
   },
	
    route:{
      activate : function(){ 
        this.waitPublishList();
      }
    }

};
</script>