procurement-list.vue 13.7 KB
<template>
	<div class="container resource close-left-menu contaNEW">
      <div class="pop-banner clearfix">
        <div class="operate-btns">
            <a @click="newCatalogue()" class="fbtn fb-add" >新增采购目录</a><!--v-link="{ path:'/newCatalogue/'}"-->
            <a @click="importCatalog()"  class="fbtn fb-upload ">导入采购目录</a> <!--v-link="{ path:'/procurementCatalogImport/'}"-->
            <a v-on:click="exportTrmedplan()" class="fbtn fb-download ml-20">导出</a>

        </div>
        <h3 class="current-module">采购目录清单管理</h3>
      </div>
      <!--采购目录 start-->
      <div class="purchase-plan">
        <div class="pd-form fast-search-form">
          <div class="group-row">
            <div class="form-group form-label">
              <!-- <label class="label" for="cn1" >商品信息</label> -->
              <div class="control">
                <input type="text" id="cn1" maxlength="50" v-rule v-model='proList.goodsinfo' title='商品信息' placeholder="商品信息"> </div>
            </div>
            <div class="form-group form-label">
              <!-- <label class="label" for='cn2'>供应商名称</label> -->
              <div class="control">
                <input type="text" id="cn2"  maxlength="20" v-rule v-model="proList.suppliername" title='供应商名称' placeholder="供应商名称"> </div>
            </div>
          </div>
          <div class="group-row">
            <div class="form-group w920">
              <label class="label w80 fl">业务状态</label>
              <div class="control control-filtering control-filtering-green fl w800">
                <a class="option"
                :class="{'all active':proList.contentstate==''}"
                href="javascript:void(0)" @click="proList.contentstate=''">全部</a>
                <a class="option"
                :class="{'all active':proList.contentstate=='P2'}"
                href="javascript:void(0)" @click="proList.contentstate='P2'">已发布</a>

                <a class="option"
                :class="{'all active':proList.contentstate=='P10'}"
                href="javascript:void(0)" @click="proList.contentstate='P10'">待审批</a>

                <a class="option"
                :class="{'all active':proList.contentstate=='P5'}"
                href="javascript:void(0)" @click="proList.contentstate='P5'">审批中</a>
                <a class="option"
                :class="{'all active':proList.contentstate=='P6'}"
                href="javascript:void(0)" @click="proList.contentstate='P6'">已审批</a>
                <a class="option"
                :class="{'all active':proList.contentstate=='P7'}"
                href="javascript:void(0)" @click="proList.contentstate='P7'">供应商放弃供应</a>
                <a class="option"
                :class="{'all active':proList.contentstate=='P8'}"
                href="javascript:void(0)" @click="proList.contentstate='P8'">驳回</a>
                <a class="option"
                :class="{'all active':proList.contentstate=='P9'}"
                href="javascript:void(0)" @click="proList.contentstate='P9'">已废弃</a>
              </div>
            </div>
          </div>

          <div class="group-row t-right" >
            <button class="fast-search-form-btn btn-d btn-d-lg btn-d-activate btn-d-circle" @click="getData">查 询</button>
          </div>
        </div>
        <table class="itable itable-bordertop itable-thead-13px itable-tr-border-dash">
          <thead id="t_header">
            <tr>
              <th class="w50">序号</th>
              <th class="w150">医院商品</th>
              <th class="w150">供应商商品</th>
              <th class="w50"></th>
              <th class="w90">单位转换系数</th>
              <th class="w100">采购价</th>
              <th class="w100">供应商</th>
              <th class="w100">结算方式</th>
              <th class="w70">委托配送商</th>
              <th class="w80">状态</th>
              <th class="w150">操作</th>
            </tr>
          </thead>
          <tbody>
            <tr v-if="getMedcontentList.length==0"><td colspan="11">暂无数据!</td></tr>
            <tr v-for="pro in getMedcontentList">
              <td>{{$index + 1}}</td>
              <td class="t-left pr10">
              {{pro.medgoodscode}}</br>
              <span class="p-tit-green">{{pro.medgoodsname}}</span></br>
              {{pro.medgoodsspec}}</br>
              {{pro.medproducer}}</br>
              {{pro.medregistkey}}
              </td>
              <td class="t-left pr10">
                {{pro.supgoodscode}}</br>
                  <span class="p-tit-green">{{pro.supgoodsname}}</span></br>
                {{pro.supgoodsspec}}</br>
                {{pro.supproducer}}</br>
                {{pro.supregistkey}}
              </td>
              <td>
                <span class="ct-col w30">
                  <span class="table-detail-icon icon-green"></span>
                  <span class="table-detail-icon icon-green mt-10"></span>
                </span>
                </td>
              <td class="pr10">
                    {{pro.purconverratio}}{{pro.medunistyle}}</br>
                  {{pro.supconverratio}}{{pro.supunitstyle}}
              </td>
              <td >
                 <span class="table-detail-text" v-show="!sh[$index]">
                    <input type="text" v-model='pro.price | numDigit 2 | numFmt' style='width:80px;' class="t-right" readonly="readonly">
                 </span>
                 <span  class="table-detail-text" v-show="sh[$index]">
                    <input type="text" v-model='pro.price | numDigit 2 | numFmt' style='width:80px;' class="t-right">
                 </span>
              </td>
              <td>{{pro.suppliername }}</td>
              <td>{{pro.settlemethod | method}}</td>
              <td class="t-center ">{{pro.distributionname==null ?'无':pro.distributionname}}</td>
              <td>{{pro.contentstate | content_state }}</td>
              <td class="pr20">
                  <div class="from-button" v-if="pro.contentstate =='P6'"  >
                     <a href="javascript:;" class="green-button p-lr-10" v-if="!sh[$index]" @click='updateList($index)'>修改<i>|</i></a>
                     <a href="javascript:;" class="green-button p-lr-10" v-if="sh[$index]" @click='saveList($index,pro.guid,pro.rowno,pro.price,pro.suppliername,pro.supgoodsname,pro.contentstate,pro.supplierguid,pro.medgoodsguid)'>保存<i>|</i></a>
                     <a href="javascript:;" class="red-button p-lr-10" v-if="pro.contentstate =='P7' || pro.contentstate =='P6'" @click='delList($index,pro.guid,pro.rowno,pro.suppliername,pro.supgoodsname,pro.contentstate,pro.supplierguid,pro.supexcguid)' >废弃</a>
                     <a href="javascript:;" class="red-button p-lr-10 text-color-custom readonly-gray" v-else>废弃</a>
                  </div>
                  <div v-else class="table-detail-text"  style="margin-top: -5px;">
                      <div class="from-button" >
                         <a href="javascript:;" class="green-button p-lr-10 text-color-custom readonly-gray">修改<i>|</i></a>
                         <a href="javascript:;" class="red-button p-lr-10" v-if="pro.contentstate =='P7' || pro.contentstate =='P6'">废弃</a>
                         <a href="javascript:;" class="red-button p-lr-10 text-color-custom readonly-gray" v-else>废弃</a>
                      </div>
                  </div>
              </td>
            </tr>
          </tbody>
        </table>
          <div class="pagination m-20-0">
              <em class="page">明细条目数【{{ search.total }}</em>
              <pagination
                @page-change="getData()"
                :class="['m-20-0']"
                :page-no.sync="search.page"
                :total-pages.sync="search.totalPages">
              </pagination>
            </div>
      </div>
      <!--采购目录 end-->
    </div>
