Commit 47c1108f authored by zhengke's avatar zhengke

新增酒店统计

parent 04290cde
<style>
.SalesHotelOrder .query-box{
border-bottom:0;
}
.SalesHotelOrder .SalesHotelOrderTable{
width: 100%;
min-width: 1500px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.SalesHotelOrder .SalesHotelOrderTable th{
background: #e6e6e6;
height: 30px;
font-size: 12px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tr td{
height: 60px;
padding: 10px;
background-color: #fff;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tbody tr:last-child{
border-bottom:2px solid #333;
}
.SalesHotelOrder .SH_beizhu{
float:left;
}
.SalesHotelOrder .SH_beizhuInner{
float:left;
width:85%;
}
.SalesHotelOrder .SH_OrderDan>div{
display:inline-block;
}
.groupTourOrder_count {
margin: 0 0 20px 0;
width: 100%;
height: auto;
}
.groupTourOrder_count_col {
height: 80px;
}
.groupTourOrder_count_item {
font-weight: 400;
padding: 10px;
height: 100%;
border: 1px solid #E6E6E6;
background-color: #FFFFFF;
color: #333333;
}
.groupTourOrder_count_item>div>i {
font-size: 12px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(2) {
font-size: 14px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(3) {
font-weight: bold;
font-size: 16px;
vertical-align: bottom;
}
.groupTourOrder_count_item>p {
font-size: 12px;
line-height: 18px;
}
.groupTourOrder_count_item>p>span {
margin: 0 5px 0 0;
white-space: nowrap;
}
.groupTourOrder_count_green {
color: #1BC594;
}
.groupTourOrder_count_blue {
color: #4D7AFD;
}
.groupTourOrder_count_yellow {
color: #FF9C00;
}
.groupTourOrder_count_gray {
color: #4D7AFD;
}
.HT_total span{
display: inline-block;
margin:5px 10px 0 0!important;
}
.color_red_order {
color: #e95252 !important;
}
</style>
<template>
<div class="flexOne SalesHotelOrder">
<div class="query-box">
<ul>
<li>
<span>
<em>订单状态</em>
<el-select v-model='msg.B2BSelectOrderState' filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in orderStatus" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>公司</em>
<el-select v-model="msg.RB_Branch_Id" placeholder="请选择公司" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0">
<el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>部门</em>
<el-select v-model="msg.RB_Department_Id" placeholder="请选择部门" @change="employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0">
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in DepartmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>创建人</em>
<el-select filterable v-model='msg.CreateBy'>
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>订单号</em>
<el-input v-model='msg.HotelName' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>入住开始时间</em>
<el-date-picker type="date" v-model="msg.StartTime"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>入住结束时间</em>
<el-date-picker type="date" v-model="msg.EndTime"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建开始时间</em>
<el-date-picker type="date" v-model="msg.CStartTime"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建结束时间</em>
<el-date-picker type="date" v-model="msg.CEndTime"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" @click="resetPageIndex();getList()" :value="$t('pub.searchBtn')" />
</li>
</ul>
</div>
<!-- 统计版块 -->
<div class="groupTourOrder_count">
<el-row :gutter="20">
<el-col :span="6" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-qian groupTourOrder_count_green"></i>
<span>总价</span>
</div>
<p>
<span class="groupTourOrder_count_green">总价:{{TotalMsg.totalPrice}}</span>
<span class="groupTourOrder_count_green">总收入:{{TotalMsg.totalIncomePrice}}</span>
<span class="color_red_order">待收:{{TotalMsg.totalUnreceivedPrice}}</span>
</p>
</div>
</el-col>
<el-col :span="6" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>数量</span>
</div>
<p>
<span class="groupTourOrder_count_green">总房间数:{{TotalMsg.totalRoomNum}}</span>
<span class="color_red_order">取消房间数:{{TotalMsg.totalCancelRoomNum}}</span>
<span>erp数:{{TotalMsg.totalERP}}</span>
<span>B2b数:{{TotalMsg.totalB2B}}</span>
</p>
</div>
</el-col>
</el-row>
</div>
<table class="SalesHotelOrderTable" 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>
<th>订单状态</th>
<th>创建时间</th>
<th>入住时间</th>
<th>离店时间</th>
<th>取消费用</th>
<th>客户名称</th>
<th>客户手机号</th>
<th>创建人</th>
<th>结束时间</th>
</tr>
<tbody v-for="(item,index) in dataList">
<tr>
<td style="border-bottom:2px solid #333" rowspan="2">{{item.OrderID}}</td>
<td>{{item.ThirdOrderNo}}</td>
<td>{{item.Number}}</td>
<td>{{item.TotalPrice}}</td>
<td>{{item.Income}}</td>
<td>{{item.RedEnvelopeMoney}}</td>
<td>{{item.DiscountMoney}}</td>
<td>{{item.DueinMoney}}</td>
<td>{{item.OrderStatus}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.CheckInStr}}</td>
<td>{{item.CheckOutStr}}</td>
<td>{{item.CancelFee}}</td>
<td>{{item.CustomerName}}</td>
<td>{{item.CustomerPhone}}</td>
<td>{{item.CreateByStr}}</td>
<td>{{item.EndTime}}</td>
</tr>
<tr>
<td colspan="8" style="text-align:left;width:600px">
<div class="clearfix">
<div class="SH_beizhu" style="">
备注:
</div>
<div class="SH_beizhuInner">
{{item.Remark}}
</div>
</div>
</td>
<td colspan="8" style="text-align:left;width:600px">
<div class="SH_OrderDan">
<div>收款单据:</div>
<div>
<span v-for="subItem in item.FinanceList">
{{item}}
</span>
<span v-if="item.FinanceList==0">暂无数据</span>
</div>
</div>
<div class="SH_OrderDan">
<div>付款单据:</div>
<div>
<span v-for="subItem in item.RefundFinanceList">
{{item}}
</span>
<span v-if="item.RefundFinanceList==0">暂无数据</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize :total=total>
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
msg: {
pageIndex:1,
pageSize:10,
B2BSelectOrderState:0,
RB_Branch_Id:-1,
RB_Department_Id:0,
CreateBy:0,
HotelName:'',
StartTime:'',
EndTime:'',
CStartTime:'',
CEndTime:''
},
total:0,
currentPage: 1,
loading:false,
pickerBeginDateBefore: {
disabledDate: time => {
if (this.msg.EndTime == null) {
return false;
} else {
let endTime = new Date(this.msg.EndTime)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartTime)
return startTime.getTime() >= time.getTime()
}
},
orderStatus:[{
Name:'全部',
Id:0
},{
Name:'待支付',
Id:1
},{
Name:'交易完成',
Id:2
},{
Name:'取消',
Id:3
}],
dataList: [],
getCompanyMsg:{ // 公司
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{// 部门
RB_Group_Id:'',
RB_Branch_Id:'',
Status:0,
ParentId:-1,
Tier:0,
},
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
CompanyList:[],
DepartmentList:[],
EmployeeList:[],
//统计快
TotalMsg:[]
};
},
methods: {
getList() {
//获取现有线路列表
this.loading = true;
this.apipost(
"sellorder_post_GetAllJapanHotelOrderList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取统计数据
getTotalCount(){
this.apipost(
"sellorder_post_GetAllStatisticsList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.TotalMsg = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
getCompanyList: function () { //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
getDepartment: function () { //获取部门列表
this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => {
if(res.data.resultCode == 1) {
this.DepartmentList = res.data.data;
}
}, err => {})
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
},
mounted() {
let userInfo=this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团
this.getDepartmentMsg.RB_Branch_Id=userInfo.RB_Branch_id; //公司
this.getCompanyList()
this.getDepartment()
this.getEmployee()
this.getList();
this.getTotalCount();
}
};
</script>
......@@ -1740,7 +1740,13 @@ export default {
meta: {
title: '散卖酒店订单'
},
},{
path: '/HotelOrderTotal', //操作 散卖酒店订单统计
name: 'HotelOrderTotal',
component: resolve => require(['@/components/TravelManager/TravelList/HotelOrderTotal'], resolve),
meta: {
title: '散卖酒店订单统计'
},
},{
path: '/AmoebaDetail', //阿米巴结算详情
name: 'AmoebaDetail',
......
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