account-import.vue 10.1 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:history.go(-1)" class="fbtn fb-return">返回</a>
			    <a href="javascript:void(0)" class="fbtn fb-download" onclick="javascript:window.open('https://csylcloud-file.obs.myhwclouds.com/templet/HosDZImpl.xls');">下载模板</a>
			    <upload-excel :class="['fbtn fb-upload']" :tag="tagType" :type="fileType" :label="fileLabel"
                              :exceltype="med" v-on:file-change="getBackTips"></upload-excel>
			    <!-- <a href="javascript:void(0)" class="fbtn fb-upload">导入对账单</a> -->
			    <a href="javascript:void(0)" class="fbtn fb-remove" @click='empty'>清空重新导入</a>
			    <a href="javascript:void(0)" class="fbtn fb-submit" @click='submit'>提交</a>
			 </div>
			<h3 class="current-module">对账单导入</h3>
		</div>

		<!--order-orderlist-view start-->
		<div class="order-orderlist-view clearfix">
			<div class="pd-form mb-20">
				<div class="group-row group-row-3">
		            <div class="form-group form-label">
		              <label for="cn1" class="label">账单月份</label>
		              <div class="control">
		              	<monthpicker :target.sync="zdyfdate" :readonly="false" id='cnn1' inpclass='inp4'></monthpicker>
		                <!-- <input type="text" id="cn1"  v-model="zdyfdate" class="inp4">  -->
		            	</div>
		            </div>
		            <div class="form-group form-label">
		              <label for="cn2" class="label">摘要</label>
		              <div class="control">
		                <input type="text" id="cn2"  v-model="memo" class="inp2" maxlength="50" v-rule> </div>
		            </div>
		            <div class="form-group form-label">
		              <div class="control control-date" style="height:34px;overflow: inherit;">
							<div style="width: 42%;float: left">
								<datepicker :target.sync='dzbegindate' :readonly="readonlyFlag"
								title='对账开始日期'
								placeholder='对账开始日期' styleobj="width:100% !important;border-radius:8px 0px 0px 8px !important;"></datepicker>
							</div>
							<span class="text-and" style="width: 48.7px;background:#fff !important;"></span>
							<div style="width: 42%;float: right;">
								<datepicker :target.sync="dzenddate" :readonly="readonlyFlag"
								title='对账结束日期' placeholder='对账结束日期' styleobj="width:100% !important;border-radius:0px 8px 8px 0px !important;"></datepicker>
							</div>
						</div>
		            </div>
		          </div>
		        </div>

			<table class="itable itable-td-long-text ">
				<thead id='t_header'>
					<tr>
						<th class="w50">序号</th>
						<th class="w120">供应商</th>
						<th class="w150">商品信息</th>
						<th class="w120">批号</th>
						<th class="w120">入库数量</th>
						<th class="w130">单价</th>
						<th class="w100">金额</th>
						<th class="w80">发票号</th>
					</tr>
				</thead>
				<tbody>
					<tr v-if="trmedstatementdetails==null || trmedstatementdetails.length==0">
						<td colspan="10">
							<span v-if="!isLoading">暂无导入的数据</span>
							<div v-else class="sk-spinner sk-spinner-wave">
								<div class="sk-rect1"></div>
								<div class="sk-rect2"></div>
								<div class="sk-rect3"></div>
								<div class="sk-rect4"></div>
								<div class="sk-rect5"></div>
							</div>
						</td>
					</tr>
					<tr v-for='item in trmedstatementdetails'>
						<td>{{$index+1}}</td>
						<td class="t-left pr10">
							{{item.suppliername}}<br>
							{{item.medwvbillno}}
						</td>
						<td class="t-left pr10">
							{{item.goodscode}} <br>
							<span class="product-tit p-tit-green">{{item.goodsname}} </span><br>
							{{item.goodsspec}} <br>
							{{item.manufacturer}} <br>
							{{item.registkey}}

						</td>
						<td class=" pr10">
							{{item.lot}} <br>
							{{item.productiondate | getYMD}} <br>
							{{item.expiredate | getYMD}}
						</td>
						<td>
							{{item.wvqty}} {{item.unit}}
						</td>
						<td>
							{{item.price}}
						</td>
						<td>
							{{item.amount}}
						</td>
						<td>
							{{item.invoiceno}}
						</td>
					</tr>
				</tbody>
			</table>
		<!-- 	<div class="pagination m-20-0">
				<pagination @page-change="getData" :class="['m-20-0']" :page-no.sync="search.page" :total-pages.sync="search.totalPages">
				</pagination>
			</div> -->

		</div>
		<div class="modal " :class="showDialog=='Y'?'':'hide'">
                <div class="container resource">
                    <div class="audit-detail" style="width:540px;margin: 200px auto;">
                        <span class="close-win" v-on:click="closeDialog()"></span>

                        <div class="sdiv-9-9b">
                            <a class="btn-d btn-d-activate btn-d-lg" href="javascript:;" style='border-radius:8px;'>导入信息提示</a>
                        </div>

                        <div class="status-process wbe-0 clearfix pd20" style="padding-top:0px;">

                            <!-- 12-9 赵志杰  错误信息修改 -->
                            <!--  <p style="color:#606f7a;font-size:14px;">
            错误信息</p>
-->
                            <div class="sp-head sp-headb" v-for="m in mList" track-by="$index">
									<span class="sp-col w300">
				                    	<span class="control radio-control ">
				                      		<span>{{m}}</span>
										</span>
									</span>
                            </div>

                        </div>
                        <div class="sdiv9-9">
                            <button v-on:click="closeDialog()" class="btn button-red mar-none">关闭</button>
                        </div>
                    </div>
                </div>
            </div>
		<!--order-orderlist-view end-->

	</div>
</template>
<script>
	module.exports = {
		data: function() {
			return {
				zdyfdate:'',
				dzbegindate:'',
				dzenddate:'',
				memo:'',
				trmedstatementdetails:[],
				showDialog:'N',
				fileType: 'file',
                tagType: 'a',
                med: 'statementImp',
                fileLabel: '导入对账单',
				state:1,
				list: {},
				billstate: '',
				search: {
					pageSize: 50,
					page: 1,
					totalPages: 0,
					search_LIKE_goodsname: '',
					search_LIKE_suppliername: '',
					search_LIKE_billno: '',
					search_GTE_startDate: '',
					search_LTE_endDate: ''
				},
				parmas:{
					trmedstatement:{},
					trmedstatementdetails:[]
				}
			};
		},
		methods: {
			getData: function() {
				var self = this;

				Ajax.post('/hospitalTrmedplan/findByPageByPo', {
						'page': self.search.page,
					})
					.then(function(response) {
						var data = response.data.data;
						if(response.data.errorCode == 0) {
							self.$set('list', data.list);
							self.search.totalPages = data.totalPages;
							self.search.pageNo = data.pageNo;
						} else {
							layer.msg(response.data.message);
						}
					});
			},
			getOrderDate: function(val) {
				var self = this;
				self.isLoading = true;
				var parmas={};
				Ajax.post('/hospitalTrmedplan/findByPageByPo', parmas)
					.then(function(response) {
						var data = response.data.data;
						if(response.data.errorCode == 0) {
							self.isLoading = false;
							self.$set('list', data.list);
						} else {
							layer.msg(response.data.message);
						}
					});

			},
			 getBackTips: function (data) {
                var self = this;

                  self.trmedstatementdetails = data.trmedstatementdetails;
                  // 返回信息
                  self.$set('showDialog','Y');
                  self.$set('mList',data.resList);



                if (data.resList.length != 0) {
                    // 返回信息
                    self.$set('showDialog', 'Y');
                    self.$set('mList', data.resList);
                    return;
                }

            },
            closeDialog:function(){
            	var self = this;
            	self.$set('showDialog', 'N');
                self.$set('mList', []);
            },
            // 清空
            empty:function(){
            	if(this.trmedstatementdetails.length==0){
            		layer.msg('没有需要清空的数据!');
            		return;
            	}else{

            		this.$set('trmedstatementdetails', []);
            		layer.msg('清空成功!');
            	}

            },
            submit:function(){
            	var self = this;

            	if(this.trmedstatementdetails.length==0){
            		layer.msg('没有需要提交的数据!');
            		return;
            	}
            	if(!this.zdyfdate.trim()){
            		layer.msg('请输入账单月份');
            		return;
            	}
            	if(!this.dzbegindate.trim()){
            		layer.msg('请选择对账开始日期');
            		return;
            	}
            	if(!this.dzenddate.trim()){
            		layer.msg('请选择对账结束日期');
            		return;
            	}
            	self.parmas.trmedstatementdetails=this.trmedstatementdetails;
            	self.parmas.trmedstatement.zdyfdate=this.zdyfdate;
            	self.parmas.trmedstatement.dzbegindate=this.dzbegindate;
            	self.parmas.trmedstatement.dzenddate=this.dzenddate;
            	self.parmas.trmedstatement.memo=this.memo;

            	Ajax.post('/billType/addtrmedstatement', self.parmas)
					.then(function(response) {
						var data = response.data.data;
						if(response.data.errorCode == 0) {

								self.MessageBox({
							    title:'提示',
							    message:'提交成功!是否继续导入',
							    type:'alert',
							    showCancelButton: true
							    },function(action){
								    if(action=='cancel'){
								     	self.$route.router.go('/accountList');
								    }else{
								    	self.$set('trmedstatementdetails',[]);
								    	self.zdyfdate='';
										self.memo='';
										self.dzbegindate='';
										self.dzenddate='';
								    }
							    })

						} else {
							layer.msg(response.data.message);
						}
					});
            }
		},
		route: {
			activate: function() {
				 this.$set('trmedstatementdetails',[]);
			},
		}
	};
</script>