motion-plan2.vue 10.1 KB
<template>
	<section style="min-height: 806px;" class="container resource close-left-menu contaNEW">
		<div class="pop-banner clearfix w1003">
	<!-- 		<div class="operate-btns">
          	    <a class="fbtn fb-remove" v-link="{path:'/basicMessageForm/0'}" href="javascript:;">删除</a>
            </div> -->
			<h3 class="current-module">自动生成计划</h3>
		</div>
		<!--purchase-return-goods start-->
		<div class="purchase-return-goods">
			<div class="step-tips step-3 clearfix">
				<div class="step-item"><span>1</span>选择库存紧缺商品</div>
				<div class="step-item active"><span>2</span>分配供应商</div>
				<div class="step-item"><span>3</span>完成</div>
			</div>  
		</div>
		<div class="supply-productlist clearfix">
	      <div class="pd-form" style="padding:10px;">
	        <div class="group-row">
	          <div class="form-group form-label">
	          	<label class="label">要求到货日期</label>
	            <div class="control">
                  <datepicker :target.sync="trmedplan.planenddate" 
                   styleobj="width:100% !important;padding-left:7em;"></datepicker>
	           </div>
	          </div>
	          <div class="form-group form-required form-label">
			      <label for="cn8" class="label">单据类型</label>
			      <select-ui :list="$store.state.$billTypeList" :selected.sync="false" :emptyText="" v-model="trmedplan.billtype" class='inp4' id="ccn1">
            </select-ui>
			    </div>
	     	</div>
	     	<div class="group-row">
	          <div class="form-group form-label">
		          <label for="cn10" class="label">要货科室</label>
		          <select id="cn10" v-model="trmedplan.meddeptguid" class="inp4">
		          	<option value="">请选择</option>
		          	<option v-for='item in trmedplan.meddeptnamelist' :value='item.value'>{{item.label}}</option>
		          </select>
<!-- 		          <select-ui :list="trmedplan.meddeptname" :selected.sync="false" :emptyText="" v-model="trmedplan.meddeptguid" class='inp4' id='cc4'>
              	  </select-ui> -->
		      </div>
	          <div class="form-group">
	          	 <div class="control select-style form-label">
		        	<label class="label">要货库房</label>
		            <select v-model="trmedplan.medstoreguid" @change="addresslist(trmedplan.medstoreguid)" class="inp4"> 
		                <option v-for="option in storeList" v-bind:value="option.value">
		                  {{option.label}}
		                </option>
		              </select>
		          </div>
	          </div>
	     	</div>
	     	<div  class="group-row">
		      <div class="form-group form-label">
	          	<label class="label">收货地址</label>
	            <div class="control">
	              <input type="text" id="cn1" v-model="trmedplan.address" class="inp4">
	           </div>
	          </div>
	     	</div>
	      </div>      
	      <div class="search-result">
	      	 <div class="statistics">您当前共有<em>{{list.length}}</em>个商品</div>
	      </div>
		     <table class="itable itable-thead-13px itable-td-long-text">
		        <thead id='t_header'>
		          <tr>
		           <th class="w50">序号</th>
		           <th class="w70">商品<br/>编号</th>
		           <th class="w120">商品</th>
		           <th class="w120">生产<br>厂商</th>
		           <th class="w130">注册证号/<br/>批准文号</th>
		           <th class="w70">采购量</th>
		           <th class="w100">单价</th>
		           <th class="w100">金额</th>
		           <th class="w120">供应商</th>
		           <th class="w90">操作</th>
		          </tr>
		       </thead>
		       <tbody>
		         <tr v-for='item in list'>
		           <td>{{$index+1}}</td>
		           <td>{{item.goodscode}}</td>
		           <td class="t-left">
		           	{{item.goodsname}}
		           	<br>
		           	{{item.goodsspec}}
		           	<br>
		           	{{item.unit}}
		           </td>
		           <td>{{item.productor}}</td>
		           <td class='t-left'>{{item.registkey}}</td>
		           <td><input type="text"  v-model='item.poqty'></td>
		           <td class="t-right pr10">{{item.taxprice}}</td>
		           <td class="t-right pr10">{{item.taxprice*item.poqty}}</td>
		           <td class="pt7">
		           		<select class="w150 fl" v-model='item.supplierguid'>
			              <option v-for='item2 in item.supList' :value="item2.VALUE">{{item2.label}}</option>
			            </select>
		           </td>
		           <td class="pt7"><a class="btn button-red mar-none" href="javascript:;" @click='del(item.guid)'>删除</a></td>
		         </tr>
		       </tbody>
		      </table> 
		    </div>
		    <div class="step-btn">
		    	<a href="javascript:;" @click='last'><<返回添加商品</a>
				<a href="javascript:;" @click='nextList'>下一步,分配供应商>>;</a>
			</div>
	</section>