</template>
<script>
module.exports={
data:function(){
return{
     sh:[],
     getMedcontentList:[],
      proList:{
        goodsinfo:'',
        suppliername:'',
        contentstate:'',
       },
      search:{
        pageSize:50,
        page:1,
        totalPages:0,
        total:0,
        },
	};
},

 methods:{
    //新增采购目录,判断是否可以跳转
     newCatalogue:function(){
         var self = this;
         Ajax.post('/procurment/decideAddMedContentList',{})
             .then(function(response){
                 var data = response.data.data;
                 if (response.data.errorCode == 0) {
                     if(data == "Y"){
                         self.$router.go({'path': '/newCatalogue'});
                     }else{
                         self.MessageBox({
                             title: '提示',
                             message: '建立关系的供应商未配置权限字段,不可使用采购目录!',
                             type: 'alert'
                         }, function (action) {
                             return;
                         });
                     }
                 }
             })
     },
     //导入采购目录,判断是否可以跳转
     importCatalog:function(){
         var self = this;
         Ajax.post('/procurment/decideAddMedContentList',{})
             .then(function(response){
                 var data = response.data.data;
                 if (response.data.errorCode == 0) {
                     if(data == "Y"){
                         self.$router.go({'path': '/procurementCatalogImport'});
                     }else{
                         self.MessageBox({
                             title: '提示',
                             message: '建立关系的供应商未配置权限字段,不可使用采购目录!',
                             type: 'alert'
                         }, function (action) {
                             return;
                         });
                     }
                 }
             })
     },
      //加载数据
	getData:function(){
      	 var self = this;
        self.$set("getMedcontentList",[]);
        Ajax.post('/procurment/getMedcontentList',{'page':self.search.page,'pageSize':self.search.pageSize,'totalPages':self.search.totalPages,'goodsinfo':self.proList.goodsinfo,'suppliername':self.proList.suppliername,'contentstate':self.proList.contentstate})
      		.then(function(response){
      		var data=response.data.data;
      		self.$set("getMedcontentList",data.list);
      		self.search.totalPages=data.totalPages;
                  self.search.total=data.total;
                  for (var i = 0; i<self.getMedcontentList.length;i++) {
                  self.sh.push(false);
              }
      	 })
       },
       //修改价格
       updateList:function(index){
             var self = this;
             self.sh.splice(index,1,true);
       },
       //保存价格
       saveList:function(index,guid,rowno,price,suppliername,supgoodsname,contentstate,supplierguid,medgoodsguid){
             var self=this;
             self.MessageBox({
             title: '提示',
             message: '修改后的价格将以消息形式发送给【'+suppliername+'】,确认修改?',
             type: 'success',
             showCancelButton: true
             },function(action) {
             if(action=='confirm'){
              Ajax.post('/procurment/updatePrice',{'detailguid':guid,'rowno':rowno,'price':price,'supgoodsname':supgoodsname,'contentstate':contentstate,'supplierguid':supplierguid,'medgoodsguid':medgoodsguid})
              .then(function(response){
              var data=response.data;
              if(data.data==1){
                layer.msg('保存成功!');
                self.sh.splice(index,1,false);
                self.getData();
              }else{
                layer.msg(data.message);
                self.sh.splice(index,1,false);
              }
              })
            }
          });
      },

      //废弃
       delList:function(index,guid,rowno,suppliername,supgoodsname,contentstate,supplierguid,supexcguid){
             var self=this;
             self.MessageBox({
             title: '提示',
             message: '废弃此供应品种关系后将以消息形式发送给【'+suppliername+'】,确认废弃?',
             type: 'success',
             showCancelButton: true
             },function(action) {
             if(action=='confirm'){
              Ajax.post('/procurment/abandonContent',{'detailguid':guid,'rowno':rowno,'supgoodsname':supgoodsname,'contentstate':contentstate,'supplierguid':supplierguid,'supexcguid':supexcguid})
              .then(function(response){
              var data=response.data;
              if(data.data==1){
                layer.msg('废弃成功!');
                self.sh.splice(index,1,false);
                self.getData();
              }else{
                layer.msg(data.message);
                self.sh.splice(index,1,false);
              }
              })
            }
          });
      },
      	// 导出采购清单
			exportTrmedplan: function() {
				var self = this;
				Ajax.post('/procurment/exportMedcontentList', {
						'page': self.search.page,
						'pageSize': self.search.pageSize,
						'totalPages': self.search.totalPages,
						'goodsinfo': self.proList.goodsinfo,
						'suppliername': self.proList.suppliername,
						'contentstate': self.proList.contentstate,
						'medguid': self.proList.operatorguid
					})
					.then(function(response) {
						var data = response.data;
						window.open(data);
					})
			},

   },

    route:{
        activate : function(){
          this.getData();
        }
      },
    watch:{
      'proList.contentstate':function(){
        this.getData();
      }
    }

};
</script>