Commit d8f80748 authored by 黄奎's avatar 黄奎

领队报账修改

parent 8af2a7ab
...@@ -30,14 +30,14 @@ ...@@ -30,14 +30,14 @@
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.BusList.length+1">车辆使用</td> <td width="80" class="bgwhite" :rowspan="list.BusList.length+1">车辆使用</td>
<td width="100">使用时间</td> <td width="100">使用时间</td>
<td width="80">司机姓名</td> <td width="300">司机姓名</td>
<td width="80">司机电话</td> <td width="100">司机电话</td>
<td width="100">车配号</td> <td width="150">车配号</td>
<td width="100">车辆号</td> <td width="150">车辆号</td>
<td width="60">用车方式</td> <td width="80">用车方式</td>
<td width="150">实际信息</td> <td width="150">实际信息</td>
<td width="60">总金额</td> <td width="150">总金额</td>
<td>备注</td> <td width="300">备注</td>
<td>凭证</td> <td>凭证</td>
</tr> </tr>
<tr v-for='(item,index) in list.BusList'> <tr v-for='(item,index) in list.BusList'>
...@@ -63,7 +63,6 @@ ...@@ -63,7 +63,6 @@
</td> </td>
<td class="jdtd" valign="middle"> <td class="jdtd" valign="middle">
{{item.Remarks}} {{item.Remarks}}
<!--<el-input type='textarea' v-model=''></el-input>-->
</td> </td>
<td> <td>
<div class="uploadListDiv ownScrollbarStyle"> <div class="uploadListDiv ownScrollbarStyle">
...@@ -75,24 +74,23 @@ ...@@ -75,24 +74,23 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<!--{{outItem.HotelOrderList}}-->
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0"> <table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" rowspan="50">酒店使用</td> <td width="80" class="bgwhite" rowspan="50">酒店使用</td>
<td width="100">使用时间</td> <td width="100">使用时间</td>
<td>酒店名称</td> <td width="300">酒店名称</td>
<td width="100">占床/不占床</td> <td width="100">占床/不占床</td>
<td width="150">房间类型/数量</td> <td width="150">房间类型/数量</td>
<td width="150">实际信息</td> <td width="150">实际信息</td>
<td width="60">总金额</td> <td width="80">总金额</td>
<td>备注</td> <td width="300">备注</td>
<td>凭证</td> <td>凭证</td>
</tr> </tr>
<template v-for="(outItem,outIndex) in list.HotelOrderListReport"> <template v-for="(outItem,outIndex) in list.HotelOrderListReport">
<tr class="HotelTr" v-for='(item,index) in outItem.HotelOrderList'> <tr class="HotelTr" v-for='(item,index) in outItem.HotelOrderList'>
<td>{{item.CheckInDateStr}}</td> <td>{{item.CheckInDateStr}}</td>
<td> <td>
<div style="width: 100%;">{{item.HotelName}}</div> <div class="itemName">{{item.HotelName}}</div>
</td> </td>
<td> <td>
{{item.HouseStatistics.NeedBed}}/{{item.HouseStatistics.NoNeedBed}} {{item.HouseStatistics.NeedBed}}/{{item.HouseStatistics.NoNeedBed}}
...@@ -128,106 +126,29 @@ ...@@ -128,106 +126,29 @@
</template> </template>
</table> </table>
<!--<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.HotelList.length+1">酒店使用</td>
<td width="100">使用时间</td>
<td width="30%">酒店名称</td>
<td width="100">占床/不占床</td>
<td width="80">实际用房数</td>
<td width="100">房间类型</td>
<td width="60">房间数</td>
<td width="60">免费人数</td>
<td width="60">单价/人</td>
<td width="60">金额小计</td>
<td width="60">返佣</td>
<td width="60">总金额</td>
<td>备注</td>
</tr>
<tr class="HotelTr" v-for='(item,index) in list.HotelList'>
<td>{{item.CheckInDateStr}}</td>
<td>
<div style="width: 100%;">{{item.HotelName}}</div>
</td>
<td>
{{item.HouseStatistics.NeedBed}}/{{item.HouseStatistics.NoNeedBed}}
</td>
<td>{{item.HouseStatistics.RealityRoomNum}}</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HouseTypeName}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HotelDiscount}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.UnitPrice}}
</p>
</div>
</td>
<td>
<div>
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.UnitPrice*(x.HouseGuestNum-x.HotelDiscount)}}
</p>
</div>
</td>
<td>
<div>
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{item.RebateRatio}}%
</p>
</div>
</td>
<td>
{{hotelTotalPrice(item.HouseStatistics.HouseTypeList)}}
</td>
<td>
{{item.Remarks}}
</td>
</tr>
</tbody>
</table>-->
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0"> <table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.DiningList.length+1">餐食使用</td> <td width="80" class="bgwhite" :rowspan="list.DiningList.length+1">餐食使用</td>
<td width="100">使用时间</td> <td width="100">使用时间</td>
<td width="30%">餐厅名称</td> <td width="300">餐厅名称</td>
<td width="60">类别</td> <td width="100">类别</td>
<td width="100">用餐人数</td> <td width="150">用餐人数</td>
<td width="150">实际信息</td> <td width="150">实际信息</td>
<td width="60">总金额</td> <td width="80">总金额</td>
<td>备注</td> <td width="300">备注</td>
<td>凭证</td> <td>凭证</td>
</tr> </tr>
<template v-for='(item,index) in list.DiningList'> <template v-for='(item,index) in list.DiningList'>
<tr class="splitP ScenicTr" v-for='(titem,tindex) in item.DiningSummaryList'> <tr class="splitP ScenicTr" v-for='(titem,tindex) in item.DiningSummaryList'>
<td>{{titem.UseTimeStr}}</td> <td>{{titem.UseTimeStr}}</td>
<td> <td>
<p style="height: 60px!important; display: flex;align-items: center; padding:0 20px;" v-for="subItem in item.DiningSummaryList"> <div class="itemName" v-for="subItem in item.DiningSummaryList">
{{subItem.DiningName}} {{subItem.DiningName}}
</p> </div>
</td> </td>
<td> <td>
<p style="height: 60px!important; line-height: 60px;" v-for="subItem in item.DiningSummaryList"> <p v-for="subItem in item.DiningSummaryList">
{{subItem.UseDinnerTypeStr}} {{subItem.UseDinnerTypeStr}}
</p> </p>
</td> </td>
...@@ -240,7 +161,7 @@ ...@@ -240,7 +161,7 @@
</td> </td>
<td> <td>
<template v-for="(ssItem,ssIndex) in titem.ReimburseList.ReimburseDetailsList"> <template v-for="(ssItem,ssIndex) in titem.ReimburseList.ReimburseDetailsList">
<div v-if="ssItem.ID!==0"> <div v-if="ssItem.ID!==0" class="itemName">
{{ssItem.UserTypeStr}}{{ssItem.UserNum}}*{{ssItem.UnitPrice}} {{ssItem.UserTypeStr}}{{ssItem.UserNum}}*{{ssItem.UnitPrice}}
</div> </div>
</template> </template>
...@@ -269,20 +190,19 @@ ...@@ -269,20 +190,19 @@
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.ScenicList.length+1">门票使用</td> <td width="80" class="bgwhite" :rowspan="list.ScenicList.length+1">门票使用</td>
<td width="100">使用时间</td> <td width="100">使用时间</td>
<td width="30%">景点名称</td> <td width="300">景点名称</td>
<td width="60">总人数</td> <td width="100">总人数</td>
<td width="60">门票类别</td> <td width="150">门票类别</td>
<td width="150">实际信息</td> <td width="150">实际信息</td>
<td width="60">总金额</td> <td width="80">总金额</td>
<td>备注</td> <td width="300">备注</td>
<td>凭证</td> <td>凭证</td>
</tr> </tr>
<template v-for='(item,index) in list.ScenicList'> <template v-for='(item,index) in list.ScenicList'>
<tr class="splitP ScenicTr"> <tr class="splitP ScenicTr">
<td>{{item.UseTimeStr}}</td> <td>{{item.UseTimeStr}}</td>
<td> <td>
<div v-for="subItem in item.ScenicStatisticsList"> <div class="itemName" v-for="subItem in item.ScenicStatisticsList">
{{subItem.ScenicName}} {{subItem.ScenicName}}
</div> </div>
</td> </td>
...@@ -308,7 +228,7 @@ ...@@ -308,7 +228,7 @@
</template> </template>
</td> </td>
<td> <td>
<div v-for="subItem in item.ScenicStatisticsList" > <div v-for="subItem in item.ScenicStatisticsList">
{{diningTotalPrice(subItem.ReimburseList.ReimburseDetailsList)}} {{diningTotalPrice(subItem.ReimburseList.ReimburseDetailsList)}}
</div> </div>
</td> </td>
...@@ -329,69 +249,45 @@ ...@@ -329,69 +249,45 @@
</tr> </tr>
</template> </template>
</tbody> </tbody>
<!-- <tfoot>
<tr>
<td colspan="9">
{{list.ScenicList}}
</td>
</tr>
</tfoot> -->
</table> </table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0"> <table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.OtherList.length+1">其他费用</td> <td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.OtherList.length+1">其他费用</td>
<td width="120">使用时间</td> <td width="100">使用时间</td>
<td width="150">费用项目</td> <td width="300">费用项目</td>
<td width="80">总人数</td> <td width="100">总人数</td>
<td width="80">单价</td> <td width="150">单价</td>
<td width="80">金额小计</td> <td width="150">金额小计</td>
<td width="80">返佣</td> <td width="80">返佣</td>
<td width="80">总金额</td> <td width="300">总金额</td>
<td>备注</td> <td>备注</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn" @click="addOtherList()"/>-->
<!--</td>-->
</tr> </tr>
<tr v-for='(item,index) in list.OtherOrderInfo.OtherList'> <tr v-for='(item,index) in list.OtherOrderInfo.OtherList'>
<td> <td>
<el-date-picker v-model='item.UseDate' prefix-icon="s" class='w105' value-format="yyyy-MM-dd" type="date" {{item.UseDateStr}}
:disabled="true"></el-date-picker>
</td> </td>
<td> <td>
<el-select class='w120 sel' v-model='item.CostProject' :placeholder="$t('pub.pleaseSel')" :disabled="true"> {{getCostProjectStr(item.CostProject)}}
<el-option label='请选择' value='0'></el-option>
<el-option label='导游津贴' value='1'></el-option>
<el-option label='司机津贴' value='2'></el-option>
<el-option label='其他支出' value='3'></el-option>
</el-select>
</td> </td>
<td> <td>
{{item.TotalNum}} {{item.TotalNum}}
<!--<el-input v-model='' @keyup.native="checkInteger(item,'TotalNum')" class='w50'></el-input>-->
</td> </td>
<td> <td>
{{item.UnitPrice}} {{item.UnitPrice}}
<!--<el-input v-model='' @keyup.native="checkPrice(item,'UnitPrice')" class='w50'></el-input>-->
</td> </td>
<td> <td>
{{item.TotalNum*item.UnitPrice}} {{item.TotalNum*item.UnitPrice}}
</td> </td>
<td> <td>
<!--<el-input v-model='' class='w50' @keyup.native="checkInteger(item,'Rebate')"></el-input>-->
{{item.Rebate}}% {{item.Rebate}}%
</td> </td>
<td v-if='index==0' :rowspan='list.OtherOrderInfo.OtherList.length'> <td v-if='index==0' :rowspan='list.OtherOrderInfo.OtherList.length'>
{{otherTotalPrice(list.OtherOrderInfo.OtherList)}} {{otherTotalPrice(list.OtherOrderInfo.OtherList)}}
</td> </td>
<td style="padding: 0 10px;"> <td class="jdtd">
{{item.Remark}} {{item.Remark}}
<!--<el-input v-model='' type="textarea" autosize></el-input>-->
</td> </td>
<!--<td>-->
<!--<p @click="deleteOtherListItem(index)">删除</p>-->
<!--</td>-->
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -399,24 +295,21 @@ ...@@ -399,24 +295,21 @@
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" rowspan="2">小费收入</td> <td width="80" class="bgwhite" rowspan="2">小费收入</td>
<td width="120">人数</td> <td width="100">人数</td>
<td width="120">单价</td> <td width="300">单价</td>
<td width="80">总金额</td> <td width="100">总金额</td>
<td>备注</td> <td>备注</td>
</tr> </tr>
<tr v-for='(item,index) in list.OtherOrderInfo.TipList'> <tr v-for='(item,index) in list.OtherOrderInfo.TipList'>
<td> <td>
{{item.TotalNum}} {{item.TotalNum}}
<!--<el-input class='w80' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td> </td>
<td> <td>
{{item.UnitPrice}} {{item.UnitPrice}}
<!--<el-input class='w80' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td> </td>
<td>{{item.TotalNum*item.UnitPrice}}</td> <td>{{item.TotalNum*item.UnitPrice}}</td>
<td style="padding: 0 10px;"> <td class="jdtd">
{{item.Remark}} {{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -425,18 +318,15 @@ ...@@ -425,18 +318,15 @@
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" rowspan="2">团费小计</td> <td width="80" class="bgwhite" rowspan="2">团费小计</td>
<td width="120">金额</td> <td width="100">金额</td>
<td>备注</td> <td>备注</td>
</tr> </tr>
<tr v-for='(item,index) in list.OtherOrderInfo.TeamList'> <tr v-for='(item,index) in list.OtherOrderInfo.TeamList'>
<td> <td>
{{item.UnitPrice}} {{item.UnitPrice}}
<!--<el-input class='w80' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td> </td>
<td style="padding: 0 10px;"> <td class="jdtd">
{{item.Remark}} {{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -445,42 +335,30 @@ ...@@ -445,42 +335,30 @@
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length+1">自费收入</td> <td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length+1">自费收入</td>
<td width="120">使用时间</td> <td width="100">使用时间</td>
<td width="80">人数</td> <td width="300">人数</td>
<td width="80">单价</td> <td width="100">单价</td>
<td width="80">金额小计</td> <td width="150">金额小计</td>
<td width="80">总金额</td> <td width="150">总金额</td>
<td>备注</td> <td>备注</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn"-->
<!--@click="addSelfPlayingIncomeList()"/>-->
<!--</td>-->
</tr> </tr>
<tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingIncomeList'> <tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingIncomeList'>
<td> <td>
<el-date-picker prefix-icon="s" v-model='item.UseDate' class='w105' value-format="yyyy-MM-dd" type="date" {{item.UseDate}}
:disabled="true"></el-date-picker>
</td> </td>
<td> <td>
{{item.TotalNum}} {{item.TotalNum}}
<!--<el-input class='w50' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td> </td>
<td> <td>
{{item.UnitPrice}} {{item.UnitPrice}}
<!--<el-input class='w50' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td> </td>
<td>{{item.TotalNum*item.UnitPrice}}</td> <td>{{item.TotalNum*item.UnitPrice}}</td>
<td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length"> <td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length">
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingIncomeList)}} {{otherTotalPrice(list.OtherOrderInfo.SelfPlayingIncomeList)}}
</td> </td>
<td style="padding: 0 10px;"> <td class="jdtd">
{{item.Remark}} {{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td> </td>
<!--<td>-->
<!--<span @click="deleteSelfPlayingIncomeListItem(index)">删除</span>-->
<!--</td>-->
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -488,53 +366,43 @@ ...@@ -488,53 +366,43 @@
<tbody> <tbody>
<tr class="title"> <tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length+1">自费支出</td> <td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length+1">自费支出</td>
<td width="120">使用时间</td> <td width="100">使用时间</td>
<td width="80">人数</td> <td width="300">人数</td>
<td width="80">单价</td> <td width="100">单价</td>
<td width="80">金额小计</td> <td width="150">金额小计</td>
<td width="80">返佣</td> <td width="150">返佣</td>
<td width="80">总金额</td> <td width="80">总金额</td>
<td>备注</td> <td>备注</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn"-->
<!--@click="addSelfPlayingExpendList()"/>-->
<!--</td>-->
</tr> </tr>
<tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingExpendList'> <tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingExpendList'>
<td> <td>
<el-date-picker prefix-icon="s" :disabled="true" v-model='item.UseDate' class='w105' value-format="yyyy-MM-dd" {{item.UseDate}}
type="date"></el-date-picker>
</td> </td>
<td> <td>
{{item.TotalNum}} {{item.TotalNum}}
<!--<el-input class='w50' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td> </td>
<td> <td>
{{item.UnitPrice}} {{item.UnitPrice}}
<!--<el-input class='w50' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td> </td>
<td>{{item.TotalNum*item.UnitPrice}}</td> <td>{{item.TotalNum*item.UnitPrice}}</td>
<td> <td>
<!--<el-input class='w50' v-model='item.Rebate'></el-input>-->
{{item.Rebate}}% {{item.Rebate}}%
</td> </td>
<td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length"> <td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length">
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingExpendList)}} {{otherTotalPrice(list.OtherOrderInfo.SelfPlayingExpendList)}}
</td> </td>
<td style="padding: 0 10px;"> <td class="jdtd">
{{item.Remark}} {{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td> </td>
<!--<td>-->
<!--<span @click="deleteSelfPlayingExpendList(index)">删除</span>-->
<!--</td>-->
</tr> </tr>
</tbody> </tbody>
</table> </table>
<el-input type="textarea" v-model="UploadMsg.Remarks" rows="6" placeholder="请输入备注信息"></el-input>
<br/>
<p class="alcenter"> <p class="alcenter">
<input type="button" value="保存" class="normalBtn" @click="saveData()" /> <input type="button" value="审核通过" class="normalBtn" @click="saveData(1)" />
<input type="button" value="审核不通过" class="normalBtn" @click="saveData(2)" />
<input type="button" value="打印" class="normalBtn" @click="goUrl('leaderPay','打印')" style="display:none;" />
</p> </p>
<div v-if='picIsShow' class="viewBigPicLayer"> <div v-if='picIsShow' class="viewBigPicLayer">
<i class="el-icon-circle-close-outline clolseViewBigPicLayer" @click="picIsShow=false,picObj=[]"></i> <i class="el-icon-circle-close-outline clolseViewBigPicLayer" @click="picIsShow=false,picObj=[]"></i>
...@@ -567,10 +435,25 @@ ...@@ -567,10 +435,25 @@
nav: [], nav: [],
TravelDayNum: 0, TravelDayNum: 0,
RealityNum: 0, RealityNum: 0,
isShow: false isShow: false,
UploadMsg:{
Remarks:""
},
} }
}, },
methods: { methods: {
//获取自费项目类型字符串
getCostProjectStr(type)
{
var str="";
switch(type)
{
case "1" :str="导游津贴";break;
case "2" :str="司机津贴";break;
case "3" :str="其他支出";break;
}
return str;
},
addOtherList() { addOtherList() {
this.list.OtherOrderInfo.OtherList.push({ this.list.OtherOrderInfo.OtherList.push({
OrderType: '1', OrderType: '1',
...@@ -628,7 +511,6 @@ ...@@ -628,7 +511,6 @@
busTotalPrice(obj) { busTotalPrice(obj) {
let totalPrice = 0 let totalPrice = 0
obj.forEach(x => { obj.forEach(x => {
// totalPrice += Number(item.CostPrice) + Number(item.HighSpeedPrice) + Number(item.StopPrice)
totalPrice += x.UserNum * x.UnitPrice totalPrice += x.UserNum * x.UnitPrice
}) })
return totalPrice return totalPrice
...@@ -643,7 +525,6 @@ ...@@ -643,7 +525,6 @@
diningTotalPrice(obj) { diningTotalPrice(obj) {
let totalPrice = 0 let totalPrice = 0
obj.forEach(x => { obj.forEach(x => {
// totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
totalPrice += x.UserNum * x.UnitPrice totalPrice += x.UserNum * x.UnitPrice
}) })
return totalPrice return totalPrice
...@@ -662,7 +543,23 @@ ...@@ -662,7 +543,23 @@
}) })
return totalPrice return totalPrice
}, },
saveData() { saveData(type) {
//通过
if(type==1)
{
this.list.LeaderApply.Status=1;
}
//不通过
else if(type==2)
{
this.list.LeaderApply.Status=2;
if(this.UploadMsg.Remarks=="")
{
this.Info("请填写不通过的原因!");
return
}
this.list.LeaderApply.AuditReason=this.UploadMsg.Remarks;
}
this.apipost('dmcstatistics_post_SetLeaderApplyExcreteList', this.list, res => { this.apipost('dmcstatistics_post_SetLeaderApplyExcreteList', this.list, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message) this.$message.success(res.data.message)
...@@ -715,7 +612,6 @@ ...@@ -715,7 +612,6 @@
this.loading = true this.loading = true
this.apipost('dmcstatistics_post_GetNewLeaderPayMoneyStatics', this.msg, res => { this.apipost('dmcstatistics_post_GetNewLeaderPayMoneyStatics', this.msg, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
//console.log("res.data.data", JSON.stringify(res.data.data));
this.loading = false; this.loading = false;
this.isShow = true; this.isShow = true;
this.list = res.data.data this.list = res.data.data
...@@ -728,8 +624,8 @@ ...@@ -728,8 +624,8 @@
} }
}, err => {}) }, err => {})
}, },
//上传
uploadImg(file) { uploadImg(file) {
//上传
let newArr = []; let newArr = [];
newArr.push(file.file); newArr.push(file.file);
let path = "/Upload/Temporary/"; let path = "/Upload/Temporary/";
...@@ -740,18 +636,25 @@ ...@@ -740,18 +636,25 @@
url: x.res.requestUrls[0].split("?")[0] url: x.res.requestUrls[0].split("?")[0]
}) })
}); });
},
goUrl(path, title) {
this.$router.push({
name: path,
query: {
"id": this.$route.query.id,
blank: 'y',
tab: title
}
})
}, },
}, },
mounted() { mounted() {
this.isUpdate = this.$route.query.isUpdate this.isUpdate = this.$route.query.isUpdate;
this.msg.TCIDs = this.$route.query.id this.msg.TCIDs = this.$route.query.id;
//this.msg.NewCombinationNum=this.$route.query.num this.getNav();
this.getNav() this.getList();
this.getList()
} }
} }
</script> </script>
<style> <style>
...@@ -894,8 +797,6 @@ ...@@ -894,8 +797,6 @@
} }
.leaderReimbursementTable .HotelTr td>div { .leaderReimbursementTable .HotelTr td>div {
/*height: 100px;*/
/*line-height: 100px;*/
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
} }
...@@ -938,13 +839,15 @@ ...@@ -938,13 +839,15 @@
margin: 3px; margin: 3px;
} }
.leaderReimbursementTable .jdtd>div { .leaderReimbursementTable .jdtd {
height: auto !important;
padding: 0 10px; padding: 0 10px;
text-align: left;
} }
.leaderReimbursementTable .leaderPayTable .el-input__prefix { .leaderReimbursementTable .leaderPayTable .el-input__prefix {
display: none; display: none;
} }
.leaderReimbursementTable .itemName{
</style> text-align:left; padding:0 10px;
}
</style>
\ No newline at end of file
<template>
<div class="mb30" v-loading='loading'>
<div v-if="isShow">
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.BusList.length+1">车辆使用</td>
<td width="100">使用时间</td>
<td width="150">车配号</td>
<td width="150">车辆号</td>
<td width="150">总金额</td>
<td width="200">备注</td>
<td width="200">凭证</td>
</tr>
<tr v-for='(item,index) in list.BusList'>
<td>{{item.PlanDateStr}}</td>
<td>{{item.BusCode}}</td>
<td>{{item.BusNum}}</td>
<td>
{{busTotalPrice(item.ReimburseList.ReimburseDetailsList)}}
</td>
<td class="jdtd" valign="middle">
{{item.Remarks}}
</td>
<td>
<div class="uploadListDiv ownScrollbarStyle">
<p v-for="(img,index) in item.VoucherPicList" @click="analyzeItem(item.VoucherPicList,index)">
{{img.FileName}}
</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tr class="title">
<td width="80" class="bgwhite" rowspan="50">酒店使用</td>
<td width="100">使用时间</td>
<td width="300">酒店名称</td>
<td width="150">总金额</td>
<td width="200">备注</td>
<td width="200">凭证</td>
</tr>
<template v-for="(outItem,outIndex) in list.HotelOrderListReport">
<tr class="HotelTr" v-for='(item,index) in outItem.HotelOrderList'>
<td>{{item.CheckInDateStr}}</td>
<td>
<div class="itemName">{{item.HotelName}}</div>
</td>
<td>
{{hotelTotalPrice(item.ReimburseList.ReimburseDetailsList)}}
</td>
<td class="jdtd" valign="middle">
{{item.ReimburseList.Remarks}}
</td>
<td>
<div class="uploadListDiv ownScrollbarStyle" style="overflow-y: auto;">
<p v-for="(img,index) in item.ReimburseList.VoucherPicList" @click="analyzeItem(item.VoucherPicList,index)">
{{img.FileName}}
</p>
</div>
</td>
</tr>
</template>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.DiningList.length+1">餐食使用</td>
<td width="100">使用时间</td>
<td width="300">餐厅名称</td>
<td width="150">总金额</td>
<td width="200">备注</td>
<td width="200">凭证</td>
</tr>
<template v-for='(item,index) in list.DiningList'>
<tr class="splitP ScenicTr" v-for='(titem,tindex) in item.DiningSummaryList'>
<td>{{titem.UseTimeStr}}</td>
<td>
<div class="itemName" v-for="subItem in item.DiningSummaryList">
{{subItem.DiningName}}
</div>
</td>
<td>
<div v-for="subItem in item.DiningSummaryList">
{{diningTotalPrice(subItem.ReimburseList.ReimburseDetailsList)}}
</div>
</td>
<td class="jdtd" valign="middle">
{{titem.Remarks}}
</td>
<td>
<div class="uploadListDiv ownScrollbarStyle" style="overflow-y: auto;">
<p v-for="(img,index) in titem.ReimburseList.VoucherPicList" @click="analyzeItem(titem.VoucherPicList,index)">
{{img.FileName}}
</p>
</div>
</td>
</tr>
</template>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.ScenicList.length+1">门票使用</td>
<td width="100">使用时间</td>
<td width="300">景点名称</td>
<td width="150">总金额</td>
<td width="200">备注</td>
<td width="200">凭证</td>
</tr>
<template v-for='(item,index) in list.ScenicList'>
<tr class="splitP ScenicTr">
<td>{{item.UseTimeStr}}</td>
<td>
<div class="itemName" v-for="subItem in item.ScenicStatisticsList">
{{subItem.ScenicName}}
</div>
</td>
<td>
<div v-for="subItem in item.ScenicStatisticsList">
{{diningTotalPrice(subItem.ReimburseList.ReimburseDetailsList)}}
</div>
</td>
<td>
<template v-for='(sitem,sindex) in item.ScenicStatisticsList'>
{{sitem.Remarks}}
</template>
</td>
<td>
<div class="uploadListDiv ownScrollbarStyle" style="overflow-y: auto;">
<template v-for='(sitem,sindex) in item.ScenicStatisticsList'>
<p v-for="(img,index) in sitem.ReimburseList.VoucherPicList" @click="analyzeItem(sitem.VoucherPicList,index)">
{{img.FileName}}
</p>
</template>
</div>
</td>
</tr>
</template>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.OtherList.length+1">其他费用</td>
<td width="100">使用时间</td>
<td width="300">费用项目</td>
<td width="100">总人数</td>
<td width="150">单价</td>
<td width="150">金额小计</td>
<td width="80">返佣</td>
<td width="300">总金额</td>
<td>备注</td>
</tr>
<tr v-for='(item,index) in list.OtherOrderInfo.OtherList'>
<td>
{{item.UseDateStr}}
</td>
<td>
{{getCostProjectStr(item.CostProject)}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td>
{{item.Rebate}}%
</td>
<td v-if='index==0' :rowspan='list.OtherOrderInfo.OtherList.length'>
{{otherTotalPrice(list.OtherOrderInfo.OtherList)}}
</td>
<td class="jdtd">
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" rowspan="2">小费收入</td>
<td width="100">人数</td>
<td width="300">单价</td>
<td width="100">总金额</td>
<td>备注</td>
</tr>
<tr v-for='(item,index) in list.OtherOrderInfo.TipList'>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>{{item.TotalNum*item.UnitPrice}}</td>
<td class="jdtd">
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" rowspan="2">团费小计</td>
<td width="100">金额</td>
<td>备注</td>
</tr>
<tr v-for='(item,index) in list.OtherOrderInfo.TeamList'>
<td>
{{item.UnitPrice}}
</td>
<td class="jdtd">
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length+1">自费收入</td>
<td width="100">使用时间</td>
<td width="300">人数</td>
<td width="100">单价</td>
<td width="150">金额小计</td>
<td width="150">总金额</td>
<td>备注</td>
</tr>
<tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingIncomeList'>
<td>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>{{item.TotalNum*item.UnitPrice}}</td>
<td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingIncomeList.length">
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingIncomeList)}}
</td>
<td class="jdtd">
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length+1">自费支出</td>
<td width="100">使用时间</td>
<td width="300">人数</td>
<td width="100">单价</td>
<td width="150">金额小计</td>
<td width="150">返佣</td>
<td width="80">总金额</td>
<td>备注</td>
</tr>
<tr v-for='(item,index) in list.OtherOrderInfo.SelfPlayingExpendList'>
<td>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>{{item.TotalNum*item.UnitPrice}}</td>
<td>
{{item.Rebate}}%
</td>
<td v-if='index==0' :rowspan="list.OtherOrderInfo.SelfPlayingExpendList.length">
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingExpendList)}}
</td>
<td class="jdtd">
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<p class="alcenter">
<input type="button" value="打印" class="normalBtn" />
</p>
</div>
</div>
</template>
<script>
export default {
data() {
return {
isUpdate: false,
loading: false,
defaultSelectValue: 0,
initialIndex: 0,
picObj: [],
TemporaryItem: {},
msg: {
TCIDs: '',
NewCombinationNum: ''
},
list: [],
nav: [],
TravelDayNum: 0,
RealityNum: 0,
isShow: false
}
},
methods: {
//获取自费项目类型字符串
getCostProjectStr(type)
{
var str="";
switch(type)
{
case "1" :str="导游津贴";break;
case "2" :str="司机津贴";break;
case "3" :str="其他支出";break;
}
return str;
},
addOtherList() {
this.list.OtherOrderInfo.OtherList.push({
OrderType: '1',
ID: 0,
UseDate: '',
CostProject: 0,
TotalNum: '0',
UnitPrice: '0',
Rebate: '0',
TotalPrice: '0',
Remark: '',
TCIDs: this.list.OtherOrderInfo.OtherList[0].TCIDs,
VoucherPicList: []
})
},
deleteOtherListItem(index) {
this.list.OtherOrderInfo.OtherList.splice(index, 1)
},
addSelfPlayingIncomeList() {
this.list.OtherOrderInfo.SelfPlayingIncomeList.push({
OrderType: '4',
ID: 0,
UseDate: '',
CostProject: 0,
TotalNum: '0',
UnitPrice: '0',
Rebate: '0',
TotalPrice: '0',
Remark: '',
TCIDs: this.list.OtherOrderInfo.SelfPlayingIncomeList[0].TCIDs,
VoucherPicList: []
})
},
deleteSelfPlayingIncomeListItem(index) {
this.list.OtherOrderInfo.SelfPlayingIncomeList.splice(index, 1)
},
addSelfPlayingExpendList() {
this.list.OtherOrderInfo.SelfPlayingExpendList.push({
OrderType: '5',
ID: 0,
UseDate: '',
CostProject: '',
TotalNum: '0',
UnitPrice: '0',
Rebate: '0',
TotalPrice: '0',
Remark: '',
TCIDs: this.list.OtherOrderInfo.SelfPlayingExpendList[0].TCIDs,
VoucherPicList: []
})
},
deleteSelfPlayingExpendList(index) {
this.list.OtherOrderInfo.SelfPlayingExpendList.splice(index, 1)
},
busTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.UserNum * x.UnitPrice
})
return totalPrice
},
hotelTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.UserNum * x.UnitPrice
})
return totalPrice
},
diningTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.UserNum * x.UnitPrice
})
return totalPrice
},
scenicTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.UsePeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
return totalPrice
},
otherTotalPrice(obj) {
let totalPrice = 0
obj.forEach(item => {
totalPrice += item.TotalNum * item.UnitPrice * (1 - item.Rebate / 100)
})
return totalPrice
},
saveitem(obj) {
this.TemporaryItem = obj
},
analyzeItem(obj, index) { //预览
this.picObj = []
obj.forEach(item => {
this.picObj.push(item.url)
})
this.initialIndex = index
},
peopleStrToWord(str) {
if (str == '1')
return '成人'
if (str == '2')
return '儿童'
if (str == '3')
return '婴儿'
},
UseDinnerTypeToWord(str) {
if (str == 1)
return '早餐'
if (str == 2)
return '午餐'
if (str == 3)
return '晚餐'
},
getNav() {
this.apipost('dmcstatistics_post_GetHotelStaticsByTCIDs', {
TCIDs: this.$route.query.id
}, res => {
if (res.data.resultCode == 1) {
this.nav = res.data.data
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
getList() {
this.loading = true
this.apipost('dmcstatistics_post_GetNewLeaderPayMoneyStatics', this.msg, res => {
if (res.data.resultCode == 1) {
this.loading = false;
this.isShow = true;
this.list = res.data.data
this.list.OtherOrderInfo.OtherList.forEach(item => {
item.CostProject = item.CostProject.toString()
})
} else {
this.loading = false
this.$message.error(res.data.message)
}
}, err => {})
},
},
mounted() {
this.isUpdate = this.$route.query.isUpdate;
this.msg.TCIDs = this.$route.query.id;
this.getNav();
this.getList();
}
}
</script>
<style>
.leaderReimbursementTableNav {
background: #d6cece;
width: 800px;
margin: 20px 0;
}
.leaderReimbursementTableNav tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.leaderReimbursementTableNav tr {
background: #fff;
text-align: center;
height: 40px;
font-size: 12px;
}
.leaderReimbursementTableNav tr td {
background: #fff;
text-align: center;
height: 40px;
font-size: 12px;
padding: 0 10px;
}
.leaderReimbursementTable {
background: #d6cece;
width: 100%;
margin: 20px 0;
}
.leaderReimbursementTable tbody {
margin: 10px 0;
}
.leaderReimbursementTable tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.leaderReimbursementTable tr {
background: #fff;
text-align: center;
height: 40px;
}
.leaderReimbursementTable tr.title td {
background: #E6E6E6;
}
.leaderReimbursementTable tr td div {
word-break: normal;
}
.leaderReimbursementTable tr td.bgwhite {
background: #fff !important;
font-weight: bold;
}
.leaderReimbursementTable tr td {
font-size: 12px;
}
.leaderReimbursementTable tr td .pDateStyle {
border-bottom: 1px solid #E6E6E6;
min-height: 24px;
line-height: 24px;
margin-top: 0;
box-sizing: content-box;
padding: 0 10px;
}
.leaderReimbursementTable tr td .pDateStyle:last-child {
border-bottom: none;
}
.leaderReimbursementTable tr td .pDateStyle>span:after {
content: '/';
}
.leaderReimbursementTable tr td .pDateStyle>span:last-child:after {
content: ''
}
.leaderReimbursementTable tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
.leaderReimbursementTable tr td .phoverStype:hover {
text-decoration: underline;
cursor: pointer;
}
.leaderReimbursementTable tr td input[type='text'] {
height: 20px !important;
padding: 0;
text-align: center;
}
.leaderReimbursementTable tr td .sel input {
height: 34px !important;
}
.leaderReimbursementTable .splitP td>p {
height: 20px;
line-height: 20px;
border-bottom: 1px solid #ccc;
}
.leaderReimbursementTable .splitP td>p:last-child {
border-bottom: none;
}
.leaderReimbursementTable .ScenicTr td>div {
height: 60px;
line-height: 60px;
border-bottom: 1px solid #ccc;
}
.leaderReimbursementTable .ScenicTr td>div:last-child {
border-bottom: none;
}
.leaderReimbursementTable .ScenicTr td>div p {
line-height: 20px;
border-bottom: 1px solid #ccc;
}
.leaderReimbursementTable .ScenicTr td>div p:last-child {
border-bottom: none;
}
.leaderReimbursementTable .HotelTr td>div {
border-bottom: 1px solid #ccc;
}
.leaderReimbursementTable .HotelTr td>div:last-child {
border-bottom: none;
}
.leaderReimbursementTable .HotelTr td>div p {
line-height: 19px;
border-bottom: 1px solid #ccc;
}
.leaderReimbursementTable .HotelTr td>div p:last-child {
border-bottom: none;
}
.leaderReimbursementTable tr td .el-upload-list {
display: none;
}
.leaderReimbursementTable .uploadListDiv {
height: 100% !important;
overflow-y: auto;
width: 100%;
}
.leaderReimbursementTable .uploadListDiv>p {
border-bottom: 1px solid #ccc;
cursor: pointer;
width: 100% !important;
}
.leaderReimbursementTable .uploadListDiv>p:last-child {
border-bottom: none;
}
.leaderReimbursementTable .uploadListDiv>p i {
color: #999;
vertical-align: sub;
margin: 3px;
}
.leaderReimbursementTable .jdtd {
padding: 0 10px;
text-align: left;
}
.leaderReimbursementTable .leaderPayTable .el-input__prefix {
display: none;
}
.leaderReimbursementTable .itemName{
text-align:left; padding:0 10px;
}
</style>
\ No newline at end of file
...@@ -774,16 +774,13 @@ ...@@ -774,16 +774,13 @@
</p> </p>
</div> </div>
<div class="d7"> <div class="d7">
<!--<p><input type="button" :class="{normalBtn:true,disabledBtn:item.IsSubstitution!=1&&item.SurplusSeat==0}" :disabled="item.IsSubstitution!=1&&item.SurplusSeat==0" value="立即下单" @click="goBuy(item)"></p>
<p><input type="button" class="hollowFixedBtn" value="下载行程"></p>
<p><input type="button" class="hollowFixedBtn" value="分享行程"></p>
<p><input type="button" class="hollowFixedBtn" value="查看报名"></p> -->
<el-button-group style="display:block;"> <el-button-group style="display:block;">
<el-tooltip class="item" effect="dark" content="查看报名" placement="top-start"> <el-tooltip class="item" effect="dark" content="查看报名" placement="top-start">
<el-button @click="goUrl('groupTourOrderByTuan',item.TCID,item.TCNUM)" type="primary" style='background:#00C6FF; border-color:#00C6FF' <el-button @click="goUrl('groupTourOrderByTuan',item.TCID,item.TCNUM)" type="primary" style='background:#00C6FF; border-color:#00C6FF'
icon="iconfont icon-sousuo"></el-button> icon="iconfont icon-sousuo"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="立即下单" placement="top-start" v-if="item.IsPayOrder!==1"> <!--关内团后不能在报名-->
<el-tooltip class="item" effect="dark" content="立即下单" placement="top-start" v-if="item.IsPayOrder!==1 && item.IsB2B===1">
<el-button type="primary" style='background:#F16C3C; border-color:#F16C3C' v-if="!TCIDList" icon="iconfont icon-fukuan1" <el-button type="primary" style='background:#F16C3C; border-color:#F16C3C' v-if="!TCIDList" icon="iconfont icon-fukuan1"
@click="goBuy(item)"></el-button> @click="goBuy(item)"></el-button>
</el-tooltip> </el-tooltip>
......
...@@ -215,7 +215,7 @@ ...@@ -215,7 +215,7 @@
</div> </div>
</td> </td>
<td> <td>
<div class="w180"> <div class="w250">
<el-button-group> <el-button-group>
<el-button @click="goUrlT('teamRevenueExpenditure',item.TCID,'团队收支')" type="primary" style="background:#00C6FF; border-color:#00C6FF">收付款</el-button> <el-button @click="goUrlT('teamRevenueExpenditure',item.TCID,'团队收支')" type="primary" style="background:#00C6FF; border-color:#00C6FF">收付款</el-button>
<el-popover placement="bottom" width="300" trigger="click"> <el-popover placement="bottom" width="300" trigger="click">
...@@ -225,8 +225,8 @@ ...@@ -225,8 +225,8 @@
</p> </p>
<el-button type="primary" slot="reference" @click='CkedItem(item)' style="background:#AD9AF6; border-color:#AD9AF6; border-radius: 0;">添加备注</el-button> <el-button type="primary" slot="reference" @click='CkedItem(item)' style="background:#AD9AF6; border-color:#AD9AF6; border-radius: 0;">添加备注</el-button>
</el-popover> </el-popover>
<br/>
<el-button @click='openChart(item)' type="primary" style="background:#6DD875; border-color:#6DD875">联系OP</el-button> <el-button @click='openChart(item)' type="primary" style="background:#6DD875; border-color:#6DD875">联系OP</el-button>
<el-popover placement="bottom" width="300" trigger="click"> <el-popover placement="bottom" width="300" trigger="click">
<el-input class='mt10' v-model='NumObj.newCombinationNum' type='textarea'></el-input> <el-input class='mt10' v-model='NumObj.newCombinationNum' type='textarea'></el-input>
<p class="alcenter mt10"> <p class="alcenter mt10">
......
<style> <style>
@import "../../../assets/css/newTravelManager.css"; @import "../../../assets/css/newTravelManager.css";
.TravelQueryList { .TravelQueryList {
width: 100%; width: 100%;
...@@ -51,9 +51,7 @@ ...@@ -51,9 +51,7 @@
line-height: 20px; line-height: 20px;
display: -webkit-box; display: -webkit-box;
overflow: hidden; overflow: hidden;
/*! autoprefixer: off */
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
/* autoprefixer: on */
text-overflow: ellipsis; text-overflow: ellipsis;
-webkit-line-clamp: 3; -webkit-line-clamp: 3;
} }
...@@ -335,180 +333,124 @@ ...@@ -335,180 +333,124 @@
<div class="TC_Content TravelControlList"> <div class="TC_Content TravelControlList">
<div class="query-box"> <div class="query-box">
<ul> <ul>
<!-- <li>
<span>
<em>所属线路</em>
<el-select
class="w150"
v-model="queryMsg.LineId"
filterable
:placeholder="$t('pub.pleaseSel')"
@change="getLineTeamList()"
>
<el-option
:label="$t('pub.unlimitedSel')"
:value="queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for="item in queryCommonData.LineList"
:label="item.LineName"
:value="item.LineID"
:key="item.LineID"
></el-option>
</el-select>
</span>
</li> -->
<li> <li>
<span> <span>
<em>系列名称</em> <em>系列名称</em>
<el-select <el-select class="w150" v-model="queryMsg.LineteamId" filterable :placeholder="$t('pub.pleaseSel')">
class="w150" <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"></el-option>
v-model="queryMsg.LineteamId" <el-option v-for="item in queryCommonData.LineTeamList" :label="item.LtName" :value="item.LtID" :key="item.LtID"></el-option>
filterable
:placeholder="$t('pub.pleaseSel')"
>
<el-option
:label="$t('pub.unlimitedSel')"
:value="queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for="item in queryCommonData.LineTeamList"
:label="item.LtName"
:value="item.LtID"
:key="item.LtID"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>团号</em> <em>团号</em>
<el-input <el-input maxlength="50" v-model="queryMsg.TCNUM" class="permiss-input w150" @keyup.native.enter="getControlList"
maxlength="50" :placeholder="$t('pub.pleaseImport')"></el-input>
v-model="queryMsg.TCNUM"
class="permiss-input w150"
@keyup.native.enter="getControlList"
:placeholder="$t('pub.pleaseImport')"
></el-input>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>发团日期</em> <em>发团日期</em>
<el-date-picker <el-date-picker class="w150" type="date" v-model="queryMsg.StartGroupDate" value-format="yyyy-MM-dd"
class="w150" placeholder></el-date-picker>
type="date" <el-date-picker class="w150" type="date" v-model="queryMsg.EndGroupDate" value-format="yyyy-MM-dd"
v-model="queryMsg.StartGroupDate" placeholder></el-date-picker>
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class="w150"
type="date"
v-model="queryMsg.EndGroupDate"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</span> </span>
</li> </li>
<li> <li>
<button <span>
class="hollowFixedBtn" <em>合团团号</em>
@click="getControlList(),resetPageIndex()" <el-input maxlength="50" v-model="queryMsg.CombinationNum" class="permiss-input w150" @keyup.native.enter="getControlList"
>{{$t('pub.searchBtn')}}</button> :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<button class="hollowFixedBtn" @click="getControlList(),resetPageIndex()">{{$t('pub.searchBtn')}}</button>
</li> </li>
</ul> </ul>
</div> </div>
<table class="TravelControlListTable TravelQueryList"> <table class="TravelControlListTable TravelQueryList">
<tbody v-for="(outItem,i) in queryCommonData.dataList" :key="i"> <tbody v-for="(outItem,i) in queryCommonData.dataList" :key="i">
<template v-for="(item,index) in outItem.TravelPriceList"> <template v-for="(item,index) in outItem.TravelPriceList">
<tr height="40"> <tr height="40">
<td align="center" width="80" v-if="index==0" :rowspan="outItem.TravelPriceList.length*3"> <td align="center" width="80" v-if="index==0" :rowspan="outItem.TravelPriceList.length*3">
{{outItem.TCIDs}} {{outItem.TCIDs}}
<span v-if='outItem.TravelPriceList.length>1'></span> <span v-if='outItem.TravelPriceList.length>1'></span>
</td> </td>
<td colspan="4" style="padding:0 30px;">{{item.Title}}</td> <td colspan="4" style="padding:0 30px;">{{item.Title}}</td>
<td width="240" v-if="index==0" :rowspan="outItem.TravelPriceList.length*3"> <td width="240" v-if="index==0" :rowspan="outItem.TravelPriceList.length*3">
<div class="d7"> <div class="d7">
<el-button-group> <el-button-group>
<el-button <el-button @click.native="goUrl('leaderReimbursement',outItem,'用款计划')" type="primary" style="background:#E95252; border-color:#E95252">领队用款</el-button>
@click.native="goUrl('leaderReimbursement',outItem,'用款计划')" <el-button @click.native="goUrl('leaderPay',outItem,'领队报账')" type="primary" style="background:#297BEF; border-color:#297BEF">领队报账
type="primary" </el-button>
style="background:#E95252; border-color:#E95252" </el-button-group>
>领队用款</el-button> </div>
<el-button </td>
@click.native="goUrl('leaderPay',outItem,'领队报账')" </tr>
type="primary" <tr>
style="background:#297BEF; border-color:#297BEF" <td width="20%">
>领队报账 <div class="TCL-TCNUM">{{item.TCNUM}}</div>
</el-button> <div class="d12" style="float:none;margin:3px auto;">
</el-button-group> <p>
</div> <i class="iconfont icon-biaoti1"></i>
</td> {{item.LineName}}
</tr> </p>
<tr> </div>
<td width="20%"> </td>
<div class="TCL-TCNUM">{{item.TCNUM}}</div> <td>
<div class="d12" style="float:none;margin:3px auto;"> <div class="d2" style="width: 100%!important;">
<p>
<i class="iconfont icon-biaoti1"></i>
{{item.LineName}}
</p>
</div>
</td>
<td>
<div class="d2" style="width: 100%!important;">
<p class="TCLflight_GO"> <p class="TCLflight_GO">
<i class="iconfont icon-hangban1"></i>航班 <i class="iconfont icon-hangban1"></i>航班
</p> </p>
<el-popover width="900" trigger="click" popper-class="TC_tripDetails"> <el-popover width="900" trigger="click" popper-class="TC_tripDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align:center;"> <tr class="_color_666" style="text-align:center;">
<th width="60">{{$t('Airticket.Air_segment')}}</th> <th width="60">{{$t('Airticket.Air_segment')}}</th>
<th width="80">{{$t('system.query_flightNum')}}</th> <th width="80">{{$t('system.query_flightNum')}}</th>
<th width="150">起飞时间</th> <th width="150">起飞时间</th>
<th width="80">到达时间</th> <th width="80">到达时间</th>
<th width="100">经停城市</th> <th width="100">经停城市</th>
</tr> </tr>
<tr v-for="(ds,din) in item.flightList" :key="din" style="text-align:center;"> <tr v-for="(ds,din) in item.flightList" :key="din" style="text-align:center;">
<td class="_d_name _color_666"> <td class="_d_name _color_666">
<span v-if="din==0">{{$t('Airticket.Air_go')}}</span> <span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
<span v-else-if="din==item.flightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span> <span v-else-if="din==item.flightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
<span v-else-if="din>0 && din!=item.flightList.length-1">{{$t('Airticket.Air_transit')}}</span> <span v-else-if="din>0 && din!=item.flightList.length-1">{{$t('Airticket.Air_transit')}}</span>
</td> </td>
<td> <td>
<div>{{ds.Flight_number}}</div> <div>{{ds.Flight_number}}</div>
<div style="margin-top:5px;">{{ds.AlName}}</div> <div style="margin-top:5px;">{{ds.AlName}}</div>
</td> </td>
<td> <td>
<div>{{ds.FlightDate}} {{ds.Departure_time}}</div> <div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
<div style="margin-top:5px;">{{ds.dName}}</div> <div style="margin-top:5px;">{{ds.dName}}</div>
</td> </td>
<td> <td>
<div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div> <div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
<div style="margin-top:5px;">{{ds.aName}}</div> <div style="margin-top:5px;">{{ds.aName}}</div>
</td> </td>
<td>{{ds.StopoverName}}</td> <td>{{ds.StopoverName}}</td>
</tr> </tr>
</table> </table>
<div class="FlightDiv-TCL" slot="reference"> <div class="FlightDiv-TCL" slot="reference">
<div v-for="subItem in item.flightList" slot="reference" :key="subItem.subCode" class="TCL-flighInfoList" style="text-align: center!important"> <div v-for="subItem in item.flightList" slot="reference" :key="subItem.subCode" class="TCL-flighInfoList"
<span class="travelnowrap"> style="text-align: center!important">
<span class="TCL-FlightNumber">{{subItem.Flight_number}}</span>{{subItem.DepartureName}} <span class="travelnowrap">
{{subItem.StopoverName==""?"":"-"+subItem.StopoverName}} <span class="TCL-FlightNumber">{{subItem.Flight_number}}</span>{{subItem.DepartureName}}
{{subItem.ArrivalCityName==""?"":"-"+subItem.ArrivalCityName}} {{subItem.StopoverName==""?"":"-"+subItem.StopoverName}}
<span v-if="subItem.FlightState==1" class="TCL-greenType">【确定】</span> {{subItem.ArrivalCityName==""?"":"-"+subItem.ArrivalCityName}}
<span v-if="subItem.FlightState==2" class="TCL-redType">【暂定】</span> <span v-if="subItem.FlightState==1" class="TCL-greenType">【确定】</span>
</span> <span v-if="subItem.FlightState==2" class="TCL-redType">【暂定】</span>
</div> </span>
</div> </div>
</el-popover> </div>
</div> </el-popover>
</td> </div>
<td> </td>
<div class="d3"> <td>
<div class="d3">
<p> <p>
<i class="iconfont icon-tuandui"></i>团队信息 <i class="iconfont icon-tuandui"></i>团队信息
<em>{{item.DayNum}}{{item.NightNum}}</em> <em>{{item.DayNum}}{{item.NightNum}}</em>
...@@ -522,9 +464,9 @@ ...@@ -522,9 +464,9 @@
{{item.OutBranchName}} {{item.OutBranchName}}
</p> </p>
</div> </div>
</td> </td>
<td> <td>
<div class="d5"> <div class="d5">
<p> <p>
<i class="iconfont icon-tuanwei"></i>团位信息 <i class="iconfont icon-tuanwei"></i>团位信息
</p> </p>
...@@ -543,155 +485,143 @@ ...@@ -543,155 +485,143 @@
<span v-else class="TCL-redType">不允许候补</span> <span v-else class="TCL-redType">不允许候补</span>
</p> </p>
</div> </div>
</td> </td>
</tr> </tr>
<tr height="40" > <tr height="40">
<td colspan="4" style="padding-left: 30px;"> <td colspan="4" style="padding-left: 30px;">
备注:{{item.OPRemark}} 备注:{{item.OPRemark}}
</td> </td>
</tr> </tr>
</template> </template>
</tbody> </tbody>
<tr v-show="queryMsg.noData"> <tr v-show="queryMsg.noData">
<td colspan="6">{{$t('system.content_noData')}}</td> <td colspan="6">{{$t('system.content_noData')}}</td>
</tr> </tr>
</table> </table>
<el-pagination <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" layout="total,prev, pager, next, jumper"
background :page-size="queryMsg.pageSize" :total="queryMsg.total"></el-pagination>
@current-change="handleCurrentChange"
:current-page.sync="queryMsg.currentPage"
layout="total,prev, pager, next, jumper"
:page-size="queryMsg.pageSize"
:total="queryMsg.total"
></el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
ArrList: [], ArrList: [],
//查询数据列表 //查询数据列表
queryCommonData: { queryCommonData: {
//线路列表 //线路列表
LineList: [], LineList: [],
//系列列表 //系列列表
LineTeamList: [], LineTeamList: [],
//下拉框默认值 //下拉框默认值
SelectDefaultValue: 0, SelectDefaultValue: 0,
//数据列表 //数据列表
dataList: [] dataList: []
}, },
//查询参数 //查询参数
queryMsg: { queryMsg: {
pageIndex: 1, pageIndex: 1,
pageSize: 5, pageSize: 5,
LineId: 14, LineId: 14,
LineteamId: 0, LineteamId: 0,
TCNUM: "", TCNUM: "",
StartGroupDate: "", StartGroupDate: "",
EndGroupDate: "", EndGroupDate: "",
total: 0, total: 0,
//是否有数据 //是否有数据
noData: false, noData: false,
currentPage: 1 currentPage: 1,
}, //合团团号
pickerBeginDateBefore: { CombinationNum:""
disabledDate: time => { },
let endTime = new Date(this.queryMsg.EndGroupDate); pickerBeginDateBefore: {
return endTime.getTime() < time.getTime(); disabledDate: time => {
} let endTime = new Date(this.queryMsg.EndGroupDate);
}, return endTime.getTime() < time.getTime();
pickerBeginDateAfter: { }
disabledDate: time => { },
let startTime = new Date(this.queryMsg.StartGroupDate); pickerBeginDateAfter: {
return startTime.getTime() >= time.getTime(); disabledDate: time => {
} let startTime = new Date(this.queryMsg.StartGroupDate);
} return startTime.getTime() >= time.getTime();
}; }
},
methods: {
goUrl(path,obj,title){
this.$router.push({ name:path,query:{"id":obj.TCIDs,'num':obj.CombinationNum,isUpdate:true,blank:'y',tab:title}})
},
//翻页
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
this.getControlList();
},
//重新查询
resetPageIndex() {
this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1;
},
//获取线路列表
getLineList() {
this.apipost("line_post_GetList", {}, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
} }
});
},
//获取系列列表
getLineTeamList() {
this.queryMsg.LineteamId = 0;
let msg = {
lineID: this.queryMsg.LineId,
isTOOP: 1
}; };
this.apipost("team_post_GetList", msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineTeamList = res.data.data;
}
});
}, },
//新获取列表数据 methods: {
getControlList() { goUrl(path, obj, title) {
this.apipost( this.$router.push({
"travel_get_GetUniteDmcPageList", name: path,
this.queryMsg, query: {
res => { "id": obj.TCIDs,
'num': obj.CombinationNum,
isUpdate: true,
blank: 'y',
tab: title
}
})
},
//翻页
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
this.getControlList();
},
//重新查询
resetPageIndex() {
this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1;
},
//获取线路列表
getLineList() {
this.apipost("line_post_GetList", {}, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.queryMsg.total = res.data.data.count; this.queryCommonData.LineList = res.data.data;
this.queryMsg.noData = !this.queryMsg.total > 0;
this.queryCommonData.dataList = res.data.data.pageData;
} }
}, });
err => {} },
); //获取系列列表
} getLineTeamList() {
}, this.queryMsg.LineteamId = 0;
filters: { let msg = {
priceFormat(value) { lineID: this.queryMsg.LineId,
if (value == null) { isTOOP: 1
return 0.0; };
} this.apipost("team_post_GetList", msg, res => {
let nStr = value.toFixed(2); if (res.data.resultCode == 1) {
nStr += ""; this.queryCommonData.LineTeamList = res.data.data;
let x = nStr.split("."); }
let x1 = x[0]; });
let x2 = x.length > 1 ? "." + x[1] : ""; },
var rgx = /(\d+)(\d{3})/; //新获取列表数据
while (rgx.test(x1)) { getControlList() {
x1 = x1.replace(rgx, "$1" + "," + "$2"); this.apipost(
"travel_get_GetUniteDmcPageList",
this.queryMsg,
res => {
if (res.data.resultCode == 1) {
this.queryMsg.total = res.data.data.count;
this.queryMsg.noData = !this.queryMsg.total > 0;
this.queryCommonData.dataList = res.data.data.pageData;
}
},
err => {}
);
} }
return x1 + x2; },
mounted() {
this.getLineTeamList();
},
created() {
var myDate = new Date();
var nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.queryMsg.StartGroupDate = nowDate;
this.getControlList();
} }
}, };
mounted() { </script>
this.getLineTeamList(); \ No newline at end of file
},
created() {
var myDate = new Date();
var nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.queryMsg.StartGroupDate = nowDate;
this.getControlList();
}
};
</script>
...@@ -1170,6 +1170,14 @@ export default { ...@@ -1170,6 +1170,14 @@ export default {
title: '领队用款计划' title: '领队用款计划'
}, },
}, },
{
path: '/leaderPrint', //领队用款计划
name: 'leaderPrint',
component: resolve => require(['@/components/LeaderManagement/leaderPrint'], resolve),
meta: {
title: '领队用款计划打印'
},
},
{ {
path: '/leaderReimbursement', //领队领队报账 path: '/leaderReimbursement', //领队领队报账
name: 'leaderReimbursement', name: 'leaderReimbursement',
......
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