Commit a203a272 authored by 黄奎's avatar 黄奎

页面修改

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