Commit b30bb850 authored by 华国豪's avatar 华国豪 🙄

新增财务单据地接批量组件

parent 0a83fa59
<style scoped>
p{margin: 0;}
.Receipt_box{padding:15px;color: #c94052;width: 100%;background-color: rgba(245, 245, 245, 1);position: relative;margin-top: 15px;}
.Receipt_box tr th{color: #c94052}
.Receipt_box.color_blur tr th{color: #106BAF}
.Receipt_box.color_blur{color: #106BAF;}
.Receipt_box.color_blur .rb_stit span{display: inline-block;border-bottom: 2px solid #106BAF;padding: 0 20px}
.rb_tit{font-size: 16px;text-align: center;margin-bottom: 20px;}
.rb_stit{font-size: 14px;text-align: center}
.rb_stit span{display: inline-block;border-bottom: 2px solid #C94052;padding: 0 20px}
.rb_top_row{display: flex;justify-content: space-between;font-size: 12px;}
.rb_top_row span._r_name{color: #333333}
.rb_top_row span._r_bold{font-weight: bold}
.rb_top_row ._r_time span{color: #333333}
._r_mb5{margin-bottom: 5px;}
.Receipt_table{width: 100%;font-size: 14px;text-align: center}
.Receipt_table th{font-weight: 200 !important}
.Receipt_table tr th,.Receipt_table tr td{background-color: white}
._r_mt10{margin-top: 10px;}
.Receipt_box.color_blur{color: #106BAF;}
.Receipt_box.color_blur .rb_stit span{display: inline-block;border-bottom: 2px solid #106BAF;padding: 0 20px}
._color_b{color: #333333 !important;font-size: 12px}
._font_size12{font-size: 12px !important}
._r_IsPublic{
padding-left: 15px;
}
._guanlian{
font-size: 12px;
color: gray;
}
._guanlian span{
font-size: 14px;
color: #333333;
}
._yewudanju{
position: absolute;
text-align: right;
font-size: 12px;
right: 15px;
top: 15px;
}
._jump_page{
cursor: pointer;
text-decoration: underline;
}
i{
font-style: initial;
}
.Receipt_box._PrintPageStyle tr th{color: #333333}
.Receipt_box._PrintPageStyle{color: #333333;}
.Receipt_box._PrintPageStyle .rb_stit span{border-bottom: 2px solid #333333;}
.Receipt_box._PrintPageStyle{color: #333333;}
.Receipt_box._PrintPageStyle .rb_stit span{border-bottom: 2px solid #333333;}
._border_color_r{
border-color: #c94052;
}
._border_color_b{
border-color: #106BAF;
}
._border_color_p{
border-color: #333333;
}
.Receipt_box .rb_stit span._rb_stit_print{
padding: 0;
padding-top: 10px;
border: none;
}
/* ._sanjiao_{
position: absolute;
top: 0px;
left: 0px;
width: 0px;
height: 0px;
border-top: 20px solid #e73828;
border-bottom: 20px solid transparent;
border-left: 20px solid #e73828;
border-right: 20px solid transparent;
} */
/* ._sanjiao_:after{
content: '批';
position: absolute;
top: -15px;
left: -14px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
} */
</style>
<template v-if="GetDetail&&GetDetail.DetailList.length>0">
<div class="Receipt_box" :class="[GetDetail.Type==1?'':'color_blur',isPrintPage?'_PrintPageStyle':'']" :style="{width:width,backgroundColor:color}" @click.stop v-loading='loading'>
<!-- <div class="_sanjiao_"></div> -->
<!-- <p class="rb_tit">{{GetDetail.CompanyName}}</p> -->
<p class="rb_tit" style="font-size: 16px !important;">{{GetDetail.CompanyName}}{{GetDetail.BranchName}}</p>
<p class="rb_stit" style="margin-bottom: 15px;">
<span>{{GetDetail.FinanceName}}</span>
</p>
<div class="rb_top_row _r_mb5">
<p v-if="GetDetail.Type==1 || GetDetail.Type==5">{{$t('fnc.hnrdanwei')}}<span class="_r_name">{{GetDetail.RemitterName}}</span></p>
<p v-if="GetDetail.Type==2 || GetDetail.Type==6">{{$t('fnc.fkduixiang')}}<span class="_r_name">{{GetDetail.AccountHolder}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==0">{{$t('fnc.sizhang')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==1">{{$t('fnc.gongzhang')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==2">{{$t('fnc.rmbxianjin')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==3">{{$t('fnc.wbxianjin')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==4">{{$t('fnc.zjinchi')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==5">{{$t('fnc.ptxnzhanghu')}}</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==6">{{$t('fnc.djxnzhanghu')}}</span>
</p>
<p style="font-weight: bold"><span class="">{{$t('hotel.hotel_SerialNumber')}}</span>{{GetDetail.FrID}}</p>
</div>
<div class="rb_top_row _r_mb5">
<p v-if="GetDetail.Type==1 || GetDetail.Type==5">
<span>{{$t('fnc.fkzhlshuihao')}}</span>
<span class="_r_name" v-if="GetDetail.TradeDate!=''">{{GetDetail.AccountNumber}}{{GetDetail.TradeDate}}</span>
<span class="_r_name" v-else>{{GetDetail.AccountNumber}}</span>
</p>
<p v-if="GetDetail.Type==2 || GetDetail.Type==6" style="max-width: 500px">
<span>{{$t('fnc.fkzhanghu')}}</span>
<span class="_r_name" v-if="GetDetail.TradeDate!=''">{{GetDetail.AccountNumber}}{{GetDetail.TradeDate}}</span>
<span class="_r_name" v-else>{{GetDetail.AccountNumber?GetDetail.AccountNumber:$t('fnc.no')}}</span>
</p>
<p class="_r_time">{{GetDetail.CreateDate}}</p>
</div>
<div class="rb_top_row _r_mb5" v-if="isPrintPage">
<p>
<span class="">{{$t('visa.v_tuanhao')}}
<template v-if="GetDetail.TCIDAndTCNUMList&&GetDetail.TCIDAndTCNUMList.length>0">
<span v-for="(o,ox) in GetDetail.TCIDAndTCNUMList" >{{o.TCNUM}}{{o.TCID}}</span>
</template>
<span v-else>{{$t('fnc.no')}}</span>
</span>
</p>
<span class="">{{$t('hotel.order_Number')}}:<span>{{GetDetail.OrderID?GetDetail.OrderID:$t('fnc.no')}}</span></span>
</div>
<div class="rb_top_row _r_mb5" v-if="isPrintPage&&OrderSource==4">
<p>
<span class="">{{$t('fnc.jpbianhao')}}:
<span>{{GetDetail.SourceID}}</span>
</span>
</p>
<p v-if="(GetDetail.TCIDAndTCNUMList && GetDetail.TCIDAndTCNUMList.length===0) || !GetDetail.TCIDAndTCNUMList">
<span class="">{{$t('advmanager.v_line')}}:
<span>{{GetDetail.LineName?GetDetail.LineName:$t('fnc.jpswxzxianlu')}}</span>
</span>
</p>
</div>
<div class="rb_top_row _r_mb5" v-if="isPrintPage&&OrderSource==10">
<p>
<span class="">{{$t('fnc.qzcpbianhao')}}:
<span>{{GetDetail.SourceID}}</span>
</span>
</p>
</div>
<div class="rb_top_row _r_mb5" v-if="isPrintPage&&OrderSource==9">
<p>
<span class="">{{$t('fnc.qishu')}}:
<span>{{GetDetail.Term}}</span>
</span>
</p>
</div>
<table class="Receipt_table" border="1" :class="[GetDetail.Type==1?'_border_color_r':'_border_color_b',isPrintPage?'_border_color_p':'']" :bordercolor="GetDetail.Type==1?'#c94052':'#106BAF'" style="border-collapse:collapse;">
<tr>
<th rowspan="2">{{$t('system.query_company')}}</th>
<th rowspan="2">{{$t('visa.v_tuanhao')}}</th>
<th rowspan="2">{{$t('fnc.danhao')}}</th>
<th rowspan="2">{{GetDetail.Type==1? '收款账户' : '付款对象'}}</th>
<th rowspan="2">{{$t('fnc.fyshuoming')}}</th>
<th rowspan="2">{{$t('hotel.hotel_Currency')}}</th>
<th colspan="3">{{$t('fnc.jine')}}</th>
<th rowspan="2">{{$t('hotel.hotel_remark')}}</th>
<th rowspan="2">{{$t('fnc.zhidanren')}}</th>
</tr>
<tr>
<th width="50">{{$t('fnc.yuanbi')}}</th>
<th width="50">{{$t('hotel.hotel_CurrentRate')}}</th>
<th width="50">{{$t('fnc.bweibi')}}</th>
</tr>
<template v-if="GetDetail.DijieBathFinanceList&&GetDetail.DijieBathFinanceList.length">
<template v-for="(item) in GetDetail.DijieBathFinanceList">
<tr class="_color_b">
<td height="34px">{{item.BName}}</td>
<td height="34px">
<template v-for="tc in item.TCIDAndTCNUMList">
<p class="_jump_page" @click="jumpPage('productQuery',tc.TCID,1)">{{tc.TCNUM}}({{tc.TCID}})</p>
</template>
</td>
<td height="34px">{{item.FinanceId}}</td>
<td height="34px">{{item.AccountHolder}}<br>{{item.AccountNumber}}</td>
<td height="34px">{{item.CostTypeName}}</td>
<td height="34px">{{item.CurrencyName}}</td>
<td height="34px">{{item.OriginalMoney}}</td>
<td height="34px">{{item.Rate}}</td>
<td height="34px">{{item.Money}}</td>
<td height="34px" style="max-width: 120px;">{{item.Remark}}</td>
<td height="34px">{{item.EmName}}</td>
</tr>
<!-- <tr>
<td></td>
<td style="font-size: 12px;padding: 5px 0;">附件凭证</td>
<td colspan="9" style="text-align: left;padding-left: 10px;">
<template v-if="item.VorcherInos && item.VorcherInos.length">
<template v-for="(vi, vIndex) in item.VorcherInos">
<span class="_jump_page" @click="showFj(vi)">{{`附件${vIndex+1}`}}</span>
</template>
</template>
</td>
</tr> -->
</template>
</template>
<tr v-if="GetDetail.DijieBathFinanceList&&GetDetail.DijieBathFinanceList.length<2">
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
</tr>
<tr v-if="GetDetail.DijieBathFinanceList&&GetDetail.DijieBathFinanceList.length<3">
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
</tr>
<tr v-if="GetDetail.DijieBathFinanceList&&GetDetail.DijieBathFinanceList.length<4">
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
</tr>
<tr>
<td height="26px">合计</td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px">{{moneyObj.OriginalMoney}}</td>
<td height="26px"></td>
<td height="26px">{{moneyObj.benAllMoney}}</td>
<td height="26px"></td>
<td height="26px"></td>
</tr>
</table>
<div class="rb_top_row _r_mt10" v-if="GetDetail.AuditSteps&&GetDetail.AuditSteps.length">
<template v-for="(item,index) in GetDetail.AuditSteps">
<p>
<span class="font_color_b">{{item.AuditDescription}}</span>
<template v-if="item.AuditRecordList&&item.AuditRecordList.length!=0">
<span class="_r_name" v-for="(s,si) in item.AuditRecordList" v-if="((item.Sort==0) || (item.Sort!=0&&s.AuditStatus==2))&&item.AuditRecordList.length" :class="item.Sort==0&&!isPrintPage?'_jump_page':''" @click="item.Sort==0&&!isPrintPage?jumpPage('enrollTotal',GetDetail.TCID,2):''">{{s.AuditName}} </span>
</template>
</p>
</template>
</div>
<viewer :images="images" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
<img v-for="src in images" :src="src" :key="src">
</viewer>
</div>
</template>
<script>
export default {
props:["ID","width","color","isPrintPage","name"], //接收参数 ID width color
data(){
return{
loading:true,
GetDetail:{DetailList:null},
EmployeeId:'',
EndDate:'',
StartDate:'',
imageOptions:{
navbar:false,
title:false
},
images: [],
moneyObj: {},
}
},methods:{
inited (viewer){
this.$viewer = viewer
},
showFj: function (obj) {
if(obj.Type==3){
this.images.push(obj.Content);
this.$viewer.show()
// this.hideFlashMan = true;
}else{
if(obj.Content.substring(obj.Content.lastIndexOf('.')+1,obj.Content.length).toUpperCase()=='PDF'){
this.previewPDF(obj.Content)
}else{
window.open("https://view.officeapps.live.com/op/view.aspx?src="+obj.Content)
}
}
},
jumpPage(path,id,type){
if(type==1){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,orderID:this.GetDetail.OrderID,isShow:false}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { id:id,orderID:this.GetDetail.OrderID,isShow:false,blank:'y'}
})
}else if(type==2){
// let routeData = this.$router.resolve({
// name: path,
// query: { starTime:this.StartDate,endTime:this.EndDate,EmployeeId:this.EmployeeId}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { starTime:this.StartDate,endTime:this.EndDate,EmployeeId:this.EmployeeId,blank:'y'}
})
}
},
Financial_post_GetDetail(id){ //获取单据详情
if(!id) return
this.loading = true;
this.apipost('Financial_post_GetDetail',{ID:id}, res => {
if(res.data.resultCode == 1) {
let data= res.data.data;
data.DetailList.forEach(x=>{
x.UnitPrice = this.$commonUtils.addCommas(Math.round(x.UnitPrice * 100) / 100)
x.Money = Math.round(x.Money * 100) / 100
x.OriginalMoney = Math.round(x.OriginalMoney * 100) / 100
})
let benAllMoney = 0,
OriginalMoney = 0;
data.DijieBathFinanceList.forEach(x=>{
benAllMoney += x.Money
OriginalMoney += x.OriginalMoney
})
this.moneyObj = {
benAllMoney: benAllMoney,
OriginalMoney: OriginalMoney,
}
data.ChineseMoney = this.$commonUtils.changeMoneyToChinese(data.Merge.Money)
data.WBChineseMoney = this.$commonUtils.changeMoneyToChinese(data.Merge.WBMoney)
data.Money = this.$commonUtils.addCommas(Math.round(data.Money * 100) / 100)
data.Merge.TradeDateV2 = new Date(data.Merge.TradeDateV2).Format('yyyy-MM-dd')
data.AuditSteps.reverse()
this.GetDetail = data;
this.loading=false
// this.$set(this.$data,"GetDetail",data);
// console.log(this.GetDetail)
}
}, err => {})
},
},mounted(){
// console.log(this.ID+"mounted")
const myDate = new Date();
let yaer = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
let month = myDate.getMonth()+1; //获取当前月份(0-11,0代表1月)
let dateS = myDate.getDate(); //获取当前日(1-31)
this.StartDate = yaer + '-' + month + '-' + '01';
this.EndDate = yaer + '-' + month + '-' + dateS;
let userInfo = this.getLocalStorage();
this.EmployeeId = userInfo.EmployeeId;
this.Financial_post_GetDetail(this.ID);
},watch: { // 监听参数变化
GetDetail: {
handler: function(val, oldVal) {
// console.log(val)
// console.log(oldVal)
},
deep: true
},
ID:{
handler: function(val, oldVal) {
this.ID = val
this.Financial_post_GetDetail(this.ID)
// console.log(val)
},
deep: true
}
}
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment