<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 { margin-top: 10px; max-height: 230px; } ._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.TemplateId==27&&GetDetail.Course_Name&&GetDetail.PayReceipt_No"> 收款类型:{{GetDetail.Course_Name}}/{{GetDetail.PayReceipt_No}} </span> <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.OtherType==48" @click="GoOPurl('OPsalesCommissiondetails',GetDetail)" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">国内提成详情</span> <span v-if="GetDetail.OtherType==43" @click="GoOPurl('domesticCommissiondetails',GetDetail)" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">国内提成详情</span> <span v-if="GetDetail.OtherType==73" @click="GoOPurl('OpComPersonDetails',GetDetail)" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">出境提成详情</span> <span v-if="GetDetail.OtherType==72" @click="GoOPurl('TradeTicketDetails',GetDetail)" style="cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;">出境提成详情</span> --> <!-- 排除机票单号、票务提成、单项订单、手配费、成本月结 --> <!-- (GetDetail.OtherType&&GetDetail.OtherType!=55 && GetDetail.OtherType!=56 && GetDetail.OtherType!=57 && GetDetail.OtherType!=61 && GetDetail.OtherType!=62 && GetDetail.OtherType!=66 && GetDetail.OtherType!=67 && GetDetail.OtherType!=68&& GetDetail.OtherType!=71&& GetDetail.OtherType!=74&& GetDetail.OtherType!=75)|| ((GetDetail.TemplateId==28 || GetDetail.TemplateId==30) && GetDetail.OtherType!=63 && GetDetail.OtherType!=64) --> <span v-if="(GetDetail.OtherType&&(GetDetail.OtherType==43 || GetDetail.OtherType==48 || GetDetail.OtherType==63 || GetDetail.OtherType==64 || GetDetail.OtherType==69 || GetDetail.OtherType==70 || GetDetail.OtherType==72 || GetDetail.OtherType==76 || GetDetail.OtherType==73 || GetDetail.OtherType==77 || GetDetail.OtherType==78)) || ((GetDetail.TemplateId==28 || GetDetail.TemplateId==30) && GetDetail.OtherType!=63 && GetDetail.OtherType!=64&&GetDetail.OtherType!=55&&GetDetail.OtherType!=56 &&GetDetail.OtherType!=57)" @click="GoRoyaltyUrl(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 && GetDetail.DetailList[0].Remark.indexOf('未体现的返佣')==-1" 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==75" style="cursor: pointer;float: right;color: #000;font-size: 12px;"> <span style="text-decoration: underline;" @click="goHand(4,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(isOrderOP?'singleProductHotelOrderOP':'singleProductHotelOrder')"> {{'单项酒店订单:'+GetDetail.ReFinanceId}}</div> <div v-if="GetDetail.OtherType==66" class="illustrate-right fygsbumen-box-right" @click="ImpressionSingleDetails(isOrderOP?'SingleticketOrderListOP':'SingleticketOrderList')"> {{'单项门票订单:'+GetDetail.ReFinanceId}}</div> <div v-if="GetDetail.OtherType==67||GetDetail.OtherType==68" class="illustrate-right fygsbumen-box-right" @click="ImpressionSingleDetails(isOrderOP?'CharterOrderListOP':'CharterOrderList')"> {{'单项车订单:'+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}}) <template v-if="o.TeamTypeNameStr&&o.TeamTypeNameStr!=''">({{o.TeamTypeNameStr}})</template> <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 v-if="!GetDetail.OrderID&&o.Config_OfferId>0"> <span class="_jump_page _font_bold" @click="getQuotation(o)">查看报价单</span> <a v-if="o.PriceOfferUrl&&o.PriceOfferUrl!=''" :href="o.PriceOfferUrl">附件</a> </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-if="GetDetail.OrderSource==10&&o.TCNUM&&o.TCID" @click="jumpPage('VisaFinancialDocuments',o.TCID,3,o.TCNUM)"> <span class="_jump_page _font_bold">签证收支</span></td> <td v-if="GetDetail.OrderID&&OrderSource==10">签证订单:<span @click="jumpPage(isOrderOP?'VisaProductEditOrderQZ':'VisaProductEditOrder',GetDetail,8,GetDetail.OrderID)" class="_jump_page _font_bold">{{GetDetail.OrderID}}</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="isCostTypeId||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(isOrderOP?'VisaProductEditOrderQZ':'VisaProductEditOrder',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 v-if="GetDetail.SigningCustomerId>0"> <a> <span style="text-decoration: underline;cursor: pointer;color: #000;font-size: 12px;" @click="goSigningCustomer(GetDetail.SigningCustomerId,GetDetail.SigningCustomerName)"> 签约客户:{{GetDetail.SigningCustomerName}}</span></a> </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 style="margin-top: 80px;"> <div class="_addUpload_box _addUpload_box_btm clearfix" v-if="saveMsg.length>0"> <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="showUpLoadFile(file)"> </div> <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span> </div> </template> </div> <div style="margin-top: 10px;"> <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> <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 class="_fujian_box" style="border-top: 1px solid #dedede;margin-top: 650px; padding: 0 0 10px 0;" v-if="(GetDetail.CreateBy==userInfo.EmployeeId ||GetDetail.InvoiceExamineBy==userInfo.EmployeeId ||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)"> <p style="margin-top: 10px;"> <span style="color: red;">发票凭证</span> <span style="color: #33B3FF;margin-left: 10px;"> <template v-if="GetDetail.InvoiceState==2">{{GetDetail.InvoiceExamineByName}}已审核</template> <template v-if="GetDetail.InvoiceState==1">待审核</template> </span> </p> <div class="_addUpload_box _addUpload_box_btm clearfix"> <!-- <template v-if="GetDetail.InvoiceVoucherInfo&&GetDetail.InvoiceVoucherInfo.length>0" v-for="(file,fIndex) in GetDetail.InvoiceVoucherInfo"> <div v-if="file.Type==3"> <div style="width:100%;height:100%;overflow: hidden;"> <el-image style="width: 100%; height: 100%" :src="file.Url?file.Url:file.Content" :preview-src-list="[file.Url?file.Url:file.Content]"> </el-image> </div> </div> <div v-if="file.Type==1"> <div class="iconfont _wenjian_P" style="line-height: 80px;" :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFile(file)"> </div> </div> </template> --> <template v-if="InvoiceVoucherList.length>0" v-for="(file,fIndex) in InvoiceVoucherList"> <div v-if="file.Type==3"> <div style="width:100%;height:100%;overflow: hidden;"> <el-image style="width: 100%; height: 100%" :src="file.Url?file.Url:file.Content" :preview-src-list="[file.Url?file.Url:file.Content]"> </el-image> <!-- <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,1)"></span> </div> <div v-if="file.Type==1"> <div class="iconfont _wenjian_P" style="line-height: 80px;" :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFile(file)"> </div> <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex,1)"></span> </div> </template> </div> <div style="margin-top: 10px;" v-if="(GetDetail.CreateBy==userInfo.EmployeeId ||GetDetail.InvoiceExamineBy==userInfo.EmployeeId ||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)&&GetDetail.InvoiceState!=2"> <div class="_pic_upload"> <!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">--> <el-upload drag :http-request="uploadFileBtnFP" :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(1)">上传发票</button></div> </div> </div> </div> <p class="_splic"> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// </p> <div class="_tit _tit2 w890px"> <!-- 预付款冲抵 电商商品--> <czBillModule :FrID='ID' /> <!-- 预收款抵用 --> <UserCredit v-if="(GetDetail.OtherType==74&&GetDetail.ReFinanceId)||GetDetail.DepositCustomerId" :GetDetail="GetDetail"></UserCredit> <!-- 成本月结关联单号 --> <CostmonthDetails v-if="GetDetail.OtherType==75||getTemplate(GetDetail)" :GetDetail="GetDetail"> </CostmonthDetails> <!-- 相同对象付款单据 --> <SamePayment v-if="GetDetail.Type==2&&GetDetail.TCIDAndTCNUMList&&GetDetail.TCIDAndTCNUMList.length>0" :GetDetail="GetDetail"> </SamePayment> <!-- 团成员已制单名单 --> <template v-if="GetDetail.TCIDAndTCNUMList&&GetDetail.TCIDAndTCNUMList.length>0"> <RollCall v-if="GetDetail.OrderSource==10&& GetDetail.TCIDAndTCNUMList[0].TCNUM&& GetDetail.TCIDAndTCNUMList[0].TCID" :GetDetail="GetDetail"> </RollCall> </template> <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 || bossID===2786) && (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"> </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> <!-- 跟团订单、当地游订单,获取订单客户签约信息 --> <OrderReceivablesAccount v-if="isReceivablesAccount" :clientData="clientData" @ClosePopup="isReceivablesAccount=false"></OrderReceivablesAccount> </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'; //线路 import CostmonthDetails from './components/CostmonthDetails'; import SamePayment from './components/SamePayment'; import UserCredit from './components/UserCredit'; import RollCall from './components/RollCall'; import OrderReceivablesAccount from "./components/OrderReceivablesAccount.vue"; export default { data() { return { InvoiceVoucherList:[],//发票附件 isCostTypeId: false, //地接费(领取)用款计划 isOrderOP: false, //是否跳转op订单页面 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, clientData: {}, isReceivablesAccount: false, ActionMenuCode: '' } }, 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, CostmonthDetails, SamePayment, UserCredit, RollCall, OrderReceivablesAccount }, 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 = this.ActionMenuCode = userinfo.ActionMenuCode; if (ActionMenuCode.indexOf('F_Update_KJCostType') != -1) { this.huijiShow = true; } // 判断是否销售 if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1 || ActionMenuCode.indexOf('S_CheckAllOrder') != -1) { this.isOrderOP = true } }, methods: { // 获取订单客户收款账号 getReceivablesAccount(OrderID){ this.apipost('Financial_post_GetCanActivityContractInfo', { OrderId: OrderID }, res => { if (res.data.resultCode == 1) { this.clientData = res.data.data if(res.data.data.State==1){ this.isReceivablesAccount = true } }else{ this.Error(res.data.message) } }, err => {}) }, getTemplate(GetDetail) { let arr = GetDetail.CostMonthTemplate && GetDetail.CostMonthTemplate.split(',') let status = false arr && arr.forEach(x => { if (x == GetDetail.TemplateId) { status = true } }) return status }, 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, OutBranchId: Number(this.GetDetail.RB_Branch_Id), 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() { // 跳转erp单机票页面 // this.$router.push({ // path: 'CRMTicketOrderOP', // query: { // OrderId: this.GetDetail.ReFinanceId, // blank: 'y', // tab: '单机票详情' // } // }); // return 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: "手配费详情" } }); } if (type == 4) { this.$router.push({ name: 'MonthlyCostStatementInquire', query: { FrID: GetDetail.FrID, blank: "y", tab: "成本月结详情" } }); } }, //跳转至电商订单详情 goOrderDetails(id) { this.$router.push({ name: 'EleBillDetail', query: { BillId: id, blank: "y", tab: "账单详情" } }); }, goSigningCustomer(id, name) { this.$router.push({ name: 'signedFinanceAll', query: { id: id, name: name, blank: "y", tab: 1 } }); }, 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(path, GetDetail) { let obj = { PeriodId: GetDetail.ReFinanceId, RB_Branch_Id: null, OutBranchId: null, blank: "y", tab: "提成明细" } if (GetDetail.OtherType == 72) { obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id) } else { obj.OutBranchId = String(GetDetail.RB_Branch_Id) } this.$router.push({ name: path, query: obj }); }, // 提成明细详情 GoRoyaltyUrl(GetDetail) { let obj = { Periods: null, PeriodId: GetDetail.ReFinanceId, RB_Branch_Id: null, OutBranchId: String(GetDetail.RB_Branch_Id), blank: "y", tab: "", Type: null, } let path = '' if (GetDetail.OtherType == 43) { //9月9号新增 如果是43 就跳转到国内的详情 反之按之前的来用 obj.tab = "国内提成详情" path = 'domesticCommissiondetails' } else if (GetDetail.OtherType == 48) { obj.tab = "国内OP提成详情" path = 'OPsalesCommissiondetails' } else if (GetDetail.OtherType == 63 || GetDetail.OtherType == 64) { //单项提成详情 obj.tab = GetDetail.OtherType == 63 ? "单项提成详情" : "单项OP提成详情" path = 'ServiceCommissiondetails' obj.Type = GetDetail.OtherType == 63 ? 1 : 2 } else if (GetDetail.OtherType == 69) { //跳转台湾提成的三级详情 老版本 obj.tab = "台湾提成详情" path = 'domesticCommissiondetailsTW' } else if (GetDetail.OtherType == 70) { //跳转台湾提成的三级详情 新版本 if (GetDetail.ReFinanceId2 == 1) { obj.tab = "台湾销售提成详情" path = 'domesticCommissiondetailsTW' } else { obj.tab = "台湾销售地接提成详情" path = 'domesticCommissionUserTW' } // if (GetDetail.ReFinanceId2 == 1) { // urlName = 'domesticCommissiondetailsTW' // } // if (GetDetail.ReFinanceId2 == 2) { // urlName = 'domesticCommissionUserTW' // } } else if (GetDetail.OtherType == 72 || GetDetail.OtherType == 76) { //出境提成详情 obj.tab = "出境提成详情" path = GetDetail.OtherType == 72 ? 'TradeTicketDetails' : 'TradeTicketUserDetails' obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id) obj.OutBranchId = null } else if (GetDetail.OtherType == 73 || GetDetail.OtherType == 77) { //OP提成详情 obj.tab = "出境OP提成详情" path = GetDetail.OtherType == 73 ? 'OpComPersonDetails' : 'OPCommissionDetail' } else if (GetDetail.OtherType == 78) { //票务提成详情 obj.tab = "票务提成详情" obj.Periods = GetDetail.ReFinanceId obj.PeriodId = null, path = 'flightPerformance' } else if ((GetDetail.TemplateId == 28 || GetDetail.TemplateId == 30) && GetDetail.OtherType != 63 && GetDetail.OtherType != 64) { this.$router.push({ name: 'CommissionDetail', query: { periods: GetDetail.Periods, companyID: GetDetail.RB_Branch_Id, blank: "y", tab: "提成详情" } }); } if (path) { this.$router.push({ name: path, query: obj }); } }, // 获取冲抵列表 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(type) { // 保存发票 if(type==1){ let that = this if (this.InvoiceVoucherList.length === 0) return this.$message.error('请上传发票凭证文件!'); if(this.GetDetail.Is_Merge===1 && this.ZhiDanRen!==this.bossID){ this.$confirm('合并单据,共用发票凭证文件', this.$t("tips.tips"), { confirmButtonText: this.$t("pub.sureBtn"), cancelButtonText: this.$t("pub.cancelBtn"), type: "warning" }) .then(() => { that.setUpdateInvoiceVoucher() }) .catch(() => { }); }else{ that.setUpdateInvoiceVoucher() } }else{ 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) } }, // 保存发票接口 setUpdateInvoiceVoucher(){ let msg = { Id: this.ID, InvoiceVoucherList: this.InvoiceVoucherList }; console.log("this.InvoiceVoucherList",this.InvoiceVoucherList); this.apipost('Financial_post_UpdateInvoiceVoucher', msg, res => { if (res.data.resultCode === 1) { this.$message.success('上传成功'); this.InvoiceVoucherList = [] 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) }, // 查看报价单详情 getQuotation(item) { this.$router.push({ name: 'QuotationAduit', query: { offerid: item.Config_OfferId, Qtype: 1, blank: 'y', tab: '报价单查看' } }) }, //跳转到团控列表 gotoTravelList(item) { var path = ""; //小包团 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"; } else { path = "/TravelControlList"; } 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) { this.$router.push({ name: path, query: { OrderSource: id.OrderSource, SourceID: id.SourceID, blank: 'y' } }) } else if (type == 3) { this.$router.push({ name: path, query: { TCID: id, TCNUM: OrderID, // OrderSource: id.OrderSource, // SourceID: id.SourceID, blank: 'y' } }) } else if (type == 4) { this.$router.push({ name: path, query: { OrderSource: id.OrderSource, SourceID: id.SourceID, blank: 'y' } }) } else if (type == 5) { this.$router.push({ name: path, query: { id: id, OutBranchId: id.RB_Branch_Id, blank: 'y' } }) } else if (type == 6) { this.$router.push({ name: path, query: { id: id, OutBranchId: id.RB_Branch_Id, 'CloseIncomeBtn': true, blank: 'y' } }) } else if (type == 7) { this.$router.push({ name: path, query: { id: id, isShow: false, blank: 'y' } }) } else if (type == 8) { 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' } }) }, uploadFileBtnFP(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.InvoiceVoucherList.push({ Type: fileTypeNumber, Content: x.data.FilePath, Url: this.domainManager().ViittoFileUrl + x.data.FilePath, }); this.$message.success('上传成功'); }); }, 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,type) { // 删除上传文件 if(type==1){ this.$confirm("一旦删除不可恢复, 确认删除?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }) .then(() => { this.InvoiceVoucherList.splice(i, 1); }) .catch(() => {}); }else{ this.saveMsg.splice(i, 1); } }, 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; //2023-11-23 add by:W if(data.InvoiceVoucherInfo){ this.InvoiceVoucherList=data.InvoiceVoucherInfo; } 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(data.TemplateId==27&&data.Course_Name&&data.OrderID>0&&data.TCIDList&&data.TCIDList.length>0) { this.getReceivablesAccount(this.GetDetail.OrderID) } 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:}) // } let DetailList = this.GetDetail.DetailList.filter(x => x.CostTypeId == 56) if (DetailList && DetailList.length > 0) { this.isCostTypeId = true } } }, 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>