</template>
<script>
	module.exports = {

		data: function() {
			return {
				list:[],
				 billtypeList: [{
			        value: "01",
			        label: "普耗"
			      }, {
			        value: "02",
			        label: "跟台高值"
			      },  
			       {
			        value: "03",
			        label: "备货高值"
			      },  
			       {
			        value: "04",
			        label: "药品"
			      },  
			       {
			        value: "05",
			        label: "后勤物资"
			      },  
			      {
			        value: "06",
			        label: "消毒用品"
			      }, 
			      {
			        value: "07",
			        label: "洗涤用品"
			      }, 
			       {
			        value: "08",
			        label: "中药材"
			      }, 
			      {
			        value: "09",
			        label: "设施设备"
			      }],
			      departmentsSearch: {
		            parameter_category: '',
		            parameter_medguid: '',
		          },
		          HospitalCreateCollTrplanVO:{},
		          trmedplan:{
		          	meddeptnamelist:{},
		          	planenddate:'',
		          	meddeptguid:''
		          },
		          billtype:'',
			};
		},
		methods: {
			getData:function(){
				var self=this;
				Ajax.post('/hospitalTrmedplan/listTpautogoods')
					.then(function(response) {

						if(response.data.errorCode==0){
							self.list=response.data.data;
							// self.$router.go({'path':'/motionPlan2'})
						}
					});

			},
			last:function(){

				this.$router.go({'path':'/motionPlan'})
			},
			// 科室下拉表
	      getDepartments: function () {
	        var self = this;
	        self.departmentsSearch.parameter_category = '2';
	        Ajax.get('/util/departmentsInfo', self.departmentsSearch)
	            .then(function(response) {
	          var data = response.data.data;
	          self.trmedplan.meddeptnamelist=data;
	        })
	      }, 
	      // 库房下拉表
	      getStore: function() {
	        var self = this; 
	        self.departmentsSearch.parameter_category = '1';
	        Ajax.get('/util/departmentsInfo', self.departmentsSearch)
	            .then(function(response) {
	          var data = response.data.data; 
	          self.$set("storeList", data);
	        })
	      },
	      addresslist: function(guid) {
	        var self = this;   
	        for(var i = 0; i<self.storeList.length; i++){
	            if(self.storeList[i].value == guid ){  
	              self.$set("trmedplan.address", self.storeList[i].address); 
	            }
	        } 
	      },
		 next:function(){
				var self=this;
				self.HospitalCreateCollTrplanVO.trmedplan=self.trmedplan;
				self.HospitalCreateCollTrplanVO.trmedplandetailList=self.list;
				
				self.MessageBox({
                title:'提示',
                message:'请确认是否提交',
                type:'alert',
                showCancelButton: true
                },function(action){
               	if(action=='confirm'){
               		Ajax.post('/hospitalTrmedplan/commitImportTrmedplanauto',self.HospitalCreateCollTrplanVO)
					.then(function(response) {
						if(response.data.errorCode==0){
							// self.list=response.data.data;
			
							sessionStorage.setItem('socketArr',JSON.stringify(response.data.data.supplierBillInfoList) )
							self.$router.go({'path':'/motionPlan3'});
						}else{
							layer.msg(response.data.message);
						}
					});
               	}
              })
	
			},
			nextList:function(){
				var self=this;
				var trmedplan=self.trmedplan;

				
				if(!trmedplan.planenddate) {
		          	layer.msg('请选择要求到货日期');
		          	return;
		        }else if(trmedplan.billtype!=''){
		          	layer.msg('请选择单据类型');
		        }

		        for(var a=0;a<self.list.length;a++){
		        	if(!self.list[a].supplierguid){
		        		layer.msg('请为第'+(a+1)+'条商品选择供应商');
		        		return;
		        	}
		        }
		        self.next();
			},
			del:function(guid){
				var self=this;
				Ajax.post('/hospitalTrmedplan/delTpAutoDetail',{'guid':guid})
					.then(function(response) {

						if(response.data.errorCode == 0) {
			              self.MessageBox({
			                title:'提示',
			                message:'删除成功',
			                type:'alert',
			                // showCancelButton: true
			                },function(action){
			               self.$route.router.go('/motionList');
			              })
			            }else{
			              layer.msg(response.data.message);
			            }
					});
				// 

			}
		},
		// 画面初始化
		route: {
			activate: function() {
				this.getData();
				this.getDepartments();
          		this.getStore();
			}
		},
		watch:{
			'trmedplan.meddeptguid':function(){
				var trmedplan=this.trmedplan;
				for(var a=0;a<trmedplan.meddeptnamelist.length;a++){
					if(trmedplan.meddeptnamelist[a].value==trmedplan.meddeptguid){
						trmedplan.meddeptname=trmedplan.meddeptnamelist[a].label;
					}
				}
			},
			'list':{
		        handler(checkbox){
		      var self=this;
		           var box =checkbox;
		           for( var a=0;a<checkbox.length;a++){
		           		for(var i=0;i<checkbox[a].supList.length;i++){
		           			if(checkbox[a].supList[i].VALUE==checkbox[a].supplierguid){
		           				checkbox[a].suppliername=checkbox[a].supList[i].label;
		           			}
		           		}
		           }		         
		      },
		      deep:true
		      },
		}
	};
</script>