Commit a203a272 authored by 黄奎's avatar 黄奎

页面修改

parent 814dbfc7
<style>
.el-dialog__header {
background-color: #E95252!important;
padding: 20px 40px 10px;
}
.el-dialog__header .el-dialog__title{
color:white;
}
.hollowFixedBtn{ background: #fff; color: #E95252; padding: 0 15px; height:30px;border:1px solid #E95252; cursor: pointer; border-radius: 15px;margin-left: 10px;}
.hollowFixedBtn:hover{ box-shadow:2px 0px 4px rgba(144,6,6,0.25)}
.hollowFixedBtn:active{border-color: #CD2929;}
.normalBtn{ color: #fff; padding: 0 15px; height:30px; background:#E95252; border: 1px solid #E95252; cursor: pointer; border-radius: 15px;margin-left: 10px;}
.normalBtn:hover{background: #E95252;box-shadow:2px 0px 4px rgba(144,6,6,0.25)}
.normalBtn:active{background: #CD2929;}
.leaderPayTable {
width: 100%;
margin: 10px auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
.leaderPayTable th {
background: #e6e6e6;
padding: 8px 0;
color: #333;
border: 1px solid #d1d1d1;
font-weight: bold;
}
.leaderPayTable tr td {
background-color: #fff;
padding: 8px 0;
height: 32px;
border: 1px solid #d1d1d1;
}
.leaderPayTable2 tr td{
border: 1px solid #ccc;
line-height: 17px;
height: 25px;
font-size: 12px;
background: #fff;
text-align: center;
padding: 0;;
margin: 0;
}
.LeaderPrintDiv .LeaderTitle {
padding: 10px;
text-align: left;
}
.leaderPayTable .itemName {
text-align: left;
padding: 0 10px;
}
@media print {
.el-dialog__header {
background-color: #E95252 !important;
padding: 20px 40px 10px;
}
.el-dialog__header .el-dialog__title {
color: white;
}
.hollowFixedBtn {
background: #fff;
color: #E95252;
padding: 0 15px;
height: 30px;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
.hollowFixedBtn:hover {
box-shadow: 2px 0px 4px rgba(144, 6, 6, 0.25)
}
.hollowFixedBtn:active {
border-color: #CD2929;
}
.normalBtn {
color: #fff;
padding: 0 15px;
height: 30px;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
.normalBtn:hover {
background: #E95252;
box-shadow: 2px 0px 4px rgba(144, 6, 6, 0.25)
}
.normalBtn:active {
background: #CD2929;
}
.leaderPayTable {
width: 100%;
margin: 10px auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
.leaderPayTable th {
background: #e6e6e6;
padding: 8px 0;
color: #333;
border: 1px solid #d1d1d1;
font-weight: bold;
}
.leaderPayTable tr td {
background-color: #fff;
padding: 8px 0;
height: 32px;
border: 1px solid #d1d1d1;
}
.leaderPayTable2 tr td {
border: 1px solid #ccc;
line-height: 17px;
height: 25px;
font-size: 12px;
background: #fff;
text-align: center;
padding: 0;
;
margin: 0;
}
.LeaderPrintDiv .LeaderTitle {
padding: 10px;
text-align: left;
}
.leaderPayTable .itemName {
text-align: left;
padding: 0 10px;
}
@media print {
.LeaderPrintDiv .btnListDiv {
display: none;
}
}
.comTotal {
text-align: left;
padding-left: 30px !important;
}
.LeaderPrintDiv {
width: 100%;
background: #f8f8f8;
position: absolute;
}
.LeaderPrintDiv .childDiv {
width: 1000px;
margin: 0 auto;
}
.LeaderPrintDiv .childDiv ._Titles {
font-size: 14px;
}
.wLeader2 .el-textarea__inner {
height: 130px;
}
.LeaderPrintDiv .btnListDiv {
display: none;
}
}
.comTotal {
text-align: left;
padding-left: 30px !important;
}
.LeaderPrintDiv {
width: 100%;
background: #f8f8f8;
position: absolute;
}
.LeaderPrintDiv .childDiv {
width: 1000px;
margin: 0 auto;
}
.LeaderPrintDiv .childDiv ._Titles {
font-size: 14px;
}
.wLeader2 .el-textarea__inner {
height: 130px;
}
.LeaderPrintDiv .btnListDiv {
margin: 20px auto;
text-align: center;
}
.LeaderPrintDiv .leader2Btn {
color: #fff;
padding: 0 15px;
height: 30px;
background: #e95252;
border: 1px solid #e95252;
cursor: pointer;
border-radius: 15px;
}
.cursorpointer{cursor: pointer;}
.text-decoration{text-decoration: underline;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
margin: 20px auto;
text-align: center;
}
.LeaderPrintDiv .leader2Btn {
color: #fff;
padding: 0 15px;
height: 30px;
background: #e95252;
border: 1px solid #e95252;
cursor: pointer;
border-radius: 15px;
}
.cursorpointer {
cursor: pointer;
}
.text-decoration {
text-decoration: underline;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
}
input[type="number"] {
input[type="number"] {
-moz-appearance: textfield;
}
.w150{
}
.w150 {
width: 150px !important;
}
.Receipt_box{padding: 15px;color: #c94052;width: 614px;background-color: rgba(242, 242, 242, 1);border: 1px solid rgba(228, 228, 228, 1)}
.Receipt_box.color_blur{color: #106BAF;}
.Receipt_box.color_blur .rb_stit span{display: inline-block;border-bottom: 2px solid #106BAF;padding: 0 20px}
.rb_tit{font-size: 18px;text-align: center}
.rb_stit{font-size: 14px;text-align: center}
.rb_stit span{display: inline-block;border-bottom: 2px solid #C94052;padding: 0 20px}
.rb_top_row{display: flex;justify-content: space-between;font-size: 12px;}
.rb_top_row span._r_name{color: #333333}
.rb_top_row span._r_bold{font-weight: bold}
.rb_top_row ._r_time span{color: #333333}
._r_mb5{margin-bottom: 5px;}
.Receipt_table{width: 100%;font-size: 14px;text-align: center}
.Receipt_table .th{font-weight: 200 !important}
._r_mt10{margin-top: 10px;}
._bg__{display: inline-block;padding: 2px 8px;color: white;border-radius: 4px}
._bg_red{background-color: #E95252;}
._bg_green{background-color: #2BB87C}
.text_d{text-decoration: underline;cursor: pointer;}
.PingFangSC{font-weight: bold}
.Bill_par{position: relative;}
tr._item_list{border-bottom: 1px solid #E5E5E5;height: 78px;}
tr._item_list td{border-bottom: 1px solid #e5e5e5; padding: 10px;}
/* tr._t_head th{border-top: 1px solid #e5e5e5;} */
tr._item_list td:first-child{border-left: 1px solid #e5e5e5;}
tr._item_list td:last-child{border-right: 1px solid #e5e5e5;}
._head_img{width: 28px;height: 28px;border-radius: 50%;vertical-align:middle;}
._btn_group{font-size: 14px;}
.icon-daiqueren{color: #4BCA81}
.icon-yiqueren{color: #4BCA81}
.icon-yiquxiao{color: #959595}
.icon-shenhebohui{color: #E95252}
.icon-icon-zancun{color: #FF9C01}
.singeRowTable tr:hover{background-color: white}
._TradeWayList{padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width: 230px}
._bold{font-weight: bold}
._bank_name,._bank_type{display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;}
._bank_name{margin-left: 10px;cursor: pointer;}
._bank_type{background-color: #2AAEF2}
._bank_type2{background-color: #FF9C01}
}
.Receipt_box {
padding: 15px;
color: #c94052;
width: 614px;
background-color: rgba(242, 242, 242, 1);
border: 1px solid rgba(228, 228, 228, 1)
}
.Receipt_box.color_blur {
color: #106BAF;
}
.Receipt_box.color_blur .rb_stit span {
display: inline-block;
border-bottom: 2px solid #106BAF;
padding: 0 20px
}
.rb_tit {
font-size: 18px;
text-align: center
}
.rb_stit {
font-size: 14px;
text-align: center
}
.rb_stit span {
display: inline-block;
border-bottom: 2px solid #C94052;
padding: 0 20px
}
.rb_top_row {
display: flex;
justify-content: space-between;
font-size: 12px;
}
.rb_top_row span._r_name {
color: #333333
}
.rb_top_row span._r_bold {
font-weight: bold
}
.rb_top_row ._r_time span {
color: #333333
}
._r_mb5 {
margin-bottom: 5px;
}
.Receipt_table {
width: 100%;
font-size: 14px;
text-align: center
}
.Receipt_table .th {
font-weight: 200 !important
}
._r_mt10 {
margin-top: 10px;
}
._bg__ {
display: inline-block;
padding: 2px 8px;
color: white;
border-radius: 4px
}
._bg_red {
background-color: #E95252;
}
._bg_green {
background-color: #2BB87C
}
.text_d {
text-decoration: underline;
cursor: pointer;
}
.PingFangSC {
font-weight: bold
}
.Bill_par {
position: relative;
}
tr._item_list {
border-bottom: 1px solid #E5E5E5;
height: 78px;
}
tr._item_list td {
border-bottom: 1px solid #e5e5e5;
padding: 10px;
}
/* tr._t_head th{border-top: 1px solid #e5e5e5;} */
tr._item_list td:first-child {
border-left: 1px solid #e5e5e5;
}
tr._item_list td:last-child {
border-right: 1px solid #e5e5e5;
}
._head_img {
width: 28px;
height: 28px;
border-radius: 50%;
vertical-align: middle;
}
._btn_group {
font-size: 14px;
}
.icon-daiqueren {
color: #4BCA81
}
.icon-yiqueren {
color: #4BCA81
}
.icon-yiquxiao {
color: #959595
}
.icon-shenhebohui {
color: #E95252
}
.icon-icon-zancun {
color: #FF9C01
}
.singeRowTable tr:hover {
background-color: white
}
._TradeWayList {
padding: 5px 10px;
background-color: #EEEEEE;
border-radius: 4px;
margin: 10px 0;
width: 230px
}
._bold {
font-weight: bold
}
._bank_name,
._bank_type {
display: inline-block;
background-color: #333333;
color: white;
padding: 2px 4px;
border-radius: 4px;
margin-left: 10px;
}
._bank_name {
margin-left: 10px;
cursor: pointer;
}
._bank_type {
background-color: #2AAEF2
}
._bank_type2 {
background-color: #FF9C01
}
</style>
<template>
......@@ -174,7 +379,7 @@ input[type="number"] {
<td>{{item.GuideName}}</td>
</tr>
<tr v-if="!nav.length">
<td colspan="10">暂无数据</td>
<td colspan="10">暂无数据</td>
</tr>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
......@@ -186,7 +391,7 @@ input[type="number"] {
<th width="180">景点名称</th>
<th width="">门票类型</th>
<th width="">单价</th>
<th width="">付款方式 </th>
<th width="">付款方式 </th>
<th width="">金额小计</th>
<th width="">预计总金额</th>
<th width="">实付金额</th>
......@@ -224,14 +429,15 @@ input[type="number"] {
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{scenicTotalPrice(subItem, subItem.TicketPriceList)}}
</td>
<td v-if="childIndex==0 && subIndex == 0" :rowspan="item.row">
<td v-if="childIndex==0 && subIndex == 0" :rowspan="item.row">
{{subItem.TradingTotalPrice}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{subItem.Remarks}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length"><span class="cursorpointer text-decoratio" @click="godetail('ticket', subItem)">明细</span></td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length"><span
class="cursorpointer text-decoratio" @click="godetail('ticket', subItem)">明细</span></td>
</tr>
</template>
</template>
......@@ -284,7 +490,7 @@ input[type="number"] {
<tr>
<th width="">使用日期</th>
<th width="">高速公路费</th>
<!-- <th width="">预计总金额</th>-->
<!-- <th width="">预计总金额</th>-->
<th width="">实付金额</th>
<th width="">备注</th>
<th width="40">操作</th>
......@@ -304,9 +510,10 @@ input[type="number"] {
<td>
{{item2.Remarks}}
</td>
<td v-if="index2 ==0" :rowspan="item.data.length"><span class="cursorpointer text-decoratio" @click="godetail('bus', item2)">明细</span></td>
<td v-if="index2 ==0" :rowspan="item.data.length"><span class="cursorpointer text-decoratio"
@click="godetail('bus', item2)">明细</span></td>
</tr>
</template>
</template>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
......@@ -332,13 +539,13 @@ input[type="number"] {
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{item.UseTimeStr}}
</td>
<td v-if="childIndex==0 && subIndex == 0" :rowspan="item.row">
<template v-if="subItem.DiningName!=subItem.NewDiningName">
<td v-if="childIndex==0 && subIndex == 0" :rowspan="item.row">
<template v-if="subItem.DiningName!=subItem.NewDiningName">
{{subItem.NewDiningName}}
</template>
<template v-else>
</template>
<template v-else>
{{subItem.RealName? subItem.RealName : subItem.DiningName}}
</template>
</template>
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.UseDinnerTypeStr}}
......@@ -372,11 +579,12 @@ input[type="number"] {
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.Remarks}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length"><span class="cursorpointer text-decoratio" @click="godetail('dining', subItem)">明细</span></td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length"><span
class="cursorpointer text-decoratio" @click="godetail('dining', subItem)">明细</span></td>
</tr>
</template>
</template>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
......@@ -387,7 +595,7 @@ input[type="number"] {
<th width="180">使用日期</th>
<th width="180">酒店名称</th>
<th width="">房间类型</th>
<th width="">预定人数 </th>
<th width="">预定人数 </th>
<th width="">单价/人</th>
<th width="">付款方式</th>
<th width="60">返佣<br />类型</th>
......@@ -430,7 +638,7 @@ input[type="number"] {
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.UnitPrice) : 0}}
</p>
</td>
</td>
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
<span v-if="subItem.PayStyle === 1">现付</span>
<span v-else-if="subItem.PayStyle === 2">签单</span>
......@@ -461,7 +669,8 @@ input[type="number"] {
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
{{subItem.Remarks}}
</td>
<td v-if="childIndex==0 && subIndex ==0" :rowspan="item.row"><span class="cursorpointer text-decoration" @click="godetail('hotel', subItem)">明细</span></td>
<td v-if="childIndex==0 && subIndex ==0" :rowspan="item.row"><span class="cursorpointer text-decoration"
@click="godetail('hotel', subItem)">明细</span></td>
</tr>
</template>
</template>
......@@ -471,7 +680,7 @@ input[type="number"] {
<th>类型</th>
<th>预计总金额</th>
<th>实付金额</th>
<th width="40">操作</th>
<th width="40">操作</th>
</tr>
<tr v-if="list.otherList.length > 0" v-for="item in list.otherList">
<td>{{getOrderType(item.OrderType)}}</td>
......@@ -480,13 +689,13 @@ input[type="number"] {
<td>
<!-- <span class="cursorpointer text-decoratio" @click="godetailAll('zifeizhiS')">明细</span> -->
</td>
</tr>
<tr
v-show="(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)>0"
>
</tr>
<tr v-show="(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)>0">
<td>其他费用</td>
<td>0</td>
<td>{{moneyFormat(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)}}</td>
<td>
{{moneyFormat(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)}}
</td>
<td>
<!-- <span class="cursorpointer text-decoratio" @click="godetailAll('qitaF')">明细</span> -->
</td>
......@@ -518,59 +727,65 @@ input[type="number"] {
<th>单号</th>
<th>所属公司</th>
<th>单据类型</th>
<th>费用类型</th>
<th>费用类型</th>
<th>交易方式</th>
<th>金额</th>
<th>付款对象</th>
<th>制单人员</th>
</tr>
<tr class="_item_list" v-for="(item,index) in zhuijiaList">
<tr class="_item_list" v-for="(item,index) in zhuijiaList">
<td class="Bill_par">
<span @click="goFncUrl('FinancialDocumentsDetail', item.FrID)" class="text_d PingFangSC" >{{item.FrID}}</span>
<span @click="goFncUrl('FinancialDocumentsDetail', item.FrID)"
class="text_d PingFangSC">{{item.FrID}}</span>
</td>
<td>{{item.BranchName}}</td>
<td><span class="_bg__" :class="item.Type==1 || item.Type==5?'_bg_green':'_bg_red'">{{item.TypeName}}</span></td>
<td>
<template v-for="(s,si) in item.CostTypeList">
<span class="_tag_span">{{s}}</span><br/>
</template>
</td>
<td class="_number">
<template v-if="item.TradeWayList&&item.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in item.TradeWayList">
<p class="_fex_cen clearfix"><span class="_bold">{{tw.Alias}}</span><span class="_bank_name">{{item.TradeWayList[0].TypeName}}</span><span class="_bank_type" :class="tw.AccountType=='私'?'':'_bank_type2'">{{tw.AccountType==""?$t('fnc.no'):tw.AccountType}}</span> </p>
<p>{{tw.BankNo}}</p>
</div>
</template>
<template v-else>
<div class="_pad5">
{{$t('fnc.no')}}
</div>
</template>
</td>
<td>
<p>{{item.Type==1 ? $t('fnc.yingshou') : $t('fnc.yingfu') }}:<span class="">{{moneyFormat(item.OriginalMoneyTotal)}}</span></p>
<!-- <p>{{item.Type==1 ? $t('fnc.shishou') : $t('fnc.shifu') }}:<span class="">{{moneyFormat(item.PayMoney)}}</span></p> -->
</td>
<td>
<template v-if='item.Type===1'>
<span class="_color_gar">{{$t('fnc.huikuanren')}}</span><span>{{item.RemitterName}}</span>
</template>
<template v-if='item.Type===2'>
<span class="_color_gar">{{$t('fnc.fkduixiang')}}</span><span>{{item.RemitterName}}</span>
</template>
<template v-if='item.Type===4'>
<span class="_color_gar">{{$t('fnc.no')}}</span>
</template>
</td>
<td valign="middle">
<img class="_head_img" :src="item.EmPhoto" alt="">
<span>{{item.EmName}}</span>
</td>
<td><span class="_bg__" :class="item.Type==1 || item.Type==5?'_bg_green':'_bg_red'">{{item.TypeName}}</span>
</td>
<td>
<template v-for="(s,si) in item.CostTypeList">
<span class="_tag_span">{{s}}</span><br />
</template>
</td>
<td class="_number">
<template v-if="item.TradeWayList&&item.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in item.TradeWayList">
<p class="_fex_cen clearfix"><span class="_bold">{{tw.Alias}}</span><span
class="_bank_name">{{item.TradeWayList[0].TypeName}}</span><span class="_bank_type"
:class="tw.AccountType=='私'?'':'_bank_type2'">{{tw.AccountType==""?$t('fnc.no'):tw.AccountType}}</span>
</p>
<p>{{tw.BankNo}}</p>
</div>
</template>
<template v-else>
<div class="_pad5">
{{$t('fnc.no')}}
</div>
</template>
</td>
<td>
<p>{{item.Type==1 ? $t('fnc.yingshou') : $t('fnc.yingfu') }}:<span
class="">{{moneyFormat(item.OriginalMoneyTotal)}}</span></p>
<!-- <p>{{item.Type==1 ? $t('fnc.shishou') : $t('fnc.shifu') }}:<span class="">{{moneyFormat(item.PayMoney)}}</span></p> -->
</td>
<td>
<template v-if='item.Type===1'>
<span class="_color_gar">{{$t('fnc.huikuanren')}}</span><span>{{item.RemitterName}}</span>
</template>
<template v-if='item.Type===2'>
<span class="_color_gar">{{$t('fnc.fkduixiang')}}</span><span>{{item.RemitterName}}</span>
</template>
<template v-if='item.Type===4'>
<span class="_color_gar">{{$t('fnc.no')}}</span>
</template>
</td>
<td valign="middle">
<img class="_head_img" :src="item.EmPhoto" alt="">
<span>{{item.EmName}}</span>
</td>
</tr>
<tr v-if="!zhuijiaList.length">
<td colspan="8">暂无数据</td>
<td colspan="8">暂无数据</td>
</tr>
</table>
<table border="0" cellspacing="1" class="leaderPayTable" v-if="TotalPriceData.length>0">
......@@ -582,19 +797,19 @@ input[type="number"] {
<!-- <th>实际报账金额</th> -->
<th>领队退款</th>
</tr>
<tr
v-for="(item, index) in TotalPriceData"
v-if="item.PlanPrice > 0 || item.PlanTotalPrice > 0 || item.ExpendTotalPrice > 0"
>
<tr v-for="(item, index) in TotalPriceData"
v-if="item.PlanPrice > 0 || item.PlanTotalPrice > 0 || item.ExpendTotalPrice > 0">
<td>{{item.CurrencyStr}}</td>
<td>{{moneyFormat(item.PlanPrice)}}</td>
<td>{{moneyFormat(item.PlanTotalPrice)}}</td>
<td>{{moneyFormat(item.ExpendTotalPrice)}}</td>
<!-- <td>{{index == 0 ? moneyFormat(AllBZPrice) : moneyFormat(item.ExpendTotalPrice)}}</td> -->
<td>{{index == 0 ? moneyFormat(item.PlanTotalPrice - AllBZPrice): moneyFormat(item.PlanTotalPrice - item.ExpendTotalPrice)}}</td>
<td>
{{index == 0 ? moneyFormat(item.PlanTotalPrice - AllBZPrice): moneyFormat(item.PlanTotalPrice - item.ExpendTotalPrice)}}
</td>
</tr>
<tr v-if="!TotalPriceData.length">
<td colspan="5">暂无数据</td>
<td colspan="5">暂无数据</td>
</tr>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
......@@ -608,35 +823,35 @@ input[type="number"] {
<th>创建人</th>
</tr>
<template v-for="(item, index) in TotalNav">
<tr v-for="(subItem, subIndex) in item.FinanceList">
<td>
<span>{{subItem.FrID}}</span>
</td>
<td>
<span>{{subItem.Money}}</span>
</td>
<td>
<span>{{subItem.TypeName}}</span>
</td>
<td>
<span>{{subItem.RemitterName}}{{subItem.AccountNumber}}</span>
</td>
<td>
<span>{{subItem.StatusStr}}</span>
</td>
<td>
<span>{{subItem.CreateDate}}</span>
</td>
<td>
<span>{{subItem.CreateByStr}}</span>
</td>
</tr>
<tr v-for="(subItem, subIndex) in item.FinanceList">
<td>
<span>{{subItem.FrID}}</span>
</td>
<td>
<span>{{subItem.Money}}</span>
</td>
<td>
<span>{{subItem.TypeName}}</span>
</td>
<td>
<span>{{subItem.RemitterName}}{{subItem.AccountNumber}}</span>
</td>
<td>
<span>{{subItem.StatusStr}}</span>
</td>
<td>
<span>{{subItem.CreateDate}}</span>
</td>
<td>
<span>{{subItem.CreateByStr}}</span>
</td>
</tr>
</template>
<tr v-if="!TotalNav.FinanceList || !TotalNav.FinanceList.length">
<td colspan="7">暂无数据</td>
<td colspan="7">暂无数据</td>
</tr>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0" >
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<tr>
<th width="140">团号</th>
<th width="200">实际领款</th>
......@@ -651,62 +866,40 @@ input[type="number"] {
已领款:
<span style="color: red;">{{moneyFormat(item.LeaderGetPrice)}}</span>
</p>
<div style="margin: 0;text-align: left">
财务单号:
<template v-for="(subItem, subIndex) in item.FinanceIds">
<p style="margin: 0;text-align: left">
<span
class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>{{subItem.FinanceId}}</span>&nbsp;&nbsp;
<span
class="cursorpointer text-decoration"
@click="goFncUrl('Application', subItem.FinanceId)"
v-if="subItem.IsPublic === 4"
>申请书</span> &nbsp;&nbsp;
<span
class="cursorpointer text-decoration"
@click="goFncUrl('DebitNote', subItem.FinanceId)"
>借支单</span>
</p>
</template>
<div style="margin: 0;text-align: left">
财务单号:
<template v-for="(subItem, subIndex) in item.FinanceIds">
<p style="margin: 0;text-align: left">
<span class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)">{{subItem.FinanceId}}</span>&nbsp;&nbsp;
<span class="cursorpointer text-decoration" @click="goFncUrl('Application', subItem.FinanceId)"
v-if="subItem.IsPublic === 4">申请书</span> &nbsp;&nbsp;
<span class="cursorpointer text-decoration"
@click="goFncUrl('DebitNote', subItem.FinanceId)">借支单</span>
</p>
</template>
</div>
</td>
<td>
<span v-if="item.LeaderClosePrice > 0">实际结算金额: {{item.LeaderClosePrice}}</span>
&nbsp;&nbsp;
<el-input
size="mini"
class="w150"
type="number"
v-model="item.LeaderGetPriceT"></el-input>
<span v-if="item.LeaderClosePrice > 0">实际结算金额: {{item.LeaderClosePrice}}</span>
&nbsp;&nbsp;
<el-input size="mini" class="w150" type="number" v-model="item.LeaderGetPriceT"></el-input>
</td>
<td>
<p v-for="(subItem, subIndex) in item.FinanceCloseList" style=" margin: 0;">
<span
class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)"
>{{subItem.FinanceId}}</span>&nbsp;&nbsp;
<span class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', subItem.FinanceId)">{{subItem.FinanceId}}</span>&nbsp;&nbsp;
</p>
</td>
<td width="80" class="_zhidan">
<input v-if="TimeXiao"
type="button"
value="制单"
class="leader2Btn"
@click="goZhiDan(item)"
>
<input v-else-if="dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==2"
type="button"
value="制单"
class="leader2Btn"
@click="goZhiDan(item)"
>
<input v-if="TimeXiao" type="button" value="制单" class="leader2Btn" @click="goZhiDan(item)">
<input v-else-if="dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==2"
type="button" value="制单" class="leader2Btn" @click="goZhiDan(item)">
</td>
</tr>
<tr v-if="!TotalNav && !TotalNav.length">
<td colspan="5">暂无数据</td>
<td colspan="5">暂无数据</td>
</tr>
</table>
<table border="0" cellspacing="1" class="leaderPayTable" v-if="listCost.length>0">
......@@ -718,36 +911,27 @@ input[type="number"] {
<th>财务单号</th>
<th>制单</th>
</tr>
<tr
v-for="(item, index) in listCost"
>
<tr v-for="(item, index) in listCost">
<td>{{item.Type == 1 ? "领兼地" : "领队"}}:{{item.LeaderOrGuidName}}</td>
<td>{{item.PeopleNum}}</td>
<td>{{moneyFormat(item.UnitPrice)}}</td>
<td>
<el-input
size="mini"
class="w150"
type="number"
v-model="item.price"></el-input>
<el-input size="mini" class="w150" type="number" v-model="item.price"></el-input>
</td>
<td v-if="index == 0" :rowspan="listCost.length">
<span>已付款:{{moneyFormat(item.TotalPrice)}}</span>
<p>财务单号:<span v-for="(i, d) in item.FrId" class="cursorpointer text-decoration" @click="goFncUrl('FinancialDocumentsDetail', i)">{{i}} {{d == item.FrId.length-1 ? '' : '、'}}</span></p>
<p>财务单号:<span v-for="(i, d) in item.FrId" class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', i)">{{i}} {{d == item.FrId.length-1 ? '' : '、'}}</span></p>
</td>
<td>
<input
type="button"
value="制单"
class="leader2Btn"
@click="opendialog(item, index, item.price)">
<input type="button" value="制单" class="leader2Btn" @click="opendialog(item, index, item.price)">
</td>
</tr>
<tr v-if="!listCost.length">
<td colspan="5">暂无数据</td>
<td colspan="5">暂无数据</td>
</tr>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0" >
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<tr>
<th width="140">团号</th>
<th width="200">领款金额</th>
......@@ -759,46 +943,35 @@ input[type="number"] {
<tr v-for="(item, index) in TotalNav">
<td>{{item.TCNUMS}}</td>
<td>{{item.LeaderGetPrice}}</td>
<td>
<td>
<p v-for="(f, fd) in item.FinanceIds">{{f.Fee}}</p>
</td>
<td>
<td>
<p v-for="(f, fd) in item.FinanceIds">{{f.Rate}}</p>
</td>
<td>
<td>
<p v-for="(f, fd) in item.FinanceIds">{{Math.round(f.OriginalMoney * (f.Rate - f.Fee) * 100) / 100}}</p>
</td>
<td width="80" class="_zhidan">
<input
type="button"
value="制单"
class="leader2Btn"
@click="huiDuiShouYi(item, item.FinanceIds)"
>
<input type="button" value="制单" class="leader2Btn" @click="huiDuiShouYi(item, item.FinanceIds)">
</td>
</tr>
<tr v-if="!TotalNav && !TotalNav.length">
<td colspan="5">暂无数据</td>
<td colspan="5">暂无数据</td>
</tr>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0" >
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<tr>
<th colspan="7">稽核单据
<th colspan="7">稽核单据
</th>
</tr>
<tr v-for="(item, index) in TotalNav">
<td colspan="3">{{item.TCNUMS}}</td>
<td colspan="3"><el-input
size="mini"
class="w150"
type="number"
v-model="item.price"></el-input></td>
<td colspan="3">
<el-input size="mini" class="w150" type="number" v-model="item.price"></el-input>
</td>
<td colspan="1">
<input
type="button"
value="制稽核单"
class="leader2Btn"
@click="ZhiDanJiHe(item)">
<input type="button" value="制稽核单" class="leader2Btn" @click="ZhiDanJiHe(item)">
</td>
</tr>
<tr>
......@@ -813,7 +986,8 @@ input[type="number"] {
<template v-for="(item, index) in TotalNav">
<tr v-for="(Sitem, Sindex) in item.FinanceAuditList">
<td>{{Sindex+1}}</td>
<td><span class="cursorpointer text-decoration" @click="goFncUrl('FinancialDocumentsDetail', Sitem.FinanceId)">{{Sitem.FinanceId}}</span></td>
<td><span class="cursorpointer text-decoration"
@click="goFncUrl('FinancialDocumentsDetail', Sitem.FinanceId)">{{Sitem.FinanceId}}</span></td>
<td>{{Sitem.CostTypeName}}</td>
<td>{{Sitem.CreateDate}}</td>
<td>{{Sitem.Remark}}</td>
......@@ -821,9 +995,9 @@ input[type="number"] {
<td>{{Sitem.CreateByStr}}</td>
</tr>
</template>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0" >
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<tr>
<th colspan="4">意见调查表</th>
</tr>
......@@ -838,883 +1012,887 @@ input[type="number"] {
<td>{{item.CommonReport.HouseStatistics.RealityNum}}</td>
<td>{{item.TotalGuestsurvey}}</td>
<td>
<input
type="button"
value="明细"
class="leader2Btn"
@click="goDIaoCha(item)">
<input type="button" value="明细" class="leader2Btn" @click="goDIaoCha(item)">
</td>
</tr>
<tr v-if="!TotalNav && !TotalNav.length">
<td colspan="5">暂无数据</td>
<td colspan="5">暂无数据</td>
</tr>
</table>
<template
v-if="dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==1"
>
<el-input
type="textarea"
placeholder="请输入备注信息"
v-model="dataList.LeaderApply.AccountForReason"
class="wLeader2"
/>
<template v-if="dataList.LeaderApply && dataList.LeaderApply.Status && dataList.LeaderApply.Status==1">
<el-input type="textarea" placeholder="请输入备注信息" v-model="dataList.LeaderApply.AccountForReason"
class="wLeader2" />
</template>
<div class="btnListDiv">
<input
type="button"
class="leader2Btn"
@click="AuditOrder(2)"
value="审核通过"
v-show="dataList.LeaderApply.Status==1"
>
<input
type="button"
class="leader2Btn"
@click="AuditOrder(1)"
value="审核不通过"
v-show="dataList.LeaderApply.Status==1"
>
<input type="button" class="leader2Btn" @click="AuditOrder(2)" value="审核通过"
v-show="dataList.LeaderApply.Status==1">
<input type="button" class="leader2Btn" @click="AuditOrder(1)" value="审核不通过"
v-show="dataList.LeaderApply.Status==1">
<input type="button" class="leader2Btn" value="打印" @click="printTable()">
<!-- <input type="button" class="leader2Btn" value="查看详情" @click="Lookdetails()"> -->
</div>
</div>
<a :href="blankUrl" id="blankLink" target="_blank" style="display:none">1</a>
<el-dialog title="选择账户" width="400px" :visible.sync="dialogFormVisible" center :before-close="closeChangeMachie" v-loading="dialogFormVisibleLoding">
<el-dialog title="选择账户" width="400px" :visible.sync="dialogFormVisible" center :before-close="closeChangeMachie"
v-loading="dialogFormVisibleLoding">
<el-form label-width="110px">
<el-form-item label="付款类型">
<el-select filterable v-model='lingjiandiMsg.IsPublic' class="">
<el-option :label="$t('fnc.gongzhang')" :value='1' :key='1'></el-option>
<el-option :label="$t('fnc.sizhang')" :value='0' :key='0'></el-option>
<el-option :label="$t('fnc.rmbxianjin')" :value='2' :key='2'></el-option>
<el-option :label="$t('fnc.wbxianjin')" :value='3' :key='3'></el-option>
<el-option :label="$t('fnc.zjinchi')" :value='4' :key='4'></el-option>
<el-option :label="$t('fnc.ptxnzhanghu')" :value='5' :key='5'></el-option>
<el-option :label="$t('fnc.djxnzhanghu')" :value='6' :key='6'></el-option>
<el-option :label="$t('fnc.szxiangdi')" :value='7' :key='7'></el-option>
<el-option label="原路退款" :value='8' :key='8'></el-option>
<el-option label="地接预支款" :value='9' :key='9'></el-option>
</el-select>
</el-form-item>
<el-form-item label="账户">
<el-select filterable v-model='lingjiandiMsg.ClientID' class="">
<el-option v-for='item in ClientAccountListS'
:label='item.AccountHolder'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="币种">
<el-select filterable v-model='lingjiandiMsg.CurrencyId' class="">
<el-option v-for='item in currencyList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="预计付款日期">
<el-date-picker clearable class="w190 _border_b_1"
v-model="lingjiandiMsg.PayDate"
type="datetime"
:placeholder="$t('fnc.qxzrqshijian')"
align="right">
</el-date-picker>
</el-form-item>
<el-form-item label="付款类型">
<el-select filterable v-model='lingjiandiMsg.IsPublic' class="">
<el-option :label="$t('fnc.gongzhang')" :value='1' :key='1'></el-option>
<el-option :label="$t('fnc.sizhang')" :value='0' :key='0'></el-option>
<el-option :label="$t('fnc.rmbxianjin')" :value='2' :key='2'></el-option>
<el-option :label="$t('fnc.wbxianjin')" :value='3' :key='3'></el-option>
<el-option :label="$t('fnc.zjinchi')" :value='4' :key='4'></el-option>
<el-option :label="$t('fnc.ptxnzhanghu')" :value='5' :key='5'></el-option>
<el-option :label="$t('fnc.djxnzhanghu')" :value='6' :key='6'></el-option>
<el-option :label="$t('fnc.szxiangdi')" :value='7' :key='7'></el-option>
<el-option label="原路退款" :value='8' :key='8'></el-option>
<el-option label="地接预支款" :value='9' :key='9'></el-option>
</el-select>
</el-form-item>
<el-form-item label="账户">
<el-select filterable v-model='lingjiandiMsg.ClientID' class="">
<el-option v-for='item in ClientAccountListS' :label='item.AccountHolder' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="币种">
<el-select filterable v-model='lingjiandiMsg.CurrencyId' class="">
<el-option v-for='item in currencyList' :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="预计付款日期">
<el-date-picker clearable class="w190 _border_b_1" v-model="lingjiandiMsg.PayDate" type="datetime"
:placeholder="$t('fnc.qxzrqshijian')" align="right">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="dialogFormVisible=false">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="goZhiDan2">{{$t('pub.sureBtn')}}</button>
<button class="hollowFixedBtn" @click="dialogFormVisible=false">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="goZhiDan2">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
planPriceList:[],
zhuijiaList: [],
zhuijiaMoney: 0,
dialogFormVisibleLoding: false,
dialogFormVisibleIndex: 0,
lingjiandiObj: {},
lingjiandiMsg: {
IsPublic: "",
ClientType: '',
ClientID: '',
CurrencyId: '',
PayDate: '',
},
isUpdate: false,
loading: false,
dialogFormVisible: false,
msg: {
TCIDs: "",
NewCombinationNum: ""
},
nav: [],
dataList: {LeaderApply: {Status: 0}},
//合计景点
totalScenicPrice: 0,
//合计餐饮
totalDinnerPrice: 0,
//合计酒店
totalHotelPrice: 0,
//合计交通
totalTrafficPrice: 0,
allTotal: 0,
totalList: [],
isShowRemark: false,
TotalPriceData: [],
blankUrl: "",
TotalNav: [],
TimeXiao: false,
list:[],
OtherTotalPrice:0,
SelfPayingExpendTotalPrice:0,
IncomeTotalPrice:0,
ExpendTotalPrice:0,
busDataList: [],
DiningDataList: [],
ScenicDataList: [],
HotelDataList: [],
listCost: [],
BaoZhangPrice: {},
AllBZPrice: 0,
ClientAccountListS: [],
currencyList:[],
};
},
methods: {
getOrderType(type){
// 1-其他订单,2-小费收入,3-团费小计,4-自费收入,5-自费支出
if (type == 1) return '其他订单'
else if (type == 2) return '小费收入'
else if (type == 3) return '团费小计'
else if (type == 4) return '自费收入'
else if (type == 5) return '自费支出'
},
getzhuijiaList(){
this.apipost(
'Financial_post_GetTravelFinanceReplenishList', {
TravelReplenish: this.$route.query.NewCombinationNum ? this.$route.query.NewCombinationNum : this.$route.query.id
export default {
data() {
return {
planPriceList: [],
zhuijiaList: [],
zhuijiaMoney: 0,
dialogFormVisibleLoding: false,
dialogFormVisibleIndex: 0,
lingjiandiObj: {},
lingjiandiMsg: {
IsPublic: "",
ClientType: '',
ClientID: '',
CurrencyId: '',
PayDate: '',
},
res => {
if (res.data.resultCode == 1) {
this.zhuijiaList = res.data.data.list
this.zhuijiaMoney = res.data.data.TotalMoney
isUpdate: false,
loading: false,
dialogFormVisible: false,
msg: {
TCIDs: "",
NewCombinationNum: ""
},
nav: [],
dataList: {
LeaderApply: {
Status: 0
}
},
err => {}
)
},
opendialog: function (item, index, price){
if (!price) {
return this.$message.error('请输入金额')
}
this.lingjiandiObj = item
this.dialogFormVisible = true
this.dialogFormVisibleIndex = index
},
getCurrencyList: function(id){
this.apipost("financeinfo_post_GetList", {Name: ""}, res=>{
if (res.data.resultCode === 1) {
let data = res.data.data;
this.currencyList = data
}
}, null)
},
closeChangeMachie(done) { // 弹=窗口关闭
done();
//合计景点
totalScenicPrice: 0,
//合计餐饮
totalDinnerPrice: 0,
//合计酒店
totalHotelPrice: 0,
//合计交通
totalTrafficPrice: 0,
allTotal: 0,
totalList: [],
isShowRemark: false,
TotalPriceData: [],
blankUrl: "",
TotalNav: [],
TimeXiao: false,
list: [],
OtherTotalPrice: 0,
SelfPayingExpendTotalPrice: 0,
IncomeTotalPrice: 0,
ExpendTotalPrice: 0,
busDataList: [],
DiningDataList: [],
ScenicDataList: [],
HotelDataList: [],
listCost: [],
BaoZhangPrice: {},
AllBZPrice: 0,
ClientAccountListS: [],
currencyList: [],
};
},
financeinfo_post_GetClientAccountList(){ //获取付款 对象类型 新增用
let msg = {
ID:0,
methods: {
getOrderType(type) {
// 1-其他订单,2-小费收入,3-团费小计,4-自费收入,5-自费支出
if (type == 1) return '其他订单'
else if (type == 2) return '小费收入'
else if (type == 3) return '团费小计'
else if (type == 4) return '自费收入'
else if (type == 5) return '自费支出'
},
getzhuijiaList() {
this.apipost(
'Financial_post_GetTravelFinanceReplenishList', {
TravelReplenish: this.$route.query.NewCombinationNum ? this.$route.query.NewCombinationNum : this.$route
.query.id
},
res => {
if (res.data.resultCode == 1) {
this.zhuijiaList = res.data.data.list
this.zhuijiaMoney = res.data.data.TotalMoney
}
},
err => {}
)
},
opendialog: function (item, index, price) {
if (!price) {
return this.$message.error('请输入金额')
}
this.lingjiandiObj = item
this.dialogFormVisible = true
this.dialogFormVisibleIndex = index
},
getCurrencyList: function (id) {
this.apipost("financeinfo_post_GetList", {
Name: ""
}, res => {
if (res.data.resultCode === 1) {
let data = res.data.data;
this.currencyList = data
}
}, null)
},
closeChangeMachie(done) { // 弹=窗口关闭
done();
},
financeinfo_post_GetClientAccountList() { //获取付款 对象类型 新增用
let msg = {
ID: 0,
Type: 7,
ObjID:0,
CardNum:''
}
this.apipost('financeinfo_post_GetClientAccountList',msg, res => {
if(res.data.resultCode == 1) {
ObjID: 0,
CardNum: ''
}
this.apipost('financeinfo_post_GetClientAccountList', msg, res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
this.ClientAccountListS = data;
this.ClientAccountListS = data;
}
}, err => {})
},
// 全部明细
godetailAll: function (name){
this.godetail(name)
},
// 明细
godetail: function (name, obj) {
let path = "", TCIDs = this.msg.TCIDs, date = '';
if (name == 'ticket') {
path = 'leaderPayTicketDetail'
date = obj ? obj.UseTimeStr : 'all'
} else if (name === 'bus') {
path="CarDetails"
date=obj?obj.UseTime:'all';
} else if (name === 'dining') {
path="DinningDetails"
date=obj?obj.UseTimeStr:'all';
} else if (name === 'hotel') {
path = 'leaderPayHotelDetail'
date = obj ? obj.CheckInDateStr : 'all'
} else if (name === 'qitaF') {
path = 'leaderPayQiTalDetail'
date = obj ? obj.CheckInDateStr : 'all'
}
let fullPath = `/${path}?TCIDs=${TCIDs}&date=${date}`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
// 稽核单据
ZhiDanJiHe: function(obj){
if(!obj.price) {
this.$message.error('请输入金额')
return
}
let userinfo = this.getLocalStorage()
let templateID = JSON.stringify([76, 77])
let TCIDARR = [obj.TCIDS];
let orderObj = {
OrderID: 0,
OrderSource: 8,
Obj: {},
SourceID: 0,
CostType: 57,
TCIDList: TCIDARR,
Money: obj.price,
};
let fullPath = `/ChoiceAddFinancialDocuments?Type=${2}&templateID=${templateID}&companyID=${obj.OutBranchId}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
// 意见调查列表
goDIaoCha: function (obj){
let fullPath = `/investigationList?TCID=${obj.TCIDS}&blank=y&tab=问券调查列表`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
// 汇兑收益金额制单
huiDuiShouYi: function (obj, list){
if (obj.ExchangeEarningPrice>0) {
this.$message.error('已有财务单据,无法制单')
return
}
let money = 0;
for(let i = 0; i < list.length; i++) {
money = money + Math.round(list[i].OriginalMoney * (list[i].Rate - list[i].Fee) * 100) / 100
}
console.log(money)
if (money == 0 && !money) {
this.$message.error('金额小于0,无法制单')
return
} else {
}, err => {})
},
// 全部明细
godetailAll: function (name) {
this.godetail(name)
},
// 明细
godetail: function (name, obj) {
let path = "",
TCIDs = this.msg.TCIDs,
date = '';
if (name == 'ticket') {
path = 'leaderPayTicketDetail'
date = obj ? obj.UseTimeStr : 'all'
} else if (name === 'bus') {
path = "CarDetails"
date = obj ? obj.UseTime : 'all';
} else if (name === 'dining') {
path = "DinningDetails"
date = obj ? obj.UseTimeStr : 'all';
} else if (name === 'hotel') {
path = 'leaderPayHotelDetail'
date = obj ? obj.CheckInDateStr : 'all'
} else if (name === 'qitaF') {
path = 'leaderPayQiTalDetail'
date = obj ? obj.CheckInDateStr : 'all'
}
let fullPath = `/${path}?TCIDs=${TCIDs}&date=${date}`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
// 稽核单据
ZhiDanJiHe: function (obj) {
if (!obj.price) {
this.$message.error('请输入金额')
return
}
let userinfo = this.getLocalStorage()
let templateID = JSON.stringify([76, 77])
let TCIDARR = [obj.TCIDS];
let orderObj = {
OrderID: 0,
OrderSource: 8,
Obj: {},
SourceID: 0,
CostType: 30,
CostType: 57,
TCIDList: TCIDARR,
Money: money,
laRemark: "实际领款金额 * (实际领款汇率 - 出团汇率)",
Money: obj.price,
};
let fullPath = `/ChoiceAddFinancialDocuments?Type=${0}&companyID=${userinfo.RB_Branch_id}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let fullPath =
`/ChoiceAddFinancialDocuments?Type=${2}&templateID=${templateID}&companyID=${obj.OutBranchId}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
}
},
// 保存报账金额
saveBZPrice: function (){
let HotelPrice = this.BaoZhangPrice.HotelPrice ? parseFloat(this.BaoZhangPrice.HotelPrice) : 0
let BusPrice = this.BaoZhangPrice.BusPrice ? parseFloat(this.BaoZhangPrice.BusPrice) : 0
let DiningPrice = this.BaoZhangPrice.DiningPrice ? parseFloat(this.BaoZhangPrice.DiningPrice) : 0
let ScenicPrice = this.BaoZhangPrice.ScenicPrice ? parseFloat(this.BaoZhangPrice.ScenicPrice) : 0
let msg = [
{TCIDs: this.msg.TCIDs, UserType: 1, TotalPrice: HotelPrice},
{TCIDs: this.msg.TCIDs, UserType: 2, TotalPrice: DiningPrice},
{TCIDs: this.msg.TCIDs, UserType: 3, TotalPrice: ScenicPrice},
{TCIDs: this.msg.TCIDs, UserType: 4, TotalPrice: BusPrice},
]
this.apipost('dmcstatistics_get_SetLeaderReimburseLessList', msg, res=>{
if (res.data.resultCode == 1) {
this.$message.success('操作成功')
} else {
this.$message.error(res.data.message)
},
// 意见调查列表
goDIaoCha: function (obj) {
let fullPath = `/investigationList?TCID=${obj.TCIDS}&blank=y&tab=问券调查列表`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
// 汇兑收益金额制单
huiDuiShouYi: function (obj, list) {
if (obj.ExchangeEarningPrice > 0) {
this.$message.error('已有财务单据,无法制单')
return
}
}, null)
},
getAllBZPrice: function (){
let allPrice = this.TotalPriceData[0].ExpendTotalPrice
let endPrice = allPrice - this.totalScenicPrice - this.totalTrafficPrice - this.totalDinnerPrice - this.totalHotelPrice
let HotelPrice = this.BaoZhangPrice.HotelPrice ? parseFloat(this.BaoZhangPrice.HotelPrice) : 0
let BusPrice = this.BaoZhangPrice.BusPrice ? parseFloat(this.BaoZhangPrice.BusPrice) : 0
let DiningPrice = this.BaoZhangPrice.DiningPrice ? parseFloat(this.BaoZhangPrice.DiningPrice) : 0
let ScenicPrice = this.BaoZhangPrice.ScenicPrice ? parseFloat(this.BaoZhangPrice.ScenicPrice) : 0
let newPrice = endPrice + HotelPrice + BusPrice + DiningPrice + ScenicPrice
this.AllBZPrice = newPrice
},
getBaoZhangPrice: function (){
this.apipost('dmcstatistics_get_GetLeaderReimburseLessList', this.msg, res=>{
if (res.data.resultCode == 1) {
let BaoZhangPrice = res.data.data
BaoZhangPrice.HotelPrice = BaoZhangPrice.HotelPrice > 0 ? BaoZhangPrice.HotelPrice : this.totalHotelPrice
BaoZhangPrice.BusPrice = BaoZhangPrice.BusPrice > 0 ? BaoZhangPrice.BusPrice : this.totalTrafficPrice
BaoZhangPrice.DiningPrice = BaoZhangPrice.DiningPrice > 0 ? BaoZhangPrice.DiningPrice : this.totalDinnerPrice
BaoZhangPrice. ScenicPrice = BaoZhangPrice. ScenicPrice > 0 ? BaoZhangPrice. ScenicPrice : this.totalScenicPrice
this.BaoZhangPrice = BaoZhangPrice
} else {
this.$message.error(res.data.message)
let money = 0;
for (let i = 0; i < list.length; i++) {
money = money + Math.round(list[i].OriginalMoney * (list[i].Rate - list[i].Fee) * 100) / 100
}
}, null)
},
goZhiDan2: function () {
if (!this.lingjiandiMsg.IsPublic) {
this.$message.error('请选择付款类型')
return
}
if (!this.lingjiandiMsg.ClientID) {
this.$message.error('请选择账户')
return
}
if (!this.lingjiandiMsg.CurrencyId) {
this.$message.error('请选择币种')
return
}
if (!this.lingjiandiMsg.PayDate) {
this.$message.error('请选择预计付款日期')
return
}
let obj = this.lingjiandiObj
let inputPrice = obj.price ? parseFloat(obj.price) : 0
let userinfo = this.getLocalStorage()
if(inputPrice<=0){
this.$message.error('请输入制单金额')
return
}
let list = this.listCost
let allPrice = 0;
let yizhiPrice = list[0].TotalPrice;
for(let i = 0; i < list.length; i++) {
allPrice = list[i].UnitPrice * list[i].PeopleNum
}
if (allPrice < inputPrice + yizhiPrice){
this.$message.error('金额有误')
return
}
// type 1 零件地 自动生成 2 领队人头费 跳转
let BType = 7,
ClientID = this.lingjiandiMsg.ClientID,
IsRelevanceTravel = 1,
TemplateId = 71,
RB_Branch_Id = userinfo.RB_Branch_id,
OrderSource = 6;
if (obj.Type == 2) {
IsRelevanceTravel = 0;
TemplateId = obj.OutBranchId === 0 ? 72 : 73;
RB_Branch_Id = obj.OutBranchId;
OrderSource = 8;
}
// 自动生成
let msg = {
CurrencyId: this.lingjiandiMsg.CurrencyId,
PayDate: this.lingjiandiMsg.PayDate,
TemplateId: 71,
RB_Branch_Id: RB_Branch_Id,
IsPublic: 0,
ClientType: BType,
ClientID: ClientID,
CostTypeID: 180,
WBMoney: obj.price,
Remark: "",
TCID: obj.TCIDs,
IsRelevanceTravel: IsRelevanceTravel,
OrderID: 0,
vorcherInos: [{FrIdStr:''}],
Description: "",
OrderSource: OrderSource,
}
this.dialogFormVisibleLoding = true
this.apipost('Financial_post_SetFinanceInfoCommonForOut', msg, res=>{
if (res.data.resultCode == 1) {
obj.FrId.push(res.data.data)
this.listCost[this.dialogFormVisibleIndex] = obj
this.$forceUpdate()
this.$message.success("制单成功")
console.log(money)
if (money == 0 && !money) {
this.$message.error('金额小于0,无法制单')
return
} else {
this.$message.error(res.data.message)
let userinfo = this.getLocalStorage()
let TCIDARR = [obj.TCIDS];
let orderObj = {
OrderID: 0,
OrderSource: 8,
Obj: {},
SourceID: 0,
CostType: 30,
TCIDList: TCIDARR,
Money: money,
laRemark: "实际领款金额 * (实际领款汇率 - 出团汇率)",
};
let fullPath =
`/ChoiceAddFinancialDocuments?Type=${0}&companyID=${userinfo.RB_Branch_id}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
}
this.dialogFormVisibleLoding = false
this.dialogFormVisible = false
}, null)
},
goZhiDan: function(obj) {
let id = [59,63,78];
let TCIDARR = [obj.TCIDS];
let orderObj = {
OrderID: 0,
OrderSource: 8,
Obj: {},
SourceID: 0,
CostType: 57,
TCIDList: TCIDARR,
Money: obj.LeaderGetPriceT,
TCNUMS: obj.TCNUMS
};
let fullPath = `/ChoiceAddFinancialDocuments?Type=${2}&templateID=${JSON.stringify(id)}&companyID=${obj.OutBranchId}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
goFncUrl: function(path, id) {
// this.$router.push({ name: path, query: { id: id, blank: "y" } });
let fullPath = `/${path}?id=${id}&blank=y&tab=`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
getNavT() {
let _this = this
this.apipost(
"dmcstatistics_post_GetNewHotelStaticsByTCIDs_V4",
{ TCIDs: this.$route.query.id },
res => {
if (res.data.resultCode == 1) {
let TotalNav = res.data.data.list;
let listCost = res.data.data.listCost;
listCost.forEach(x=>{
x.price = 0
})
TotalNav.forEach(x => {
TotalNav.LeaderGetPriceT = 0;
});
this.TotalNav = TotalNav;
this.listCost = listCost;
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
//获取数据
getList() {
this.loading = true;
this.apipost(
"dmcstatistics_post_GetNewLeaderPayStatics",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.HotelList.forEach(x => {
this.totalHotelPrice += parseFloat(x.TotalPrice);
});
this.dataList.BusList.forEach(x => {
this.totalTrafficPrice += parseFloat(x.TotalPrice);
});
this.dataList.ScenicList.forEach(x => {
this.totalScenicPrice += parseFloat(
x.ScenicStatisticsList[0].TotalPrice
);
});
this.dataList.DiningList.forEach(x => {
this.totalDinnerPrice += parseFloat(
x.DiningSummaryList[0].TotalPrice
);
});
this.allTotal = (
this.totalHotelPrice +
this.totalTrafficPrice +
this.totalScenicPrice +
this.totalDinnerPrice
).toFixed(2);
this.isShowRemark = true;
this.getBaoZhangPrice()
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取顶部数据
getNav() {
this.apipost(
"dmcstatistics_post_GetNewStaticsByTCIDs",
{
TCIDs: this.$route.query.id
},
res => {
if (res.data.resultCode == 1) {
this.nav = res.data.data;
let time = this.nav[0].StartDateStr
this.TimeXiao = time < '2019-05-01' ? true : false
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
// 获取总金额
getTotalPrice: function() {
this.apipost(
"dmcstatistics_post_GetNewTotalPrice",
{
TCIDs: this.$route.query.id
},
res => {
},
// 保存报账金额
saveBZPrice: function () {
let HotelPrice = this.BaoZhangPrice.HotelPrice ? parseFloat(this.BaoZhangPrice.HotelPrice) : 0
let BusPrice = this.BaoZhangPrice.BusPrice ? parseFloat(this.BaoZhangPrice.BusPrice) : 0
let DiningPrice = this.BaoZhangPrice.DiningPrice ? parseFloat(this.BaoZhangPrice.DiningPrice) : 0
let ScenicPrice = this.BaoZhangPrice.ScenicPrice ? parseFloat(this.BaoZhangPrice.ScenicPrice) : 0
let msg = [{
TCIDs: this.msg.TCIDs,
UserType: 1,
TotalPrice: HotelPrice
},
{
TCIDs: this.msg.TCIDs,
UserType: 2,
TotalPrice: DiningPrice
},
{
TCIDs: this.msg.TCIDs,
UserType: 3,
TotalPrice: ScenicPrice
},
{
TCIDs: this.msg.TCIDs,
UserType: 4,
TotalPrice: BusPrice
},
]
this.apipost('dmcstatistics_get_SetLeaderReimburseLessList', msg, res => {
if (res.data.resultCode == 1) {
this.TotalPriceData = res.data.data;
this.getAllBZPrice()
this.$message.success('操作成功')
} else {
this.Error(res.data.message);
this.$message.error(res.data.message)
}
},
err => {}
);
},
//获取总额
getTotal(obj) {
let totalPrice = 0;
obj.forEach(x => {
totalPrice += x.UserNum * x.UnitPrice;
});
return totalPrice;
},
//打印
printTable() {
window.print();
},
//获取总额
getTotalMoney() {
this.apipost(
"dmcstatistics_post_GetTotalPrice",
{
TCIDs: this.$route.query.id
},
res => {
}, null)
},
getAllBZPrice: function () {
let allPrice = this.TotalPriceData[0].ExpendTotalPrice
let endPrice = allPrice - this.totalScenicPrice - this.totalTrafficPrice - this.totalDinnerPrice - this
.totalHotelPrice
let HotelPrice = this.BaoZhangPrice.HotelPrice ? parseFloat(this.BaoZhangPrice.HotelPrice) : 0
let BusPrice = this.BaoZhangPrice.BusPrice ? parseFloat(this.BaoZhangPrice.BusPrice) : 0
let DiningPrice = this.BaoZhangPrice.DiningPrice ? parseFloat(this.BaoZhangPrice.DiningPrice) : 0
let ScenicPrice = this.BaoZhangPrice.ScenicPrice ? parseFloat(this.BaoZhangPrice.ScenicPrice) : 0
let newPrice = endPrice + HotelPrice + BusPrice + DiningPrice + ScenicPrice
this.AllBZPrice = newPrice
},
getBaoZhangPrice: function () {
this.apipost('dmcstatistics_get_GetLeaderReimburseLessList', this.msg, res => {
if (res.data.resultCode == 1) {
this.totalList = res.data.data;
let BaoZhangPrice = res.data.data
BaoZhangPrice.HotelPrice = BaoZhangPrice.HotelPrice > 0 ? BaoZhangPrice.HotelPrice : this
.totalHotelPrice
BaoZhangPrice.BusPrice = BaoZhangPrice.BusPrice > 0 ? BaoZhangPrice.BusPrice : this.totalTrafficPrice
BaoZhangPrice.DiningPrice = BaoZhangPrice.DiningPrice > 0 ? BaoZhangPrice.DiningPrice : this
.totalDinnerPrice
BaoZhangPrice.ScenicPrice = BaoZhangPrice.ScenicPrice > 0 ? BaoZhangPrice.ScenicPrice : this
.totalScenicPrice
this.BaoZhangPrice = BaoZhangPrice
} else {
this.Error(res.data.message);
this.$message.error(res.data.message)
}
},
err => {}
);
},
//审核
AuditOrder(type) {
if (
type == 1 &&
(this.dataList.LeaderApply.AccountForReason == null ||
this.dataList.LeaderApply.AccountForReason == "")
) {
this.Error("请填写备注信息");
return;
}
this.dataList.LeaderApply.Status = type;
let msg = this.dataList.LeaderApply;
this.apipost(
"dmcstatistics_post_AuditLeaderapply_V2",
msg,
res => {
}, null)
},
goZhiDan2: function () {
if (!this.lingjiandiMsg.IsPublic) {
this.$message.error('请选择付款类型')
return
}
if (!this.lingjiandiMsg.ClientID) {
this.$message.error('请选择账户')
return
}
if (!this.lingjiandiMsg.CurrencyId) {
this.$message.error('请选择币种')
return
}
if (!this.lingjiandiMsg.PayDate) {
this.$message.error('请选择预计付款日期')
return
}
let obj = this.lingjiandiObj
let inputPrice = obj.price ? parseFloat(obj.price) : 0
let userinfo = this.getLocalStorage()
if (inputPrice <= 0) {
this.$message.error('请输入制单金额')
return
}
let list = this.listCost
let allPrice = 0;
let yizhiPrice = list[0].TotalPrice;
for (let i = 0; i < list.length; i++) {
allPrice = list[i].UnitPrice * list[i].PeopleNum
}
if (allPrice < inputPrice + yizhiPrice) {
this.$message.error('金额有误')
return
}
// type 1 零件地 自动生成 2 领队人头费 跳转
let BType = 7,
ClientID = this.lingjiandiMsg.ClientID,
IsRelevanceTravel = 1,
TemplateId = 71,
RB_Branch_Id = userinfo.RB_Branch_id,
OrderSource = 6;
if (obj.Type == 2) {
IsRelevanceTravel = 0;
TemplateId = obj.OutBranchId === 0 ? 72 : 73;
RB_Branch_Id = obj.OutBranchId;
OrderSource = 8;
}
// 自动生成
let msg = {
CurrencyId: this.lingjiandiMsg.CurrencyId,
PayDate: this.lingjiandiMsg.PayDate,
TemplateId: 71,
RB_Branch_Id: RB_Branch_Id,
IsPublic: 0,
ClientType: BType,
ClientID: ClientID,
CostTypeID: 180,
WBMoney: obj.price,
Remark: "",
TCID: obj.TCIDs,
IsRelevanceTravel: IsRelevanceTravel,
OrderID: 0,
vorcherInos: [{
FrIdStr: ''
}],
Description: "",
OrderSource: OrderSource,
}
this.dialogFormVisibleLoding = true
this.apipost('Financial_post_SetFinanceInfoCommonForOut', msg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
obj.FrId.push(res.data.data)
this.listCost[this.dialogFormVisibleIndex] = obj
this.$forceUpdate()
this.$message.success("制单成功")
} else {
this.Error(res.data.message);
this.$message.error(res.data.message)
}
},
err => {}
);
},
Lookdetails() {
console.log(this.$route.query.id);
console.log(this.$route.query.NewCombinationNum);
let fullPath = `/leaderPay?id=${this.$route.query.id}&NewCombinationNum=${
this.dialogFormVisibleLoding = false
this.dialogFormVisible = false
}, null)
},
goZhiDan: function (obj) {
let id = [59, 63, 78];
let TCIDARR = [obj.TCIDS];
let orderObj = {
OrderID: 0,
OrderSource: 8,
Obj: {},
SourceID: 0,
CostType: 57,
TCIDList: TCIDARR,
Money: obj.LeaderGetPriceT,
TCNUMS: obj.TCNUMS
};
let fullPath =
`/ChoiceAddFinancialDocuments?Type=${2}&templateID=${JSON.stringify(id)}&companyID=${obj.OutBranchId}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
goFncUrl: function (path, id) {
// this.$router.push({ name: path, query: { id: id, blank: "y" } });
let fullPath = `/${path}?id=${id}&blank=y&tab=`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
dom.click();
},
getNavT() {
let _this = this
this.apipost(
"dmcstatistics_post_GetNewHotelStaticsByTCIDs_V4", {
TCIDs: this.$route.query.id
},
res => {
if (res.data.resultCode == 1) {
let TotalNav = res.data.data.list;
let listCost = res.data.data.listCost;
listCost.forEach(x => {
x.price = 0
})
TotalNav.forEach(x => {
TotalNav.LeaderGetPriceT = 0;
});
this.TotalNav = TotalNav;
this.listCost = listCost;
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
//获取数据
getList() {
this.loading = true;
this.apipost(
"dmcstatistics_post_GetNewLeaderPayStatics",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.HotelList.forEach(x => {
this.totalHotelPrice += parseFloat(x.TotalPrice);
});
this.dataList.BusList.forEach(x => {
this.totalTrafficPrice += parseFloat(x.TotalPrice);
});
this.dataList.ScenicList.forEach(x => {
this.totalScenicPrice += parseFloat(
x.ScenicStatisticsList[0].TotalPrice
);
});
this.dataList.DiningList.forEach(x => {
this.totalDinnerPrice += parseFloat(
x.DiningSummaryList[0].TotalPrice
);
});
this.allTotal = (
this.totalHotelPrice +
this.totalTrafficPrice +
this.totalScenicPrice +
this.totalDinnerPrice
).toFixed(2);
this.isShowRemark = true;
this.getBaoZhangPrice()
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取顶部数据
getNav() {
this.apipost(
"dmcstatistics_post_GetNewStaticsByTCIDs", {
TCIDs: this.$route.query.id
},
res => {
if (res.data.resultCode == 1) {
this.nav = res.data.data;
let time = this.nav[0].StartDateStr
this.TimeXiao = time < '2019-05-01' ? true : false
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
// 获取总金额
getTotalPrice: function () {
this.apipost(
"dmcstatistics_post_GetNewTotalPrice", {
TCIDs: this.$route.query.id
},
res => {
if (res.data.resultCode == 1) {
this.TotalPriceData = res.data.data;
this.getAllBZPrice()
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取总额
getTotal(obj) {
let totalPrice = 0;
obj.forEach(x => {
totalPrice += x.UserNum * x.UnitPrice;
});
return totalPrice;
},
//打印
printTable() {
window.print();
},
//获取总额
getTotalMoney() {
this.apipost(
"dmcstatistics_post_GetTotalPrice", {
TCIDs: this.$route.query.id
},
res => {
if (res.data.resultCode == 1) {
this.totalList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//审核
AuditOrder(type) {
if (
type == 1 &&
(this.dataList.LeaderApply.AccountForReason == null ||
this.dataList.LeaderApply.AccountForReason == "")
) {
this.Error("请填写备注信息");
return;
}
this.dataList.LeaderApply.Status = type;
let msg = this.dataList.LeaderApply;
this.apipost(
"dmcstatistics_post_AuditLeaderapply_V2",
msg,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
Lookdetails() {
console.log(this.$route.query.id);
console.log(this.$route.query.NewCombinationNum);
let fullPath = `/leaderPay?id=${this.$route.query.id}&NewCombinationNum=${
this.$route.query.NewCombinationNum
}&isUpdate=${true}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
//console.log(that.$refs.blankLink.click())
dom.click();
// this.$router.push({
// name: 'leaderPay',
// query: {
// id: this.$route.query.id,
// NewCombinationNum:this.$route.query.NewCombinationNum,
// isUpdate: true,
// blank: 'y',
// tab: '领队报账'
// }
// })
},
unique(arr, name) { // 根据唯一标识orderId来对数组进行过滤
const res = new Map(); //定义常量 res,值为一个Map对象实例
//返回arr数组过滤后的结果,结果为一个数组 过滤条件是,如果res中没有某个键,就设置这个键的值为1
return arr.filter((arr) => !res.has(arr[name]) && res.set(arr[name], 1))
},
getnewList(){
this.loading = true;
// dmcstatistics_post_GetNewPlanTotalPrice_V2
this.apipost('dmcstatistics_post_GetNewLeaderPayStatics_V1', this.msg, res => {
this.loading = false;
console.log("1131232",res);
if (res.data.resultCode == 1) {
this.list = res.data.data;
// 预计金额
this.planPriceList=this.list.planPriceList;
// 车
let busList = res.data.data.BusList
var busmap = {},
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
//console.log(that.$refs.blankLink.click())
dom.click();
// this.$router.push({
// name: 'leaderPay',
// query: {
// id: this.$route.query.id,
// NewCombinationNum:this.$route.query.NewCombinationNum,
// isUpdate: true,
// blank: 'y',
// tab: '领队报账'
// }
// })
},
unique(arr, name) { // 根据唯一标识orderId来对数组进行过滤
const res = new Map(); //定义常量 res,值为一个Map对象实例
//返回arr数组过滤后的结果,结果为一个数组 过滤条件是,如果res中没有某个键,就设置这个键的值为1
return arr.filter((arr) => !res.has(arr[name]) && res.set(arr[name], 1))
},
getnewList() {
this.loading = true;
// dmcstatistics_post_GetNewPlanTotalPrice_V2
this.apipost('dmcstatistics_post_GetNewLeaderPayStatics_V1', this.msg, res => {
this.loading = false;
console.log("1131232", res);
if (res.data.resultCode == 1) {
this.list = res.data.data;
// 预计金额
this.planPriceList = this.list.planPriceList;
// 车
let busList = res.data.data.BusList
var busmap = {},
busdest = [];
for(var i = 0; i < busList.length; i++){
for (var i = 0; i < busList.length; i++) {
var ai = busList[i];
if(!busmap[ai.PlanDateStr]){
busdest.push({
PlanDateStr: ai.PlanDateStr,
data: [ai]
});
busmap[ai.PlanDateStr] = ai;
}else{
for(var j = 0; j < busdest.length; j++){
var dj = busdest[j];
if(dj.PlanDateStr == ai.PlanDateStr){
dj.data.push(ai);
break;
}
if (!busmap[ai.PlanDateStr]) {
busdest.push({
PlanDateStr: ai.PlanDateStr,
data: [ai]
});
busmap[ai.PlanDateStr] = ai;
} else {
for (var j = 0; j < busdest.length; j++) {
var dj = busdest[j];
if (dj.PlanDateStr == ai.PlanDateStr) {
dj.data.push(ai);
break;
}
}
}
}
this.busDataList = busdest;
// 餐
let DiningList = []
for(let i = 0; i < res.data.data.DiningList.length; i++) {
for(let o = 0; o < res.data.data.DiningList[i].DiningSummaryList.length; o++) {
DiningList.push(res.data.data.DiningList[i].DiningSummaryList[o])
}
}
var Diningmap = {},
this.busDataList = busdest;
// 餐
let DiningList = []
for (let i = 0; i < res.data.data.DiningList.length; i++) {
for (let o = 0; o < res.data.data.DiningList[i].DiningSummaryList.length; o++) {
DiningList.push(res.data.data.DiningList[i].DiningSummaryList[o])
}
}
var Diningmap = {},
Diningdest = [];
for(var i = 0; i < DiningList.length; i++){
for (var i = 0; i < DiningList.length; i++) {
var ai = DiningList[i];
if(!Diningmap[ai.UseTimeStr]){
if (!Diningmap[ai.UseTimeStr]) {
Diningdest.push({
UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID,
data: [ai]
});
Diningmap[ai.UseTimeStr] = ai;
} else {
let list = []
for (var j = 0; j < Diningdest.length; j++) {
var dj = Diningdest[j];
if (dj.UseTimeStr == ai.UseTimeStr && dj.DiningID == ai.DiningID) {
dj.data.push(ai);
break;
} else {
list.push(ai)
}
}
for (let i = 0; i < list.length; i++) {
Diningdest.push({
UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID,
data: [ai]
UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID,
data: [ai]
});
Diningmap[ai.UseTimeStr] = ai;
}else{
let list = []
for(var j = 0; j < Diningdest.length; j++){
var dj = Diningdest[j];
if(dj.UseTimeStr == ai.UseTimeStr && dj.DiningID == ai.DiningID){
dj.data.push(ai);
break;
}else{
list.push(ai)
}
}
for(let i = 0; i < list.length; i++) {
Diningdest.push({
UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID,
data: [ai]
});
}
}
}
}
for(var i = 0; i < Diningdest.length; i++){
let row = 0;
for(var l = 0; l < Diningdest[i].data.length; l++){
row = row + Diningdest[i].data[l].DiningPriceList.length
}
Diningdest[i].row = row
}
this.DiningDataList = this.unique(Diningdest, 'DiningID');
// this.DiningDataList = Diningdest
//票
let ScenicList = []
for(let i = 0; i < res.data.data.ScenicList.length; i++) {
for(let o = 0; o < res.data.data.ScenicList[i].ScenicStatisticsList.length; o++) {
ScenicList.push(res.data.data.ScenicList[i].ScenicStatisticsList[o])
}
}
console.log(ScenicList)
var Scenicmap = {},
Scenicdest = [];
for(var i = 0; i < ScenicList.length; i++){
for (var i = 0; i < Diningdest.length; i++) {
let row = 0;
for (var l = 0; l < Diningdest[i].data.length; l++) {
row = row + Diningdest[i].data[l].DiningPriceList.length
}
Diningdest[i].row = row
}
this.DiningDataList = this.unique(Diningdest, 'DiningID');
// this.DiningDataList = Diningdest
//票
let ScenicList = []
for (let i = 0; i < res.data.data.ScenicList.length; i++) {
for (let o = 0; o < res.data.data.ScenicList[i].ScenicStatisticsList.length; o++) {
ScenicList.push(res.data.data.ScenicList[i].ScenicStatisticsList[o])
}
}
console.log(ScenicList)
var Scenicmap = {},
Scenicdest = [];
for (var i = 0; i < ScenicList.length; i++) {
var ai = ScenicList[i];
if(!Scenicmap[ai.UseTimeStr]){
Scenicdest.push({
UseTimeStr: ai.UseTimeStr,
TicketID: ai.TicketID,
data: [ai]
});
Scenicmap[ai.UseTimeStr] = ai;
}else{
if (!Scenicmap[ai.UseTimeStr]) {
Scenicdest.push({
UseTimeStr: ai.UseTimeStr,
TicketID: ai.TicketID,
data: [ai]
});
Scenicmap[ai.UseTimeStr] = ai;
} else {
let list = []
for(var j = 0; j < Scenicdest.length; j++){
var dj = Scenicdest[j];
if(dj.UseTimeStr == ai.UseTimeStr && dj.TicketID == ai.TicketID){
dj.data.push(ai);
break;
}else{
list.push(ai)
}
for (var j = 0; j < Scenicdest.length; j++) {
var dj = Scenicdest[j];
if (dj.UseTimeStr == ai.UseTimeStr && dj.TicketID == ai.TicketID) {
dj.data.push(ai);
break;
} else {
list.push(ai)
}
}
for(let i = 0; i < list.length; i++) {
for (let i = 0; i < list.length; i++) {
Scenicdest.push({
UseTimeStr: ai.UseTimeStr,
TicketID: ai.TicketID,
data: [ai]
UseTimeStr: ai.UseTimeStr,
TicketID: ai.TicketID,
data: [ai]
});
}
}
}
for(var i = 0; i < Scenicdest.length; i++){
let row = 0;
for(var l = 0; l < Scenicdest[i].data.length; l++){
row = row + Scenicdest[i].data[l].TicketPriceList.length
}
Scenicdest[i].row = row
}
this.ScenicDataList = this.unique(Scenicdest, 'TicketID');
// this.ScenicDataList = Scenicdest
//酒
let HotelList = []
for(let i = 0; i < res.data.data.HotelOrderListReport.length; i++) {
for(let o = 0; o < res.data.data.HotelOrderListReport[i].HotelOrderList.length; o++) {
HotelList.push(res.data.data.HotelOrderListReport[i].HotelOrderList[o])
}
}
var Hotelmap = {},
Hoteldest = [];
for(var i = 0; i < HotelList.length; i++){
for (var i = 0; i < Scenicdest.length; i++) {
let row = 0;
for (var l = 0; l < Scenicdest[i].data.length; l++) {
row = row + Scenicdest[i].data[l].TicketPriceList.length
}
Scenicdest[i].row = row
}
this.ScenicDataList = this.unique(Scenicdest, 'TicketID');
// this.ScenicDataList = Scenicdest
//酒
let HotelList = []
for (let i = 0; i < res.data.data.HotelOrderListReport.length; i++) {
for (let o = 0; o < res.data.data.HotelOrderListReport[i].HotelOrderList.length; o++) {
HotelList.push(res.data.data.HotelOrderListReport[i].HotelOrderList[o])
}
}
var Hotelmap = {},
Hoteldest = [];
for (var i = 0; i < HotelList.length; i++) {
var ai = HotelList[i];
if(!Hotelmap[ai.CheckInDateStr]){
Hoteldest.push({
CheckInDateStr: ai.CheckInDateStr,
NewHotelId: ai.NewHotelId,
data: [ai]
});
Hotelmap[ai.CheckInDateStr] = ai;
}else{
for(var j = 0; j < Hoteldest.length; j++){
var dj = Hoteldest[j];
if(dj.CheckInDateStr == ai.CheckInDateStr && dj.NewHotelId == ai.NewHotelId){
dj.data.push(ai);
break;
}
if (!Hotelmap[ai.CheckInDateStr]) {
Hoteldest.push({
CheckInDateStr: ai.CheckInDateStr,
NewHotelId: ai.NewHotelId,
data: [ai]
});
Hotelmap[ai.CheckInDateStr] = ai;
} else {
for (var j = 0; j < Hoteldest.length; j++) {
var dj = Hoteldest[j];
if (dj.CheckInDateStr == ai.CheckInDateStr && dj.NewHotelId == ai.NewHotelId) {
dj.data.push(ai);
break;
}
}
}
}
for (var i = 0; i < Hoteldest.length; i++) {
let row = 0;
for (var l = 0; l < Hoteldest[i].data.length; l++) {
row = row + Hoteldest[i].data[l].OrderDetailsList.length
}
Hoteldest[i].row = row
}
this.HotelDataList = Hoteldest
} else {
this.$message.error(res.data.message);
}
for(var i = 0; i < Hoteldest.length; i++){
let row = 0;
for(var l = 0; l < Hoteldest[i].data.length; l++){
row = row + Hoteldest[i].data[l].OrderDetailsList.length
}
Hoteldest[i].row = row
}
this.HotelDataList = Hoteldest
} else {
this.$message.error(res.data.message);
}, err => {})
},
peopleStrToWord(str) {
if (str == '1')
return '成人'
if (str == '2')
return '儿童'
if (str == '3')
return '小人'
},
scenicTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.UsePeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
}, err => {})
},
peopleStrToWord(str) {
if (str == '1')
return '成人'
if (str == '2')
return '儿童'
if (str == '3')
return '小人'
},
scenicTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.UsePeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
return this.moneyFormat(totalPrice)
},
busTotalPrice(obj) {
let totalPrice = 0
obj.forEach(item => {
totalPrice += (item.PayType === 1 ? Number(item.CostPrice) : 0) + (item.HighSpeedPayType === 1 ? Number(
item.HighSpeedPrice) : 0) + Number(item.StopPrice)
})
return this.moneyFormat(totalPrice)
},
diningTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
return this.moneyFormat(totalPrice)
},
hotelTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
if (x.PayStyle === 1) {
totalPrice += x.UnitPrice * (x.BookNum - x.HotelDiscount) * (1 - x.RebateRatio / 100)
} else {
totalPrice += 0
return this.moneyFormat(totalPrice)
},
busTotalPrice(obj) {
let totalPrice = 0
obj.forEach(item => {
totalPrice += (item.PayType === 1 ? Number(item.CostPrice) : 0) + (item.HighSpeedPayType === 1 ? Number(
item.HighSpeedPrice) : 0) + Number(item.StopPrice)
})
return this.moneyFormat(totalPrice)
},
diningTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
})
return this.moneyFormat(totalPrice)
return this.moneyFormat(totalPrice)
},
hotelTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
if (x.PayStyle === 1) {
totalPrice += x.UnitPrice * (x.BookNum - x.HotelDiscount) * (1 - x.RebateRatio / 100)
} else {
totalPrice += 0
}
})
return this.moneyFormat(totalPrice)
},
getzongJE() {
this.apipost('dmcstatistics_post_GetNewPlanTotalPrice', {
TCIDs: this.msg.TCIDs
}, res => {
if (res.data.resultCode == 1) {
let data = res.data.data.reimburseTotalPrice;
this.OtherTotalPrice = data.OtherTotalPrice
this.SelfPayingExpendTotalPrice = data.SelfPayingExpendTotalPrice
this.IncomeTotalPrice = data.IncomeTotalPrice
this.ExpendTotalPrice = data.ExpendTotalPrice
} else {
this.$message.error(res.data.message);
}
}, err => {})
}
},
getzongJE(){
this.apipost('dmcstatistics_post_GetNewPlanTotalPrice', {
TCIDs: this.msg.TCIDs
}, res => {
if (res.data.resultCode == 1) {
let data = res.data.data.reimburseTotalPrice;
this.OtherTotalPrice = data.OtherTotalPrice
this.SelfPayingExpendTotalPrice = data.SelfPayingExpendTotalPrice
this.IncomeTotalPrice = data.IncomeTotalPrice
this.ExpendTotalPrice = data.ExpendTotalPrice
} else {
this.$message.error(res.data.message);
}
}, err => {})
created() {},
mounted() {
this.isUpdate = this.$route.query.isUpdate;
this.msg.TCIDs = this.$route.query.id;
this.getzongJE();
this.getNav();
this.getList();
this.getTotalMoney();
this.getTotalPrice();
this.getNavT();
this.getnewList();
this.financeinfo_post_GetClientAccountList()
this.getCurrencyList();
this.getzhuijiaList()
}
},
created() {},
mounted() {
this.isUpdate = this.$route.query.isUpdate;
this.msg.TCIDs = this.$route.query.id;
this.getzongJE();
this.getNav();
this.getList();
this.getTotalMoney();
this.getTotalPrice();
this.getNavT();
this.getnewList();
this.financeinfo_post_GetClientAccountList()
this.getCurrencyList();
this.getzhuijiaList()
}
};
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment