Commit 82e22106 authored by 华国豪's avatar 华国豪 🙄
parents 7502ad8a b7103bd8
......@@ -92,6 +92,17 @@
._TCIDAndTCNUMList{
display: flex;
}
.JumpDivTitleOne{
margin-left:20px;
font-size:14px;
}
.JumpDivTitleTwo{
margin:10px 0 0 20px;
font-size:14px;
}
.JumpSpan{
margin:0 20px;
}
</style>
<template >
......@@ -157,7 +168,7 @@
<template>
<el-col :span="4">
<el-form-item label="费用类型:">
<el-select filterable v-model='msg.CostTypeID' >
<el-select filterable v-model='msg.CostTypeID'>
<el-option :value="0" label="不限"></el-option>
<el-option v-for="item in GetCostTypeList" :key="item.ID" :value="item.ID" :label="item.Name"></el-option>
</el-select>
......@@ -292,10 +303,11 @@
<em @click.stop="heightQueryBox=!heightQueryBox">高级查询 <i class="iconfont icon-gengduo"></i></em>
</span> -->
<button class="hollowFixedBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="method5()">导出</button>
<!-- <button class="normalBtn" @click="method5()">导出</button> -->
</li>
</ul>
<div>应收金额:{{SumYingShou}} 实收金额:{{SumShiShou}} 待收金额:{{SumDaiShou}} <br/>应付金额:{{SumYingFu}} 实付金额:{{SumShiFu}} 待付金额:{{SumDaiFu}}</div>
<div class="JumpDivTitleOne">应收金额:{{SumYingShou}} <span class="JumpSpan">实收金额:{{SumShiShou}}</span> 待收金额:{{SumDaiShou}}</div>
<div class="JumpDivTitleTwo">应付金额:{{SumYingFu}} <span class="JumpSpan">实付金额:{{SumShiFu}}</span> 待付金额:{{SumDaiFu}}</div>
</div>
<div class="_fnDm_content" v-loading='loading'>
<v-table
......@@ -700,6 +712,7 @@ export default {
eMoney:'',
CurrencyId:'0',
CostTypeID:'',
CostTypeIDs:'',
Conditon:'',
TCID:'',
TradeWay:'0',
......@@ -820,6 +833,25 @@ export default {
if(this.$route.query.Type){
this.msg.Type = this.$route.query.Type+'';
}
if(this.$route.query.year && this.$route.query.month)
{
this.msg.sTradeDate=this.$route.query.year+"-"+this.$route.query.month+"-01";
var d1=new Date( this.msg.sTradeDate);
var d2=new Date(d1);
d2.setMonth(d2.getMonth()+1);
d2.setDate(d2.getDate()-1);
var month = d2.getMonth()+1;
var day = d2.getDate();
this.msg.eTradeDate= d2.getFullYear()+'-'+month+'-'+day;
this.transactionDate[0]=this.msg.sTradeDate;
this.transactionDate[1]= this.msg.eTradeDate;
}
if(this.$route.query.BranchId){
this.msg.RB_Branch_Id=parseInt(this.$route.query.BranchId);
}
if(this.$route.query.CostIds){
this.msg.CostTypeID=parseInt(this.$route.query.CostIds);
}
},components: {
"my-Bill": myBill,
"my-RVB-Bill":myrbvBill,
......@@ -896,7 +928,7 @@ export default {
if(!this.msg.CurrencyId)this.msg.CurrencyId=0;
if(!this.msg.CostTypeID)this.msg.CostTypeID=0;
if(!this.msg.TemplateId)this.msg.TemplateId=0;
if(!this.msg.RB_Branch_Id)this.msg.RB_Branch_Id=-1;
if(this.msg.RB_Branch_Id=='undefined')this.msg.RB_Branch_Id=-1;
if(!this.msg.RB_Depart_Id)this.msg.RB_Depart_Id=0;
if(!this.msg.UpdateBy)this.msg.UpdateBy=0;
if(!this.msg.TCID)this.msg.TCID=0;
......
......@@ -79,7 +79,7 @@ import Vue from "vue";
//一月
Vue.component("YiYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.YiYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.YiYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',1,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.YiYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -99,6 +99,7 @@ Vue.component("YiYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -108,7 +109,7 @@ Vue.component("YiYueJump", {
//二月
Vue.component("ErYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.ErYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ErYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',2,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ErYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -128,6 +129,7 @@ Vue.component("ErYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -137,7 +139,7 @@ Vue.component("ErYueJump", {
//三月
Vue.component("SanYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.SanYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.SanYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',3,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.SanYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -157,6 +159,7 @@ Vue.component("SanYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -166,7 +169,7 @@ Vue.component("SanYueJump", {
//四月
Vue.component("SiYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.SiYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.SiYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',4,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.SiYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -186,6 +189,7 @@ Vue.component("SiYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -195,7 +199,7 @@ Vue.component("SiYueJump", {
//五月
Vue.component("WuYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.WuYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.WuYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',5,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.WuYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -215,6 +219,7 @@ Vue.component("WuYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -224,7 +229,7 @@ Vue.component("WuYueJump", {
//六月
Vue.component("LiuYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.LiuYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.LiuYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',6,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.LiuYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -244,6 +249,7 @@ Vue.component("LiuYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -253,7 +259,7 @@ Vue.component("LiuYueJump", {
//七月
Vue.component("QiYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.QiYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.QiYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',7,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.QiYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -273,6 +279,7 @@ Vue.component("QiYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -282,7 +289,7 @@ Vue.component("QiYueJump", {
//八月
Vue.component("BaYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.BaYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.BaYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',8,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.BaYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -302,6 +309,7 @@ Vue.component("BaYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -311,7 +319,7 @@ Vue.component("BaYueJump", {
//九月
Vue.component("JiuYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.JiuYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.JiuYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',9,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.JiuYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -331,6 +339,7 @@ Vue.component("JiuYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -340,7 +349,7 @@ Vue.component("JiuYueJump", {
//十月
Vue.component("ShiYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.ShiYue,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiYue}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',10,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiYue}}</span>`,
props: {
rowData: {
type: Object
......@@ -360,6 +369,7 @@ Vue.component("ShiYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -369,7 +379,7 @@ Vue.component("ShiYueJump", {
//十一月
Vue.component("ShiYiYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.ShiYi,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiYi}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',11,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiYi}}</span>`,
props: {
rowData: {
type: Object
......@@ -389,6 +399,7 @@ Vue.component("ShiYiYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......@@ -398,7 +409,7 @@ Vue.component("ShiYiYueJump", {
//十二月
Vue.component("ShiErYueJump", {
// 团队跳转
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',rowData.ShiEr,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiEr}}</span>`,
template: `<span style="cursor: pointer" @click="goUrl('JumpReport',12,rowData.Year,rowData.BranchId,rowData.CostIds)">{{rowData.ShiEr}}</span>`,
props: {
rowData: {
type: Object
......@@ -418,6 +429,7 @@ Vue.component("ShiErYueJump", {
year:year,
month:month,
BranchId:BranchId,
CostIds:ids,
blank: "y"
}
});
......
......@@ -35,7 +35,7 @@
<div :class="stockColor(item.data.InventoryType)" v-if="item.data&&item.month===calendar.data.date">
<p><span @click="goUrlA('2', item)" class="text_underLine">价格:{{item.data.CostPrice}}{{item.data.CurrencyName}}</span></p>
<p><span class="text_underLine" @click="goUrlB(item)">总库存:{{item.data.Inventory}}(间)</span></p>
<p><span>剩余库存:{{item.data.RemainingInventory}}(间)</span></p>
<p><span class="text_underLine" @click="goUrlHotelTeam(item)">剩余库存:{{item.data.RemainingInventory}}(间)</span></p>
<p><span v-if="item.data.Inventory!==item.data.RemainingInventory" class="text_underLine">已使用库存:{{item.data.UseAmount}}(间)</span></p>
<p><span v-if="item.data.Inventory!==item.data.RemainingInventory">欠房数量:{{item.data.OweAmount}}(间)</span></p>
<p><span v-if="item.data.Inventory!==item.data.RemainingInventory" class="text_underLine">已确定:{{item.data.SureAmount}}(间)</span></p>
......@@ -110,6 +110,9 @@
this.$emit('goEdit', type, item.day)
// this.$router.push({ name: 'HotelProductEdit', query: { type: type, HotelId: this.hotelId, day: item.day,blank: 'y', tab: '报价管理'} });
},
goUrlHotelTeam:function(item){
this.$router.push({ name: 'HotelsTeam', query: { HotelId: item.data.HotelId,StartDate:item.data.DayStr, blank: 'y', tab: '酒店相关团'} });
},
goUrlB: function (item) {
this.$router.push({ name: 'HotelTotalStock', query: { HotelId: this.hotelId, blank: 'y', tab: '总库存看板'} });
}
......
<template>
<div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " class="ownScrollbarStyle">
<table border="0" cellspacing="1" cellpadding="0" class="roomReservationsDetailsTalbe" v-loading='loading'>
<tr>
<th width="50">序号</th>
<th width="80">公司团号</th>
<th width="80">出发地</th>
<th width="80">领队</th>
<th width="80">导游</th>
<th width="120">机位总数/(Y/E/F)</th>
<th width="120">占床/不占床</th>
<th width="80">实际用房数 </th>
<th width="150">房间类型</th>
<th width="80">房间数</th>
<th width="80">房间人数</th>
<th width="150">房间预定数</th>
<th width="120">尚差房间数</th>
<th width="80">单价/每人</th>
<th width="80">免减人数</th>
<th width="80">金额小计</th>
<th width="80">返佣</th>
<th width="80">金额总计</th>
<th width="80">付款方式</th>
<th width="80">联系电话</th>
<th width="80">地址</th>
<th width="80">订团号</th>
<th width="80">备注</th>
<th width="80">操作</th>
</tr>
<tr v-for="(item,index) in dataList">
<td><div class="w80">{{index}}</div></td>
<td><div class="w120">{{item.TCNUMS}}</div></td>
<td><div class="w120">{{item.StartCityNames}}</div></td>
<td><div class="w120">{{item.LeaderName}}</div></td>
<td><div class="w120">{{item.GuideName}}</div></td>
<td><div class="w120">{{item.TotalSeat}}/{{item.CommonReport.HouseStatistics.RealityYSeatNum}}/
{{item.CommonReport.HouseStatistics.RealityESeatNum}}/{{item.CommonReport.HouseStatistics.RealityFSeatNum}}</div></td>
<td><div class="w80">{{item.CommonReport.HouseStatistics.NeedBed}}/{{item.CommonReport.HouseStatistics.NoNeedBed}}</div></td>
<td><div class="w80">{{item.CommonReport.HouseStatistics.RealityRoomNum}}</div></td>
<td>
<div class="w150">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseTypeName}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseGuestNum}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="o in item.CommonReport.HotelList[0].OrderDetailsList">
<el-input class='w50 tcenter' @keyup.native="checkInteger(o,'HouseTypeCount')" v-model='o.HouseTypeCount'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" :class="{colorRed:o.HouseTypeCount-item.CommonReport.HouseStatistics.HouseTypeList[index].HouseTypeCount<0}" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
{{o.HouseTypeCount-item.CommonReport.HouseStatistics.HouseTypeList[index].HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="w120">
<p class="pHouseStyle" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
<el-input @keyup.native="checkInteger(o,'UnitPrice')" class='w80 tcenter' v-model='o.UnitPrice'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
<el-input class='w50' @keyup.native="checkInteger(o,'HotelDiscount')" v-model='o.HotelDiscount'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
{{o.UnitPrice*(o.HouseGuestNum-o.HotelDiscount)}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle link" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
<span class="spanlink" v-if='o.IsRebateRatio==0' @click="goUrl('HotelInfo',o,'酒店管理')">设置</span>
<span v-if='o.IsRebateRatio!=0'>{{o.RebateRatio}}</span>
</p>
</div>
</td>
<td>
<div class="w120">
{{item.TotalPrice}}
</div>
</td>
<td>
<div class="w120">
<el-select class='w100 sel' v-model='item.PayStyle' :placeholder="$t('pub.pleaseSel')">
<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='5' ></el-option>
<el-option label='预付' value='4' ></el-option>
</el-select>
</div>
</td>
<td>
<div class="w120">{{item.CommonReport.HotelList[0].Tel}}</div>
</td>
<td>
<div class="w200 padding10">{{item.CommonReport.HotelList[0].Address}}</div>
</td>
<td>
<div class="w150">
<el-input class='w120' v-model='item.ReserveNo'></el-input>
</div>
</td>
<td>
<div class="w150">
<el-input type='textarea' class='w120' v-model='item.Remarks'></el-input>
</div>
</td>
<td>
<input type="button" class="roomBtn" value="保存" @click="SaveSingle(item)"/>
</td>
</tr>
<tbody v-if="dataList.length===0">
<tr>
<td :colspan="3">暂无数据</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<script>
export default {
data() {
return {
msg:{
HotelId:0,
StartDate:'',
},
loading: false,
dataList:[],
}
},
methods: {
getList(){
this.apipost("dmcstatistics_post_GetHotelByIDAndUseTime", this.msg, res => {
console.log(res);
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
}else{
this.Error(res.data.message);
}
},err => {})
},
goUrl(path, obj, name) {
this.$router.push({
path: path,
query: {
id: obj.HotelId,
blank: "y",
tab: name
}
});
},
//单条保存
SaveSingle(item){
item.CommonReport.HotelList[0].HotelOrderState=1;
this.apipost('dmcstatistics_post_SetNewHotelOrder',item,res=>{
if(res.data.resultCode==1){
this.Success(res.data.message)
}else{
this.Error(res.data.message)
}
},err=>{})
}
},
mounted: function () {
this.msg.HotelId = this.$route.query.HotelId;
this.msg.StartDate = this.$route.query.StartDate;
this.getList();
},
created: function () {
}
}
</script>
<style>
.roomReservationsDetailsTalbe .roomBtn{
color: #fff;
padding: 0 10px!important;
height: 30px!important;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin:0 10px;
}
.roomReservationsDetailsTalbe{ background: #ddd;}
.roomReservationsDetailsTalbe tr th{background: #eee;height:40px; font-size: 12px; color: #333;}
.roomReservationsDetailsTalbe tr{background: #fff;text-align: center; height: 40px;}
.roomReservationsDetailsTalbe tr td{font-size: 12px;}
.roomReservationsDetailsTalbe tr td .pHouseStyle{border-bottom: 1px solid #ccc; height:28px; line-height: 28px;}
.roomReservationsDetailsTalbe tr td .colorRed{color: #E95252;}
.roomReservationsDetailsTalbe tr td .pHouseStyle:last-child{border-bottom: none;}
.roomReservationsDetailsTalbe tr td input{height: 20px!important; padding: 0!important; text-align: center;}
.roomReservationsDetailsTalbe tr td .sel input{height: 34px!important; padding-right: 20px!important; padding-left: 5px!important; font-size: 12px!important;}
.roomReservationsDetailsTalbe tr td .link:hover{text-decoration: underline; cursor: pointer;}
.roomReservationsDetailsTalbe .Hotel_red{color:red;}
</style>
......@@ -37,6 +37,7 @@
<th width="80">地址</th>
<th width="80">订团号</th>
<th width="80">备注</th>
<th width="80">操作</th>
</tr>
<tr v-for="(item,index) in list">
<td :rowspan="list.length" v-if="index==0">
......@@ -153,7 +154,10 @@
<div class="w150">
<el-input type='textarea' class='w120' v-model='item.Remarks'></el-input>
</div>
</td>
</td>
<td>
<input type="button" class="roomBtn" value="保存" @click="SaveSingle(item)"/>
</td>
</tr>
</table>
</div>
......@@ -274,12 +278,24 @@ export default {
})
this.apipost('dmcstatistics_get_SetHotelOrder',this.list,res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.Success(res.data.message)
}else{
this.$message.error(res.data.message)
this.Error(res.data.message)
}
},err=>{})
},
},
//单条保存
SaveSingle(item){
item.HotelOrderState=1;
this.apipost('dmcstatistics_post_SetNewHotelOrder',item,res=>{
if(res.data.resultCode==1){
this.Success(res.data.message)
}else{
this.Error(res.data.message)
}
},err=>{})
}
},
created() {
......@@ -295,6 +311,16 @@ export default {
</script>
<style>
.roomReservationsDetailsTalbe .roomBtn{
color: #fff;
padding: 0 10px!important;
height: 30px!important;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin:0 10px;
}
.roomReservationsDetailsTalbe{ background: #ddd;}
.roomReservationsDetailsTalbe tr th{background: #eee;height:40px; font-size: 12px; color: #333;}
.roomReservationsDetailsTalbe tr{background: #fff;text-align: center; height: 40px;}
......
......@@ -89,7 +89,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div class="groupTourOrder_count_blue">
<i class="iconfont icon-baomingrenshu"></i>
......@@ -103,7 +103,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div class="groupTourOrder_count_yellow">
<i class="iconfont icon-baomingrenshu"></i>
......@@ -129,7 +129,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
......@@ -143,6 +143,17 @@
</p>
</div>
</el-col>
<el-col :span="3" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>累计提成</span>
</div>
<p>
<span>提成金额:{{countData.SumCommissionMoney}};</span>
</p>
</div>
</el-col>
</el-row>
</div>
<!-- 表格 -->
......
......@@ -1325,7 +1325,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div class="groupTourOrder_count_blue">
<i class="iconfont icon-baomingrenshu"></i>
......@@ -1339,7 +1339,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div class="groupTourOrder_count_yellow">
<i class="iconfont icon-baomingrenshu"></i>
......@@ -1353,6 +1353,7 @@
</p>
</div>
</el-col>
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div>
......@@ -1365,7 +1366,7 @@
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<el-col :span="4" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
......@@ -1379,6 +1380,17 @@
</p>
</div>
</el-col>
<el-col :span="3" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>累计提成</span>
</div>
<p>
<span>提成金额:{{countData.SumCommissionMoney}};</span>
</p>
</div>
</el-col>
</el-row>
</div>
<!-- 表格 -->
......@@ -1930,7 +1942,8 @@
DueinMoney: 0,
PreferPrice: 0,
InteriorNum: 0,
B2BNum: 0
B2BNum: 0,
SumCommissionMoney:0
},
// 订单转团
transferData: {
......
......@@ -46,6 +46,7 @@
<table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0" v-loading='loading'>
<tr class="title_tr">
<th>单号</th>
<th>机票编码</th>
<th>客户信息</th>
<th>客人数量</th>
<th>单价</th>
......@@ -63,35 +64,38 @@
</tr>
<tbody v-for="(item,index) in dataList" :key="index">
<tr>
<td>{{item.AirProductId}} </td>
<td>{{item.Id}} </td>
<td>{{item.Id}} </td><!-- 机票编码 -->
<td><p class="fz12 over_ellipsis" style="width: 120px;">{{item.ContactName}}</p>
<!-- <p class="fz12">123456</p> -->
</td>
<td>{{item.GuestNum}}</td>
<td>{{item.GuestNum}}/{{item.SeatNum}}/{{item.FreightSpace}}</td>
<td class="fz12">{{item.TC_Price}}</td>
<td class="fz12">{{item.Unit_Price}}</td>
<td style="color:#FF9C00">{{item.PreferPrice}}</td>
<td style="color:#FF9C00">{{item.Income}}</td>
<td style="color:#E95252">{{item.PreferPrice}}</td>
<td style="color:#E95252">{{item.Income}}</td>
<td>{{item.Refund}}</td>
<td>{{item.PlatformTax}}</td>
<td>
<el-tag v-if="item.Status==1" type="success">正常</el-tag>
<el-tag v-if="item.Status==2">取消</el-tag>
<span v-if="item.Status==1">正常</span>
<span v-if="item.Status==2">取消</span>
<span v-if="item.Status==3">待付款</span>
</td>
</tr>
<tr style="height:20px">
<td colspan="15" class="RL_Order" style="height:20px">
<span class="RL-remarkTitle">名单:</span>
<span class="RL-redType RL-remarkCon" v-if="item.GuestList.length>0">
<span v-for="(childItem) in item.GuestList" :key="childItem.Name">{{childItem.Name}}&nbsp;&nbsp;</span>
<el-popover
<el-popover
placement="right"
width="1000"
trigger="click">
<el-table :data="item.GuestList">
<el-table-column property="Id" label="订单ID"></el-table-column>
<el-table-column property="Id" label="排号"></el-table-column>
<el-table-column property="Name" label="姓名"></el-table-column>
<el-table-column property="EName" label="英文姓名"></el-table-column>
<el-table-column property="Sex" label="性别">
<template slot-scope="scope">
<span v-if="scope.row.Sex=='1'"></span>
......@@ -112,11 +116,11 @@
</template>
</el-table-column>
</el-table>
<span style="float:right" class="RL-remarkTitle" slot="reference">
<i style="font-size:12px;color:#e95252" class="iconfont icon-gengduo"></i>
<span slot="reference">
<span style="cursor:pointer" v-for="(childItem) in item.GuestList" :key="childItem.Name">{{childItem.Name}}&nbsp;&nbsp;</span>
</span>
</el-popover>
</el-popover>
</span>
<span class="RL-redType RL-remarkCon" v-else>
<span>暂无名单</span>
......@@ -138,13 +142,24 @@
<div>
<div>收款单据:</div>
<div>
<span style="cursor: default;">暂无数据</span>
<span style="cursor: default;">
<span class="tickets_green" v-for="(fina,fin) in item.FinanceList" :key="fin">{{fina.PayMoney}}</span>
<span v-if="item.FinanceList==0">
暂无数据
</span>
</span>
</div>
</div>
<div>
<div>付款单据:</div>
<div>
<span style="cursor: default;">暂无数据</span>
<span style="cursor: default;">
<span class="tickets_green" v-for="(fina,fin) in item.RefundFinanceList" :key="fin">{{fina.PayMoney}}</span>
<span v-if="item.RefundFinanceList==0">
暂无数据
</span>
</span>
</div>
</div>
</td>
......@@ -158,6 +173,7 @@
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
......@@ -166,11 +182,11 @@ export default {
pageSize: 10,
AirTicketId: 0,
AirOrderId: 0,
Status: 1,
StartTime: "",
Status: 0,
StartTime: moment().format("YYYY-MM-DD"),
EndTime: ""
},
status: [{ title: "正常", num: 1 }, { title: "取消", num: 2 }],
status: [{ title: "全部", num: 0 },{ title: "待付款", num: 3 },{ title: "正常", num: 1 }, { title: "取消", num: 2 }],
dataList:[],
loading:false,
total:0,
......@@ -195,7 +211,7 @@ export default {
res => {
this.loading=false;
if (res.data.resultCode == 1) {
// console.log(res);
console.log(res);
this.total = res.data.data.count;
this.dataList = res.data.data.pageData;
} else {
......@@ -220,8 +236,13 @@ export default {
</script>
<style scoped>
@import "../../assets/css/newTravelManager.css";
.tickets_green {
color: #008000;
text-decoration: underline;
margin-right: 6px;
}
.title_tr th{
width:10%;
width:9%;
}
.color_red_order {
color: #e95252 !important;
......@@ -301,7 +322,7 @@ export default {
}
.groupTourOrderSearchTable tr td {
padding: 10px;
padding: 8px;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
......
......@@ -507,7 +507,7 @@
TicketType: 2, //定金类型(1定,2定等)
LineId: 0, //线路编号
IsPayOrder:0,
FlyState: 1,
FlyState: 0,
CreateBy: 0, //操作人
},
//员工列表
......
<style>
.w595{width:595px!important;}
</style>
.LuckyDraw .singeRowTable i{
font-size:15px;
}
.LuckyDraw ._addUpload_box{
display: block;
margin: 10px 0 0 100px;
}
.LuckyDraw ._addUpload_box img{
width: 100%;
height:100%;
}
.LuckyDraw ._addUpload_box>div{
float: left;
width:138px;
height:92px;
border:1px dashed rgba(210,210,210,1);
border-radius:2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
.LuckyDraw ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.LuckyDraw ._addUpload_box>div:hover{
background-color: #f5f5f5;
}
.LuckyDraw .el-upload-dragger{
font-size: 28px;
color: #8c939d;
width: 126px;
height: 80px;
line-height: 41px;
text-align: center;
}
.LuckyDraw ._show_img_box{
position: fixed;
background: rgba(0,0,0,.6);
left: 0;
top:0;
width: 100%;
height: 100%;
z-index: 9999;
text-align: center;
}
.LuckyDraw .ql-container{
min-height: 100px;
}
</style>
<template>
<div class="flexOne">
<div class="flexOne LuckyDraw">
<div class="query-box">
<ul class="user_time_picker">
<li>
......@@ -69,7 +131,7 @@
<th>抽奖名称</th>
<th>公司名称</th>
<th>结束日期</th>
<th>抽奖次数</th>
<th>抽奖次数(每人)</th>
<th>抽奖状态</th>
<th>备注</th>
<th>操作</th>
......@@ -173,6 +235,13 @@
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="抽奖规则" prop="lotteryRules">
<quill-editor class="w595" v-model="addMsg.lotteryRules"></quill-editor>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="备注" prop="remark">
......@@ -180,6 +249,29 @@
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<div class="_addUpload_box clearfix" >
<template>
<div v-if="addMsg.image!=''">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="addMsg.image" @click="showUpLoadFile()"/>
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile()"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="false" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传</div>
</el-upload>
</div>
</div>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -187,6 +279,16 @@
<button class="normalBtn" @click="submitForm('addMsg')">保存</button>
</div>
</el-dialog>
<div v-if='picIsShow' class="_show_img_box" @click="picIsShow=false">
<div style="position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;">
<el-carousel height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px;overflow:auto;">
<img :src="addMsg.image" style=""/>
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
<script>
......@@ -214,7 +316,15 @@ export default {
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
lotteryPlatform:1,
lotteryRules:'',
image:'',
},
toolbar: {
clean: false, //加粗
font: false, //字体
narrative: true, //叙述,
image: true
},
rules:{
branchId: [{ required: true, message: "请选择公司", trigger: "change" }],
......@@ -245,6 +355,7 @@ export default {
companyList:[],
//线路
LineList:[],
picIsShow:false,
};
},
mounted() {
......@@ -268,7 +379,9 @@ export default {
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
lotteryPlatform:1,
lotteryRules:'',
image:'',
}
this.addMsg= newMsg;
},
......@@ -330,6 +443,7 @@ export default {
this.resetForm("addMsg");
this.Success(res.data.message);
this.getList();
this.resSetInfo();
} else {
this.Error(res.data.message)
}
......@@ -346,6 +460,8 @@ export default {
this.addMsg.groupId = item.groupId;
this.addMsg.branchId = item.branchId;
this.addMsg.lotteryStatus = item.lotteryStatus;
this.addMsg.lotteryRules = item.lotteryRules,
this.addMsg.image = item.image
},
//跳转至获取抽奖奖项信息列表
goUrl(item){
......@@ -383,7 +499,45 @@ export default {
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
},
deleteUploadFile(){ // 删除上传文件
this.addMsg.image='';
},
showUpLoadFile(){ // 预览上传文件
this.picIsShow= true;
},
//上传图片
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.$message.warning('文件大小不能超过10M!')
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.$message.error('请上传图片!');
let newArr = [];
newArr.push(file.file)
let path = "/Upload/activity/"
this.$message.info('上传中...')
this.uploadFile(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.addMsg.image = x.res.requestUrls[0].split('?')[0]
this.$message.success('上传成功');
this.$forceUpdate();
});
},
}
};
</script>
\ No newline at end of file
......@@ -11,15 +11,21 @@
<div class="clearfix"></div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>序号</th>
<th>奖项名</th>
<th>奖项数量</th>
<th>中奖数量</th>
<th>剩余数量</th>
<th>奖项状态</th>
<th>奖项类型</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.rank}}</td>
<td>{{item.awardName}}</td>
<td>{{item.awardCount}}</td>
<td>{{item.awardWinningCount}}</td>
<td>{{item.awardCount-item.awardWinningCount>=0?item.awardCount-item.awardWinningCount:0}}</td>
<td>{{item.awardStatus==1?'正常':'禁用'}}</td>
<td v-if="item.awardType==1">谢谢参与</td>
<td v-if="item.awardType==2">一般奖项</td>
......@@ -63,7 +69,7 @@
</tr>
<td>
<el-form-item label="奖项类型" prop="awardType">
<el-select filterable v-model="addMsg.awardType" class="w217" @change="getAwardRelationId()">
<el-select filterable v-model="addMsg.awardType" class="w217" @change="getAwardRelationId(addMsg.awardType)">
<el-option label="谢谢参与" :value="1"></el-option>
<el-option label="一般奖项" :value="2"></el-option>
<el-option label="优惠券" :value="3"></el-option>
......@@ -117,7 +123,7 @@ export default {
awardName:'',
awardType:1,
//谢谢参与和一般奖项为0,优惠券 请求接口返回
awardRelationId:'',
awardRelationId:0,
awardCount:'',
awardStatus:1,
rank:'',
......@@ -149,10 +155,10 @@ export default {
getList() {
this.loading = true;
this.apiJavaPost("/api/sell/lottery/getLotteryAwardList", this.msg, res => {
console.log(res,'getList');
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message)
}
......@@ -176,7 +182,6 @@ export default {
this.addMsg.awardRelationId = 0;
}
this.apiJavaPost("/api/sell/lottery/setLotteryAward", this.addMsg, res => {
console.log(res,'getList');
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.outerVisible = false;
......@@ -188,6 +193,7 @@ export default {
},
//修改信息
updateData(item){
console.log(item);
this.addMsg.id=item.id;
this.addMsg.lotteryId = item.lotteryId;
this.addMsg.awardName = item.awardName;
......@@ -196,12 +202,16 @@ export default {
this.addMsg.awardCount = item.awardCount;
this.addMsg.awardStatus = item.awardStatus;
this.addMsg.rank = item.rank;
this.getAwardRelationId();
this.getAwardRelationId(3);
},
//根据奖项类型请求关联Id
getAwardRelationId(){
getAwardRelationId(id){
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : '';
let branchId = userInfo.RB_Branch_id ? userInfo.RB_Branch_id : 0
if(id==3){
let msg = {
couponId:0
couponId:this.addMsg.awardRelationId,
branchId:branchId
}
this.apiJavaPost("/api/sell/lottery/getCouponsList", msg, res => {
if (res.data.resultCode === 1) {
......@@ -210,6 +220,7 @@ export default {
this.Error(res.data.message)
}
}, null);
}
},
//重置信息
resetInfo(){
......@@ -218,7 +229,7 @@ export default {
lotteryId:0,
awardName:'',
awardType:1,
awardRelationId:'',
awardRelationId:0,
awardCount:'',
awardStatus:1,
rank:'',
......
......@@ -317,10 +317,11 @@
basicData.TeamType=this.PostConfig.TeamType;
basicData.DayNum = this.PostDaysTrip.DayNum;
basicData.NightNum = this.PostDaysTrip.NightNum;
basicData.StartCityId = this.PostDaysTrip.StartCityId;
basicData.ReturnArriveCityId = this.PostDaysTrip.ReturnArriveCityId;
basicData.DayNum = (this.PostDaysTrip && this.PostDaysTrip.DayNum!="")?this.PostDaysTrip.DayNum:0;
basicData.NightNum = (this.PostDaysTrip && this.PostDaysTrip.NightNum!="")?this.PostDaysTrip.NightNum:0;
basicData.StartCityId = (this.PostDaysTrip && this.PostDaysTrip.StartCityId!="")?this.PostDaysTrip.StartCityId:0;
basicData.ReturnArriveCityId = (this.PostDaysTrip && this.PostDaysTrip.ReturnArriveCityId!="")?this.PostDaysTrip.ReturnArriveCityId:0;
basicData.SelfpayingList=this.PostConfig.SelfpayingList;
basicData.ShopList=this.PostConfig.ShopList;
......
......@@ -373,8 +373,9 @@ export default {
this.apiurl = apiurl;
var token = "";
var key = "";
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : ''
let uid = userInfo.EmployeeId ? userInfo.EmployeeId : 0
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : '';
let groupId = userInfo.RB_Group_id ? userInfo.RB_Group_id : 0;
let uid = userInfo.EmployeeId ? userInfo.EmployeeId : 0;
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().SecretKey;
......@@ -386,7 +387,8 @@ export default {
"timestamp": timestamp,
"token": token,
"sign": md5Str,
"uid": uid
"uid": uid,
"groupId":groupId
}
if(localStorage.g && localStorage.g!='undefined'){
postData.groupId = parseInt(JSON.parse(localStorage.g).i)
......
......@@ -659,6 +659,14 @@ export default {
title: '酒店每日用房详情'
},
},
{
path: '/HotelsTeam',
name: 'HotelsTeam',
component: resolve => require(['@/components/Hotel/HotelsTeam'], resolve),
meta: {
title: '酒店对应团'
}
},
{
path: '/lineManagement', //线路管理
name: 'lineManagement',
......
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