Commit 2f8b58e2 authored by 黄媛媛's avatar 黄媛媛
parents ef9c73c3 991b37d0
<style> <style>
@import url('../../assets/css/domestic/OrderToday.css'); @import url('../../assets/css/domestic/OrderToday.css');
</style> </style>
<template> <template>
<div class="flexOne page_OrderToday page_OrderDetails"> <div class="flexOne page_OrderToday page_OrderDetails">
...@@ -13,12 +14,9 @@ ...@@ -13,12 +14,9 @@
<li> <li>
<span> <span>
<em>航空公司</em> <em>航空公司</em>
<el-select filterable @change="flight_post_GetAirportNameList(msg.AirlineId)" v-model='msg.AirlineId' > <el-select filterable @change="flight_post_GetAirportNameList(msg.AirlineId)" v-model='msg.AirlineId'>
<el-option label='不限' value=''></el-option> <el-option label='不限' value=''></el-option>
<el-option v-for='item in airlineList' <el-option v-for='item in airlineList' :label='item.AlName' :value='item.AirLineId' :key='item.AirLineId'>
:label='item.AlName'
:value='item.AirLineId'
:key='item.AirLineId'>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<span> <span>
<em>航班号</em> <em>航班号</em>
<el-select filterable v-model='msg.FlightNo'> <el-select filterable v-model='msg.FlightNo'>
<el-option v-for='item in AirportNameList' <el-option v-for='item in AirportNameList' :label='item.Flight_number' :value='item.Flight_number'
:label='item.Flight_number'
:value='item.Flight_number'
:key='item.Flight_number'> :key='item.Flight_number'>
</el-option> </el-option>
</el-select> </el-select>
...@@ -46,7 +42,7 @@ ...@@ -46,7 +42,7 @@
</span> </span>
</li> </li>
<li> <li>
<input type="button" class="hollowFixedBtn" value="查询" @click="resetPageIndex(),getList(1)"/> <input type="button" class="hollowFixedBtn" value="查询" @click="resetPageIndex(),getList(1)" />
</li> </li>
</ul> </ul>
</div> </div>
...@@ -62,22 +58,17 @@ ...@@ -62,22 +58,17 @@
<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> <th>航段</th>
<th>操作人</th> <th>操作人</th>
<!-- <th>操作</th> -->
</tr> </tr>
<tr v-for="(item,index) in DataList.list" :key="index"> <tr v-for="(item,index) in DataList.list" :key="index">
<td>{{item.ID}}</td> <td>{{item.ID}}</td>
<td class="_hover"> <td class="_hover">
<el-popover <el-popover placement="bottom" width="220" trigger="click">
placement="bottom"
width="220"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"> <table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr> <tr>
<th width="70"></th> <th width="70"></th>
...@@ -100,10 +91,7 @@ ...@@ -100,10 +91,7 @@
</el-popover> </el-popover>
</td> </td>
<td class="_hover"> <td class="_hover">
<el-popover <el-popover placement="bottom" width="220" trigger="click">
placement="bottom"
width="220"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"> <table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr> <tr>
<th width="70"></th> <th width="70"></th>
...@@ -126,10 +114,7 @@ ...@@ -126,10 +114,7 @@
</el-popover> </el-popover>
</td> </td>
<td class="_hover"> <td class="_hover">
<el-popover <el-popover placement="bottom" width="220" trigger="click">
placement="bottom"
width="220"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"> <table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr> <tr>
<th width="70"></th> <th width="70"></th>
...@@ -151,42 +136,10 @@ ...@@ -151,42 +136,10 @@
<span slot="reference">¥{{item.TotalCost}}</span> <span slot="reference">¥{{item.TotalCost}}</span>
</el-popover> </el-popover>
</td> </td>
<!-- <td class="_hover" >
<el-popover
placement="bottom"
width="300"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0" v-loading="PayInfoLding">
<tr>
<th>单据号</th>
<th>金额</th>
<th>类型</th>
<th>状态</th>
</tr>
<template v-if="PayInfoS&&PayInfoS.length>0">
<tr v-for="(son,sIndex) in PayInfoS" :key="sIndex">
<td @click="goFinanceUrl(son.FrID)" class="cursorpointer">{{son.FrID}}</td>
<td>{{son.PayMoney}}</td>
<td>{{son.TypeName}}</td>
<td>{{son.StatusName}}</td>
</tr>
</template>
<template v-else>
<tr>
<td colspan="4" class="text_alcen">暂无数据</td>
</tr>
</template>
</table>
<span :class="item.IncomeMoney>0?'_color_red':''" slot="reference" @click="getInfo(item.ID)">{{item.IncomeMoney}}</span>
</el-popover>
</td> -->
<td>{{item.ClientName}}</td> <td>{{item.ClientName}}</td>
<td>{{item.TravelTime}}</td> <td>{{item.TravelTime}}</td>
<td colspan="3" class="_hover"> <td colspan="3" class="_hover">
<el-popover <el-popover placement="bottom" width="450" trigger="click">
placement="bottom"
width="450"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"> <table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr> <tr>
<th>航空公司</th> <th>航空公司</th>
...@@ -199,28 +152,19 @@ ...@@ -199,28 +152,19 @@
<td>{{i.Leg}}</td> <td>{{i.Leg}}</td>
</tr> </tr>
</table> </table>
<span slot="reference">{{item.FlightList[0].AirlineName+' — '+item.FlightList[0].FlightNo+' — '+item.FlightList[0].Leg}}</span> <span
slot="reference">{{item.FlightList[0].AirlineName+' — '+item.FlightList[0].FlightNo+' — '+item.FlightList[0].Leg}}</span>
</el-popover> </el-popover>
</td> </td>
<td>{{item.EmName}}</td> <td>{{item.EmName}}</td>
<!-- <td>
<el-tooltip class="item" effect="dark" content="收款" placement="top">
<el-button type="primary" class="_bth_bg_bl" @click="goUrl(item,1)" circle>收</el-button>
</el-tooltip>
</td> -->
</tr> </tr>
</table> </table>
<div class="noData" v-show="noData"> <div class="noData" v-show="noData">
{{$t('system.content_noData')}} {{$t('system.content_noData')}}
</div> </div>
<div> <div>
<el-pagination <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
background layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total>
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize
:total=total>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -228,56 +172,58 @@ ...@@ -228,56 +172,58 @@
</template> </template>
<script> <script>
export default { export default {
data(){ data() {
return{ return {
Term:'', Term: '',
DataList:[], DataList: [],
airlineList:[], airlineList: [],
msg:{ msg: {
pageIndex:1, pageIndex: 1,
pageSize:15, pageSize: 15,
OrderID:'', OrderID: '',
AirlineId:'', AirlineId: '',
FlightNo:'', FlightNo: '',
ClientName:'', ClientName: '',
//Term:'', ParentId: 1,
ParentId:1, ParentId: 0,
ParentId:0,
}, },
AirportNameList:[], AirportNameList: [],
total:0, total: 0,
currentPage:1, currentPage: 1,
loading:true, loading: true,
noData:false, noData: false,
PayInfoS:null, PayInfoS: null,
PayInfoZ:null, PayInfoZ: null,
PayInfoLding:true, PayInfoLding: true,
RB_Branch_Id:'' RB_Branch_Id: ''
} }
}, },
created(){ created() {
this.Term = this.$route.query.Term; this.Term = this.$route.query.Term;
this.msg.ParentId=this.$route.query.ID; this.msg.ParentId = this.$route.query.ID;
}, },
mounted(){ mounted() {
this.getList(this.id); this.getList(this.id);
this.getAirlineList(); this.getAirlineList();
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.RB_Branch_Id = userInfo.RB_Branch_id; this.RB_Branch_Id = userInfo.RB_Branch_id;
}, },
methods:{ methods: {
getInfo(id){ getInfo(id) {
this.PayInfoLding = true; this.PayInfoLding = true;
this.apipost('Financial_post_GetOrderFinanceList',{OrderId:id,OrderResource:9},r=>{ this.apipost('Financial_post_GetOrderFinanceList', {
if(r.data.resultCode==1){ OrderId: id,
OrderResource: 9
}, r => {
if (r.data.resultCode == 1) {
let data = r.data.data; let data = r.data.data;
let PayInfoS=[], let PayInfoS = [],
PayInfoZ=[]; PayInfoZ = [];
data.forEach(x => { data.forEach(x => {
if(x.Type==1){ if (x.Type == 1) {
PayInfoS.push(x) PayInfoS.push(x)
}else{ } else {
PayInfoZ.push(x) PayInfoZ.push(x)
} }
}); });
...@@ -285,105 +231,110 @@ export default { ...@@ -285,105 +231,110 @@ export default {
this.PayInfoS = PayInfoS; this.PayInfoS = PayInfoS;
this.PayInfoLding = false; this.PayInfoLding = false;
} }
},null); }, null);
}, },
goUrl(obj,t){ goUrl(obj, t) {
let orderObj = { let orderObj = {
OrderID:obj.ID, OrderID: obj.ID,
OrderSource:9, OrderSource: 9,
Obj: {}, Obj: {},
SourceID:obj.ParentId, SourceID: obj.ParentId,
TCIDList: [] TCIDList: []
} }
this.$router.push( this.$router.push({
{
name: 'ChoiceAddFinancialDocuments', name: 'ChoiceAddFinancialDocuments',
query:{ query: {
'Type':t, 'Type': t,
'TCIDList':[], 'TCIDList': [],
'path':'TicketingModule', 'path': 'TicketingModule',
'Cmd':'Domestic_Ticket_post_UpdateFrID', 'Cmd': 'Domestic_Ticket_post_UpdateFrID',
'companyID':null, 'companyID': null,
'blank':'y', 'blank': 'y',
'orderObj':JSON.stringify(orderObj) 'orderObj': JSON.stringify(orderObj)
}
} }
); });
}, },
goFinanceUrl(id){ goFinanceUrl(id) {
this.$router.push({name: 'FinancialDocumentsDetail',query:{'id':id}}); this.$router.push({
name: 'FinancialDocumentsDetail',
query: {
'id': id
}
});
}, },
getList(t){ //获取列表 getList(t) { //获取列表
if(this.msg.OrderID==''){ if (this.msg.OrderID == '') {
this.msg.OrderID=0; this.msg.OrderID = 0;
} }
if(this.msg.AirlineId==''){ if (this.msg.AirlineId == '') {
this.msg.AirlineId=0; this.msg.AirlineId = 0;
} }
this.loading = true this.loading = true
this.apipost('Domestic_Ticket_post_GetPageList',this.msg,res=>{ this.apipost('Domestic_Ticket_post_GetPageList', this.msg, res => {
if(res.data.resultCode==1){ if (res.data.resultCode == 1) {
this.total = res.data.data.count; this.total = res.data.data.count;
let data = res.data.data.pageData; let data = res.data.data.pageData;
if(this.total>0){ if (this.total > 0) {
this.noData =false; this.noData = false;
}else{ } else {
this.noData =true; this.noData = true;
} }
this.DataList = data this.DataList = data
this.loading = false; this.loading = false;
if(!t){ if (!t) {
this.msg.OrderID=''; this.msg.OrderID = '';
this.msg.AirlineId=''; this.msg.AirlineId = '';
}else{ } else {
if(this.msg.OrderID==0){ if (this.msg.OrderID == 0) {
this.msg.OrderID=''; this.msg.OrderID = '';
} }
if(this.msg.AirlineId==0){ if (this.msg.AirlineId == 0) {
this.msg.AirlineId=''; this.msg.AirlineId = '';
} }
} }
}else{ } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
this.loading = false; this.loading = false;
if(!t){ if (!t) {
this.msg.OrderID=''; this.msg.OrderID = '';
this.msg.AirlineId=''; this.msg.AirlineId = '';
}else{ } else {
if(this.msg.OrderID==0){ if (this.msg.OrderID == 0) {
this.msg.OrderID=''; this.msg.OrderID = '';
} }
if(this.msg.AirlineId==0){ if (this.msg.AirlineId == 0) {
this.msg.AirlineId=''; this.msg.AirlineId = '';
} }
} }
} }
},err=>{}) }, err => {})
}, },
flight_post_GetAirportNameList(id){ flight_post_GetAirportNameList(id) {
this.msg.FlightNo=''; this.msg.FlightNo = '';
this.AirportNameList=[] this.AirportNameList = []
if(!id) return if (!id) return
this.apipost('flight_post_GetAirportNameList',{airlineID:id},r=>{ this.apipost('flight_post_GetAirportNameList', {
if(r.data.resultCode==1){ airlineID: id
this.msg.FlightNo=''; }, r => {
if (r.data.resultCode == 1) {
this.msg.FlightNo = '';
this.AirportNameList = r.data.data; this.AirportNameList = r.data.data;
} }
},null) }, null)
}, },
getAirlineList() {//获取航空公司* getAirlineList() { //获取航空公司*
this.apipost("airline_post_GetList",{},res => { this.apipost("airline_post_GetList", {}, res => {
this.airlineList = res.data.data; this.airlineList = res.data.data;
},err => {}); }, err => {});
}, },
resetPageIndex() {//查询初始化页码 resetPageIndex() { //查询初始化页码
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.currentPage = 1 this.currentPage = 1
}, },
handleCurrentChange(val) {//翻页功能按钮 handleCurrentChange(val) { //翻页功能按钮
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getList(); this.getList();
}, },
} }
} }
</script> </script>
\ No newline at end of file
<style> <style>
@import url('../../assets/css/domestic/SettlementOrder.css'); @import url('../../assets/css/domestic/SettlementOrder.css');
.page_SettlementOrder td._hover span{
.page_SettlementOrder td._hover span {
border-bottom: 1px solid #333; border-bottom: 1px solid #333;
cursor: pointer; cursor: pointer;
} }
.page_SettlementOrder td._hover._color_red span{
.page_SettlementOrder td._hover._color_red span {
border-bottom: 1px solid #E95252; border-bottom: 1px solid #E95252;
cursor: pointer; cursor: pointer;
} }
.page_SettlementOrder td._hover:hover span{
.page_SettlementOrder td._hover:hover span {
border-bottom: 1px dotted #333; border-bottom: 1px dotted #333;
} }
.sett_popover{
.sett_popover {
max-height: 300px; max-height: 300px;
overflow: auto; overflow: auto;
} }
</style> </style>
<template> <template>
<div class="flexOne page_SettlementOrder"> <div class="flexOne page_SettlementOrder">
<div class='query-box'> <div class='query-box'>
<ul> <ul>
<!-- <li>
<span>
<em>期数</em>
<el-input v-model="msg.Term" class="w210"></el-input>
</span>
</li> -->
<li> <li>
<span> <span>
<em>期数日期</em> <em>期数日期</em>
<el-date-picker <el-date-picker class="h34" v-model="transactionDate" @change="timeAdd()" type="daterange"
class="h34"
v-model="transactionDate"
@change="timeAdd()"
type="daterange"
value-format="yyyy-MM-dd"> value-format="yyyy-MM-dd">
</el-date-picker> </el-date-picker>
</span> </span>
...@@ -41,7 +36,7 @@ ...@@ -41,7 +36,7 @@
<li> <li>
<span> <span>
<em>机票类别</em> <em>机票类别</em>
<el-select filterable v-model='msg.IsInter' > <el-select filterable v-model='msg.IsInter'>
<el-option label='全部' value='-1'></el-option> <el-option label='全部' value='-1'></el-option>
<el-option label='国内机票' value='0'></el-option> <el-option label='国内机票' value='0'></el-option>
<el-option label='国际机票' value='1'></el-option> <el-option label='国际机票' value='1'></el-option>
...@@ -51,7 +46,7 @@ ...@@ -51,7 +46,7 @@
<li> <li>
<span> <span>
<em>状态</em> <em>状态</em>
<el-select filterable v-model='msg.status' > <el-select filterable v-model='msg.status'>
<el-option label='全部' value='-1'></el-option> <el-option label='全部' value='-1'></el-option>
<el-option label='已完成' value='1'></el-option> <el-option label='已完成' value='1'></el-option>
<el-option label='未完成' value='0'></el-option> <el-option label='未完成' value='0'></el-option>
...@@ -59,13 +54,14 @@ ...@@ -59,13 +54,14 @@
</span> </span>
</li> </li>
<li> <li>
<input type="button" class="hollowFixedBtn" value="查询" @click="getList()"/> <input type="button" class="hollowFixedBtn" value="查询" @click="getList()" />
<button class="normalBtn" @click="method5()">导出</button> <button class="normalBtn" @click="method5()">导出</button>
</li> </li>
</ul> </ul>
</div> </div>
<div class="_content"> <div class="_content">
<table class="_content_tab singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0" v-loading = 'loading'> <table class="_content_tab singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"
v-loading='loading'>
<tr> <tr>
<th>机票类别</th> <th>机票类别</th>
<th>期数</th> <th>期数</th>
...@@ -85,47 +81,26 @@ ...@@ -85,47 +81,26 @@
<td>¥{{item.Money}}</td> <td>¥{{item.Money}}</td>
<td>¥{{item.Cost}}</td> <td>¥{{item.Cost}}</td>
<td>¥{{item.Profit}}</td> <td>¥{{item.Profit}}</td>
<td :class="item.Money===item.InCome?'':'_color_red'" @click="jumpPage('FinancialOrderNew',item.ID,item.Term,1)" class="_hover">¥ <td :class="item.Money===item.InCome?'':'_color_red'"
@click="jumpPage('FinancialOrderNew',item.ID,item.Term,1)" class="_hover">¥
<span>{{item.InCome}}</span> <span>{{item.InCome}}</span>
</td> </td>
<td :class="item.Cost===item.PayMoney?'':'_color_red'" @click="jumpPage('FinancialOrderNew',item.ID,item.Term,2)" class="_hover"> <td :class="item.Cost===item.PayMoney?'':'_color_red'"
@click="jumpPage('FinancialOrderNew',item.ID,item.Term,2)" class="_hover">
¥ ¥
<!-- <el-popover
popper-class="sett_popover"
placement="bottom"
width="450"
trigger="click">
<table class="add_table singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>单据号</th>
<th>金额</th>
<th>类型</th>
<th>状态</th>
</tr>
<tr v-for="(i,d) in Details">
<td>{{i.FrID}}</td>
<td>{{i.PayMoney}}</td>
<td>{{i.TypeName}}</td>
<td>{{i.StatusName}}</td>
</tr>
<tr v-if="Details.length==0">
<td colspan="4">暂无数据</td>
</tr>
</table>
<span slot="reference" @click="getDetails(item.ID)">{{item.PayMoney}}</span>
</el-popover> -->
<span>{{item.PayMoney}}</span> <span>{{item.PayMoney}}</span>
</td> </td>
<td :class="Math.abs(item.Money-item.InCome)>0?'_color_red':''">¥{{Math.abs(item.Money-item.InCome)}}</td> <td :class="Math.abs(item.Money-item.InCome)>0?'_color_red':''">¥{{Math.abs(item.Money-item.InCome)}}</td>
<td> <td>
<span v-if="item.Status!=0" :class="Math.abs(item.RealProfit)>0?'_color_red':''">¥{{Math.abs(item.RealProfit)}}</span> <span v-if="item.Status!=0"
:class="Math.abs(item.RealProfit)>0?'_color_red':''">¥{{Math.abs(item.RealProfit)}}</span>
<span v-else>-</span> <span v-else>-</span>
</td> </td>
<td>{{item.EmName}}<br/>{{item.UpdateDate}}</td> <td>{{item.EmName}}<br />{{item.UpdateDate}}</td>
<td> <td>
<el-tooltip class="item" effect="dark" content="详情" placement="top"> <el-tooltip class="item" effect="dark" content="详情" placement="top">
<el-button type="danger" class="_bth_bg_gr" @click="goUrl('OrderDetails',item.Term,item.ID)" circle></el-button> <el-button type="danger" class="_bth_bg_gr" @click="goUrl('OrderDetails',item.Term,item.ID)" circle>
</el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="item.UpdateBy==emID" class="item" effect="dark" content="收款" placement="top"> <el-tooltip v-if="item.UpdateBy==emID" class="item" effect="dark" content="收款" placement="top">
<el-button type="primary" class="_bth_bg_bl" @click="goUrlT(item,1)" circle></el-button> <el-button type="primary" class="_bth_bg_bl" @click="goUrlT(item,1)" circle></el-button>
...@@ -134,7 +109,8 @@ ...@@ -134,7 +109,8 @@
<el-button type="danger" class="_bth_bg_bgr" @click="goUrlT(item,2)" circle></el-button> <el-button type="danger" class="_bth_bg_bgr" @click="goUrlT(item,2)" circle></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="item.UpdateBy==emID" class="item" effect="dark" content="确认" placement="top"> <el-tooltip v-if="item.UpdateBy==emID" class="item" effect="dark" content="确认" placement="top">
<el-button v-if="item.Status==0" type="danger" class="_bth_bg_bl" @click="queren(item)" circle></el-button> <el-button v-if="item.Status==0" type="danger" class="_bth_bg_bl" @click="queren(item)" circle>
</el-button>
</el-tooltip> </el-tooltip>
</td> </td>
</tr> </tr>
...@@ -144,81 +120,79 @@ ...@@ -144,81 +120,79 @@
{{$t('system.content_noData')}} {{$t('system.content_noData')}}
</div> </div>
<div> <div>
<el-pagination <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
background layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size='msg.pageSize'
:total='total'>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data(){ data() {
return{ return {
msg:{ msg: {
Term:'', Term: '',
status:'-1', status: '-1',
PageIndex:1, PageIndex: 1,
pageSize:15, pageSize: 15,
sDate:'', sDate: '',
eDate:'', eDate: '',
IsInter:'-1', IsInter: '-1',
ID:0, ID: 0,
}, },
dataList:[], dataList: [],
noData:false, noData: false,
total:0, total: 0,
emID:0, emID: 0,
currentPage:1, currentPage: 1,
loading:true, loading: true,
transactionDate:[], transactionDate: [],
RB_Branch_Id:'', RB_Branch_Id: '',
Details:[], Details: [],
} }
}, },
created(){ created() {
if(this.$route.query.Term){ if (this.$route.query.Term) {
this.transactionDate[0] = this.$route.query.Term; this.transactionDate[0] = this.$route.query.Term;
this.transactionDate[1] = this.$route.query.Term; this.transactionDate[1] = this.$route.query.Term;
} }
}, },
mounted(){ mounted() {
this.getList(); this.getList();
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.emID=userInfo.EmployeeId; this.emID = userInfo.EmployeeId;
this.RB_Branch_Id = userInfo.RB_Branch_id; this.RB_Branch_Id = userInfo.RB_Branch_id;
this.msg.ID=this.$route.query.id; this.msg.ID = this.$route.query.id;
}, },
methods:{ methods: {
jumpPage(path,id,term,type){ jumpPage(path, id, term, type) {
// let routeData = this.$router.resolve({
// name: path,
// query: { SourceID: id,OrderSource:9,type:type}
// });
// window.open(routeData.href, "_blank");
this.$router.push({ this.$router.push({
name: path, name: path,
query: {SourceID: id,OrderSource:9,type:type,blank:'y',term:term} query: {
SourceID: id,
OrderSource: 9,
type: type,
blank: 'y',
term: term
}
}) })
}, },
queren(obj){ queren(obj) {
this.$confirm('是否已完成'+'“'+obj.Term+'”'+'期?确认后不可撤回!', '提示', { this.$confirm('是否已完成' + '“' + obj.Term + '”' + '期?确认后不可撤回!', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.apipost('Domestic_Ticket_post_Confirm',{ID:obj.ID},r=>{ this.apipost('Domestic_Ticket_post_Confirm', {
if(r.data.resultCode==1){ ID: obj.ID
}, r => {
if (r.data.resultCode == 1) {
let data = r.data.data; let data = r.data.data;
this.$message.success(r.data.message); this.$message.success(r.data.message);
this.getList(); this.getList();
} }
},null); }, null);
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
...@@ -226,18 +200,21 @@ export default { ...@@ -226,18 +200,21 @@ export default {
}); });
}); });
}, },
getDetails(id){ getDetails(id) {
this.Details = []; this.Details = [];
this.apipost('Financial_post_GetOrderFinanceList',{OrderId:0,OrderResource:9,SourceID:id},r=>{ this.apipost('Financial_post_GetOrderFinanceList', {
if(r.data.resultCode==1){ OrderId: 0,
OrderResource: 9,
SourceID: id
}, r => {
if (r.data.resultCode == 1) {
let data = r.data.data; let data = r.data.data;
this.Details = data; this.Details = data;
console.log(data);
} }
},null); }, null);
}, },
timeAdd(){ // 日期格式 timeAdd() { // 日期格式
if(!this.transactionDate){ if (!this.transactionDate) {
this.msg.sDate = ''; this.msg.sDate = '';
this.msg.eDate = ''; this.msg.eDate = '';
return return
...@@ -245,60 +222,71 @@ export default { ...@@ -245,60 +222,71 @@ export default {
this.msg.sDate = this.transactionDate[0]; this.msg.sDate = this.transactionDate[0];
this.msg.eDate = this.transactionDate[1]; this.msg.eDate = this.transactionDate[1];
}, },
goUrlT(obj,t){ goUrlT(obj, t) {
let orderObj = { let orderObj = {
OrderID:0, OrderID: 0,
OrderSource:9, OrderSource: 9,
Obj: {}, Obj: {},
SourceID:obj.ID, SourceID: obj.ID,
TCIDList: [] TCIDList: []
} }
this.$router.push( this.$router.push({
{
name: 'ChoiceAddFinancialDocuments', name: 'ChoiceAddFinancialDocuments',
query:{ query: {
'Type':t, 'Type': t,
'path':'TicketingModule', 'path': 'TicketingModule',
'Cmd':'Domestic_Ticket_post_UpdateFrID', 'Cmd': 'Domestic_Ticket_post_UpdateFrID',
'blank':'y', 'blank': 'y',
'orderObj':JSON.stringify(orderObj) 'orderObj': JSON.stringify(orderObj)
}
} }
); });
}, },
goUrl(path,Term,id){ goUrl(path, Term, id) {
this.$router.push({name:path,query:{'Term':Term,'ID':id,blank:'y'}}) this.$router.push({
name: path,
query: {
'Term': Term,
'ID': id,
blank: 'y'
}
})
}, },
getList(){ getList() {
console.log(this.msg);
this.loading = true; this.loading = true;
this.apipost('Domestic_Ticket_post_GetBillPageList',this.msg,r=>{ this.apipost('Domestic_Ticket_post_GetBillPageList', this.msg, r => {
if(r.data.resultCode==1){ if (r.data.resultCode == 1) {
this.total = r.data.data.count; this.total = r.data.data.count;
if(this.total>0){ if (this.total > 0) {
this.noData =false; this.noData = false;
}else{ } else {
this.noData =true; this.noData = true;
} }
this.dataList = r.data.data.pageData this.dataList = r.data.data.pageData
this.loading =false; this.loading = false;
}else{ } else {
this.$message.error(r.data.message); this.$message.error(r.data.message);
this.loading =false; this.loading = false;
} }
},null) }, null)
},
method5: function () {
this.GetLocalFile("DomesticTicket_post_DownBill", {
'Term': this.msg.Term,
'Status': this.msg.Status,
'sDate': this.msg.sDate,
'eDate': this.msg.eDate,
'emID': this.emID,
'IsInter': this.msg.IsInter
}, "历史账单.xls");
}, },
method5: function() { resetPageIndex() { //查询初始化页码
this.GetLocalFile("DomesticTicket_post_DownBill", {'Term':this.msg.Term,'Status':this.msg.Status,'sDate':this.msg.sDate,'eDate':this.msg.eDate,'emID':this.emID,'IsInter':this.msg.IsInter},"历史账单.xls");
} ,
resetPageIndex() {//查询初始化页码
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.currentPage = 1 this.currentPage = 1
}, },
handleCurrentChange(val) {//翻页功能按钮 handleCurrentChange(val) { //翻页功能按钮
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getList(); this.getList();
}, },
} }
} }
</script> </script>
\ No newline at end of file
...@@ -13,14 +13,8 @@ ...@@ -13,14 +13,8 @@
cursor: pointer; cursor: pointer;
text-decoration: underline; text-decoration: underline;
} }
._bg__ ._bg_red:hover{ .Guid_bg_red{color: #E95252;}
color: rgb(230, 97, 97); .Guid_bg_green{color: #2BB87C}
}
._bg__ ._bg_green:hover{
color:rgb(66, 182, 132);
}
._bg_red{color: #E95252;}
._bg_green{color: #2BB87C}
._addChuNa_tit{color: gray;margin-bottom: 10px;} ._addChuNa_tit{color: gray;margin-bottom: 10px;}
._addChuNa_tit span{ color:#333333} ._addChuNa_tit span{ color:#333333}
</style> </style>
...@@ -95,7 +89,7 @@ ...@@ -95,7 +89,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :gutter="35"> <!-- <el-col :span="8" :gutter="35">
<el-form-item :label="$t('fnc.a_hkfkriqi')"> <el-form-item :label="$t('fnc.a_hkfkriqi')">
<el-date-picker class="h34" <el-date-picker class="h34"
@change="timeAdd" @change="timeAdd"
...@@ -105,16 +99,31 @@ ...@@ -105,16 +99,31 @@
:range-separator="$t('restaurant.res_To')"> :range-separator="$t('restaurant.res_To')">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="汇款/付款日期">
<el-date-picker
@change="timeAdd"
v-model="productionDate"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col> </el-col>
<el-col :span="8" :gutter="35"> <el-col :span="6">
<el-form-item label="发团日期"> <el-form-item label="发团日期">
<el-date-picker class="h34" <el-date-picker
@change="timeAddByTC" @change="timeAddByTC"
v-model="productionDateByTC" v-model="productionDateByTC"
type="daterange" type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:range-separator="$t('restaurant.res_To')"> ></el-date-picker>
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="4" :gutter="35"> <!-- <el-col :span="4" :gutter="35">
...@@ -148,8 +157,8 @@ ...@@ -148,8 +157,8 @@
<th>{{$t('fnc.a_hkfkshijian')}}</th> <th>{{$t('fnc.a_hkfkshijian')}}</th>
<th>{{$t('fnc.jylshuihao')}}</th> <th>{{$t('fnc.jylshuihao')}}</th>
<th>制单人</th> <th>制单人</th>
<th>{{$t('fnc.skjine')}}</th> <th>待收金额</th>
<th>{{$t('fnc.fkjine')}}</th> <th>待付金额</th>
<th>总计</th> <th>总计</th>
</tr> </tr>
<!-- <tr> <!-- <tr>
...@@ -170,9 +179,9 @@ ...@@ -170,9 +179,9 @@
</td> --> </td> -->
<td>{{item.TypeName}}</td> <td>{{item.TypeName}}</td>
<td>{{item.BName}}</td> <td>{{item.BName}}</td>
<!-- <td><span class="cursorpointer" :class="item.Type==1?'_bg_green':'_bg_red'" @click="goUrl('FinancialDocumentsDetail',item.FinanceId)">{{ item.FinanceId }}</span> </td> --> <!-- <td><span class="cursorpointer" :class="item.Type==1?'Guid_bg_green':'Guid_bg_red'" @click="goUrl('FinancialDocumentsDetail',item.FinanceId)">{{ item.FinanceId }}</span> </td> -->
<td> <td>
<span class="cursorpointer" :class=" item.Type === 1 ? '_bg_green' : '_bg_red'" @click="goUrlNew(item)"> <span class="cursorpointer" :class=" item.Type === 1 ? 'Guid_bg_green' : 'Guid_bg_red'" @click="goUrlNew(item)">
{{ item.FinanceId }}</span> {{ item.FinanceId }}</span>
</td> </td>
<td> <td>
......
...@@ -510,12 +510,12 @@ ...@@ -510,12 +510,12 @@
findex: 0, findex: 0,
childIndex: 0, childIndex: 0,
//修改酒店价格,付款方式权限[0-不能修改,1-有权限修改] //修改酒店价格,付款方式权限[0-不能修改,1-有权限修改]
IsEditHotel: 0, IsEditHotel: 1,
//0-可以操作,1-已制单,不能操作 //0-可以操作,1-已制单,不能操作
IsOperation: 1, IsOperation: 1,
LeaderName: "", //领队名称 LeaderName: "", //领队名称
GuideName: "", //导游名称 GuideName: "", //导游名称
IsEditHotelPeople: 0, //是否有修改人数权限[0-不能修改,1-可以修改] IsEditHotelPeople: 1, //是否有修改人数权限[0-不能修改,1-可以修改]
IsCombine: false, //是否是合团,true-是合团,false-不是合团 IsCombine: false, //是否是合团,true-是合团,false-不是合团
allCurrencyList: [], //币种列表 allCurrencyList: [], //币种列表
} }
......
...@@ -26,21 +26,21 @@ ...@@ -26,21 +26,21 @@
</th> </th>
</tr> </tr>
<tr> <tr>
<th width="150">用餐时间</th> <th width="100">用餐时间</th>
<th width="250">餐厅名称</th> <th width="200">餐厅名称</th>
<th width="160">修改餐厅</th> <th width="150">修改餐厅</th>
<th width="80">类别</th> <th width="80">类别</th>
<th width="200" style="display:none;">餐饮类型</th> <th width="200" style="display:none;">餐饮类型</th>
<th width="80">总人数</th> <th width="70">总人数</th>
<th width="70">用餐人<br />类型</th> <th width="70">用餐人<br />类型</th>
<th width="70">用餐<br />人数</th> <th width="70">用餐<br />人数</th>
<th width="100">价格</th> <th width="90">价格</th>
<th width="100">免人数</th> <th width="90">免人数</th>
<th width="80">金额小计</th> <th width="80">金额小计</th>
<th width="100">返佣</th> <th width="90">返佣</th>
<th width="120">总金额</th> <th width="100">总金额</th>
<th width="210">付款方式/订餐方式/订团号</th> <th width="210">付款方式/订餐方式/订团号</th>
<th width="80">备注</th> <th width="170">备注</th>
</tr> </tr>
<template v-for="(item,index) in list"> <template v-for="(item,index) in list">
<template v-for="(subItem,subIndex) in item.DiningSummaryList"> <template v-for="(subItem,subIndex) in item.DiningSummaryList">
...@@ -81,7 +81,6 @@ ...@@ -81,7 +81,6 @@
<el-option v-for='itemHotel in item.DinnerList' :label='itemHotel.RealName' :value='itemHotel.ID' <el-option v-for='itemHotel in item.DinnerList' :label='itemHotel.RealName' :value='itemHotel.ID'
:key='itemHotel.ID'></el-option> :key='itemHotel.ID'></el-option>
</el-select> </el-select>
</td> </td>
<td v-if="childIndex==0" :rowspan="3"> <td v-if="childIndex==0" :rowspan="3">
{{subItem.UseDinnerTypeStr}} {{subItem.UseDinnerTypeStr}}
...@@ -102,7 +101,8 @@ ...@@ -102,7 +101,8 @@
<span class="spanlink" v-if='childItem.PeoplePrice==0' <span class="spanlink" v-if='childItem.PeoplePrice==0'
@click="goUrl('RestaurantPackage',subItem,'套餐查询')">设置</span> @click="goUrl('RestaurantPackage',subItem,'套餐查询')">设置</span>
<template v-else> <template v-else>
{{childItem.PeoplePrice}} <el-input class='w50 tcenter' @input='calculationPrice(subItem)' v-model='childItem.PeoplePrice'
@keyup.native="checkInteger(childItem,'PeoplePrice')"></el-input>
</template> </template>
</td> </td>
<td> <td>
...@@ -141,7 +141,6 @@ ...@@ -141,7 +141,6 @@
付款方式: 付款方式:
</td> </td>
<td style="text-align:left;"> <td style="text-align:left;">
<el-select class='w135 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')"> <el-select class='w135 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')">
<el-option label='请选择' :value='0'></el-option> <el-option label='请选择' :value='0'></el-option>
<el-option label='现付' :value='1' v-if="subItem.PayStyleExt==1"></el-option> <el-option label='现付' :value='1' v-if="subItem.PayStyleExt==1"></el-option>
...@@ -150,7 +149,6 @@ ...@@ -150,7 +149,6 @@
<el-option label='预付' :value='4' v-if="subItem.PayStyleExt==4"></el-option> <el-option label='预付' :value='4' v-if="subItem.PayStyleExt==4"></el-option>
<el-option label='预付款抵扣' :value='5' v-if="subItem.PayStyleExt==5"></el-option> <el-option label='预付款抵扣' :value='5' v-if="subItem.PayStyleExt==5"></el-option>
<el-option label='公司合团支付' :value='6'></el-option> <el-option label='公司合团支付' :value='6'></el-option>
</el-select> </el-select>
</td> </td>
</tr> </tr>
...@@ -186,7 +184,22 @@ ...@@ -186,7 +184,22 @@
</table> </table>
</td> </td>
<td v-if="childIndex==0" :rowspan="3"> <td v-if="childIndex==0" :rowspan="3">
<el-input type='textarea' rows="4" class='w120' v-model='subItem.Remarks'></el-input> <table class="dinnerTable">
<tr>
<td width="80" style="text-align:right;">备注:</td>
<td>
<el-input type='textarea' rows="2" class='w120' v-model='subItem.Remarks'></el-input>
</td>
</tr>
<tr>
<td width="80" style="text-align:right;">
餐配备注:
</td>
<td style="text-align:left;">
<el-input type='textarea' rows="2" class='w120' v-model='subItem.DinnerRemark'></el-input>
</td>
</tr>
</table>
</td> </td>
</tr> </tr>
</template> </template>
...@@ -195,7 +208,6 @@ ...@@ -195,7 +208,6 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
...@@ -309,7 +321,8 @@ ...@@ -309,7 +321,8 @@
obj.DiningPriceList.forEach((item, index) => { obj.DiningPriceList.forEach((item, index) => {
var tempPrice = 0; var tempPrice = 0;
var coefficient = 1; var coefficient = 1;
totalPrice += item.PeoplePrice * (item.PeopleNum - item.Discount) * (coefficient - item.DiscountPrice / 100); totalPrice += item.PeoplePrice * (item.PeopleNum - item.Discount) * (coefficient - item.DiscountPrice /
100);
totalPrice += tempPrice; totalPrice += tempPrice;
}) })
obj.TotalPrice = totalPrice.toFixed(2); obj.TotalPrice = totalPrice.toFixed(2);
...@@ -322,24 +335,18 @@ ...@@ -322,24 +335,18 @@
else if (currentObj.ID == 3) { else if (currentObj.ID == 3) {
obj.NewTotalPrice = ""; obj.NewTotalPrice = "";
} else { } else {
if(currentObj.CurrentRate>1) if (currentObj.CurrentRate > 1) {
{ obj.NewTotalPrice = currentObj.Name + ":" + ((totalPrice * jpaObj.PayRate) / currentObj.CurrentRate)
obj.NewTotalPrice = currentObj.Name + ":" + ((totalPrice*jpaObj.PayRate)/currentObj.CurrentRate).toFixed(2); .toFixed(2);
} } else {
else obj.NewTotalPrice = currentObj.Name + ":" + ((totalPrice * jpaObj.PayRate) * currentObj.CurrentRate)
{ .toFixed(2);
obj.NewTotalPrice = currentObj.Name + ":" + ((totalPrice*jpaObj.PayRate)*currentObj.CurrentRate).toFixed(2);
} }
} }
} else { } else {
obj.NewTotalPrice = ""; obj.NewTotalPrice = "";
} }
this.$forceUpdate(); this.$forceUpdate();
// let totalPrice = 0;
// obj.DiningPriceList.forEach(item => {
// totalPrice += item.PeoplePrice * (item.PeopleNum - item.Discount) * (1 - item.DiscountPrice / 100);
// })
// obj.TotalPrice = totalPrice.toFixed(2);
}, },
saveList(type) { saveList(type) {
this.IsDisabled = true; this.IsDisabled = true;
......
...@@ -41,8 +41,15 @@ ...@@ -41,8 +41,15 @@
<th>操作人员</th> <th>操作人员</th>
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td> <a style="color:blue;cursor:pointer" @click='goUrlT("RegistrationList",item.TCID,"报名清单")'> <td>
({{item.TCID}}){{item.TCNUM}} </a></td> <template v-if="item.TCID>0">
<a style="color:blue;cursor:pointer" @click='goUrlT("RegistrationList",item.TCID,"报名清单")'>
({{item.TCID}}){{item.TCNUM}} </a>
</template>
<template v-else>
{{item.TCNUM}}
</template>
</td>
<td>{{item.OutBranchName}}</td> <td>{{item.OutBranchName}}</td>
<td>{{item.LineName}}</td> <td>{{item.LineName}}</td>
<td>{{item.TicketNum}}</td> <td>{{item.TicketNum}}</td>
......
...@@ -373,7 +373,8 @@ ...@@ -373,7 +373,8 @@
:class="{'TC_hasContent':item.OPInnerRemark==''&&item.OPRemark==''}"> :class="{'TC_hasContent':item.OPInnerRemark==''&&item.OPRemark==''}">
<div class="TC_remarkContent TC_teamName"> <div class="TC_remarkContent TC_teamName">
<div class="clearfix"> <div class="clearfix">
<div class="TCL_remarkTitle" style="width:105px;"><span style="font-weight: 100;text-decoration:underline;cursor:pointer;color: #e95252;" <div class="TCL_remarkTitle" style="width:105px;"><span
style="font-weight: 100;text-decoration:underline;cursor:pointer;color: #e95252;"
v-if="item.ScoreNum >= 0" v-if="item.ScoreNum >= 0"
@click='goInvetig("investigationList", item.TCID, 0)'>(评分{{item.ScoreNum}})</span> @click='goInvetig("investigationList", item.TCID, 0)'>(评分{{item.ScoreNum}})</span>
{{$t('Operation.Op_TeamName')}}</div> {{$t('Operation.Op_TeamName')}}</div>
...@@ -445,7 +446,8 @@ ...@@ -445,7 +446,8 @@
<div>{{fItem.FlightArrivalTime}} {{fItem.Arrival_time}}</div> <div>{{fItem.FlightArrivalTime}} {{fItem.Arrival_time}}</div>
<div style="margin-top:5px;">({{fItem.AIATA}}){{fItem.aName}}</div> <div style="margin-top:5px;">({{fItem.AIATA}}){{fItem.aName}}</div>
</td> </td>
<td><template v-if="fItem.StopoverIATA">({{fItem.StopoverIATA}})</template>{{fItem.StopoverName}}</td> <td><template
v-if="fItem.StopoverIATA">({{fItem.StopoverIATA}})</template>{{fItem.StopoverName}}</td>
</tr> </tr>
</table> </table>
<div class="FlightDiv-TCL" slot="reference"> <div class="FlightDiv-TCL" slot="reference">
...@@ -501,9 +503,9 @@ ...@@ -501,9 +503,9 @@
<commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj" <commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj"
:TCID="item.TCID" :DMCNum="item.DMCNum" :TCNUM="item.TCNUM" :TCID="item.TCID" :DMCNum="item.DMCNum" :TCNUM="item.TCNUM"
@SetShouPeiShu="SetShouPeiShu(item.TCID,item.ShouPeiStatus)"></commonHotelInfo> @SetShouPeiShu="SetShouPeiShu(item.TCID,item.ShouPeiStatus)"></commonHotelInfo>
<div slot="reference" > <div slot="reference">
<span class="price" <span class="price" style="cursor:pointer;text-decoration:underline;">酒店预订状况</span> <span
style="cursor:pointer;text-decoration:underline;">酒店预订状况</span> <span style="color: #e95252">op{{item.OpSureHouse==2 ? '已确认' : '未确认'}}分房</span> style="color: #e95252">op{{item.OpSureHouse==2 ? '已确认' : '未确认'}}分房</span>
</div> </div>
</el-popover> </el-popover>
...@@ -782,6 +784,10 @@ ...@@ -782,6 +784,10 @@
<el-dropdown-item v-if="item.TCState==3" @click.native="Setshelves(item.TCID)"> <el-dropdown-item v-if="item.TCState==3" @click.native="Setshelves(item.TCID)">
{{$t('Operation.Op_xiajia')}} {{$t('Operation.Op_xiajia')}}
</el-dropdown-item> </el-dropdown-item>
<!--酒店下架-->
<el-dropdown-item v-if="item.LineID==14" @click.native="RemoveHotelJourneyOrder(item.TCID)">
酒店下架
</el-dropdown-item>
<el-dropdown-item v-if="item.Status==1" @click.native="OutGroup(item.TCID,2)"> <el-dropdown-item v-if="item.Status==1" @click.native="OutGroup(item.TCID,2)">
{{$t('Operation.Op_jietuan')}} {{$t('Operation.Op_jietuan')}}
</el-dropdown-item> </el-dropdown-item>
...@@ -1077,15 +1083,15 @@ ...@@ -1077,15 +1083,15 @@
//当前登录用户信息 //当前登录用户信息
CurrentUserInfo: {}, CurrentUserInfo: {},
showHotelObj: { showHotelObj: {
showPrice: true,//是否显示价格 showPrice: true, //是否显示价格
showPay: false,//是否显示支付方式 showPay: false, //是否显示支付方式
showZhan: true,//占房时间 showZhan: true, //占房时间
showBtnList: false,//是否下载、确认按钮 showBtnList: false, //是否下载、确认按钮
ShowTaxType: false, //显示税入税别 ShowTaxType: false, //显示税入税别
ShowRebateRatio: false, //显示返佣比列 ShowRebateRatio: false, //显示返佣比列
ShowSupplier:false,//是否显示供应商 ShowSupplier: false, //是否显示供应商
showCaozuoTime:true,//操作时间 showCaozuoTime: true, //操作时间
colspanLength:4//跨行 colspanLength: 4 //跨行
}, },
IsModifyTravelControl: 0, //分公司是否有修改团控权限 IsModifyTravelControl: 0, //分公司是否有修改团控权限
pickerBeginDateBefore: { pickerBeginDateBefore: {
...@@ -1427,6 +1433,24 @@ ...@@ -1427,6 +1433,24 @@
} }
} }
}, },
//单团酒店下架
RemoveHotelJourneyOrder(TCID) {
var that = this;
this.Confirm("是否要下架酒店?下架过后将释放酒店库存!", function () {
let msg = {
TCID: TCID,
}
that.apipost('travel_post_RemoveHotelJourneyOrderService', msg, res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message)
that.getControlList()
} else {
that.Info(res.data.message)
}
})
});
},
//单团设置下架 //单团设置下架
Setshelves(TCID) { Setshelves(TCID) {
let msg = { let msg = {
......
...@@ -140,46 +140,46 @@ ...@@ -140,46 +140,46 @@
<tr> <tr>
<td> <td>
人数:{{sendReceiptData.StartCityName}}出发 人数:{{sendReceiptData.StartCityName}}出发
<el-input type="text" class="w100" v-model="sendReceiptData.StartCityNum"/> <el-input type="text" class="w100" v-model="sendReceiptData.StartCityNum" @keyup.native="checkPrice(sendReceiptData,'StartCityNum')" />
</td> </td>
<td width="250"> <td width="250">
其他:凑票 其他:凑票
<el-input type="text" class="w135" v-model="sendReceiptData.TogetherNum"/> <el-input type="text" class="w135" v-model="sendReceiptData.TogetherNum" @keyup.native="checkPrice(sendReceiptData,'TogetherNum')" />
</td> </td>
<td colspan="7"> <td colspan="7">
外站JOIN 外站JOIN
<el-input type="text" class="w100" v-model="sendReceiptData.OutsideNum"/> <el-input type="text" class="w100" v-model="sendReceiptData.OutsideNum" @keyup.native="checkPrice(sendReceiptData,'OutsideNum')" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
小费:金额 小费:金额
<el-input type="text" class="w128" v-model="sendReceiptData.Trip"/> <el-input type="text" class="w128" v-model="sendReceiptData.Trip" @keyup.native="checkPrice(sendReceiptData,'Trip')" />
元/位 元/位
</td> </td>
<td> <td>
人数:共 人数:共
<el-input type="text" class="w150" v-model="sendReceiptData.TripNum"/> <el-input type="text" class="w150" v-model="sendReceiptData.TripNum" @keyup.native="checkPrice(sendReceiptData,'TripNum')" />
</td> </td>
<td colspan="7"> <td colspan="7">
总计: 总计:
<el-input type="text" class="w120" v-model="sendReceiptData.TripTotal"/> <el-input type="text" class="w120" v-model="sendReceiptData.TripTotal" @keyup.native="checkPrice(sendReceiptData,'TripTotal')" />
万日元 万日元
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
团款: 团款:
<el-input type="text" class="w160" v-model="sendReceiptData.TeamPrice"/> <el-input type="text" class="w160" v-model="sendReceiptData.TeamPrice" @keyup.native="checkPrice(sendReceiptData,'TeamPrice')" />
人民币 人民币
</td> </td>
<td colspan="8"> <td colspan="8">
名单表费: 名单表费:
<el-input type="text" class="w135" v-model="sendReceiptData.TableFee"/> <el-input type="text" class="w135" v-model="sendReceiptData.TableFee" @keyup.native="checkPrice(sendReceiptData,'TableFee')" />
</td> </td>
</tr> </tr>
...@@ -541,7 +541,6 @@ ...@@ -541,7 +541,6 @@
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.sendReceiptData = res.data.data; this.sendReceiptData = res.data.data;
console.log("sendReceiptData",this.sendReceiptData);
this.isShow=true; this.isShow=true;
}else{ }else{
this.Error(res.data.message); this.Error(res.data.message);
......
...@@ -37,14 +37,17 @@ ...@@ -37,14 +37,17 @@
.GD_comPad { .GD_comPad {
padding: 0 !important; padding: 0 !important;
} }
.groundLastTable{
margin:20px 0; .groundLastTable {
font-size:12px; margin: 20px 0;
font-size: 12px;
} }
.gdBtn{
.gdBtn {
position: relative; position: relative;
top:-45px; top: -45px;
} }
</style> </style>
<template> <template>
...@@ -89,13 +92,13 @@ ...@@ -89,13 +92,13 @@
<td>机票负责人</td> <td>机票负责人</td>
<td> <td>
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].CreateByName}} <el-input v-model='PrincipalList[0].CreateByName' class='w200'></el-input>
</template> </template>
</td> </td>
<td>联系电话</td> <td>联系电话</td>
<td colspan="5"> <td colspan="5">
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].CreateByMobile}} <el-input v-model='PrincipalList[0].CreateByMobile' class='w200'></el-input>
</template> </template>
</td> </td>
</tr> </tr>
...@@ -103,13 +106,13 @@ ...@@ -103,13 +106,13 @@
<td>订房负责人</td> <td>订房负责人</td>
<td> <td>
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].HConfirmName}} <el-input v-model='PrincipalList[0].HConfirmName' class='w200'></el-input>
</template> </template>
</td> </td>
<td>联系电话</td> <td>联系电话</td>
<td colspan="5"> <td colspan="5">
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].HConfirmMobile}} <el-input v-model='PrincipalList[0].HConfirmMobile' class='w200'></el-input>
</template> </template>
</td> </td>
</tr> </tr>
...@@ -117,13 +120,13 @@ ...@@ -117,13 +120,13 @@
<td>车辆负责人</td> <td>车辆负责人</td>
<td> <td>
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].BConfirmName}} <el-input v-model='PrincipalList[0].BConfirmName' class='w200'></el-input>
</template> </template>
</td> </td>
<td>联系电话</td> <td>联系电话</td>
<td colspan="5"> <td colspan="5">
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].BConfirmMobile}} <el-input v-model='PrincipalList[0].BConfirmMobile' class='w200'></el-input>
</template> </template>
</td> </td>
</tr> </tr>
...@@ -131,13 +134,13 @@ ...@@ -131,13 +134,13 @@
<td>订餐负责人</td> <td>订餐负责人</td>
<td> <td>
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].DConfirmName}} <el-input v-model='PrincipalList[0].DConfirmName' class='w200'></el-input>
</template> </template>
</td> </td>
<td>联系电话</td> <td>联系电话</td>
<td colspan="5"> <td colspan="5">
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].DConfirmMobile}} <el-input v-model='PrincipalList[0].DConfirmMobile' class='w200'></el-input>
</template> </template>
</td> </td>
</tr> </tr>
...@@ -145,13 +148,13 @@ ...@@ -145,13 +148,13 @@
<td>门票负责人</td> <td>门票负责人</td>
<td> <td>
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].TConfirmName}} <el-input v-model='PrincipalList[0].TConfirmName' class='w200'></el-input>
</template> </template>
</td> </td>
<td>联系电话</td> <td>联系电话</td>
<td colspan="5"> <td colspan="5">
<template v-if="PrincipalList.length>0"> <template v-if="PrincipalList.length>0">
{{PrincipalList[0].TConfirmMobile}} <el-input v-model='PrincipalList[0].TConfirmMobile' class='w200'></el-input>
</template> </template>
</td> </td>
</tr> </tr>
...@@ -198,8 +201,8 @@ ...@@ -198,8 +201,8 @@
<td>{{subItem.ReserveNo}}</td> <td>{{subItem.ReserveNo}}</td>
<td style="text-align:left;">{{subItem.HotelName}}</td> <td style="text-align:left;">{{subItem.HotelName}}</td>
<td>{{subItem.CheckInDateStr}}</td> <td>{{subItem.CheckInDateStr}}</td>
<td>{{DMCStaticsCommon.HouseStatistics.NeedBed}}/{{DMCStaticsCommon.HouseStatistics.NoNeedBed}}</td> <td>{{getHotelTotalNum(subItem)}}</td>
<td>{{DMCStaticsCommon.HouseStatistics.RealityRoomNum}}</td> <td>{{getHotelTotal(subItem)}}</td>
<td>{{subItem.Tel}}</td> <td>{{subItem.Tel}}</td>
<td style="text-align:left;">{{subItem.Address}}</td> <td style="text-align:left;">{{subItem.Address}}</td>
<td style="text-align:left;">{{subItem.Remarks}}</td> <td style="text-align:left;">{{subItem.Remarks}}</td>
...@@ -225,10 +228,11 @@ ...@@ -225,10 +228,11 @@
<tr v-for="subItem in item.DiningSummaryList"> <tr v-for="subItem in item.DiningSummaryList">
<td>{{subItem.ReserveNo}}</td> <td>{{subItem.ReserveNo}}</td>
<td>{{subItem.UseTimeStr}}</td> <td>{{subItem.UseTimeStr}}</td>
<td>{{subItem.DiningName}}</td> <td style="text-align:left;">{{subItem.DiningName}}</td>
<td>{{subItem.UseDinnerTypeStr}}</td> <td>{{subItem.UseDinnerTypeStr}}</td>
<td>{{subItem.MealName}}</td> <td>{{subItem.MealName}}</td>
<td>{{DMCStaticsCommon.HouseStatistics.RealityNum>0?(DMCStaticsCommon.HouseStatistics.RealityNum-1):0}}+1</td> <td>{{getDinnerTotal(subItem)}}
</td>
<td>{{subItem.Tel}}</td> <td>{{subItem.Tel}}</td>
<td style="text-align:left;">{{subItem.Address}}</td> <td style="text-align:left;">{{subItem.Address}}</td>
<td style="text-align:left;">{{subItem.Remarks}}</td> <td style="text-align:left;">{{subItem.Remarks}}</td>
...@@ -250,8 +254,10 @@ ...@@ -250,8 +254,10 @@
<tbody v-for="item in DMCStaticsCommon.ScenicList"> <tbody v-for="item in DMCStaticsCommon.ScenicList">
<tr v-for="subItem in item.ScenicStatisticsList"> <tr v-for="subItem in item.ScenicStatisticsList">
<td>{{subItem.UseTimeStr}}</td> <td>{{subItem.UseTimeStr}}</td>
<td>{{subItem.ScenicName}}</td> <td style="text-align:left;">{{subItem.ScenicName}}</td>
<td>{{DMCStaticsCommon.HouseStatistics.RealityNum>0?(DMCStaticsCommon.HouseStatistics.RealityNum-1):0}}+1</td> <td>
{{getScenicTotal(subItem)}}
</td>
<td>{{subItem.Tel}}</td> <td>{{subItem.Tel}}</td>
<td style="text-align:left;">{{subItem.Address}}</td> <td style="text-align:left;">{{subItem.Address}}</td>
<td style="text-align:left;">{{subItem.Remarks}}</td> <td style="text-align:left;">{{subItem.Remarks}}</td>
...@@ -308,8 +314,8 @@ ...@@ -308,8 +314,8 @@
注意事项: 注意事项:
</td> </td>
<td> <td>
<el-input v-model="PostConfig.PlanDescription" type="textarea" class="w700" :autosize="{minRows: 3, maxRows: 3 }" <el-input v-model="PostConfig.PlanDescription" type="textarea" class="w700"
resize="none" placeholder="注意事项" maxlength="300"></el-input> :autosize="{minRows: 3, maxRows: 3 }" resize="none" placeholder="注意事项" maxlength="300"></el-input>
<input type="button" class="normalBtn gdBtn" @click="UpdateLeaderPay" value="保存" /> <input type="button" class="normalBtn gdBtn" @click="UpdateLeaderPay" value="保存" />
<input type="button" class="normalBtn gdBtn" @click="DownLoadLeaderPay" value="下载" /> <input type="button" class="normalBtn gdBtn" @click="DownLoadLeaderPay" value="下载" />
</td> </td>
...@@ -344,10 +350,49 @@ ...@@ -344,10 +350,49 @@
TCIDs: "", TCIDs: "",
PlanDescription: "" PlanDescription: ""
}, },
loading2:false, loading2: false,
}; };
}, },
methods: { methods: {
//酒店统计(用房数)
getHotelTotal(item) {
var totalCount = 0;
item.OrderDetailsList.forEach(subItem => {
totalCount+= subItem.HouseTypeCount;
});
return totalCount;
},
getHotelTotalNum(item) {
var totalCount = 0;
var noBed=0;
item.OrderDetailsList.forEach((subItem,subIndex) => {
if(subItem.HouseType<=4)
{
totalCount+= subItem.BookNum;
}
else if(subItem.HouseType==6)
{
noBed+= subItem.BookNum;
}
});
return totalCount+"/"+noBed;
},
//景点统计
getScenicTotal(item) {
var totalCount = 0;
item.TicketPriceList.forEach(subItem => {
totalCount += subItem.UsePeopleNum - subItem.Discount;
});
return totalCount;
},
//餐厅人数统计
getDinnerTotal(item) {
var totalCount = 0;
item.DiningPriceList.forEach(subItem => {
totalCount += subItem.UsePeopleNum - subItem.Discount;
});
return totalCount;
},
//根据团号获取负责人的信息 //根据团号获取负责人的信息
getConfirmName() { getConfirmName() {
let msg = { let msg = {
...@@ -355,9 +400,9 @@ ...@@ -355,9 +400,9 @@
NewCombinationNum: '', NewCombinationNum: '',
}; };
//更新酒店图片 //更新酒店图片
this.loading2=true; this.loading2 = true;
this.apipost( "dmcstatistics_post_GetExtendLeaderAllStatics",msg,res => { this.apipost("dmcstatistics_post_GetExtendLeaderAllStatics", msg, res => {
this.loading2=false; this.loading2 = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.BaseInfo = res.data.data.BaseInfo; this.BaseInfo = res.data.data.BaseInfo;
this.PrincipalList = res.data.data.PrincipalList; this.PrincipalList = res.data.data.PrincipalList;
...@@ -366,6 +411,7 @@ ...@@ -366,6 +411,7 @@
this.DMCStaticsCommon = res.data.data.DMCStaticsCommon; this.DMCStaticsCommon = res.data.data.DMCStaticsCommon;
this.shopList = res.data.data.shopList; this.shopList = res.data.data.shopList;
this.PostConfig = res.data.data.DMCStaticsCommon.LeaderApply; this.PostConfig = res.data.data.DMCStaticsCommon.LeaderApply;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -400,7 +446,10 @@ ...@@ -400,7 +446,10 @@
}, },
UpdateLeaderPay() { UpdateLeaderPay() {
this.PostConfig.TCIDs = this.TCIDs; this.PostConfig.TCIDs = this.TCIDs;
this.apipost('dmcstatistics_post_AuditLeaderapply', this.PostConfig, res => { this.apipost('dmcstatistics_post_AuditLeaderapply', {
LeaderApply: this.PostConfig,
LeaderGuidePlan: this.PrincipalList[0]
}, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success(res.data.message); this.Success(res.data.message);
} else { } else {
...@@ -415,10 +464,10 @@ ...@@ -415,10 +464,10 @@
uid: this.getLocalStorage().EmployeeId uid: this.getLocalStorage().EmployeeId
}; };
let fileName = "导游计划表" + this.$commonUtils.getCurrentDate() + ".xls"; let fileName = "导游计划表" + this.$commonUtils.getCurrentDate() + ".xls";
this.loading=true; this.loading = true;
this.GetLocalFile("dmcstatistics_get_DwonLoadLeaderapply", msg, fileName, this.GetLocalFile("dmcstatistics_get_DwonLoadLeaderapply", msg, fileName,
res => { res => {
this.loading=false; this.loading = false;
}); });
} }
}, },
...@@ -428,4 +477,5 @@ ...@@ -428,4 +477,5 @@
this.getConfirmName(); this.getConfirmName();
} }
}; };
</script> </script>
...@@ -1270,7 +1270,7 @@ export default { ...@@ -1270,7 +1270,7 @@ export default {
}, null) }, null)
}, },
goZhiDan: function(obj) { goZhiDan: function(obj) {
let id = [59,63]; let id = [59,63,78];
let TCIDARR = [obj.TCIDS]; let TCIDARR = [obj.TCIDS];
let orderObj = { let orderObj = {
OrderID: 0, OrderID: 0,
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<TravelPrice3 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip" <TravelPrice3 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip"
v-if="TeamType==2" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" v-if="TeamType==2" :priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid"
:TeamType="TeamType"></TravelPrice3> :TeamType="TeamType"></TravelPrice3>
<div class="btnFixedDiv"> <div class="btnFixedDiv" v-if="IsShowBtn">
<div class="toTop" @click="backTop"> <div class="toTop" @click="backTop">
<i class="iconfont icon-huidaodingbu"></i> <i class="iconfont icon-huidaodingbu"></i>
</div> </div>
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
}, },
data() { data() {
return { return {
IsShowBtn:false,//是否显示按钮
ConfigId: 0, //地址栏查询参数 ConfigId: 0, //地址栏查询参数
NewConfigId: "", //configID加密后的字符串【预览使用】 NewConfigId: "", //configID加密后的字符串【预览使用】
TCNUM: '', //团控列表传过来的tcnum TCNUM: '', //团控列表传过来的tcnum
...@@ -630,7 +631,6 @@ ...@@ -630,7 +631,6 @@
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
var tempData = res.data.data; var tempData = res.data.data;
if (tempData.Feature != null) { if (tempData.Feature != null) {
this.FeatureData.ID = tempData.Feature.ID; this.FeatureData.ID = tempData.Feature.ID;
this.FeatureData.ConfigId = tempData.Feature.ConfigId; this.FeatureData.ConfigId = tempData.Feature.ConfigId;
...@@ -753,6 +753,7 @@ ...@@ -753,6 +753,7 @@
this.Error(res.data.message); this.Error(res.data.message);
} }
this.loading = false; this.loading = false;
this.IsShowBtn=true;
}, },
err => {} err => {}
); );
...@@ -783,6 +784,7 @@ ...@@ -783,6 +784,7 @@
this.Error(res.data.message); this.Error(res.data.message);
} }
this.loading = false; this.loading = false;
this.IsShowBtn=true;
}, },
err => {} err => {}
); );
......
...@@ -12,7 +12,7 @@ export default { ...@@ -12,7 +12,7 @@ export default {
install(Vue, options) { install(Vue, options) {
Vue.prototype.MsgBus = MsgBus; Vue.prototype.MsgBus = MsgBus;
Vue.prototype.md5 = md5; Vue.prototype.md5 = md5;
Vue.prototype.orderBy = function(source, orders, type) { Vue.prototype.orderBy = function (source, orders, type) {
if ( if (
source instanceof Array && source instanceof Array &&
orders instanceof Array && orders instanceof Array &&
...@@ -22,9 +22,8 @@ export default { ...@@ -22,9 +22,8 @@ export default {
var sorttype = type || "asc"; var sorttype = type || "asc";
var results = []; var results = [];
var totalSum = {}; var totalSum = {};
function grouporder(source, orders, totalSum) { function grouporder(source, orders, totalSum) {
source.sort(function(a, b) { source.sort(function (a, b) {
var convertA = a[orders[0]]; var convertA = a[orders[0]];
var convertB = b[orders[0]]; var convertB = b[orders[0]];
if (typeof convertA == "string" && typeof convertB == "string") { if (typeof convertA == "string" && typeof convertB == "string") {
...@@ -41,7 +40,6 @@ export default { ...@@ -41,7 +40,6 @@ export default {
} }
} }
}); });
var groupmap = new Map(); var groupmap = new Map();
source.forEach(item => { source.forEach(item => {
if (groupmap.has(item[orders[0]])) { if (groupmap.has(item[orders[0]])) {
...@@ -51,9 +49,7 @@ export default { ...@@ -51,9 +49,7 @@ export default {
groupmap.get(item[orders[0]]).push(item); groupmap.get(item[orders[0]]).push(item);
} }
}); });
orders.shift(); orders.shift();
for (let [key, val] of groupmap) { for (let [key, val] of groupmap) {
totalSum[key] = {}; totalSum[key] = {};
totalSum[key].name = key; totalSum[key].name = key;
...@@ -67,9 +63,7 @@ export default { ...@@ -67,9 +63,7 @@ export default {
} }
} }
} }
grouporder(source, ordersc, totalSum); grouporder(source, ordersc, totalSum);
return { return {
results: results, results: results,
totalSum: totalSum totalSum: totalSum
...@@ -78,7 +72,8 @@ export default { ...@@ -78,7 +72,8 @@ export default {
return source; return source;
} }
}, },
Vue.prototype.calcPageSize = function(itemHeight) {
Vue.prototype.calcPageSize = function (itemHeight) {
let yuHeight = itemHeight let yuHeight = itemHeight
try { try {
let obj = null let obj = null
...@@ -100,7 +95,7 @@ export default { ...@@ -100,7 +95,7 @@ export default {
} }
return Math.floor(yuHeight / itemHeight) return Math.floor(yuHeight / itemHeight)
} }
Vue.prototype.random_string = function(len) { Vue.prototype.random_string = function (len) {
len = len || 32; len = len || 32;
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var maxPos = chars.length; var maxPos = chars.length;
...@@ -111,18 +106,14 @@ export default { ...@@ -111,18 +106,14 @@ export default {
return pwd; return pwd;
}, },
//是否是线上环境【发布时修改为true】 //是否是线上环境【发布时修改为true】
Vue.prototype.isOnline = function() { Vue.prototype.isOnline = function () {
return process.env.NODE_ENV !== 'development'; return process.env.NODE_ENV !== 'development';
}, },
//域名管理对象 //域名管理对象
Vue.prototype.domainManager = function() { Vue.prototype.domainManager = function () {
let domainUrl = ''; let domainUrl = '';
let locationName = window.location.hostname; let locationName = window.location.hostname;
//domainUrl = "http://192.168.2.214:8082"; domainUrl = "http://192.168.2.214:8082";
domainUrl = "http://localhost:13491";
//domainUrl = "http://192.168.2.16:8083";
//domainUrl = "http://192.168.0.110";
if (locationName.indexOf('oytour') !== -1) { if (locationName.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
} else if (locationName.indexOf('viitto') !== -1) { } else if (locationName.indexOf('viitto') !== -1) {
...@@ -137,6 +128,8 @@ export default { ...@@ -137,6 +128,8 @@ export default {
UploadFileUrl: domainUrl + '/api/File/post', UploadFileUrl: domainUrl + '/api/File/post',
//本站模板文件下载地址 //本站模板文件下载地址
LocalTemplateFileDownLoadUrl: domainUrl, LocalTemplateFileDownLoadUrl: domainUrl,
//酒店接口
HotelApi: "http://reborn.oytour.com/api/common/post",
//阿里服务器地址 //阿里服务器地址
AliUrl: "https://reborndev.oss-cn-hangzhou.aliyuncs.com", AliUrl: "https://reborndev.oss-cn-hangzhou.aliyuncs.com",
//本站文件流下载地址 //本站文件流下载地址
...@@ -157,14 +150,14 @@ export default { ...@@ -157,14 +150,14 @@ export default {
}; };
return obj; return obj;
}, },
Vue.prototype.yinyanFn = function(url, successCall, faildCall) { Vue.prototype.yinyanFn = function (url, successCall, faildCall) {
this.$http.jsonp(url, ) this.$http.jsonp(url, )
.then(res => { .then(res => {
successCall(res) successCall(res)
}, faildCall) }, faildCall)
}, },
//消息成功提示 //消息成功提示
Vue.prototype.Success = function(msg) { Vue.prototype.Success = function (msg) {
this.$message({ this.$message({
message: msg, message: msg,
duration: 2000, duration: 2000,
...@@ -172,7 +165,7 @@ export default { ...@@ -172,7 +165,7 @@ export default {
}); });
}, },
//错误提示 //错误提示
Vue.prototype.Error = function(msg) { Vue.prototype.Error = function (msg) {
this.$message({ this.$message({
message: msg, message: msg,
duration: 2000, duration: 2000,
...@@ -181,7 +174,7 @@ export default { ...@@ -181,7 +174,7 @@ export default {
}, },
//一般提示 //一般提示
Vue.prototype.Info = function(msg) { Vue.prototype.Info = function (msg) {
this.$message({ this.$message({
message: msg, message: msg,
duration: 2000, duration: 2000,
...@@ -189,7 +182,7 @@ export default { ...@@ -189,7 +182,7 @@ export default {
}); });
}, },
//警告提示 //警告提示
Vue.prototype.Warning = function(msg) { Vue.prototype.Warning = function (msg) {
this.$message({ this.$message({
message: msg, message: msg,
duration: 2000, duration: 2000,
...@@ -197,7 +190,7 @@ export default { ...@@ -197,7 +190,7 @@ export default {
}); });
}, },
//Confirm //Confirm
Vue.prototype.Confirm = function(msg, callback) { Vue.prototype.Confirm = function (msg, callback) {
this.$confirm(msg, "提示", { this.$confirm(msg, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
...@@ -212,9 +205,8 @@ export default { ...@@ -212,9 +205,8 @@ export default {
this.Info("已取消操作"); this.Info("已取消操作");
}); });
}, },
//打开新窗口连接 //打开新窗口连接
Vue.prototype.OpenNewUrl = function(URL) { Vue.prototype.OpenNewUrl = function (URL) {
if (URL != '') { if (URL != '') {
if (URL.indexOf("https") != -1) { if (URL.indexOf("https") != -1) {
var str = 'http://' + URL.substring(8); var str = 'http://' + URL.substring(8);
...@@ -228,24 +220,8 @@ export default { ...@@ -228,24 +220,8 @@ export default {
} }
} }
Vue.prototype.uploadImg = function(tcID, msg, successCall, faildCall) {
var apiurl = this.domainManager().UploadUrl + '/Upload/UploadBase64Two?fileType=1&fileLimit=5&&filePath=Freature/' + tcID;
this.$http.post(apiurl, {
FileIndex: msg.FileIndex,
MyFile: msg.MyFile
}, {
headers: {
"Content-Type": "application/x-www-form-urlencoded;"
},
}).then(function(res) {
console.log(res)
})
}
//HTTP提交数据 //HTTP提交数据
Vue.prototype.apipost = function(cmd, msg, successCall, faildCall) { Vue.prototype.apipost = function (cmd, msg, successCall, faildCall, isOnline) {
if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('confirmationOrderDownLoad') === -1 && this.$route.name.indexOf('PrintPage') === -1) { if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('confirmationOrderDownLoad') === -1 && this.$route.name.indexOf('PrintPage') === -1) {
let previousPathInfo = { let previousPathInfo = {
path: this.$route.name, path: this.$route.name,
...@@ -257,6 +233,10 @@ export default { ...@@ -257,6 +233,10 @@ export default {
msg = {} msg = {}
} }
var apiurl = this.domainManager().PostUrl; var apiurl = this.domainManager().PostUrl;
//酒店接口
if (isOnline) {
apiurl = this.domainManager().HotelApi;
}
var timestamp = (new Date()).valueOf(); var timestamp = (new Date()).valueOf();
this.apiurl = apiurl; this.apiurl = apiurl;
if (this.$route.path.toLowerCase() == "/signature") { if (this.$route.path.toLowerCase() == "/signature") {
...@@ -304,8 +284,8 @@ export default { ...@@ -304,8 +284,8 @@ export default {
}, faildCall) }, faildCall)
}, },
//供应商版请求接口方法
Vue.prototype.ApiPost2 = function(cmd, msg, successCall, faildCall) { Vue.prototype.ApiPost2 = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") { if (msg == null || msg == "") {
msg = {} msg = {}
} }
...@@ -319,7 +299,6 @@ export default { ...@@ -319,7 +299,6 @@ export default {
path: '/SupplierLogin' path: '/SupplierLogin'
}) })
} }
var token = ""; var token = "";
var key = ""; var key = "";
if (this.getLocalStorageSupplier() != null) { if (this.getLocalStorageSupplier() != null) {
...@@ -336,7 +315,6 @@ export default { ...@@ -336,7 +315,6 @@ export default {
"sign": md5Str, "sign": md5Str,
"uid": uid "uid": uid
} }
this.$http.post(apiNewurl, postData, { this.$http.post(apiNewurl, postData, {
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
...@@ -354,7 +332,8 @@ export default { ...@@ -354,7 +332,8 @@ export default {
}, faildCall) }, faildCall)
}, },
Vue.prototype.apiJavaPost = function(cmd, msg, successCall, faildCall) { //请求Java接口
Vue.prototype.apiJavaPost = function (cmd, msg, successCall, faildCall) {
if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('confirmationOrderDownLoad') === -1 && this.$route.name.indexOf('PrintPage') === -1 && this.$route.name.indexOf('clientConfirm') === -1) { if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('confirmationOrderDownLoad') === -1 && this.$route.name.indexOf('PrintPage') === -1 && this.$route.name.indexOf('clientConfirm') === -1) {
let previousPathInfo = { let previousPathInfo = {
path: this.$route.name, path: this.$route.name,
...@@ -412,8 +391,9 @@ export default { ...@@ -412,8 +391,9 @@ export default {
} }
}, faildCall) }, faildCall)
}, },
//下载文件 //下载文件
Vue.prototype.GetLocalFile = function(cmd, msg, fileName, successCall) { Vue.prototype.GetLocalFile = function (cmd, msg, fileName, successCall) {
var apiurl = this.domainManager().LocalFileStreamDownLoadUrl; var apiurl = this.domainManager().LocalFileStreamDownLoadUrl;
var timestamp = (new Date()).valueOf(); var timestamp = (new Date()).valueOf();
if (!localStorage.userInfo && localStorage.userInfo != "" && this.$route.path.toLowerCase() != "/login") { if (!localStorage.userInfo && localStorage.userInfo != "" && this.$route.path.toLowerCase() != "/login") {
...@@ -449,10 +429,10 @@ export default { ...@@ -449,10 +429,10 @@ export default {
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
successCall(res); successCall(res);
}).catch(function(res) {}); }).catch(function (res) {});
}, },
//ERP本地缓存
Vue.prototype.getLocalStorage = function() { Vue.prototype.getLocalStorage = function () {
var localStorageData = window.localStorage["userInfo"]; var localStorageData = window.localStorage["userInfo"];
if (localStorageData !== undefined && localStorageData != 'undefined') { if (localStorageData !== undefined && localStorageData != 'undefined') {
return JSON.parse(localStorageData); return JSON.parse(localStorageData);
...@@ -460,8 +440,8 @@ export default { ...@@ -460,8 +440,8 @@ export default {
return null; return null;
} }
}, },
//供应商本地缓存
Vue.prototype.getLocalStorageSupplier = function() { Vue.prototype.getLocalStorageSupplier = function () {
var localStorageData = window.localStorage["userInfo"]; var localStorageData = window.localStorage["userInfo"];
if (localStorageData !== undefined && localStorageData != 'userInfo') { if (localStorageData !== undefined && localStorageData != 'userInfo') {
return JSON.parse(localStorageData); return JSON.parse(localStorageData);
...@@ -471,11 +451,11 @@ export default { ...@@ -471,11 +451,11 @@ export default {
}, },
//PDF预览 //PDF预览
Vue.prototype.previewPDF = function(url) { Vue.prototype.previewPDF = function (url) {
window.open(this.domainManager().PDFViewUrl + url); window.open(this.domainManager().PDFViewUrl + url);
}, },
//文件下载
Vue.prototype.downloadFile = function(objectKey) { Vue.prototype.downloadFile = function (objectKey) {
var co = require('co'); var co = require('co');
var OSS = require('ali-oss'); var OSS = require('ali-oss');
var oss = new OSS({ var oss = new OSS({
...@@ -489,10 +469,9 @@ export default { ...@@ -489,10 +469,9 @@ export default {
link.href = url; link.href = url;
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
}, },
Vue.prototype.downloadFileRename = function(objectKey, filename, fileurl) { //文件重命名下载
Vue.prototype.downloadFileRename = function (objectKey, filename, fileurl) {
var co = require('co'); var co = require('co');
var OSS = require('ali-oss'); var OSS = require('ali-oss');
var oss = new OSS({ var oss = new OSS({
...@@ -501,7 +480,6 @@ export default { ...@@ -501,7 +480,6 @@ export default {
accessKeySecret: 'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI', accessKeySecret: 'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI',
bucket: 'reborndev' bucket: 'reborndev'
}) })
let url = ''; let url = '';
if (fileurl) if (fileurl)
url = fileurl url = fileurl
...@@ -533,9 +511,9 @@ export default { ...@@ -533,9 +511,9 @@ export default {
window.URL.revokeObjectURL(link.href); window.URL.revokeObjectURL(link.href);
} }
}); });
}, },
Vue.prototype.getFileBlob = function(objectKey, filename) { //获取文件Blob
Vue.prototype.getFileBlob = function (objectKey, filename) {
var co = require('co'); var co = require('co');
var OSS = require('ali-oss'); var OSS = require('ali-oss');
var oss = new OSS({ var oss = new OSS({
...@@ -558,7 +536,22 @@ export default { ...@@ -558,7 +536,22 @@ export default {
}); });
return getBlob return getBlob
}, },
Vue.prototype.uploadSelfBlob = function(path, files, successCall) { //文件上传
Vue.prototype.uploadImg = function (tcID, msg, successCall, faildCall) {
var apiurl = this.domainManager().UploadUrl + '/Upload/UploadBase64Two?fileType=1&fileLimit=5&&filePath=Freature/' + tcID;
this.$http.post(apiurl, {
FileIndex: msg.FileIndex,
MyFile: msg.MyFile
}, {
headers: {
"Content-Type": "application/x-www-form-urlencoded;"
},
}).then(function (res) {
})
},
//Blob文件上传
Vue.prototype.uploadSelfBlob = function (path, files, successCall) {
let that = this; let that = this;
var uploadUrl = that.domainManager().UploadUrl + "/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath=" + path; var uploadUrl = that.domainManager().UploadUrl + "/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath=" + path;
var formData = new FormData(); var formData = new FormData();
...@@ -573,7 +566,7 @@ export default { ...@@ -573,7 +566,7 @@ export default {
//path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包 //path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包
//files 文件数组 //files 文件数组
//p 进度回调函数 //p 进度回调函数
Vue.prototype.uploadFile = function(path, files, successCall) { Vue.prototype.uploadFile = function (path, files, successCall) {
if (files && files.length > 0) { if (files && files.length > 0) {
let nameList = new Array() let nameList = new Array()
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
...@@ -586,31 +579,30 @@ export default { ...@@ -586,31 +579,30 @@ export default {
bucket: 'reborndev' bucket: 'reborndev'
}) })
let that = this let that = this
co(function*() { co(function* () {
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
let fileName = nameList[index] let fileName = nameList[index]
fileName = "/New" + path + fileName + "." + files[index].name.split('.').pop() fileName = "/New" + path + fileName + "." + files[index].name.split('.').pop()
var result = yield oss.multipartUpload(fileName, files[index], { var result = yield oss.multipartUpload(fileName, files[index], {
progress: function*(p) {}, progress: function* (p) {},
mime: 'application/octet-stream' mime: 'application/octet-stream'
}) })
successCall(result); successCall(result);
} }
}).catch(function(err) { }).catch(function (err) {
console.log(err); console.log(err);
}); });
} }
}, },
//上传文件到本地服务器 //上传文件到本地服务器
Vue.prototype.UploadSelfFileT = function(path, files, successCall, ocr) { Vue.prototype.UploadSelfFileT = function (path, files, successCall, ocr) {
if (files && files.length > 0) { if (files && files.length > 0) {
let nameList = new Array() let nameList = new Array()
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
nameList.push(this.random_string()); nameList.push(this.random_string());
} }
let that = this; let that = this;
co(function*() { co(function* () {
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
let fileName = nameList[index] let fileName = nameList[index]
fileName = path + fileName + "." + files[index].name.split('.').pop() fileName = path + fileName + "." + files[index].name.split('.').pop()
...@@ -622,7 +614,7 @@ export default { ...@@ -622,7 +614,7 @@ export default {
successCall(res); successCall(res);
}) })
} }
}).catch(function(err) { }).catch(function (err) {
console.log("上传文件出错" + err); console.log("上传文件出错" + err);
}); });
} }
...@@ -632,7 +624,7 @@ export default { ...@@ -632,7 +624,7 @@ export default {
//type : m_filt 填充 m_w 宽度固定 高度不固定 m_h 高度固定 宽度不固定 //type : m_filt 填充 m_w 宽度固定 高度不固定 m_h 高度固定 宽度不固定
// w : 宽 // w : 宽
// h : 高 // h : 高
Vue.prototype.compressImg = function(path, type, w, h) { Vue.prototype.compressImg = function (path, type, w, h) {
let url = this.domainManager().UploadUrl; let url = this.domainManager().UploadUrl;
let poise = 'm_filt'; let poise = 'm_filt';
w = w ? w : '' w = w ? w : ''
...@@ -644,7 +636,7 @@ export default { ...@@ -644,7 +636,7 @@ export default {
} }
return url + '/image/index?filePath=' + path.replace('http://192.168.2.214:8130', '').replace('http://imgfile.oytour.com', '').split('?')[0] + '&process=resize,' + poise + ',w_' + w + ',h_' + h; return url + '/image/index?filePath=' + path.replace('http://192.168.2.214:8130', '').replace('http://imgfile.oytour.com', '').split('?')[0] + '&process=resize,' + poise + ',w_' + w + ',h_' + h;
} }
Vue.prototype.uploadSelfBlob = function(path, files, successCall) { Vue.prototype.uploadSelfBlob = function (path, files, successCall) {
let that = this; let that = this;
var uploadUrl = that.domainManager().UploadUrl + "/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath=" + path; var uploadUrl = that.domainManager().UploadUrl + "/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath=" + path;
var formData = new FormData(); var formData = new FormData();
...@@ -658,7 +650,7 @@ export default { ...@@ -658,7 +650,7 @@ export default {
}, },
//验证只能输入2位小数【负数:isMinus传true】 //验证只能输入2位小数【负数:isMinus传true】
Vue.prototype.checkPrice = function(item, filed, isMinus) { Vue.prototype.checkPrice = function (item, filed, isMinus) {
var value = "" + item[filed]; //转字符串 var value = "" + item[filed]; //转字符串
var t = value.charAt(0); var t = value.charAt(0);
value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
...@@ -676,7 +668,7 @@ export default { ...@@ -676,7 +668,7 @@ export default {
item[filed] = value; item[filed] = value;
} }
//验证输入6位小数汇率 //验证输入6位小数汇率
Vue.prototype.checkRate = function(item, filed) { Vue.prototype.checkRate = function (item, filed) {
var value = "" + item[filed]; //转字符串 var value = "" + item[filed]; //转字符串
var p1 = /[^\d\.]/g; // 过滤非数字及小数点 /g :所有范围中过滤 var p1 = /[^\d\.]/g; // 过滤非数字及小数点 /g :所有范围中过滤
var p2 = /(\.\d{6})\d*$/g; var p2 = /(\.\d{6})\d*$/g;
...@@ -691,7 +683,7 @@ export default { ...@@ -691,7 +683,7 @@ export default {
} }
//验证只能输入整数【负数:isMinus传true】 //验证只能输入整数【负数:isMinus传true】
Vue.prototype.checkInteger = function(item, filed, isMinus) { Vue.prototype.checkInteger = function (item, filed, isMinus) {
var value = "" + item[filed]; //转字符串 var value = "" + item[filed]; //转字符串
var t = value.charAt(0); var t = value.charAt(0);
value = value.replace(this.$commonUtils.Regex.isInteger, ""); value = value.replace(this.$commonUtils.Regex.isInteger, "");
...@@ -701,7 +693,8 @@ export default { ...@@ -701,7 +693,8 @@ export default {
} }
item[filed] = value; item[filed] = value;
} }
Vue.prototype.checkTime = function(item, filed) { //时间验证
Vue.prototype.checkTime = function (item, filed) {
var date = item[filed]; var date = item[filed];
if (date.length == 1) { if (date.length == 1) {
var v1 = date.substring(0, 1); var v1 = date.substring(0, 1);
...@@ -746,7 +739,7 @@ export default { ...@@ -746,7 +739,7 @@ export default {
} }
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun //价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue.prototype.moneyFormat = function(value) { Vue.prototype.moneyFormat = function (value) {
let nStr = Number(value).toFixed(2) let nStr = Number(value).toFixed(2)
nStr += ''; nStr += '';
let x = nStr.split('.'); let x = nStr.split('.');
...@@ -758,8 +751,8 @@ export default { ...@@ -758,8 +751,8 @@ export default {
} }
return x1 + x2; return x1 + x2;
}, },
//文件图标
Vue.prototype.loadFileICON = function(suffix) { Vue.prototype.loadFileICON = function (suffix) {
let icons = [{ let icons = [{
"name": "\u7f51\u76d8BT\u79bb\u7ebf\u4e0b\u8f7d", "name": "\u7f51\u76d8BT\u79bb\u7ebf\u4e0b\u8f7d",
......
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