Commit 45358bd3 authored by youjie's avatar youjie

制单 新增手配费制单

parent ac70a43a
This source diff could not be displayed because it is too large. You can view the blob instead.
<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="gotoTravelList(o)"> <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: [],
imgList: [],
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 if (GetDetail.OtherType == 72) {//同业提成详情
this.$router.push({
name: 'TradeTicketDetails',
query: {
PeriodId: GetDetail.ReFinanceId,
RB_Branch_Id: 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)
},
//跳转到团控列表
gotoTravelList(item) {
var path = "/TravelControlList";
//小包团
if (item.TeamType == 1) {
path = "/TravelControlListSale";
}
//一日游|多日游|当地游
else if (item.TeamType == 2) {
path = "/oneDayTrip";
}
//地接团
else if (item.TeamType == 3) {
path = "/TravelControlList2";
}
//包机
else if (item.TeamType == 4) {
path = "/TravelTeam";
}
var params = {
tcmun: item.TCNUM
};
this.OpenNewPage(path, params)
},
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;
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;
}
}, 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>
...@@ -477,7 +477,6 @@ ...@@ -477,7 +477,6 @@
</el-option> </el-option>
</el-select></span> </el-select></span>
</p> </p>
<template v-if="GetDetail.FrID!=0"> <template v-if="GetDetail.FrID!=0">
<p v-if="GetDetail.OrderSource==9&&GetDetail.SourceID>0">{{$t("fnc.gnpiaowu")}}<span class="_jump_page _font_bold" @click="jumpPage('SettlementOrder',GetDetail,2)">{{GetDetail.SourceID}}</span></p> <p v-if="GetDetail.OrderSource==9&&GetDetail.SourceID>0">{{$t("fnc.gnpiaowu")}}<span class="_jump_page _font_bold" @click="jumpPage('SettlementOrder',GetDetail,2)">{{GetDetail.SourceID}}</span></p>
<p v-if="GetDetail.OrderSource==10&&GetDetail.SourceID>0">{{$t('active.cl_qianzheng')}}<span class="_jump_page _font_bold" @click="jumpPage('VisaProductCopy',GetDetail,3)">{{GetDetail.SourceID}}</span></p> <p v-if="GetDetail.OrderSource==10&&GetDetail.SourceID>0">{{$t('active.cl_qianzheng')}}<span class="_jump_page _font_bold" @click="jumpPage('VisaProductCopy',GetDetail,3)">{{GetDetail.SourceID}}</span></p>
...@@ -492,7 +491,78 @@ ...@@ -492,7 +491,78 @@
</div> </div>
<!-- <p v-if="GetDetail.OrderSource==4&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail.SourceID,4)" class="_jump_page _font_bold">机票收支</p> --> <!-- <p v-if="GetDetail.OrderSource==4&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail.SourceID,4)" class="_jump_page _font_bold">机票收支</p> -->
</template> </template>
<el-tooltip content="配置手配费" placement="top"></el-tooltip>
<el-switch v-if="isHandFee"
v-model="is_HandFee" @change="getHandFee">
</el-switch>
</el-tooltip>
</div> </div>
<template v-if="isHandFee&&is_HandFee">
<div>
<p>
手配费:
<span>
<el-select v-model='HandFee.BranchId' class="w135 _border_b_1"
placeholder="请选择手配费"
@change="chooseHandFee">
<el-option v-for='item in HandFeeList'
:label='item.BranchName'
:value='item.BranchId'
:key='item.BranchId'>
</el-option>
</el-select>
</span>
<template v-if="HandFeeDetail">
<span style="margin-left: 20px;">手配费币种:{{HandFeeDetail.CurrencyName}}</span>
</template>
<span style="margin-left: 20px;color: red;">注:以下手配费请准确填写、系统将自动生成手配费支出单据</span>
</p>
</div>
<table v-if="HandFeeDetail&&
HandFeeDetail.DetailList.findIndex((x)=>x.show == true)!=-1"
class="Receipt_table" border="1" bordercolor="#106BAF"
style="border-collapse:collapse;margin-top: 10px;">
<tr>
<th colspan="3">明细</th>
<th rowspan="2" width="150">合计</th>
<th rowspan="2">{{$t('hotel.hotel_remark')}}</th>
</tr>
<tr>
<th width="80">类型</th>
<th width="150">数量</th>
<th width="150">金额</th>
</tr>
<template v-for="(x,index) in HandFeeDetail.DetailList">
<tr v-if="x.show" class="addList2">
<td>
<!-- <el-select v-model='x.Type' placeholder="选择类型" class="w80 _border_b_1">
<el-option v-for='item in TypeListArr'
:label='item.Name'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select> -->
<span v-if="x.Type==1"></span>
<span v-if="x.Type==2"></span>
<span v-if="x.Type==3"></span>
<span v-if="x.Type==4">门票</span>
</td>
<td>
<el-input v-model="x.Num" type="Number"
class="w80 _border_b_1"></el-input>
</td>
<td><el-input v-model="x.Unit_Price" type="Number"
@keyup.native="checkInteger(x,'Number')"
class="w80 _border_b_1"></el-input></td>
<td>{{x.Num*x.Unit_Price}}</td>
<td><el-input v-model="x.Remark" type="textarea"></el-input></td>
</tr>
</template>
</table>
</template>
</div> </div>
<div class="_remark"> <div class="_remark">
<p>{{$t('system.label_info')}}</p> <p>{{$t('system.label_info')}}</p>
...@@ -711,13 +781,94 @@ export default { ...@@ -711,13 +781,94 @@ export default {
StandardCurrencyId: 0, StandardCurrencyId: 0,
StandardCurrencyName: '', StandardCurrencyName: '',
TCID:'', TCID:'',
HandFeeList: [],//手配费配置列表
HandFee:{
BranchId:null
},
HandFeeDetail:null,//已选手配费信息
TypeListArr: [
{Name:'房',Id:1,disabled:false},
{Name:'餐',Id:2,disabled:false},
{Name:'车',Id:3,disabled:false},
{Name:'门票',Id:4,disabled:false},
], //类型
isHandFee: false,
is_HandFee: true,//是否开启
} }
}, },
methods:{ methods:{
// 是否开启手配费
getHandFee(){
if(this.is_HandFee){
this.chooseHandFee()
}else{
this.msg.HandFeeList = 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 = x
if(x.CostTypeName.indexOf('房')!=-1
||x.CostTypeName.indexOf('餐')!=-1
||x.CostTypeName.indexOf('车')!=-1
||x.CostTypeName.indexOf('门票')!=-1){
this.HandFeeDetail&&this.HandFeeDetail.DetailList.forEach((y,indexs)=>{
if(x.CostTypeName.indexOf('房')!=-1&&y.Type==1){y.show=true,numToFANG+=Number(obj.Number),y.Num=numToFANG}
if(x.CostTypeName.indexOf('餐')!=-1&&y.Type==2){y.show=true,numToCAN+=Number(obj.Number),y.Num=numToCAN}
if(x.CostTypeName.indexOf('车')!=-1&&y.Type==3){y.show=true,numToCE+=Number(obj.Number),y.Num=numToCE}
if(x.CostTypeName.indexOf('门票')!=-1&&y.Type==4){y.show=true,numToMEN+=Number(obj.Number),y.Num=numToMEN}
})
}
})
}else{
this.HandFeeDetail&&this.HandFeeDetail.DetailList.forEach((y,indexs)=>{
y.show=false
})
}
},
//获取手配费所有配置
GetHandFeeList() {
this.apipost(
"handfee_post_GetHandFeeList",
{BranchId:-1},
res => {
if (res.data.resultCode == 1) {
let arrList = function(arr){
arr.forEach(item=>{
item.Num = null
item.Remark = null
item.show = false
})
}
res.data.data.forEach(x=>{
arrList(x.DetailList)
})
this.HandFeeList = res.data.data;
// this.HandFee.BranchId = this.HandFeeList[0].BranchId
// this.HandFeeDetail.CurrencyName = this.HandFeeList[0].CurrencyName
}
},
err => {}
);
},
deleteRow(i,obj){ deleteRow(i,obj){
obj.show = false; obj.show = false;
this.msg.Description=this.Description; this.msg.Description=this.Description;
this.msg.detailList.splice(i,1); this.msg.detailList.splice(i,1);
this.chooseHandFee()
this.$forceUpdate(); this.$forceUpdate();
}, },
IsPublicChange(val){ IsPublicChange(val){
...@@ -898,7 +1049,33 @@ export default { ...@@ -898,7 +1049,33 @@ export default {
e.target.value = (e.target.value.match(/^\d*(\.?\d{0,1})/g)[0]) || null e.target.value = (e.target.value.match(/^\d*(\.?\d{0,1})/g)[0]) || null
}, },
AddFinancial(z){ //保存 AddFinancial(z){ //保存
// 手配费参数
if(this.is_HandFee){
if(!this.HandFee.BranchId){
this.Error('请选择手配费')
return
}
this.msg.KingdeeBranchId = this.HandFee.BranchId
this.msg.HandFeeList = []
for(let i=0;i<4;i++){
if(this.HandFeeDetail&&this.HandFeeDetail.DetailList[i].show&&(!this.HandFeeDetail.DetailList[i].Num
||!this.HandFeeDetail.DetailList[i].Unit_Price)){
this.Error('手配费数量及金额需大于0')
return
}
}
this.HandFeeDetail&&this.HandFeeDetail.DetailList.forEach(x=>{
let obj={
Type:x.Type,
Num:x.Num,
Unit_Price:x.Unit_Price,
Remark:x.Remark
}
if(x.show){
this.msg.HandFeeList.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(z){ if(z){
this.msg.Status = 0; this.msg.Status = 0;
}else{ }else{
...@@ -906,6 +1083,7 @@ export default { ...@@ -906,6 +1083,7 @@ export default {
if(this.msg.detailList.length<1)return this.$message.error(this.$t('rule.qtxzsyxfyshuoming')); if(this.msg.detailList.length<1)return this.$message.error(this.$t('rule.qtxzsyxfyshuoming'));
if(this.msg.PayDate==='') return this.$message.error(this.$t('rule.qxzyjfkshijian')); if(this.msg.PayDate==='') return this.$message.error(this.$t('rule.qxzyjfkshijian'));
} }
if(this.msg.IsPublic!=8&&this.msg.IsPublic!=9){ if(this.msg.IsPublic!=8&&this.msg.IsPublic!=9){
if(this.msg.ClientType==='')return this.$message.error(this.$t('rule.qxzfkduixiang')); if(this.msg.ClientType==='')return this.$message.error(this.$t('rule.qxzfkduixiang'));
}else{ }else{
...@@ -1137,6 +1315,7 @@ export default { ...@@ -1137,6 +1315,7 @@ export default {
bTotalPriceTo:'', bTotalPriceTo:'',
show:false, show:false,
} }
this.chooseHandFee()
}, },
chages(e){//处理输入框不能输入问题 chages(e){//处理输入框不能输入问题
this.$forceUpdate() this.$forceUpdate()
...@@ -1424,6 +1603,8 @@ export default { ...@@ -1424,6 +1603,8 @@ export default {
this.apipost('Financial_post_Get', {ID:id,TempId:tempId,TCIDList:(this.orderObj&&this.orderObj.TCIDList)?this.orderObj.TCIDList:[]}, res => { this.apipost('Financial_post_Get', {ID:id,TempId:tempId,TCIDList:(this.orderObj&&this.orderObj.TCIDList)?this.orderObj.TCIDList:[]}, res => {
if(res.data.resultCode == 1) { if(res.data.resultCode == 1) {
let data= res.data.data; let data= res.data.data;
this.$forceUpdate()
this.editTemplateId=data.TemplateId; this.editTemplateId=data.TemplateId;
this.getCompany(); this.getCompany();
...@@ -1449,8 +1630,6 @@ export default { ...@@ -1449,8 +1630,6 @@ export default {
} else if(this.$route.query.companyID){ } else if(this.$route.query.companyID){
this.msg.RB_Branch_Id = parseInt(this.$route.query.companyID); this.msg.RB_Branch_Id = parseInt(this.$route.query.companyID);
} }
this.admin_get_DepartmentGetList(this.msg.RB_Branch_Id); this.admin_get_DepartmentGetList(this.msg.RB_Branch_Id);
this.msg.PayDate = this.msg.PayDate ; this.msg.PayDate = this.msg.PayDate ;
this.msg.detailList=[]; this.msg.detailList=[];
...@@ -1570,6 +1749,27 @@ export default { ...@@ -1570,6 +1749,27 @@ export default {
}, err => {}) }, err => {})
}, },
admin_get_DepartmentGetList(Bid, T){ admin_get_DepartmentGetList(Bid, T){
if(this.msg.RB_Branch_Id==1220){
this.is_HandFee = false
this.isHandFee = false
}else{
if(this.$route.query.id==245
||this.$route.query.id==246
||this.$route.query.id==247
||this.$route.query.id==248){
this.is_HandFee = true
this.isHandFee = true
}else if((this.msg.TemplateId==245
||this.msg.TemplateId==246
||this.msg.TemplateId==247
||this.msg.TemplateId==248)&&this.msg.HandFeeFrId==0&&this.msg.RB_Branch_Id!=1220){
this.is_HandFee = true
this.isHandFee = true
} else{
this.is_HandFee=false
this.isHandFee = false
}
}
if(Bid>=0){ if(Bid>=0){
let isShow = true let isShow = true
this.companyList.forEach(item=>{ this.companyList.forEach(item=>{
...@@ -1817,6 +2017,15 @@ export default { ...@@ -1817,6 +2017,15 @@ export default {
if((this.$route.query.type && this.$route.query.type==2) || (this.$route.query.Type && this.$route.query.Type==2)){ if((this.$route.query.type && this.$route.query.type==2) || (this.$route.query.Type && this.$route.query.Type==2)){
this.MaxMoney(); this.MaxMoney();
} }
if(this.$route.query.id==245
||this.$route.query.id==246
||this.$route.query.id==247
||this.$route.query.id==248){
this.isHandFee = true
}else{
this.is_HandFee = false
}
this.GetHandFeeList()//获取手配费功能权限配置
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.department = userInfo.DepartName; this.department = userInfo.DepartName;
this.EmployeeId=userInfo.EmployeeId; this.EmployeeId=userInfo.EmployeeId;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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