Commit 9b9344bf authored by 沈良进's avatar 沈良进
parents 1ef3fec4 3cd63772
<style scoped>
@media print{
._none_print{display:none}
}
._none_print{
position: relative;
z-index: 2;
}
._none_print_tips{
position: absolute;
top: 80px;
z-index: 1;
}
.page_bdm{padding: 20px 0;}
._tit{padding-left: 10px;border-left: 3px solid #E95252;font-size: 14px}
._conten{position: relative}
._conten,._process{margin-top: 20px;width: 890px;}
._explain{padding: 20px 15px;border-top: 1px dashed #BFBFBF;border-bottom: 1px dashed #BFBFBF;background-color: white;}
._explain>p{color: #1273BC;font-size: 12px;}
._explain>div{display: flex;justify-content: space-between;font-size: 12px;color: #333333;margin-top: 10px;align-items: center;}
._tit2{
border:none;
background-color: white;
border: 1px solid #DDDDDD;
}
._tit._tit2>p{
padding-left: 10px;
font-size: 14px;
color: #000;
padding: 8px 15px;
display: flex;
justify-content: space-between;
}
._tit._tit2 ._rotate{
transform:rotate(180deg);
}
._tit._tit2 ._btn{
font-size: 12px;
color: #333333;
cursor: pointer;
}
._tit._tit2 ._btn:hover{
color: #E95252;
}
._tit._tit2 ._btn .iconfont{
font-size: 12px;
display: inline-block;
margin-left: 10px;
}
._tit._tit2 ._text{
border-left: 3px solid #e95252;
padding-left: 10px;
}
._process{background-color: white;padding: 20px 15px;position: relative;}
._process_box{border-top: 1px dashed #BFBFBF;padding-top: 30px;padding-bottom: 40px;}
._flow_chart{position:absolute;display: inline-block;right: 15px;top: 7px;padding:5px 25px;font-size: 12px;color: #FFFFFF;background-color: #E95252;border-radius: 14px;cursor: pointer;}
._pb_son{position: relative;padding-left: 75px;min-height: 100px;padding-bottom: 30px}
._left_radius{width: 40px;height: 40px;border-radius: 50%;text-align: center;line-height: 40px;background-color: #2BBB7E;color: white;font-size: 12px;position: absolute;left: 15px;z-index: 2;}
._left_radius_err{background-color: #E95252 !important;}
._left_radius_sus{background-color: #1273BC !important;}
._pb_son::after{content: '';width: 4px;height: 100%;background-color: #2BBB7E;display: inline-block;position: absolute;clear: both;left: 33px;top: 0;z-index: 1}
._pb_son._none_after::after{content: '';display: none}
._pb_son._bohui_after::after{background-color: #E95252 !important;display: inline-block}
._status_color_f{background-color: #8B8B8B !important}
._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;}
._right_content ._name ._m{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #E95252;margin-left: 5px;border-radius: 4px;}
._right_content ._name ._sm{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #FF9600;margin-left: 5px;border-radius: 4px;font-weight: 100;}
._right_content ._name ._sn{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #2BBB7E;margin-left: 5px;border-radius: 4px;}
._right_content ._time,._time{font-size: 12px;color: #666666;padding-top: 5px;}
._right_content ._pp_info,._textarea{border-radius: 4px; border: 1px solid #E5E5E5;background:rgba(245,245,245,1);font-size: 12px;color: #333333;padding: 12px 14px;margin-top: 13px;position: relative;}
._right_content ._pp_info:before{display:block;content:'';border-width:8px 8px 8px 8px;border-style:solid;border-color: transparent transparent #dedede transparent;position:absolute;left:10px;top:-16px;}
._mgt_15{margin-top: 15px;}
/* ._more ._right_content{padding: 0 10px;padding-right: 0;} */
._more ._right_content .iconfont{color: #AAAAAA}
._more ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;padding-left: 3px;}
._info_img ul{padding: 10px 0}
._info_img ul li{float: left;position: relative;cursor: pointer}
._info_img ul li:hover ._see_img{opacity: 1;}
._info_img ul li img{width:88px;height:59px;}
._see_img{position: absolute;top: 0;width: 100%;height: 59px;padding-top: 16px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.3);display: inherit;opacity: 0;transition: all linear .5s}
._see_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #FFFFFF !important;background-color: rgba(255, 255, 255, 0.5);}
._show_img_box{position: fixed; background: rgba(0,0,0,.6); left: 0; top:0; width: 100%; height: 100%; z-index: 999; text-align: center;overflow: auto;}
._textarea{width: 690px;height: 50px;background-color: white}
._upload_box ul li{float: left;height:82px;width:143px;padding:20px 20px 20px 0;text-align: center;position: relative;cursor: pointer;margin-right: 10px;}
._upload_box ul li img{height:82px;width:143px;}
._upload_box ul li:hover ._delete_img{opacity: 1;}
._delete_img{position: absolute;top: 20px;height:82px;width:143px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.6);display: inherit;opacity: 0;transition: all linear .5s}
._delete_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #E95252 !important;background-color:rgba(251, 251, 251, 0.9); margin-top: 26px;}
._radio_lsit{padding-top: 15px}
._upload_tips{font-size: 12px;position: absolute;top: 66%;width: 100%;left: 0;text-align: center;color: #949494;}
._log_t{padding: 10px;}
._time_n{float: right;}
.w890px{width: 890px;padding: 0;margin: 0;}
.w600px{
width: 600px;
padding: 15px;
margin: 0 auto;
}
._explain ._addUpload_box{
display: block;
padding-bottom: 14px;
}
._explain2>div{
margin-top: 0;
}
._explain2{
border: none;
padding: 20px 0 0 14px;
background-color: aliceblue;
}
._addUpload_box>div:hover{
background-color: #f5f5f5;
}
._addFile_name{
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 12px;
}
.FinancialDocumentsDetail ._fujian_box{
position: absolute;
left: 895px;
top: -0;
width: 440px;
}
._wenjian{
padding: 15px;
width: 91px;
height: 80px;
border:1px solid rgba(221,221,221,1);
float: left;
cursor: pointer;
margin-right: 10px;
margin-top: 10px;
}
._wenjian_P{
font-size: 30px;
text-align: center;
color: #41D2A1;
}
.shangchuanfujian{
text-align: right;
margin-top: 20px;
}
.el-carousel__item{
align-items: center;
justify-content: center;
display: flex;
}
._splic{
width: 890px;
overflow: hidden;
font-size: 12px;
color: #929292;
margin-top: 15px;
line-height: 10px;
}
._fujian_box_tit{
display: flex;
justify-content:space-between;
font-size: 14px;
color: #333333;
}
._fujian_box_tit .iconfont{
font-size: 14px;
display: inline-block;
margin-right: 8px;
}
._fujian_box_tit .iconfont.icon-bangdingzhagnhuxinxi{
color: #E95252;
}
._fujian_box_tit .iconfont.icon-gengduo{
transform:rotate(90deg);
font-size: 12px;
}
._fujian_zhankai{
color: white;
width: 64px;
height: 0;
font-size: 12px;
border-top: 26px solid #E95252;
border-right: 15px solid transparent;
border-left: 15px solid transparent;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
position: relative;
left: -32px;
bottom: -27px;
}
._fujian_zhankai>span{
display: inline-block;
height: 100%;
width: 50%;
position: absolute;
left: 25px;
bottom: 15px;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
._fujian_zhankai>span:nth-child(2){
left: 18px;
bottom: 3px;
}
._border_bottom_none{
border-bottom: none !important;
}
._jump_page{
cursor: pointer;
text-decoration: underline;
}
._jump_page:hover{
color: #c94052;
}
._TCIDAndTCNUMList{
display: flex;
}
._TCIDAndTCNUMList ._TCIDAndTCNUMList_item span{
display: inline-block;
padding-bottom: 5px;
}
._font_bold{
font-weight: bold;
}
._TCIDAndTCNUMList_item{
max-width: 160px;
}
._fujiashuoming_tr td{
font-size: 12px;
color: #696969;
padding: 5px 10px;
}
._zhuan_msg{
font-size: 12px;
margin-top:10px;
padding-bottom: 10px;
}
._zhuan_msg span{
display: inline-block;
margin-right: 5px;
color: #696969;
}
._zhuan_msg span:last-child{
margin-left: 5px;
}
._zhuan_msg p:nth-child(2){
color: #696969;
}
._zhuan_msg ._color_green{
color: #2BBB7E
}
._Printing{
position: relative;
z-index: 30;
font-size: 12px;
cursor: pointer;
color: #3980C8;
}
._Printing:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.FinancialDocumentsDetail ._addUpload_box_btm{
padding-top: 20px;
max-height: 230px;
overflow: auto;
}
._addUpload_box_btm img{
width: 100%;
}
._addUpload_box_btm>div{
float: left;
width:138px;
height:92px;
border:1px dashed rgba(210,210,210,1);
border-radius:2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
._addUpload_box_btm>div:hover{
background-color: #f5f5f5;
}
._addFile_name{
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
._addUpload_box_btm .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
._addUpload_box_btm .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
._addUpload_box_btm .icon-excel{
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
._show_img_box{position: fixed; background: rgba(0,0,0,.6); left: 0; top:0; width: 100%; height: 100%; z-index: 999; text-align: center;}
._addUpload_tips{
font-size: 12px;
color: #999999;
}
.InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;}
.changLogList{padding-left: 20px;max-height: 180px;overflow: auto;}
.changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;}
._radius_green{background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;}
.changLog_time{color: #666666;font-size: 12px;display: inline-block;padding-right: 10px}
.color_shz{color: #1273BC}
.color_tg{color: #4BCA81}
.color_bh{color: #c94052}
.page_fdd .sqs:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .Note_span:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .sqs{
position: relative;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
.page_fdd .Note_span{
position: relative;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
.FD_remark_list{
margin-top:10px;
color:#E95252;
}
.FD_remark_list span:first-child{
display: inline-block;
width:26px;
vertical-align: top;
}
.FD_remark_list span:last-child{
display: inline-block;
width:90%;
}
.FD_yijian{
margin-left:20px;
cursor:pointer;
text-decoration: underline;
}
.illustrate-text{
display: flex;
justify-content: space-between;
}
.illustrate-left{
flex-grow: 2;
}
.illustrate-right{
flex-shrink: 0;
margin-left: 20px;
cursor: pointer;
}
.illustrate-right:hover{
text-decoration: underline;
}
.fygsbumen-box-right{
cursor: pointer;
text-decoration: underline;
}
</style>
<template>
<div class="page_fdd FinancialDocumentsDetail" v-if="GetDetail">
<div class="_none_print">
<p class="_tit">
{{GetDetail.FinanceName}}
<span :class="{color_shz:(GetDetail.StatusStr!=='通过' && GetDetail.StatusStr!=='驳回' && GetDetail.StatusStr!=='作废'),color_tg:GetDetail.StatusStr==='通过',color_bh:GetDetail.StatusStr==='驳回'}">{{GetDetail.StatusStr}}</span>
</p>
<div style="width: 890px;position: relative;text-align: right;">
<span v-if="GetDetail.TemplateId==36 || GetDetail.TemplateId==37 || GetDetail.TemplateId==53 || GetDetail.TemplateId==43 || GetDetail.TemplateId==56 || GetDetail.TemplateId==48" class="Note_span" @click="goUrl('DebitNote',GetDetail.FrID)">借支单下载</span>
<span v-if="GetDetail.TemplateId==36 || GetDetail.TemplateId==37 || GetDetail.TemplateId==53 ||GetDetail.TemplateId==48 || (GetDetail.TemplateId==43&&GetDetail.IsPublic==4) || (GetDetail.TemplateId==56&&GetDetail.IsPublic==4)" class="sqs" @click="goUrl('Application',GetDetail.FrID)">
申请书{{GetDetail.FApplyForNumber}}下载
</span>
<span v-show="huijiShow" class="_Printing" @click="goPrintPageNew(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">凭证打印</span>
<span v-show="GetDetail.AccountantMergeDetailList && GetDetail.AccountantMergeDetailList.length>0" class="_Printing" @click="goPrintPage2(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">会计合并打印</span>
<span class="_Printing" @click="goPrintPage(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">打印单据</span>
</div>
<div class="_conten">
<my-Bill v-if="GetDetail.Type===2 && GetDetail.Type!==5" :isPrintPage="false" :ID="GetDetail.FrID" :width="widthSon" :color="colorSon"></my-Bill>
<my-RVB-Bill v-else-if="GetDetail.Type===1" :ID="GetDetail.FrID" :isPrintPage="false" :width="widthSon" :color="colorSon"></my-RVB-Bill>
<my-GZ-Bill v-else-if="GetDetail.Type===7" :ID="GetDetail.FrID" :width="widthSon" :color="colorSon"></my-GZ-Bill>
<div class="_explain">
<div class="illustrate-text">
<p class="illustrate-left">附加说明: <span class="fr" v-if="GetDetail.ComplainID > 0" @click="goComplain('ComplaintsDetail', GetDetail.ComplainID,GetDetail.OrderID)">
<span style="color:#000">投诉单号:</span> <span class="cursorpointer text-decoration">{{GetDetail.ComplainID}}</span></span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==15" @click="goassets(GetDetail.ReFinanceId,GetDetail.OtherType)"> 电商采购单:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==16" @click="goassets(GetDetail.ReFinanceId,GetDetail.OtherType)"> 电商出库单:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==17" @click="lookbreakage(GetDetail.ReFinanceId)"> 报损/报溢单:{{GetDetail.ReFinanceId}}</span>
<span v-if="(GetDetail.TemplateId==28 || GetDetail.TemplateId==30) && GetDetail.OtherType!=63 && GetDetail.OtherType!=64"
@click="Gourl(GetDetail)"
style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">提成详情</span>
<span v-if="(GetDetail.TemplateId==29 || GetDetail.TemplateId==31) && OPState && GetDetail.OtherType!=63 && GetDetail.OtherType!=64"
@click="GoOPurl(GetDetail)"
style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">提成详情</span>
<span v-if="CostTypeState" @click="GourlCostType('VisitRecord',1)" style="margin:0 10px;cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">拜访记录</span>
<span v-if="CostTypeState" @click="GourlCostType('yingyanMap',2)" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">鹰眼轨迹</span>
<span v-if="GetDetail.OtherType==5" @click="GourlHotelZr" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">酒店折让</span>
<span v-if="GetDetail.OtherType==6" style="cursor: pointer;float: right;color: #000;font-size: 12px;">
<span style="text-decoration: underline;margin-right:10px" @click="goHand(1,GetDetail)">团号:{{GetDetail.TCNUM}}</span>
<span style="text-decoration: underline;" @click="goHand(2,GetDetail)">相关单据:{{GetDetail.ReFinanceId}}</span>
</span>
<span v-if="GetDetail.OtherType==71" style="cursor: pointer;float: right;color: #000;font-size: 12px;">
<span style="text-decoration: underline;" @click="goHand(3,GetDetail)">查看手配详情</span>
</span>
<span v-if="GetDetail.OtherType==18&&GetDetail.ReFinanceId>0" style="cursor: pointer;float: right;color: #000;font-size: 12px;">
<span @click="goOrderDetails(GetDetail.ReFinanceId)">账单:{{GetDetail.ReFinanceId}}</span>
</span>
</p>
<div class="illustrate-right" v-if="GetDetail.OtherType=='55'"
@click="clickAirTicketOrder">
机票单号:{{GetDetail.ReFinanceId}}
</div>
<div v-if="GetDetail.OtherType==56||GetDetail.OtherType==57"
class="illustrate-right fygsbumen-box-right"
@click="ImpressionTicketDetails('ImpressionTicketUserDetails')">{{GetDetail.OtherType==56?'票务提成详情':'票务工资详情'}}</div>
<div v-if="GetDetail.OtherType==61||GetDetail.OtherType==62" class="illustrate-right fygsbumen-box-right"
@click="ImpressionSingleDetails('singleProductHotelOrderOP')">{{'单项酒店订单:'+GetDetail.ReFinanceId}}</div>
<div v-if="GetDetail.OtherType==66" class="illustrate-right fygsbumen-box-right"
@click="ImpressionSingleDetails('SingleticketOrderListOP')">{{'单项门票订单:'+GetDetail.ReFinanceId}}</div>
<div v-if="GetDetail.OtherType==67||GetDetail.OtherType==68" class="illustrate-right fygsbumen-box-right"
@click="ImpressionSingleDetails('CharterOrderListOP')">{{'单项车订单:'+GetDetail.ReFinanceId}}</div>
<div v-if="GetDetail.OtherType==63" class="illustrate-right fygsbumen-box-right"
@click="ImpressionSingleCommissionDetails('ServiceCommissiondetails',1)">{{'单项销售提成详情'}}</div>
<div v-if="GetDetail.OtherType==64" class="illustrate-right fygsbumen-box-right"
@click="ImpressionSingleCommissionDetails('ServiceCommissiondetails',2)">{{'单项OP提成详情'}}</div>
</div>
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;margin-top:15px;" width="100%" v-if="GetDetail.TCIDAndTCNUMList.length>0">
<tr v-for="(o,ox) in GetDetail.TCIDAndTCNUMList" class="_fujiashuoming_tr">
<td :colspan="4" v-if="GetDetail.Is_Merge===1">单据号:{{o.FinanceId}}</td>
<td :colspan="3">
{{o.TCNUM}}{{o.TCID}}
<span v-if="GetDetail.IsShowGuestUrl && GetDetail.IsShowGuestUrl===1" @click="goInves('investigationList',o.TCID)" class="FD_yijian">旅客意见
<span>{{o.GuestSurveyNum?o.GuestSurveyNum:0}}</span>/
<span>{{o.GuestTotalNum?o.GuestTotalNum:0}}</span>
</span>
<a v-if="o.PriceTeamTypeName && o.PriceTeamTypeName =='单团'" style="cursor: pointer;text-decoration: underline;" target="_blank" :href="o.PriceOfferUrl" >报价单</a>
<span v-if="GetDetail.IsShowGuestUrl && GetDetail.IsShowGuestUrl===1 && GetDetail.ClientType===7" @click="goGuideAccount('GuideAccount',GetDetail.ClientID)" class="FD_yijian">
领队导游往来
</span>
<span v-if="GetDetail.IsShowDiJieChargeUrl==1" style="margin-left:10px;cursor:pointer;" @click="jumpHotelContract('HotelContract',o)">手配费详情</span>
</td>
<td @click="jumpPage('TravelControlList',o.TCNUM,1)"> <span class="_jump_page _font_bold">查看团队</span> </td>
<td @click="jumpPage('RegistrationList',o.TCID,7)"> <span class="_jump_page _font_bold">查看报名</span> </td>
<td v-if="qjGroupId==userInfo.RB_Group_id || TeamShouZhi" @click="GetDetail.TCIDAndTCNUMList.length==1?jumpPage('TeamBalancePayment',o.TCID,5):jumpPage('TeamBalancePayment',o.TCID,6)"> <span class="_jump_page _font_bold">团队收支</span> </td>
<td v-if="OrderSource==9&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail,2)"> <span class="_jump_page _font_bold">国内票务</span> </td>
<td v-else-if="OrderSource==10&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail,3)">
<span class="_jump_page _font_bold">签证收支</span></td>
<td v-else-if="OrderSource==4&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail,4)"> <span class="_jump_page _font_bold">机票收支</span> </td>
<td v-if="GetDetail.TemplateId === 43 || GetDetail.TemplateId === 48 || GetDetail.TemplateId === 53|| GetDetail.TemplateId === 56
|| GetDetail.TemplateId === 49 || GetDetail.TemplateId === 50 || GetDetail.TemplateId === 51|| GetDetail.TemplateId === 52
|| GetDetail.TemplateId === 54 || GetDetail.TemplateId === 55 || GetDetail.TemplateId === 57|| GetDetail.TemplateId === 58 || GetDetail.TemplateId === 98 || GetDetail.TemplateId === 99
|| GetDetail.IsShowPlanUrl === 1 && (qjGroupId==userInfo.RB_Group_id || F_Disbursement_Schedule)" @click="jumpPlanPage('leaderReimbursement',o.TCID)"> <span class="_jump_page _font_bold">用款计划</span> </td>
<td v-if="GetDetail.IsShowPlanUrl === 1 && (qjGroupId==userInfo.RB_Group_id || F_Disbursement_Schedule)" @click="jumpPlanPage('leaderPay2',o.TCID)"> <span class="_jump_page _font_bold">领队报账</span> </td>
<td v-if="GetDetail.TemplateId === 49 || GetDetail.TemplateId === 50 || GetDetail.TemplateId === 57 || GetDetail.TemplateId === 58" @click="jumpCheZiPage('BusApportionManagement',o.TCID)"> <span class="_jump_page _font_bold">车资分摊</span> </td>
</tr>
</table>
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;margin-top:15px;" width="100%" v-else-if="OrderSource==10">
<tr class="_fujiashuoming_tr">
<td>签证产品编号:<span @click="jumpPage('VisaProductOrder',GetDetail,8)" class="_jump_page _font_bold">{{GetDetail.SourceID}}</span></td>
<td @click="jumpPage('FinancialOrder',GetDetail,3)"> <span class="_jump_page _font_bold">签证收支</span></td>
<td v-if="GetDetail.OrderID">签证订单:<span @click="jumpPage('VisaProductOrder',GetDetail,8,GetDetail.OrderID)" class="_jump_page _font_bold">{{GetDetail.OrderID}}</span></td>
</tr>
</table>
<table border="1" borderCashierDetailcolor="#D2D2D2" style="border-collapse:collapse;margin-top:15px;" width="100%" v-else-if="OrderSource==9">
<tr class="_fujiashuoming_tr">
<td>期数:{{GetDetail.Term}}</td>
<td @click="jumpPage('FinancialOrder',GetDetail,2)"> <span class="_jump_page _font_bold">国内票务</span></td>
</tr>
</table>
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;margin-top:15px;" width="100%" v-else-if="OrderSource==4">
<tr class="_fujiashuoming_tr">
<td>机票编号:{{GetDetail.SourceID}}</td>
<td v-if="(GetDetail.TCIDAndTCNUMList && GetDetail.TCIDAndTCNUMList.length===0) || !GetDetail.TCIDAndTCNUMList">线路:{{GetDetail.LineName?GetDetail.LineName:'机票尚未选择线路'}}</td>
<td @click="jumpPage('FinancialOrder',GetDetail,4)"> <span class="_jump_page _font_bold">机票收支</span></td>
</tr>
</table>
<div>
<p v-if="GetDetail.Type!==7">费用归属部门:<span class="_font_bold">{{GetDetail.DepartName}}</span></p>
<div>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div class="InfoChangeLog" >
<div class="changLog">
<p class="_log_t">流程日志</p>
<ul class="changLogList" v-if="GetFinancLogList" v-loading='LogLoading'>
<li class="changLogList_l" v-for="(log,li) in GetFinancLogList">
<span style="background-color: #47BF8C" class="_radius_green"></span>
<p> <span class="_color_blue">{{log.EmName}}</span> <span class="fr changLog_time">{{log.UpdateDate}}</span> </p>
<p class="_dtel">{{log.StartValue}}</p>
</li>
</ul>
<ul v-else>
<li>暂无修改日志</li>
</ul>
</div>
</div>
<span slot="reference" style="text-decoration: underline;cursor: pointer;" @click="Financial_post_GetFinancLogList()">单据操作日志</span>
</el-popover>
</div>
</div>
</div>
<my-HB-Bill v-if="GetDetail.Is_Merge===1 && ZhiDanRen!==bossID" :ID="FrID" :FrID='FrID' :GetDetail="GetDetail" :isPrintPage="false" :width="widthSon" :color="colorSon"></my-HB-Bill>
<dmcTravelBill v-if="GetDetail.OtherType==34 && GetDetail.DmcTravelFinanceList && GetDetail.DmcTravelFinanceList.length > 0" :ID="FrID" :FrID='FrID' :GetDetail="GetDetail" :isPrintPage="false" :width="widthSon" :color="colorSon"></dmcTravelBill>
<!-- <myDJieBill v-if="GetDetail.DijieBathFinanceList && GetDetail.DijieBathFinanceList.length" :ID="GetDetail.FrID" :isPrintPage="false" :width="widthSon" :color="colorSon"/> -->
<!--<my-C-Bill v-if="GetDetail.CashierDetail&&GetDetail.CashierDetail.length&&GetDetail.Type!=1" :ID="GetDetail.FrID" :width="widthSon" :color="colorSon"></my-C-Bill>-->
<div class="_fujian_box" v-if="(GetDetail.VorcherInos&&GetDetail.VorcherInos.length>0) || saveMsg.length>0">
<div class="_fujian_zhankai cursorpointer" v-if="!fujianShow" @click="fujianShow = true">
<span>附件</span>
<span>></span>
</div>
<p class="_fujian_box_tit" v-if="fujianShow">
<span>
<i class="iconfont icon-bangdingzhagnhuxinxi"></i>
<span>附件</span>
</span>
<span class="cursorpointer" @click="fujianShow = false">收起 <i class="iconfont icon-gengduo"></i></span>
</p>
<div class="_addUpload_box clearfix" v-if="fujianShow">
<div style="width:100%;height:300px" v-if="FuImgList.length>0">
<el-carousel trigger="click" height="293px" width="440px" :interval="5000">
<el-carousel-item style="height: 293px;" v-for="item in FuImgList" :key="item">
<img @click="showImg(item)" :src="item" alt="" style="width: 100%;">
</el-carousel-item>
</el-carousel>
</div>
<div class="clearfix" style="border:none">
<template v-for="(file,fIndex) in GetDetail.VorcherInos" v-if="file.Type===1">
<div class="_wenjian" @click="showUpLoadFile(file)">
<p v-if="file.Type==1" class="_wenjian_P iconfont" :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></p>
<!-- <p class="_addFile_name">{{file.Content}}</p> -->
</div>
</template>
</div>
</div>
<div >
<div class="_addUpload_box _addUpload_box_btm clearfix" >
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="file.Url?file.Url:file.Content" @click="showImg(file.Url?file.Url:file.Content)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==1">
<div class="iconfont _wenjian_P" :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFileT(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
</div>
</div>
<div style="margin-top: 80px;">
<div class="_pic_upload" v-if="GetDetail.IsUploadPic===1">
<!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">-->
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传</div>
</el-upload>
</div>
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian">上传附件</button></div>
</div>
</div>
<div class="_fujian_box" v-if="GetDetail.VorcherInos&&GetDetail.VorcherInos.length===0&&GetDetail.IsUploadPic===1&&saveMsg.length===0">
<div style="margin-top: 80px;">
<div class="_pic_upload" v-if="GetDetail.IsUploadPic===1">
<!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">-->
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传</div>
</el-upload>
</div>
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian">上传附件</button></div>
</div>
</div>
</div>
<p class="_splic">///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<div class="_tit _tit2 w890px">
<!-- 预付款冲抵 电商商品-->
<czBillModule :FrID='ID' />
<myGuanBill :ID="FrID" :FrID='FrID' :TemplateId='GetDetail.TemplateId' v-if="(((GetDetail.TemplateId === 36 || GetDetail.TemplateId === 37) && LeadState) || GetDetail.TemplateId === 63 || GetDetail.TemplateId === 59 || GetDetail.TemplateId === 43 || GetDetail.TemplateId === 48 || GetDetail.TemplateId === 53 || GetDetail.TemplateId === 56) && showModel" />
<myJiPiaoBill :ID="FrID" :FrID='FrID' :TemplateId='GetDetail.TemplateId' v-if="GetDetail.TemplateId === 2 || GetDetail.TemplateId === 12 && showModel" />
<huijiBill :ID="ID" :disabled="true" :loopNumN="1" :FrID='FrID' :TemplateId='GetDetail.TemplateId' v-if="GetDetail.AccountantMergeDetailList && GetDetail.AccountantMergeDetailList.length>0" />
</div>
<template v-if="sonTCIDList">
<div class="w890px">
<div class="_tit _tit2 w890px _border_bottom_none">
<p>
<span class="_text">团队</span>
<span class="_btn" v-if="tableShowTeam" @click="tableShowTeam=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShowTeam=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</p>
<div v-show="tableShowTeam">
<div>
<teamProductModule :ID="sonTCIDList"></teamProductModule>
</div>
</div>
</div>
</div>
</template>
<div class="w890px" v-if="GetDetail.HandFeeFrId">
<div class="_tit _tit2 w890px _border_bottom_none">
<p>
<span class="_text">手配费关联单</span>
<span class="_btn" v-if="tableShowHandFee" @click="tableShowHandFee=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShowHandFee=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</p>
<div v-show="tableShowHandFee">
<div>
<HandFeeDetails :isPrintPage="false" :ID="GetDetail.HandFeeFrId" :width="widthSon" :color="colorSon"></HandFeeDetails>
</div>
</div>
</div>
</div>
<div class="w890px">
<SaleOrderModule v-if="OrderSource==10&&SourceID&&OrderID" :SourceID='SourceID' :OrderID='OrderID'/>
<TicketFinace v-if="OrderSource==4&&SourceID&&Callback&&ID" :SourceID='SourceID' :Callback='Callback' :id='ID'/>
<TicketingModule v-if="OrderSource==9&&FrID&&ID" :FrID='FrID' :id='ID'/>
<ChongDiPage v-if="GetDetail.Type === 7 || isChongDi" :dataList="ChongDiList" :type="danjuType"/>
</div>
<div class="_tit _tit2 w890px">
<p>
<span class="_text">审核流程</span>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</p>
<div v-show="tableShow">
<div class="w600px">
<my-FlowChartModule :data="AuditListData"></my-FlowChartModule>
</div>
</div>
</div>
<template v-if="tuiDataList.length>0">
<div class="w890px">
<div class="_tit _tit2 w890px _border_bottom_none">
<p>
<span class="_text">原路退款</span>
<span class="_btn" v-if="tableShowTuikuan" @click="tableShowTuikuan=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShowTuikuan=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</p>
<div v-show="tableShowTuikuan" >
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="250">平台单号</th>
<th width="100">金额</th>
<th>支付方式</th>
<th>支付日期</th>
<th>状态</th>
<th>退款金额</th>
</tr>
<tr v-for="item in tuiDataList">
<td>{{item.Trade_Order}}</td>
<td>{{item.Money}}</td>
<td>{{item.PayWayName}}</td>
<td>{{item.Pay_Date}}</td>
<td>{{item.PayStatus}}</td>
<td>{{item.RefundMoney}}</td>
</tr>
</table>
<!-- <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" :page-size="queryMsg.pageSize"
layout="total,prev, pager, next, jumper" :total="queryMsg.total"></el-pagination> -->
</div>
</div>
</div>
</template>
<div class="_process clearfix">
<!-- <el-popover
popper-class="detailsIT_Journal"
width="600"
placement="right"
trigger="click">
<div class="InfoChangeLog" >
<div class="changLog">
<p class="_log_t">收款流程</p>
<my-FlowChartModule :data="AuditListData"></my-FlowChartModule>
</div>
</div>
<span slot="reference" class="_flow_chart">流程图</span>
</el-popover> -->
<div class="_process_box">
<template v-for="(item,index) in GetDetail.AuditSteps">
<div class="_pb_son" :class="{_none_after:(item.NextStep==1||item.Status==4),_bohui_after:(GetDetail.Status==3 && !IsBoHui && index===GetDetail.AuditSteps.length-1)}" v-if="item.Sort==0 || (item.Status==1 && item.NextStep==1) || (item.Status==2 && item.Sort!=0) || (item.Status==4)">
<div class="_left_radius" v-if="item.Sort==0">发起</div>
<div class="_left_radius _left_radius_sus" v-if="item.NextStep==1">待审</div>
<div class="_left_radius" v-if="item.Sort!=0 && item.Status==2">通过</div>
<div class="_left_radius _left_radius_err" v-else-if="item.Status==4">驳回</div>
<div class="_right_content" v-if="item.AuditWay==2 || item.AuditWay==3">
<p class="_name">
<span class="_n">{{item.AuditDescription}}<span class="_sm">({{item.AuditWay==2?'会签':'或签'}})</span></span>
</p>
<div class="_more _mgt_15" v-for="(son,sindex) in item.AuditRecordList" v-if="son.AuditStatus==2">
<div class="_right_content">
<p class="_name">
<span class="_n PingFangSC">{{son.AuditName}}</span>
<span class="_sn" v-if="son.AuditStatus==2">通过</span>
<span class="_time _time_n">{{son.AduitDate}}</span>
</p>
<template v-if="son.CareOfRemarks">
<div class="_zhuan_msg" v-for="(z,zIndex) in JSON.parse(son.CareOfRemarks)">
<p><span></span>{{z.BeFrom}}<span><i class="_color_green">转交</i></span>{{z.Target}}</p>
<p class="_pp_info">转交备注:{{z.Remarks?z.Remarks:'无'}}</p>
</div>
</template>
<div class="_pp_info" v-if="son.AuditStatus!=1">
<p>{{son.Remark!=''?son.Remark:'无'}}</p>
<div class="_info_img" v-if="son.Image!=null&&son.AuditStatus==2" >
<ul class="clearfix" v-if="son.Image.length&&son.Image.length>=1">
<li v-for="(img,imgI) in son.Image" style="margin-right: 5px;">
<img v-if="!img"
src="../../assets/img/Travelslider.png" alt="">
<img v-if="img&&verificationFile(img,3)" :src="img" alt="">
<div v-if="img&&verificationFile(img,1)"
style="width: 88px; line-height: 59px;text-align: center;">
<span class="_wenjian_P iconfont"
:class="img.substring(img.lastIndexOf('.')+1,img.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"></span>
</div>
<div class="_see_img" @click="verificationFile(img,3)?showImg(img,2):showUpLoadFile2(img)">
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="_more _mgt_15" v-for="(son,sindex) in item.AuditRecordList" v-if="son.AuditStatus!=2">
<div class="_right_content" v-if="item.AuditWay==2&&son.AuditStatus!=2">
<p class="_name">
<span class="_n PingFangSC">{{son.AuditName}}</span>
<span class="_sn" v-if="son.AuditStatus==2">通过</span>
<span class="_m" v-else-if="son.AuditStatus==4">驳回</span>
<span class="_sm" v-else-if="son.AuditStatus==1">待审</span>
<span class="_time _time_n" v-if="item.Status!=1">{{son.AduitDate}}</span>
</p>
<template v-if="son.CareOfRemarks">
<div class="_zhuan_msg" v-for="(z,zIndex) in JSON.parse(son.CareOfRemarks)">
<p><span></span>{{z.BeFrom}}<span><i class="_color_green">转交</i></span>{{z.Target}}</p>
<p class="_pp_info">转交备注:{{z.Remarks?z.Remarks:'无'}}</p>
</div>
</template>
<div class="_pp_info" v-if="item.Status!=1">
<p>{{son.Remark!=''?son.Remark:'无'}}</p>
<div class="_info_img" v-if="son.Image!=null&&item.Status!=1" >
<ul class="clearfix" v-if="son.Image.length&&son.Image.length>=1">
<li v-for="(img,imgI) in son.Image">
<img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
<img v-else :src="img" alt="">
<div class="_see_img" @click="showImg(img,2)">
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="_right_content" v-else-if="item.AuditWay==3 && son.AuditStatus==1">
<p class="_name">
<span class="_n PingFangSC">{{son.AuditName}}</span>
<span class="_sm" v-if="item.Status==2 && item.Sort!=0">通过</span>
<span class="_m" v-else-if="item.Status==4">驳回</span>
<span class="_sm _left_radius_sus" v-else-if="son.AuditStatus==1">待审</span>
<span class="_time _time_n" v-if="item.Status!=1">{{son.AduitDate}}</span>
</p>
<template v-if="son.CareOfRemarks">
<div class="_zhuan_msg" v-for="(z,zIndex) in JSON.parse(son.CareOfRemarks)">
<p><span></span>{{z.BeFrom}}<span><i class="_color_green">转交</i></span>{{z.Target}}</p>
<p class="_pp_info">转交备注:{{z.Remarks?z.Remarks:'无'}}</p>
</div>
</template>
<div class="_pp_info" v-if="item.Status!=1">
<p>{{son.Remark!=''?son.Remark:'无'}}</p>
<div class="_info_img" v-if="son.Image!=null&&item.Status!=1" >
<ul class="clearfix" v-if="son.Image.length&&son.Image.length>=1">
<li v-for="(img,imgI) in son.Image">
<img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
<img v-else :src="img" alt="">
<div class="_see_img" @click="showImg(img)">
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="_right_content" v-else-if="item.AuditWay==3 && son.AuditStatus==4">
<p class="_name">
<span class="_n PingFangSC">{{son.AuditName}}</span>
<span class="_sm" v-if="item.Status==2 && item.Sort!=0">通过</span>
<span class="_m" v-else-if="item.Status==4">驳回</span>
<span class="_sm _left_radius_sus" v-else-if="son.AuditStatus==1">待审</span>
<span class="_time _time_n" v-if="item.Status!=1">{{son.AduitDate}}</span>
</p>
<template v-if="son.CareOfRemarks">
<div class="_zhuan_msg" v-for="(z,zIndex) in JSON.parse(son.CareOfRemarks)">
<p><span></span>{{z.BeFrom}}<span><i class="_color_green">转交</i></span>{{z.Target}}</p>
<p class="_pp_info">转交备注:{{z.Remarks?z.Remarks:'无'}}</p>
</div>
</template>
<div class="_pp_info" v-if="item.Status!=1">
<p>{{son.Remark!=''?son.Remark:'无'}}</p>
<div class="_info_img" v-if="son.Image!=null&&item.Status!=1" >
<ul class="clearfix" v-if="son.Image.length&&son.Image.length>=1">
<li v-for="(img,imgI) in son.Image">
<img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
<img v-else :src="img" alt="">
<div class="_see_img" @click="showImg(img)">
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="_right_content" v-else>
<div class="_more" v-for="(son,sindex) in item.AuditRecordList">
<p class="_name">
<span class="_n">{{son.AuditName}}<span class="_sm">{{item.AuditDescription}}</span></span>
<span class="_time _time_n" v-if="item.NextStep!=1">{{son.AduitDate}}</span>
</p>
<div class="_right_content">
<div class="_pp_info" v-if="item.NextStep!=1">
<p>{{son.Remark==''?'无':son.Remark}}</p>
<div class="_info_img" v-if="son.Image!=null" >
<ul class="clearfix" v-if="son.Image.length&&son.Image.length>=1">
<li v-for="(img,imgI) in son.Image">
<img v-if="!img" src="../../assets/img/Travelslider.png" alt="">
<img v-else :src="img" alt="">
<div class="_see_img" @click="showImg(img)">
<i class="iconfont icon-sousuo"></i>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<div class="_pb_son _none_after" v-if="GetDetail.Status==3 && !IsBoHui">
<div class="_left_radius _left_radius_err">驳回</div>
</div>
<div class="_pb_son" :class="GetDetail.Status==2?'_none_after':''" v-if="GetDetail.Status==2">
<div class="_left_radius" >结束</div>
<div class="_right_content">
<p class="_time">累计耗时:{{endDate}}</p>
</div>
</div>
<div style="padding-left: 75px;">
<button class="hollowFixedBtn" v-if="(bossID===1 || bossID===5||bossID===1903) && (GetDetail.Status===2 || GetDetail.Status===5 || GetDetail.Status===1)" @click="bohui()">驳回</button>
<button class="hollowFixedBtn" @click="AuditOrRefund()">返回</button>
</div>
</div>
</div>
<div v-if='picIsShow' class="_show_img_box" @click="picIsShow=false,picObj=''">
<img :src="picObj" style="margin-top: 80px;"/>
</div>
</div>
<div class="_none_print_tips">
<p style="font-size:24px;">为了更好地打印效果,请点击页面上的“打印单据”再来进行打印,谢谢。</p>
</div>
<viewer :images="images" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
<img v-for="src in images" :src="src" :key="src">
</viewer>
<el-dialog custom-class='w400' title="特殊驳回" :visible.sync="finacialDialog" center>
<template>
<el-input type="textarea" v-model="AuditOrRefundMsg.Description" rows="3" resize="none"></el-input>
<div class="FD_remark_list">
<span>注:</span>
<span>驳回后,单据将重新开始审批流程。备注内容将在操作日志里显示</span>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="finacialDialog=false">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="setBoHui()">{{$t('pub.sureBtn')}}</button>
</div>
</template>
</el-dialog>
<a id='groupTourOrder_DownLoad' target="_blank" style="display:none">1不要删除</a>
</div>
</template>
<script>
import myFlowChartModule from "./FinancialSubmodule/FlowChartModule.vue";
import myBill from "./FinancialSubmodule/BillModule.vue";
import myCBill from "./FinancialSubmodule/CashierBillModule.vue";
import myrbvBill from "./FinancialSubmodule/ReceivablesModule.vue";
import myhrBill from "./FinancialSubmodule/MergeBillModule.vue";
import myGZBill from "./FinancialSubmodule/GZBillModule.vue";
import teamProductModule from "../commonPage/teamProductModule.vue";
import TicketFinace from "../commonPage/TicketFinace.vue";
import SaleOrderModule from "../commonPage/SaleOrderModule.vue";
import TicketingModule from "../commonPage/TicketingModule.vue";
import ChongDiPage from "../commonPage/ChongDiPage.vue";
import myDJieBill from "./FinancialSubmodule/DjieMergeBillModule.vue";
import myGuanBill from "./FinancialSubmodule/GuanBillModule.vue";
import myJiPiaoBill from "./FinancialSubmodule/JiPiaoBillModule.vue";
import huijiBill from "./FinancialSubmodule/huijiBill.vue";
import HandFeeDetails from "./HandFee/HandFeeDetails.vue";
import czBillModule from "./FinancialSubmodule/czBillModule.vue";
import dmcTravelBill from './FinancialSubmodule/DmcTravelBillModule';//线路
export default {
data(){
return{
tableShowHandFee: true,
TeamShouZhi:false,
F_Disbursement_Schedule:false,
userInfo:{},
qjGroupId:-1,
OPState:false,
LeadState:false,
//驳回弹窗
finacialDialog:false,
ZhiDanRen: -1,
imageOptions:{
navbar:false,
title:false
},
images: [],
ID:0,
GetDetail:{
AuditSteps:[{
AuditRecordList:[{
AuditName:''
}]
}],
TCIDList:[],
TCIDAndTCNUMList:[]
},
AuditOrRefundMsg:{
WorkFlowId:'',
Description:''
},
AuditListData:{
AuditList:[]
},
imageUrl:'',
uploadImgList:[],
FuImgList:[],
picIsShow:false,
picObj:'',
initialIndex:0,
widthSon:"100%",
colorSon:"#ffffff",
endDate:'',
returnCode:'',
pageIndex:1,
OrderSource:null,
OrderID:null,
TCID:null,
FrID:null,
Callback:null,
SourceID:null,
tableShow:false,
tableShowTeam:false,
fujianShow:true,
sonTCIDList:null,
bossID:null,
saveMsg:[],
GetFinancLogList:[],
LogLoading:false,
IsBoHui: false,
tuiDataList:[],
tableShowTuikuan:false,
queryMsg:{
pageIndex:1,
pageSize:10,
FinanceId:'',
Type:2,
currentPage:1,
total: 0,
},
isChongDi: false,
ChongDiList: [],
danjuType: '',
showModel: false,
CostTypeState:false,
huijiShow:false,
}
},
components:{
HandFeeDetails,
'my-FlowChartModule': myFlowChartModule,
'my-Bill': myBill,
'my-C-Bill': myCBill,
'my-RVB-Bill':myrbvBill,
'my-HB-Bill':myhrBill,
"my-GZ-Bill": myGZBill,
'teamProductModule':teamProductModule,
'TicketingModule':TicketingModule,
'SaleOrderModule':SaleOrderModule,
'TicketFinace':TicketFinace,
'myDJieBill': myDJieBill,
'ChongDiPage': ChongDiPage,
'myGuanBill': myGuanBill,
'myJiPiaoBill': myJiPiaoBill,
'huijiBill': huijiBill,
"czBillModule":czBillModule,
"dmcTravelBill":dmcTravelBill
},
created(){
// // crm自动登陆传过来的参数
if(this.$route.query.crmOrderObj){
let data = JSON.parse(this.$route.query.crmOrderObj)
this.ID = data.id
}else{
this.ID = this.$route.query.id;
}
this.pageIndex = this.$route.query.pageIndex;
let userinfo = this.getLocalStorage();
this.bossID = userinfo.EmployeeId;
let ActionMenuCode=userinfo.ActionMenuCode;
if(ActionMenuCode.indexOf('F_Update_KJCostType')!=-1){
this.huijiShow=true;
}
},
methods:{
showUpLoadFile2(i){ // 预览上传文件
if(i.substring(i.lastIndexOf('.')+1,i.length).toUpperCase()=='PDF'){
this.previewPDF(i)
}else{
window.open("https://view.officeapps.live.com/op/view.aspx?src="+i)
}
},
// 单项服务提成
ImpressionSingleCommissionDetails(path,type){
this.$router.push({
path: path,
query: {
PeriodId: this.GetDetail.ReFinanceId,
Type:type,
blank: 'y',
tab: '单项服务提现详情'
}
});
},
// 获取包车type
GetCarList(path) {
let data = {
pageIndex: 1,
pageSize: 5,
OrderType: '',
OrderId: this.GetDetail.ReFinanceId,
OrderNo: '',
SurName: '',
Name: '',
OrderStatus: 0,
StartTime: '',
EndTime: '',
OrderSTime: '',
OrderETime: '',
ProductName: '',
Mobile: '',//电话
IsSelectSale: 1,
EnterID: 0,//业务员
}
let url
url = "CarSingle_post_GetAdminCarOrderPageList"
this.apipost(url, data,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data.pageData
let OrderType
if(data&&data.length>0){
OrderType = data[0].OrderType
}
this.$router.push({
path: path,
query: {
OrderType: OrderType?OrderType:4,
OrderId: this.GetDetail.ReFinanceId,
blank: 'y'
}
});
}else {
this.Error(res.data.message);
}
},
err => {}
);
},
// 单项酒店订单
ImpressionSingleDetails(path){
if((this.GetDetail.RelevanceFrId==''||this.GetDetail.RelevanceFrId==null)&&this.GetDetail.OtherType==67){
this.GetCarList(path)
}else{
this.$router.push({
path: path,
query: {
OrderType: this.GetDetail.RelevanceFrId==null||!this.GetDetail.RelevanceFrId?4:this.GetDetail.RelevanceFrId,//1接机 2送机 3包车
OrderId: this.GetDetail.ReFinanceId,
blank: 'y'
}
});
}
},
// 印象票务制单详情
ImpressionTicketDetails(path){
this.$router.push({
path: path,
query: {
PeriodsId: this.GetDetail.ReFinanceId,
EmpIds:this.GetDetail.RelevanceFrId,
blank: 'y',
tab: '期数详情'
}
});
},
// 点击机票订单跳转CRM自动登录
clickAirTicketOrder(){
let href
let url
if(this.isOnline()){
url = 'http://fcrmyx.oytour.com/#/'
}else{
url = 'http://localhost:8081/#/'
}
let data = [
{
path:'customerOrder',
OrderId: this.GetDetail.ReFinanceId,
}
]
href = url+'automaticLogin?token='+this.getLocalStorage().token+'&data=' + JSON.stringify(data)
window.open(href);
},
GetAuth() {
var actionCode = this.$AuthCode.TeamShouZhi;
this.CheckUserAuth(actionCode, res => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.TeamShouZhi = true;
}
});
var actionCodeNew = this.$AuthCode.F_Disbursement_Schedule;
this.CheckUserAuth(actionCodeNew, res => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.F_Disbursement_Schedule = true;
}
});
},
goHand(type,GetDetail){
if(type==1){
this.$router.push({
name: 'TeamBalancePayment',
query: {
id:GetDetail.TCID,
IsHaveAuth:true,
blank: "y",
tab: "团队收支明细"
}
});
}
if(type==2){
this.$router.push({
name: 'FinancialDocumentsDetail',
query: {
id:GetDetail.ReFinanceId,
blank: "y",
tab: "单据详情"
}
});
}
if(type==3){
this.$router.push({
name: 'HandFeeStatistics',
query: {
HandFeeFrId:GetDetail.FrID,
blank: "y",
tab: "手配费详情"
}
});
}
},
//跳转至电商订单详情
goOrderDetails(id){
this.$router.push({
name: 'EleBillDetail',
query: {
BillId:id,
blank: "y",
tab: "账单详情"
}
});
},
GourlHotelZr(){
this.$router.push({
name: 'HotelDiscount',
query: {
FinanceId:this.ID,
blank: "y",
tab: "酒店折让"
}
});
},
GourlCostType(path,num){
this.$router.push({
name: path,
query: {
blank: "y",
EmployeeId:this.GetDetail.CreateBy,
}
});
},
GoOPurl(GetDetail){
this.$router.push({
name: 'OPsalesCommissiondetails',
query: {
PeriodId: GetDetail.ReFinanceId,
OutBranchId: stringify(GetDetail.RB_Branch_Id),
blank: "y",
tab: "op提成明细"
}
});
},
Gourl(GetDetail){
if(GetDetail.OtherType==43){//9月9号新增 如果是43 就跳转到国内的详情 反之按之前的来用
this.$router.push({
name: 'domesticCommissiondetails',
query: {
PeriodId:GetDetail.ReFinanceId,
blank: "y",
tab: "国内销售提成详情"
}
});
}else if(GetDetail.OtherType==69){//跳转台湾提成的三级详情
this.$router.push({
name: 'domesticCommissiondetailsTW',
query: {
PeriodId:GetDetail.ReFinanceId,
OutBranchId: GetDetail.RB_Branch_Id,
blank: "y",
tab: "台湾销售提成详情"
}
});
}else if(GetDetail.OtherType==70){//跳转台湾提成的三级详情
let urlName
if(GetDetail.ReFinanceId2==1){
urlName = 'domesticCommissiondetailsTW'
}
if(GetDetail.ReFinanceId2==2){
urlName = 'domesticCommissionUserTW'
}
this.$router.push({
name: urlName,
query: {
PeriodId:GetDetail.ReFinanceId,
OutBranchId: GetDetail.RB_Branch_Id,
blank: "y",
tab: "台湾销售提成详情"
}
});
}else{
this.$router.push({
name: 'CommissionDetail',
query: {
periods:GetDetail.Periods,
companyID:GetDetail.RB_Branch_Id,
blank: "y",
tab: "提成详情"
}
});
}
},
// 获取冲抵列表
getChongDiList(data){
this.danjuType = data.Type
let cmd = 'Financial_post_GetHangingAccountList'
if (data.Type === 7){
cmd = 'Financial_post_GetHangingMatchFinanceList'
}
this.apipost(cmd,{FrID: data.FrID}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
this.ChongDiList = data;
}
}, err => {})
},
chongJudge(data){
// 收支冲抵显示
let p1 = false;
data.DetailList.map(item=>{
if (item.CostTypeName === '挂账单冲抵') {
p1 = true
}
})
if (p1 || data.Type === 7) {
this.isChongDi = true;
this.getChongDiList(data)
}
},
goUrl(path, id) {
this.$router.push({
name: path,
query: {
id: id,
blank: "y"
}
});
},
goComplain(path, id,OrderId){
this.$router.push({
name: path,
query: {
id: id,
orderId:OrderId,
blank: "y"
}
});
},
goInves(path,TCID){
this.$router.push({
name: path,
query: {
TCID:TCID,
blank:'y'
}
});
},
goGuideAccount(path,ClientID){
if(ClientID==0){
this.Error('临时导游,无往来');
return;
}
this.$router.push({
name: path,
query: {
ClientID:ClientID,
blank:'y'
}
});
},
inited (viewer){
this.$viewer = viewer
},
Financial_post_GetFinancLogList(){ // 获取单据日志
if(this.checkboxShow) return
this.LogLoading = true;
this.apipost('Financial_post_GetFinancLogList',{ID:this.ID,Type:2}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
x.UpdateDate = this.$commonUtils.formatMsgTime(x.UpdateDate)
})
this.LogLoading = false;
this.GetFinancLogList = data;
}
}, err => {})
},
upLoadFuJian: function() {
if (this.saveMsg.length===0) return this.$message.error('请上传文件!');
let msg = {
FrID: this.ID,
vorcherInos: this.saveMsg
};
this.apipost('Financial_post_SetVoucher', msg, res=>{
if (res.data.resultCode===1) {
this.Financial_post_GetDetail(this.ID)
} else {
this.$message.error(res.data.message);
}
}, null)
},
bohui(){
this.finacialDialog = true;
this.AuditOrRefundMsg.WorkFlowId = this.ID;
},
//确定驳回
setBoHui(){
this.apipost('Financial_post_PersonRefund',this.AuditOrRefundMsg,res=>{
if(res.data.resultCode==1){
this.Success(res.data.message);
this.finacialDialog = false;
this.Financial_post_GetDetail(this.ID)
}else{
this.Error(res.data.message);
}
},err=>{})
},
goPrintPageNew(type,id,Merge,OrderSource){
if(type===1){
let routeData = this.$router.resolve({
name: 'PrintPageN',
query: { type: type,id:id,isKehu:0,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}else{
let routeData = this.$router.resolve({
name: 'PrintPageN',
query: { type: type,id:id,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}
},
goPrintPage2(type,id,Merge,OrderSource){
if(type===1){
let routeData = this.$router.resolve({
name: 'PrintPageH',
query: { huiji:true,type: type,id:id,isKehu:0,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}else{
let routeData = this.$router.resolve({
name: 'PrintPageH',
query: { huiji:true,type: type,id:id,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}
},
goPrintPage(type,id,Merge,OrderSource){
if(type===1){
// this.$confirm('是否打印客户联?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// let routeData = this.$router.resolve({
// name: 'PrintPage',
// query: { type: type,id:id,isKehu:1}
// });
// window.open(routeData.href, "_blank");
// }).catch(() => {
// let routeData = this.$router.resolve({
// name: 'PrintPage',
// query: { type: type,id:id,isKehu:0}
// });
// window.open(routeData.href, "_blank");
// });
let routeData = this.$router.resolve({
name: 'PrintPage',
query: { type: type,id:id,isKehu:0,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}else{
let routeData = this.$router.resolve({
name: 'PrintPage',
query: { type: type,id:id,Merge:Merge,OrderSource:OrderSource?OrderSource:-1}
});
window.open(routeData.href, "_blank");
}
},
jumpCheZiPage(path, id){
this.apipost('bus_post_GetCarfareTravelInfo', {TCID: id}, res=>{
if(res.data.resultCode==1){
this.$router.push({
name: path,
query: { num: res.data.data, blank: 'y'}
})
}
}, null)
},
jumpPlanPage(path, id){
this.apipost('dmcstatistics_post_GetTCIDsByOneTCID', {TCID: id}, res=>{
if(res.data.resultCode==1){
this.$router.push({
name: path,
query: { id: res.data.data.TCIDs, isUpdate: false, blank: 'y'}
})
}
}, null)
},
jumpPage(path,id,type,OrderID){
if(type==1){
// let routeData = this.$router.resolve({
// name: path,
// query: { TCIDList: id}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { tcmun: id,blank:'y'}
})
}else if(type==2){
// let routeData = this.$router.resolve({
// name: path,
// query: { OrderSource: id.OrderSource,SourceID: id.SourceID}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { OrderSource: id.OrderSource,SourceID: id.SourceID,blank:'y'}
})
}else if(type==3){
// let routeData = this.$router.resolve({
// name: path,
// query: { OrderSource: id.OrderSource,SourceID: id.SourceID}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { OrderSource: id.OrderSource,SourceID: id.SourceID,blank:'y'}
})
}else if(type==4){
// let routeData = this.$router.resolve({
// name: path,
// query: { OrderSource: id.OrderSource,SourceID: id.SourceID}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { OrderSource: id.OrderSource,SourceID: id.SourceID,blank:'y'}
})
}else if(type==5){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,OutBranchId:id.RB_Branch_Id}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { id:id,OutBranchId:id.RB_Branch_Id,blank:'y'}
})
}else if(type==6){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,OutBranchId:id.RB_Branch_Id,'CloseIncomeBtn':true}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { id:id,OutBranchId:id.RB_Branch_Id,'CloseIncomeBtn':true,blank:'y'}
})
}else if(type==7){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,isShow:false}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
name: path,
query: { id:id,isShow:false,blank:'y'}
})
}else if(type==8){
// let routeData = this.$router.resolve({
// name: path,
// query: {VisaID:id.SourceID,isFinacial:0}
// });
// window.open(routeData.href, "_blank");
if(OrderID){
this.$router.push({
name: path,
query: { id:id.SourceID,isFinacial:0,blank:'y',OrderId:OrderID}
})
}else{
this.$router.push({
name: path,
query: { id:id.SourceID,isFinacial:0,blank:'y',}
})
}
}
},
//跳转至手配详情
jumpHotelContract(path,item){
this.$router.push({
name: path,
query: { id:item.TCID,TCNUM:item.TCNUM,blank:'y'}
})
},
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.$message.warning('文件大小不能超过10M!')
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
{stringArr:'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF',type:1},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type;
typeOk = true;
}
});
if (!typeOk) return this.$message.error('请上传图片、word、excel类型的文件!');
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Type:fileTypeNumber,
Content: x.data.FilePath,
Url: this.domainManager().ViittoFileUrl + x.data.FilePath,
});
this.$message.success('上传成功');
});
},
deleteUploadFile(i){ // 删除上传文件
this.saveMsg.splice(i,1);
},
showUpLoadFileT(i){ // 预览上传文件
if(i.Type==3){
this.picObj.push(i.Url);
this.imgList.push(i.Url);
this.picIsShow= true;
// this.hideFlashMan = true;
}else{
if(i.Content.substring(i.Content.lastIndexOf('.')+1,i.Content.length).toUpperCase()=='PDF'){
this.previewPDF(i.Url)
}else{
let dom = document.querySelector("#groupTourOrder_DownLoad");
dom.href = i.Url;
dom.click();
// window.open("https://view.officeapps.live.com/op/view.aspx?src="+i.Url)
}
}
},
showUpLoadFile(i){ // 预览上传文件
if(i.Content.substring(i.Content.lastIndexOf('.')+1,i.Content.length).toUpperCase()=='PDF'){
this.previewPDF(i.Content)
}else{
let dom = document.querySelector("#groupTourOrder_DownLoad");
dom.href = i.Content;
dom.click();
// window.open("https://view.officeapps.live.com/op/view.aspx?src="+i.Content)
}
},
FinancialFlowTemplate_post_GetProcessList(id,tid){
this.apipost('FinancialFlowTemplate_post_GetProcessList',{ID:0,WorkFlowID:id,TemplateType:tid},res=>{
if(res.data.resultCode==1){
res.data.data.forEach(y=>{
y.contentTips = y.AuditDescription+(y.AuditWay=='2'?'(会签)':'(或签)')
})
this.AuditListData.AuditList = res.data.data;
}else{}
},err=>{})
},
AuditOrRefund(){
this.MsgBus.$emit('msg');
// this.$router.push({name:'FinancialDocuments',query:{"returnCode":this.returnCode,"pageIndex":this.pageIndex,blank:'y'}});
},
deleteImg(i){ // 删除
this.uploadImgList.splice(i,1)
},
handleAvatarSuccess(res, file) { //上传
if(res.resultCode==1){
var img_path = res.data.FullFilePath
this.imageUrl = img_path
let obj = {
src:img_path
}
this.uploadImgList.push(obj)
}
},
showImg(obj, type){
let isExsit=false
this.images.forEach(x=>{
if(x==obj)
isExsit=true
})
if(!isExsit) {
this.images.push(obj)
} else {
this.$viewer.view(this.images.indexOf(obj))
}
this.$viewer.show()
// this.picObj= obj;
// this.picIsShow= true;
},
Financial_post_GetDetail(id,t){ //获取单据详情
this.FuImgList = [];
this.saveMsg = [];
this.apipost('Financial_post_GetDetail',{ID:id,Type:1}, 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
})
data.ChineseMoney = this.$commonUtils.changeMoneyToChinese(data.Money)
data.Money = this.$commonUtils.addCommas( Math.round(data.Money * 100) / 100)
if(data.Status==2){
let len = data.AuditSteps.length - 1;
let sLen = data.AuditSteps[len].AuditRecordList[data.AuditSteps[len].AuditRecordList.length-1];
let begTime = data.AuditSteps[0].AuditRecordList[0].AduitDate;
let enTime = sLen && sLen.AduitDate ? sLen.AduitDate : begTime;
let newTime = this.$commonUtils.formatMsgTime2(begTime,enTime);
this.endDate = newTime.replace("前","");
}
this.FinancialFlowTemplate_post_GetProcessList(data.FrID,data.TemplateType)
if(data.VorcherInos.length>0){
data.VorcherInos.forEach(x=>{
if(x.Type==3){
let Content = x.Content.replace('http:','http:');
this.FuImgList.push(Content);
this.images.push(Content)
}
})
}
this.chongJudge(data)
this.GetDetail = data;
console.log(this.GetDetail,'======')
if(this.GetDetail.DetailList){
this.GetDetail.DetailList.forEach(item=>{
if(item.CostTypeName=="领队导游资金池领款"){
this.LeadState=true;
}
})
}
this.showModel = true
// 截取掉驳回后面的审核步骤
this.ZhiDanRen = this.GetDetail.CreatBy;
let list = [];
for ( let i = 0; i < this.GetDetail.AuditSteps.length ; i++ ){
list.push(this.GetDetail.AuditSteps[i]);
if(this.GetDetail.AuditSteps[i].Status==4){
this.IsBoHui = true;
break;
}
}
this.GetDetail.AuditSteps = list;
this.OrderID = this.GetDetail.OrderID;
this.OrderSource = this.GetDetail.OrderSource;
this.TCID = this.GetDetail.TCID;
this.FrID = this.GetDetail.FrID;
this.SourceID = this.GetDetail.SourceID;
this.Callback = this.GetDetail.Callback;
if(this.GetDetail.DetailList.length>0){
this.GetDetail.DetailList.forEach(item=>{
if(item.CostTypeName=="差旅费"){
this.CostTypeState=true;
}
if(item.CostTypeName=="业务提成(操作)"){
this.OPState=true;
}
})
}
// 拼接团号显示团信息
let str = '';
if(data.TCIDList.length>0){
data.TCIDList.forEach(x=>{
str = str + x + ',';
})
}
str = str.slice(0,str.length-1);
this.sonTCIDList = str==''?null:str;
if(data.URL){
// if(this.OrderSource==9){ // 国内票务订单
// if(this.GetDetail.Type==2){
// this.$router.push({name:data.URL,query:{'FrID':this.FrID,id:this.ID}});
// }
// }else if(this.OrderSource==10){ //销售订单
// this.$router.push({name:data.URL,query:{'orderID':this.OrderID,'SourceID':this.SourceID}});
// }else if(this.OrderSource==4){ //机票订单
// this.$router.push({name:data.URL,query:{'SourceID':this.SourceID,'Callback':this.Callback,id:this.ID}});
// }
}
// if(data.URL){
// this.$router.push({name:})
// }
}
}, err => {})
},
pushPage(){
Vue.component(this.name+this.z,this.componentTemp)
this.c=this.name+this.z
},
//获取列表
getTuikuan(){
this.apipost('OnlinePay_get_GetOrderPayMoneyInfo',this.queryMsg,res=>{
if(res.data.resultCode==1){
this.tuiDataList = res.data.data.pageData;
this.queryMsg.total = res.data.data.count;
}else{
}
},err=>{})
},
goassets(ID,OtherType){
this.$router.replace({
name: "InAndOutDdetails",
query: {
ID: ID,
OtherType: OtherType,
blank:'y'
},
})
},
lookbreakage(ID){
this.$router.replace({
name: "breakageSingle",
query: {
ID: ID,
blank:'y'
},
})
}
},mounted(){
// document.onkeydown = this.KeyDown
// document.onkeyup = this.KeyUp
// document.oncontextmenu = function(){return false;}
this.GetAuth();
this.userInfo = this.getLocalStorage();
this.qjGroupId=this.QjGroupId();
this.Financial_post_GetDetail(this.ID)
this.queryMsg.FinanceId = this.$route.query.id;
if(this.$route.query.Conditon){
this.returnCode = this.$route.query.Conditon;
}
this.getTuikuan();
}
}
</script>
<style scoped>
p{margin: 0 !important;}
.Receipt_box{padding: 15px;color: #c94052;width: 100%;background-color: rgba(245, 245, 245, 1);position: relative;}
.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}
.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 tr th,.Receipt_box *{color: #333333;font-size: 14px !important;}
.Receipt_box._PrintPageStyle{color: #333333;}
.Receipt_box._PrintPageStyle .rb_stit span{border-bottom: 2px solid #333333;}
.Receipt_box._PrintPageStyle td{height: 40px}
._border_color_r{
border-color: #c94052;
}
.font_color_b{
color: #106BAF !important;
}
._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;
}
._explain{
margin-top: 10px;
padding: 15px 0px;
border-top: 1px dashed #BFBFBF;
border-bottom: 1px dashed #BFBFBF;
background-color: white;
font-size: 12px;
}
._p_time{
top: 40px;
}
.zhuiClass{
width: 20px;
height: 20px;
display: inline-block;
border-radius: 50%;
text-align: center;
line-height: 20px;
color: #E95252;
border: 1px solid #E95252;
font-size: 12px;
}
.zhuiClass.zhuiClassdetails{
position: absolute;
}
</style>
<template>
<div class="Receipt_box" :class="[GetDetail.Type==1 || GetDetail.Type==5?'':'color_blur',isPrintPage?'_PrintPageStyle':'']" :style="{width:width,backgroundColor:color}" @click.stop v-loading='loading'>
<div style="display: flex;justify-content: space-between; padding: 0 0 5px 0;">
<div class="rb_top_row _r_mb5" style="display: flex;flex-direction: column;">
<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" style="margin-right:8px">{{GetDetail.ClientTypeName}}</span>
<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>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==7">收支相抵</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==10">虚拟结算</span>
<span class="_r_name _r_IsPublic" v-if="GetDetail.IsPublic==11">电商结算</span>
</p>
<p v-if="(GetDetail.Type==1 || GetDetail.Type==5) &&GetDetail.IsPublic!=4">
<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) &&GetDetail.IsPublic!=4" 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>
</div>
<div class="rb_top_row _r_mb5" style="display: flex; flex-direction: column;padding: 0 0 0 20px;">
<p style="font-weight: bold;cursor: pointer;" @click="jumpPage('FinancialDocumentsDetail')"><span class="">{{GetDetail.FinanceName}}</span>{{GetDetail.FrID}}</p>
<p v-if="GetDetail.IsPublic==4" style="max-width: 500px">
<span class="_r_name" style="color: #fff;">,</span>
</p>
<p class="_r_time" style="text-align: right;">{{GetDetail.CreateDate}}</p>
</div>
</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>
<div>
<span v-if="GetDetail.OtherType!=55">{{$t('hotel.order_Number')}}:<span>{{GetDetail.OrderID?GetDetail.OrderID:$t('fnc.no')}}</span></span>
<span v-if="GetDetail.OtherType==55"> 机票单号:<span>{{GetDetail.ReFinanceId?GetDetail.ReFinanceId:$t('fnc.no')}}</span></span>
</div>
</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 || GetDetail.Type==5?'_border_color_r':'_border_color_b',isPrintPage?'_border_color_p':'']" :bordercolor="GetDetail.Type==1|| GetDetail.Type==5?'#c94052':'#106BAF'" style="border-collapse:collapse;">
<tr>
<th rowspan="2" width="150">{{$t('fnc.fyshuoming')}}</th>
<th rowspan="2">{{$t('restaurant.res_Number')}}</th>
<th rowspan="2">{{$t('fnc.danjia')}}</th>
<th rowspan="2" width="100">{{$t('hotel.hotel_Currency')}}</th>
<th colspan="3">{{$t('fnc.jine')}}
<template v-if="GetDetail.StandardCurrencyId>0">({{GetDetail.StandardCurrencyName}})</template>
</th>
<th rowspan="2">{{$t('hotel.hotel_remark')}}</th>
</tr>
<tr>
<th width="88">{{$t('fnc.yuanbi')}}</th>
<th width="50">{{$t('hotel.hotel_CurrentRate')}}</th>
<th width="88">{{$t('fnc.bweibi')}}</th>
</tr>
<template v-if="GetDetail.DetailList&&GetDetail.DetailList.length">
<tr v-for="(item,index) in GetDetail.DetailList" class="_color_b">
<td height="26px">{{item.CostTypeName}}</td>
<td height="26px">{{item.Number}}</td>
<td height="26px">{{item.UnitPrice}}</td>
<td height="26px">{{item.CurrencyName}}</td>
<td height="26px">{{item.OriginalMoney}}</td>
<td height="26px">{{item.Rate}}</td>
<td height="26px">{{item.Money}}</td>
<td height="26px" style="max-width: 120px;">{{item.Remark}}</td>
</tr>
</template>
<tr>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px"></td>
<td height="26px">{{currentMoney}}</td>
<td height="26px"></td>
<td height="26px">{{benMoney}}</td>
<td height="26px"></td>
</tr>
<tr v-if="GetDetail.CashierDetail&&GetDetail.CashierDetail.length&&(GetDetail.Type!=1|| GetDetail.Type!=5)">
<td height="34px" class="">{{$t('tips.jiaoyifangshi')}}</td>
<td height="34px" colspan="7" class="_color_b">
<template v-for="(item,index) in GetDetail.CashierDetail">
<p class=" clearfix"><span class="_bold">{{item.Alias}}-</span><span class="">{{item.TypeName}}-</span><span >{{item.AccountType==""?$t('fnc.no'):item.AccountType}}</span> {{item.BankNo?'-':''}} <span>{{item.BankNo}}</span>{{item.Money}}</p>
</template>
</td>
</tr>
</table>
</div>
</template>
<script>
export default {
props:["ID","width","color","isPrintPage","name","OrderSource","titleName"], //接收参数 ID width color
data(){
return{
loading:false,
EmployeeId:'',
EndDate:'',
StartDate:'',
printTime:'',
currentMoney:0,
benMoney:0,
GetDetail:{}
}
},created(){
let date = new Date(),
y = date.getFullYear(),
m = date.getMonth() < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1,
d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(),
h = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
min = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
this.printTime = y + '' + m + '' + d + ' ' + h + ':' + min + ':' + s;
},methods:{
jumpPage(path){
this.$router.push({
name: path,
query: { id: this.GetDetail.FrID,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
this.currentMoney += parseFloat(x.OriginalMoney);
this.benMoney += parseFloat(x.Money);
})
this.currentMoney = Math.round(this.currentMoney * 100) / 100;
this.benMoney = Math.round(this.benMoney * 100) / 100;
this.$emit('headCallBack', this.currentMoney);
data.ChineseMoney = this.$commonUtils.changeMoneyToChinese(data.Money)
data.ChinesePayMoney = this.$commonUtils.changeMoneyToChinese(data.PayMoney)
data.PayMoney = this.$commonUtils.addCommas(Math.round(data.PayMoney * 100) / 100)
data.Money = this.$commonUtils.addCommas(Math.round(data.Money * 100) / 100)
data.AuditSteps.reverse()
this.GetDetail = data;
this.loading=false
this.$set(this.$data,"GetDetail",data);
let status=false;
if(this.GetDetail.DetailList && this.GetDetail.DetailList.length>0 && this.GetDetail.TCIDList.length>0){
this.GetDetail.DetailList.forEach(item=>{
if(item.CostTypeName=="地接费(领取)"){
status=true;
}
})
if(status){
}
}
}
}, err => {})
},
},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) {
},
deep: true
},
ID:{
handler: function(val, oldVal) {
this.ID = val
this.Financial_post_GetDetail(this.ID)
},
deep: true
},
titleName: {
handler: function(val, oldVal) {
this.titleName = val
},
deep: true
}
}
}
</script>
<style scoped>
.page_fnDm{background-color: white;}
.query-box{overflow: inherit}
._nav{margin: 20px 0 0 0 ;background-color: #f5f5f5;}
._nav li{float: left;font-size: 14px;color: #666666;padding: 15px 20px;cursor: pointer;position: relative;background-color: #f1f1f1;margin-right: 5px}
._nav li._active{background-color:#FFFFFF;color: #333333 }
._nav li._active::after{content: "";width: 20px;height: 3px;background-color: #E95252;display: inline-block;position: absolute;bottom: 0;left: 38%;}
.el-range-editor.el-input__inner{border-radius: 0}
.query-box{border: none}
.hight_query{position: relative;}
.hight_query span{height: 34px;line-height: 34px;color: #E95252}
.hight_query span .icon-gengduo{font-size: 12px}
.hight_query span em{text-decoration: underline;cursor: pointer;}
.hight_query_box{position: absolute;background-color: white;z-index: 2000;right: 200px;width: 800px;}
._hqb_shadow{box-shadow:3px 2px 10px rgb(204, 203, 203);border: 1px solid #ececec;}
.query-box ul {overflow: initial;}
.hqb_t{padding: 10px 20px;font-size: 16px;background-color: #E95252;border: 1px solid #E95252;color: #fff;text-align: center;margin-bottom: 15px}
.query-box li:last-child{float: left}
.query-box>ul>li:last-child{float: right;}
.query-box .hight_query ul .el-input{width: inherit }
.hight_query_box ul li{margin-top: 0;float: left;margin-right: 15px}
.hight_query_box ul li label{font-size: 14px}
.hight_query_box .el-form{padding: 0 20px}
.hight_query_box ul li._hqb_btn{float: right;margin-right: 25px;padding-top: 5px;position: inherit}
.Receipt_box{padding: 15px;color: #c94052;width: 614px;background-color: rgba(242, 242, 242, 1);border: 1px solid rgba(228, 228, 228, 1)}
.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: 18px;text-align: center}
.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}
._r_mt10{margin-top: 10px;}
._bg__{display: inline-block;padding: 2px 8px;color: white;border-radius: 4px}
._bg_red{background-color: #E95252;}
._bg_green{background-color: #2BB87C}
.text_d{text-decoration: underline;cursor: pointer;}
.PingFangSC{font-weight: bold}
.Bill_par{position: relative;}
tr th,tr td{text-align: left;padding-left: 20px;}
tr._item_list{border-bottom: 1px solid #E5E5E5;height: 78px;}
tr._item_list td{border-bottom: 1px solid #e5e5e5; padding: 10px;}
/* tr._t_head th{border-top: 1px solid #e5e5e5;} */
tr._item_list td:first-child{border-left: 1px solid #e5e5e5;}
tr._item_list td:last-child{border-right: 1px solid #e5e5e5;}
._head_img{width: 28px;height: 28px;border-radius: 50%;vertical-align:middle;}
._btn_group{font-size: 14px;}
.icon-daiqueren{color: #4BCA81}
.icon-yiqueren{color: #4BCA81}
.icon-yiquxiao{color: #959595}
.icon-shenhebohui{color: #E95252}
.icon-icon-zancun{color: #FF9C01}
.zhuiClass{
}
.singeRowTable tr:hover{background-color: white}
._TradeWayList{padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width: 230px}
._bold{font-weight: bold}
._bank_name,._bank_type{display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;}
._bank_name{margin-left: 10px;}
._bank_type{background-color: #2AAEF2}
._bank_type2{background-color: #FF9C01}
._font_init{color: #333333;font-size: 12px;vertical-align:top;}
.InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;}
.changLogList{padding-left: 20px;max-height: 180px;overflow: auto;}
.changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;}
._radius_green{background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;}
.changLog_time{color: #666666;font-size: 12px;display: inline-block;padding-right: 10px}
._icon_btn i{width: 30px;height: 30px;display: inline-block;color: white !important;border-radius: 50%;text-align: center;line-height: 30px;margin-right: 10px;cursor: pointer;outline: none;}
._icon_btn i.edit{background-color: #00C6FF;font-size: 16px;}
._icon_btn i.edit:hover{background-color: #59daff}
._icon_btn i.edit:active{background-color: #00b8ec}
._icon_btn i.icon-sousuo{background-color: #47BF8C;}
._icon_btn i.icon-sousuo:hover{background-color: #66bb97}
._icon_btn i.icon-sousuo:active{background-color: #35ab79}
._icon_btn i.icon-ico_commodity_defaul{background-color: #F16C3C;}
._icon_btn i.icon-ico_commodity_defaul:hover{background-color: #e87c54}
._icon_btn i.icon-ico_commodity_defaul:active{background-color: #f76630}
._icon_btn i.icon-quxiao1{background-color: #E95252;}
._icon_btn i.icon-quxiao1:hover{background-color: #ea6d6d}
._icon_btn i.icon-quxiao1:active{background-color:#e42d2d}
._icon_btn i.icon-zhuanjiao1{background-color: #E6A014;font-size: 16px;}
._icon_btn i.icon-zhuanjiao1:hover{background-color: rgb(235, 184, 84)}
._icon_btn i.icon-zhuanjiao1:active{background-color: rgb(223, 150, 6)}
._tag_span{background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #409eff;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;}
._tag_span._tag_warr{background-color: rgba(103,194,58,.1);border-color: rgba(103,194,58,.2);color: #67c23a;}
._fex_cen{display: flex;align-items: center}
._pad5{padding: 5px 10px;}
._color_gar{color: gray}
._TCIDAndTCNUMList{
display: flex;
}
</style>
<template >
<div class="page_fnDm page_RecPayQuery" @keyup.enter="getPageList()">
<div class="query-box">
<el-form class="_info_box clearfix" label-width="110px">
<el-row style="padding:15px 20px 0 0;">
<el-col :span="4">
<el-form-item label="单号:">
<el-input clearable placeholder="" class="" v-model="msg.FrID" @keyup.native="checkInteger(msg,'FrID')"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="手配费公司:">
<el-select filterable v-model='msg.KingdeeBranchId'
:disabled="!isRB_Depart_Id" class="">
<!-- <el-option :value="-1" label="不限"></el-option> -->
<el-option v-for='item in GetHandFeeList'
:label='item.BranchName'
:value='item.BranchId'
:key='item.BranchId'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="公司:">
<el-select filterable v-model='msg.RB_Branch_Id'>
<el-option :value="-1" label="不限"></el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="费用类型:">
<el-select filterable v-model='msg.CostTypeID' >
<el-option :value="0" label="不限"></el-option>
<el-option v-for="item in GetCostTypeList" :key="item.ID" :value="item.ID" :label="item.Name"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="付款对象:">
<el-select filterable v-model='msg.ClientID' >
<el-option value="" label="不限"></el-option>
<el-option v-for='item in ClientAccountList'
:label='item.AccountAlias'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="审核状态:">
<el-select filterable v-model='msg.Status' class="">
<el-option key="-1" value="-1" label="不限"></el-option>
<el-option key="0" value="0" label="暂存"></el-option>
<el-option key="1" value="1" label="审核中"></el-option>
<el-option key="2" value="2" label="通过"></el-option>
<el-option key="3" value="3" label="驳回"></el-option>
<el-option key="4" value="4" label="作废"></el-option>
<el-option key="5" value="5" label="出纳暂存"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<template v-if="heightQueryBox"></template>
<el-col :span="6">
<el-form-item label="制单日期:">
<el-date-picker class="h34"
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="交易日期:">
<el-date-picker class="h34"
v-model="transactionDate"
@change="timeAdd(3)"
type="daterange"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发团日期:">
<el-date-picker class="h34"
v-model="missionDate"
@change="timeAdd(4)"
type="daterange"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<ul class="clearfix">
<li class="hight_query">
<!-- <span>
<em @click.stop="heightQueryBox=!heightQueryBox">高级查询 <i class="iconfont icon-gengduo"></i></em>
</span> -->
<button class="hollowFixedBtn" @click="getPageList()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="DocumentMaking">制单</button>
<button class="normalBtn" @click="method5()">导出</button>
</li>
</ul>
</div>
<!-- 统计版块 -->
<div style="color: black;font-size: 17px;padding: 0 0 20px 10px;border-bottom: 1px solid #EBEEF5;">
<span>本位币总金额:
{{total.toFixed(2)}}
</span>
<span style="margin-left: 15px;">待制单总金额:
{{totalBW2.toFixed(2)}}
</span>
<span style="margin-left: 15px;">已制单总金额:
{{totalBW.toFixed(2)}}
</span>
</div>
<div class="_fnDm_content" v-loading='loading'>
<el-table
ref="multipleTable"
:data="DataList"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
:selectable="selectable"
width="55">
</el-table-column>
<el-table-column
prop=""
label="公司"
width="120">
<template slot-scope="scope">{{ scope.row.BranchName }}</template>
</el-table-column>
<el-table-column
prop="FinanceId"
label="单号"
width="80">
</el-table-column>
<el-table-column
prop="CostTypeName"
label="费用类型">
</el-table-column>
<el-table-column
prop=""
label="关联信息"
width="200">
<template slot-scope="scope">
<template v-if="scope.row.TCNUM">{{scope.row.TCNUM}}</template>
<template v-if="scope.row.TCID">({{scope.row.TCID}})</template>
<template v-if="!scope.row.TCNUM||!scope.row.TCID">-</template>
</template>
</el-table-column>
<el-table-column
prop=""
label="付款对象"
show-overflow-tooltip>
<template slot-scope="scope">
<p>{{scope.row.AccountNumber}}</p>
<!-- <p>{{scope.row.TradeDate}}</p> -->
</template>
</el-table-column>
<el-table-column
prop="TradeDate"
label="交易日期"
show-overflow-tooltip width="100">
<template slot-scope="scope">
<p>{{scope.row.TradeDate?scope.row.TradeDate:'-'}}</p>
</template>
</el-table-column>
<el-table-column
prop="CurrencyName"
label="币种"
width="80">
</el-table-column>
<el-table-column
prop="OriginalMoney"
label="原币金额"
width="100">
</el-table-column>
<el-table-column
prop="Rate"
label="汇率"
width="80">
</el-table-column>
<el-table-column
prop="Money"
label="本位币金额"
width="100">
</el-table-column>
<el-table-column
prop=""
label="制单人员" width="100">
<template slot-scope="scope">{{scope.row.CreateByName}}
<p>{{scope.row.CreateDate}}</p>
</template>
</el-table-column>
<el-table-column
prop="Remark"
label="备注"
show-overflow-tooltip></el-table-column>
<el-table-column
prop=""
label="状态">
<template slot-scope="scope">
<span v-if="scope.row.Status==1" style="color: red;">审核中</span>
<span v-if="scope.row.Status==2" style="color: #2BB87C;">通过</span>
<span v-if="scope.row.Status==3" style="color: wheat">驳回</span>
<span v-if="scope.row.Status==4" style="color: orange">作废</span>
<span v-if="scope.row.Status==5" style="color: #00C6FF">出纳暂存</span>
</template>
</el-table-column>
<el-table-column
prop="HandFeeFrId"
label="关联代付单" width="120"></el-table-column>
<el-table-column
prop=""
label="关联手配费收入单"
show-overflow-tooltip
width="150">
<template slot-scope="scope">
{{scope.row.HandFeeIncomeFrId?scope.row.HandFeeIncomeFrId:'-'}}
</template>
</el-table-column>
</el-table>
</div>
<el-dialog custom-class='w400' title="手配费制单" :visible.sync="iszhidanBox" center>
<template>
<div style="color: black;font-size: 17px;padding: 0 0 10px 10px;border-bottom: 1px solid #EBEEF5;">
<p>已选中{{multipleSelection.length}}调数据</p>
<p style="margin-top: 15px;">原币总金额:
{{totalZD.toFixed(2)}}
</p>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="iszhidanBox=false">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="getMaking()">{{$t('pub.sureBtn')}}</button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import myBill from "../FinancialSubmodule/BillModule.vue";
import myrbvBill from "../FinancialSubmodule/ReceivablesModule.vue";
import myhrBill from "../FinancialSubmodule/MergeBillModule.vue";
import Vue from 'vue'
export default {
data(){
return{
GetHandFeeList:[],
multipleSelection: [],
showID:false,
active:1,
userId:0,
iszhidanBox:false,
searchList:[],
ClientAccountList: [],//付款对象
msg:{
FrID:'',
CostTypeID:0,//费用类型ID
RB_Branch_Id:-1,// 公司ID
sDate:'',//制单起始日期
eDate:'',
sTradeDate:'',//交易起始日期
eTradeDate:'',
QEndDate:'',//出团起始日期
QStartDate:'',
ClientID:'',//付款对象ID
Status:'-1',//状态
KingdeeBranchId: 0,//当前登录人的公司
HandFeeFrId: 0
},
isRB_Depart_Id: false,
getCompanyMsg:{ // 公司
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{// 部门
RB_Group_Id:'',
RB_Branch_Id:'',
Status:0,
ParentId:-1,
Tier:0,
},
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
zhuanMsg:{
AuditEmId:null,
WorkFlowId:0,
},
//转交信息
zhuanjiaoMsg:{
CreateBy:'',
FrIDList:[]
},
DataList:[],
GetFinancLogList:[],
StatusList:[],
ClientAccountList:[],
accountList:[],
CompanyList:[],
productionDate:[],
approvalDate:[],
transactionDate:[],
missionDate:[],
GetCostTypeList:[],
checkList:[],
checkAllList:[],
dateStart:'',
dateEnd:'',
dateArr:'',
status:'1',
type:'1',
loading:false,
LogLoading:false,
currentPage:1,
total:0,
totalBW:0,
totalBW2:0,
totalZD:0,
totalBWZD:0,
ChineseStr:'',
mathNumber:'',
DepartIDs:'',
tableData: [],
heightQueryBox:false,
BillMakingMsg: {
OtherType: 0,
StandardCurrencyName: "",
Money: 0
},
}
},created(){
if(this.$route.query.FrID){
this.msg.FrID = this.$route.query.FrID;
}
if(this.$route.query.HandFeeFrId){
this.msg.HandFeeFrId = this.$route.query.HandFeeFrId
}else{
let sDate= this.FormartDate(new Date(this.getBeforeDate(31)));
let eDate= this.FormartDate(new Date(this.getBeforeDate(0)));
this.productionDate = [sDate,eDate]
this.msg.sDate= sDate;
this.msg.eDate= eDate;
}
},
components: {
"my-Bill": myBill,
"my-RVB-Bill":myrbvBill,
},
mounted(){
let userInfo=this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf('F_Query_AllIncomPay') != -1 ||ActionMenuCode.indexOf('S_CheckAllOrder') != -1){
this.isRB_Depart_Id = true
}
this.getCompanyMsg.RB_Group_Id= this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo.RB_Group_id; //集团ID
this.DepartIDs = userInfo.RB_Department_Id;
this.userId = userInfo.EmployeeId;
this.financeinfo_post_GetCostTypeList();
this.getCompanyList();//获取公司列表
this.FinancialFlowTemplate_post_GetStatusList();
this.getFKList()//付款对象
this.GetHandFee()//手配费公司
},
methods:{
DocumentMaking(){
let ids = this.multipleSelection.map(x=>{ return x.FinanceId})
if(ids.length==0){
return this.$message.error('请勾选需要制单的数据');
}
this.totalZD = 0
this.totalBWZD = 0
this.multipleSelection.forEach(x=>{
this.totalZD+=x.OriginalMoney
this.totalBWZD+=x.Money
})
this.BillMakingMsg.Money = this.totalZD
this.iszhidanBox = true
this.apipost('Financial_post_SetFinanceHandFeeCode',{
FrIds: ids.join(',')
},res=>{
if(res.data.resultCode==1){
this.BillMakingMsg.StandardCurrencyName = res.data.data
}else{
this.Error(res.data.message);
}
},err=>{})
},
selectable(row, index) {
if(!row.HandFeeIncomeFrId){
return true
}else{
return false
}
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
GetHandFee() {
this.apipost(
"handfee_post_GetHandFeeList",
{BranchId:-1},
res => {
if (res.data.resultCode == 1) {
this.GetHandFeeList = res.data.data;
this.GetHandFeeList.forEach(x=>{
if(x.BranchId==this.msg.KingdeeBranchId){
this.msg.KingdeeBranchId = x.BranchId
}
})
if(this.msg.KingdeeBranchId<=0){
this.msg.KingdeeBranchId = this.GetHandFeeList[0].BranchId
}
this.getPageList();
}
},
err => {}
);
},
//获取付款列表
getFKList() {
let msg = {
ID:0,
Type:0,
ObjID:0,
CardNum:''
}
this.apipost(
"financeinfo_post_GetClientAccountList", msg,
res => {
if (res.data.resultCode == 1) {
this.ClientAccountList = res.data.data;
}
}
);
},
//设置转交
getMaking(){
this.iszhidanBox = false;
this.makeAdocument(1)
},
// 制作单据
makeAdocument( num,StandardCurrencyName ) {
let type = 0
if(num==3){
type = 2
}else{
type = num
}
this.BillMakingMsg.OtherType = 71;
let text = "";
if (num == 1) {
text = "收款";
} else if (num == 2) {
text = "付款";
}
let query = {
blank: "y",
tab: `新增${text}单据`,
Type: type,
orderObj: JSON.stringify(this.BillMakingMsg),
};
this.$store.commit("ChoiceAddFinancialDocuments");
this.$router.push({
path: "/ChoiceAddFinancialDocuments",
query
});
},
getPageList(){ // 获取列表数据
this.loading= true;
this.apipost('Financial_post_GetFinanceHandFeeList',this.msg,res=>{
if(res.data.resultCode == 1) {
let data = res.data.data
this.total = 0;
this.totalBW = 0
this.totalBW2 = 0
this.DataList = data;
this.DataList.forEach(x=>{
// this.total+=x.OriginalMoney
if(x.HandFeeIncomeFrId){
this.totalBW+=x.Money
}else{
this.totalBW2+=x.Money
}
this.total+=x.Money
})
this.loading=false;
}else{
this.loading= false;
this.$message.error(res.data.message);
}
},err=>{})
},
method5() {
this.GetLocalFile("Financial_post_GetFinanceHandFeeListToExcel", this.msg,"手配费用单据.xls");
} ,
FinancialFlowTemplate_post_GetStatusList(){ // 获取审核状态枚举
this.apipost('FinancialFlowTemplate_post_GetStatusList',{}, res => {
if(res.data.resultCode == 1) {
this.StatusList = res.data.data;
}
}, err => {})
},
getAccountList(i,t){ //收款账户
let accountList = [];
if(t==1){ // 银行
this.apipost('bankaccount_post_GetList',{TypeId:i}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.Alias,
Nom:0,
}
accountList.push(obj)
})
this.accountList = accountList;
}
}, err => {})
}
if(t==2){ //平台账户
let msg = {
BackId:0,
TypeId:i,
BranchId:-1,
Alias:''
}
this.apipost('BankAccount_post_GetPlatformList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.Alias,
Nom:x.PlatformNo
}
accountList.push(obj)
})
this.accountList = accountList;
}
}, err => {})
}
if(t==3){ //现金账户
let msg = {
TypeId:i,
BranchId:-1,
Alias:''
}
this.apipost('BankAccount_post_GetCashAccountList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.Alias,
Nom:0
}
accountList.push(obj)
})
this.accountList = accountList
}
}, err => {})
}
if(t==4){ //资金池账户
let msg = {
TypeId:i,
BranchId:-1,
Alias:''
}
this.apipost('BankAccount_post_GetCashPoolList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.Alias,
Nom:0
}
accountList.push(obj)
})
this.accountList = accountList
}
}, err => {})
}
},
getCompanyList(){ //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
financeinfo_post_GetCostTypeList(){ // 费用类型
this.apipost('financeinfo_post_GetCostTypeList',{Name:'',type:0,DepartIDs:this.DepartIDs},res=>{
if(res.data.resultCode==1){
this.GetCostTypeList = res.data.data;
}else{
}
},err=>{})
},
timeAdd(t){ // 日期格式
if(t==1){ //制单日期
if(!this.productionDate){
this.msg.sDate = '';
this.msg.eDate = '';
return
}
this.msg.sDate = this.productionDate[0];
this.msg.eDate = this.productionDate[1];
}
if(t==2){ //审批日期
if(!this.approvalDate){
this.dateStart = '';
this.dateEnd = '';
return
}
this.dateStart = this.approvalDate[0];
this.dateEnd = this.approvalDate[1];
}if(t==3){ //交易日期
if(!this.transactionDate){
this.msg.sTradeDate = '';
this.msg.eTradeDate = '';
return
}
this.msg.sTradeDate = this.transactionDate[0];
this.msg.eTradeDate = this.transactionDate[1];
}
if(t==4){ //发团日期
if(!this.missionDate){
this.dateStart = '';
this.dateEnd = '';
return
}
this.msg.QStartDate = this.missionDate[0];
this.msg.QEndDate = this.missionDate[1];
}
},
}
}
</script>
......@@ -491,13 +491,15 @@
</div>
<!-- <p v-if="GetDetail.OrderSource==4&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail.SourceID,4)" class="_jump_page _font_bold">机票收支</p> -->
</template>
<el-tooltip content="配置手配费" placement="top">
<template v-if="isHandFee">
<el-tooltip content="配置手配费" placement="top"></el-tooltip>
<el-switch
v-model="isHandFee" @change="getHandFee">
v-model="is_HandFee" @change="getHandFee">
</el-switch>
</el-tooltip>
</template>
</div>
<template v-if="isHandFee">
<template v-if="isHandFee&&is_HandFee">
<div>
<p>
手配费:
......@@ -792,31 +794,35 @@ export default {
{Name:'车',Id:3,disabled:false},
{Name:'门票',Id:4,disabled:false},
], //类型
isHandFee: false
isHandFee: false,
is_HandFee: true,//是否开启
}
},
methods:{
// 是否开启手配费
getHandFee(){
if(this.isHandFee){
if(this.is_HandFee){
this.chooseHandFee()
}else{
this.msg.HandFeeList = null
this.msg.KingdeeBranchId = null
this.msg.KingdeeBranchId = 0
}
},
// 获取当前手配费选项
chooseHandFee(){
if(!this.is_HandFee) return
if(this.msg.detailList.length>0){
let HandFeeObj = this.HandFeeList.map(item=>{if(item.BranchId==this.HandFee.BranchId) return item})
this.HandFeeDetail = HandFeeObj[0]
this.HandFeeDetail&&this.HandFeeDetail.DetailList.forEach(x=>{x.show = false})
let numToFANG = 0
let numToCAN = 0
let numToCE = 0
let numToMEN = 0
this.msg.detailList.forEach((x,index)=>{
let obj = JSON.parse(JSON.stringify(x))
let obj = x
if(x.CostTypeName.indexOf('房')!=-1
||x.CostTypeName.indexOf('餐')!=-1
||x.CostTypeName.indexOf('车')!=-1
......@@ -1046,7 +1052,7 @@ export default {
},
AddFinancial(z){ //保存
// 手配费参数
if(this.isHandFee){
if(this.is_HandFee){
if(!this.HandFee.BranchId){
this.Error('请选择手配费')
return
......@@ -1996,7 +2002,7 @@ export default {
||this.$route.query.id==246
||this.$route.query.id==247
||this.$route.query.id==248){
this.GetHandFeeList()//获取手配费配置
this.GetHandFeeList()//获取手配费功能权限配置
this.isHandFee = true
}
let userInfo = this.getLocalStorage();
......
......@@ -1347,6 +1347,19 @@
this.msg.ReFinanceId = this.orderObj.ReFinanceId ? this.orderObj.ReFinanceId : 0;
this.msg.ReFinanceId2 = this.orderObj.ReFinanceId2 ? this.orderObj.ReFinanceId2 : 0;
this.msg.ECOrderList = this.orderObj.ECOrderList ? this.orderObj.ECOrderList : [];
this.msg.StandardCurrencyName = this.orderObj.StandardCurrencyName?this.orderObj.StandardCurrencyName:'';
}
// 原币总金验证
if(this.orderObj&&this.orderObj.Money){
let yballPrice = 0
this.msg&&this.msg.detailList&&this.msg.detailList.forEach((item,i)=>{
yballPrice += Number(yballPrice)+Number(item.UnitPrice)
})
this.yballPriceTo = yballPrice
if(this.orderObj.Money!=this.yballPriceTo){
this.Error(`原币总金额需等于${this.orderObj.Money}!`)
return
}
}
// crm自动登陆传过来的参数
if(this.crmOrderObj){
......@@ -1897,6 +1910,9 @@
this.tradeObj = JSON.parse(this.$route.query.tradeObj);
}else{
this.orderObj = this.$route.query.orderObj ? JSON.parse(this.$route.query.orderObj) : null;
if(this.orderObj&&this.orderObj.Money){
this.detailList.UnitPrice = this.orderObj.Money
}
}
let TCID = (this.orderObj && this.orderObj.TCIDList && this.orderObj.TCIDList.length>0) ? this.orderObj.TCIDList[0] : 0
......
......@@ -3892,6 +3892,14 @@ export default {
title: '手配费管理'
},
},
{ //财务 财务单据 手配收入查询
path: '/HandFeeStatistics',
name: 'HandFeeStatistics',
component: resolve => require(['@/components/FinancialModule/HandFee/HandFeeStatistics'], resolve),
meta: {
title: '手配收入查询'
},
},
{ //财务 财务单据 费用单据
path: '/Costdocuments',
name: 'Costdocuments',
......
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