Commit d61c36fb authored by zhengke's avatar zhengke

修改

parent 0021bf6e
......@@ -259,7 +259,7 @@
<div class="btn-list" style="width: 350px;position: fixed;right: 20px;top:50px">
<span class="common-lefttit"></span>
<button class="save-Btn" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button>
<button class="cancel-Btn" @click="goUrl('HotelManagement')">{{$t('pub.cancelBtn')}}</button>
<button class="cancel-Btn" @click="goUrl('HotelManagement2')">{{$t('pub.cancelBtn')}}</button>
</div>
</div>
......
......@@ -512,7 +512,7 @@
.roomQuery_SupplierTable tr td {
border: 1px solid #d1d1d1;
text-align: center;
padding: 10px 0;
padding: 5px 0;
}
.roomQuery_SupplierTable .tdLeft {
......
......@@ -53,6 +53,242 @@
<div class="temDivs">
<!-- :key="key" -->
<router-view></router-view>
<template v-if="showPage">
<div>
<div class="query-box" style="border-bottom: none;display:none;">
<ul>
<li>
<span>
<em>{{$t('system.quety_area')}}</em>
<el-select v-model="msg.Province" filterable @change="getProvinceList(msg.Province,2)"
:placeholder="$t('hotel.hotel_province')">
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in provinceList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
<el-select v-model="msg.City" filterable :placeholder="$t('hotel.hotel_city')">
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li>
<span><em>{{$t('admin.admin_company')}}</em>
<el-select filterable v-model='msg.OutBranchId' :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='-1'></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.Star" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="3星或商务" :value='3'></el-option>
<el-option label="4星" :value='4'></el-option>
<el-option label="5星" :value='5'></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>价格区间</em>
<el-select v-model="msg.PriceLevel" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="5000以下" :value='1'></el-option>
<el-option label="5000~6000" :value='2'></el-option>
<el-option label="6000~7000" :value='3'></el-option>
<el-option label="7000~8000" :value='4'></el-option>
<el-option label="8000~9000" :value='5'></el-option>
<el-option label="9000~10000" :value='6'></el-option>
<el-option label="10000以上" :value='7'></el-option>
</el-select>
</span>
</li>
<li><span><em>日期</em>
<el-date-picker v-model='msg.StartDate' value-format="yyyy-MM-dd" type="date" :picker-options="beforeCheck">
</el-date-picker>
<el-date-picker v-model='msg.EndDate' value-format="yyyy-MM-dd" type="date" :picker-options="afterCheck">
</el-date-picker>
</span>
</li>
<li>
<span>
<em>酒店</em>
<el-select v-model="msg.HotelChooseArray" :placeholder="$t('pub.pleaseSel')" class="multiple_input w300"
filterable multiple :multiple-limit="3">
<el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li>
<input type="button" class="normalBtn" value="温馨提示"
@click="showNotice=true,resetPageIndex(),GetHotelTipList()" />
<input type="button" class="normalBtn" value="查询" @click="getList()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotelQuery()" />
</li>
</ul>
</div>
<div style="width: 100%;min-height:200px; overflow-x: auto;padding:0 20px; " class="HotelQueryList"
v-loading="loading">
<div class="hotelProductManage2_tableBox" style="margin:20px 0;">
<span style="color:#fff;background-color: #ff3737;padding:2px 4px;border-radius:5px">红日</span>
<span style="color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px">旺季</span>
<span style="color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px">平季</span>
<span style="color:#000000;background-color: #DDDDDD;padding:2px 4px;border-radius:5px">淡季</span>
<span style="color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px">特别价</span>
</div>
<template v-if="isShow">
<el-table v-if="dataList.length>0" :data="dataList" style="width:100%" border v-loading='loading' height="500">
<el-table-column fixed label="酒店名称" min-width="180">
<template slot-scope="scope">
<div style="text-decoration: underline;cursor:pointer">
{{scope.row.HotelName}}</div>
<div>{{scope.row.TotalInventory}}</div>
</template>
</el-table-column>
<el-table-column label="价格&库存" fixed min-width="120">
<template slot-scope="scope">
<div class="Hotel_kong">价格</div>
<div class="Hotel_kong" style="min-width:60px;">总/用/剩</div>
<div class="Hotel_kong">超定</div>
</template>
</el-table-column>
<el-table-column v-for='(item,index) in dataList[0].subList' :label="getDateList(item.DateStr)" :key='index'
min-width="120">
<template slot-scope="scope">
<div class="Hotel_kong Com_hoteldiv">
<template v-if="scope.row.subList[index].PriceList.length>0">
<template v-for="childItem in scope.row.subList[index].PriceList">
<div :class="getClass(1,childItem.InventoryType)" style="height:100%;float:left;width:100%"
:style="{width:(100/scope.row.subList[index].PriceList.length)+'%'}">{{childItem.CostPrice}}</div>
</template>
</template>
<template v-else>
<div :class="getClass(0,0)" style="width:100%;height:100%">&nbsp;</div>
</template>
</div>
<div class="Hotel_kong Com_hoteldiv Hq_duoge"
>
{{scope.row.subList[index].Inventory}}/{{scope.row.subList[index].UseInventory}}/{{scope.row.subList[index].RemainingInventory}}
</div>
<div class="Hotel_kong Com_hoteldiv">
<span v-if="scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory>0"
style="color:red;">
{{scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory}}
</span>
</div>
</template>
</el-table-column>
</el-table>
<div class="noDataNotice" v-else>
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
</template>
</div>
<div class="combottomDiv HqCom_bottom" v-if="showNotice">
<el-form label-width="80px">
<el-row>
<el-col :span="20">
<el-form-item label="日期">
<el-date-picker class="w150" type="date" v-model="queryMsg.QStartDate"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker class="w150" type="date" v-model="queryMsg.QEndDate"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<input type="button" class="normalBtn" value="查询" @click="resetPageIndex(),GetHotelTipList()" />
<input type="button" class="normalBtn" value="关闭" @click="showNotice=false" />
</el-col>
</el-row>
<div class="Hq_addDetail">
<el-row>
<el-col :span="12">
<el-form-item label="说明">
<quill-editor class="w595" :options="editorOption" v-model="postMsg.TipContent"></quill-editor>
</el-form-item>
</el-col>
<el-col :span="12">
<input type="button" class="normalBtn" value="保存" @click="SaveHotelTip()" />
</el-col>
</el-row>
</div>
</el-form>
<div>
<table border="0" cellspacing="1" cellpadding="0" class="HouseTypeList Hq_addTable" style="width:97%;">
<tr>
<th width="50">编号</th>
<th>内容</th>
<th width="70">操作人</th>
<th width="150">操作时间</th>
<th width="80">操作</th>
</tr>
<template v-if="queryMsg.total>0">
<tr v-for="(item,index) in HotelTipList">
<td>{{item.Id}}</td>
<td>
<p style="text-align:left;padding-left:5px;" v-html="item.TipContent"></p>
</td>
<td>{{item.CreateByName}}</td>
<td>{{item.CreateTimeStr}}</td>
<td>
<el-tooltip class="item" effect="dark" content="编辑" placement="top">
<el-button type="primary" icon="el-icon-edit" circle @click="GetHotelTip(item.Id)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<el-button type="danger" icon="el-icon-delete" circle @click="RemoveHotelTip(item.Id)"></el-button>
</el-tooltip>
</td>
</tr>
</template>
<tr v-else>
<td colspan="5">暂无数据...</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage"
:page-size="queryMsg.pageSize" layout="total,prev, pager, next, jumper" :total="queryMsg.total">
</el-pagination>
</div>
</div>
<el-dialog custom-class="w800" title="信息" :visible.sync="showHQinfo" center>
<el-form>
<table border="0" cellspacing="1" cellpadding="0" class="HouseTypeList Hq_addTable" style="width:100%;">
<tr>
<th width="50">编号</th>
<th>内容</th>
<th width="70">操作人</th>
<th width="140">操作时间</th>
</tr>
<template v-if="queryMsg.total>0">
<tr v-for="(item,index) in HotelTipList">
<td>{{item.Id}}</td>
<td>
<p style="text-align:left;padding:0 5px;" v-html="item.TipContent"></p>
</td>
<td>{{item.CreateByName}}</td>
<td>{{item.CreateTimeStr}}</td>
</tr>
</template>
<tr v-else>
<td colspan="5">暂无数据...</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage"
:page-size="queryMsg.pageSize" layout="total,prev, pager, next, jumper" :total="queryMsg.total">
</el-pagination>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="showHQinfo = false">关闭</button>
</div>
</el-dialog>
</div>
</template>
</div>
</div>
......@@ -78,12 +314,97 @@
fontPub: "iconfont",
icon: 'this.src="' + require("../assets/img/NotificationIcon.png") + '"',
allWindowWidth: '',
};
showPage:true,
msg: {
//酒店选择数组
HotelChooseArray: [],
StartDate: new Date().Format("yyyy-MM-dd"),
EndDate: this.setEdate(),
//只查询日本
Country: "651",
Province: 0,
City: 0,
OutBranchId: -1,
//星级
Star: 0,
//价格等级
PriceLevel: 0,
},
mounted() {
let that = this;
document.title = this.userInfo.GroupName;
this.getMenu();
beforeCheck: {
disabledDate: time => {
if (this.msg.StartDate) {
let endTime = new Date(this.msg.EndDate);
return time && endTime.getTime() < time.getTime();
} else {
return false;
}
}
},
afterCheck: {
disabledDate: time => {
if (this.msg.StartDate) {
let startTime = new Date(this.msg.StartDate);
//可以选择当天
return time && time.getTime() < startTime.getTime() - 1 * 24 * 60 * 60 * 1000;
} else {
return false;
}
}
},
//分公司列表
companyList: [],
defaultSelectValue: 0,
//国家 省市 区
provinceList: [],
cityList: [],
district: [],
queryMsg: {
QStartDate: '',
QEndDate: '',
pageIndex: 1,
pageSize: 5,
currentPage: 1,
total: 0
},
postMsg: {
Id: 0,
TipContent: ''
},
//默认显示弹窗信息
showHQinfo: true,
//酒店温馨提示列表
HotelTipList: [],
HotelList: [],
dataList: [],
isShow: false,
loading: false,
showNotice: false,
pickerBeginDateBefore: {
disabledDate: time => {
let endTime = new Date(this.queryMsg.QStartDate)
return endTime.getTime() < time.getTime()
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.queryMsg.QEndDate)
return startTime.getTime() >= time.getTime()
}
},
editorOption: {
placeholder: '请输入内容',
modules: {
toolbar: [
['bold', 'italic', 'underline', 'strike'], // toggled buttons
['blockquote', 'code-block', 'align']
]
}
},
};
},
created() {
this.userInfo = this.getLocalStorageSupplier();
......@@ -130,6 +451,258 @@
settingSys: function () {
this.MsgBus.$emit('settingOpen')
},
GotoHotel(HotelId) {
this.$router.push({
path: "HotelManagement",
query: {
ID: HotelId,
tab: "酒店查询",
blank: 'y',
}
});
},
GotoUrl(item, subIndex, UseInventory) {
if (UseInventory > 0) {
this.$router.push({
path: "TravelControlList",
query: {
HotelId: item.HotelId,
HotelUseTime: item.subList[subIndex].DateStr,
blank: 'y',
tab: "团控查询",
}
});
}
},
getList() {
this.loading = true;
if (this.msg.StartDate == null) {
this.msg.StartDate = new Date().Format("yyyy-MM-dd");
}
if (this.msg.EndDate == null) {
this.msg.EndDate = this.setEdate();
}
this.ApiPost2("dict_post_HotelOffer_GetHotelStatics_Supplier", this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.isShow = true;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取酒店列表
GetHotelList() {
this.ApiPost2(
"hotel_post_GetHasStockHotelList_Supplier", {
Country: 651,
IsMoreThanZero: 1
},
res => {
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
}
},
err => {}
);
},
setEdate() {
return this.addMoth(new Date().Format("yyyy-MM-dd"), 1)
},
addMoth(d, m) {
let ds = d.split('-'),
_d = ds[2] - 0;
let nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0);
let max = nextM.getDate();
d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d);
return d.toLocaleDateString().match(/\d+/g).join('-')
},
//格式化返回显示日期
getDateList(dateStr) {
var str = dateStr.split('-');
var weekDay = ["天", "一", "二", "三", "四", "五", "六"];
var myDate = new Date(Date.parse(dateStr));
return str[1] + '/' + str[2] + "(" + weekDay[myDate.getDay()] + ")";
},
//获取星期几
getWeek(dateStr) {
var weekDay = ["天", "一", "二", "三", "四", "五", "六"];
var myDate = new Date(Date.parse(dateStr));
return weekDay[myDate.getDay()]
},
//获取颜色状态
getClass(Status, InventoryType) {
var classStr = "";
if (Status == 0) {
classStr = 'noKucun';
}
switch (InventoryType) {
case 1:
classStr = "classHong";
break;
case 2:
classStr = "classWang";
break;
case 3:
classStr = "classPing";
break;
case 4:
classStr = "classDan";
break;
case 5:
classStr = "classTe";
break;
}
return classStr;
},
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
this.GetHotelTipList();
},
resetPageIndex() {
this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1;
},
//获取酒店列表
GetHotelTipList() {
this.ApiPost2(
"hoteltip_get_GetPageList", this.queryMsg,
res => {
if (res.data.resultCode == 1) {
this.HotelTipList = res.data.data.pageData;
this.queryMsg.total = res.data.data.count;
}
},
err => {}
);
},
SaveHotelTip() {
this.ApiPost2(
"hoteltip_post_SetHotelTip", this.postMsg,
res => {
if (res.data.resultCode == 1) {
this.Success("保存成功!");
this.postMsg.Id = 0;
this.postMsg.TipContent = "";
this.GetHotelTipList();
} else {
this.Error("保存失败!");
}
},
err => {}
);
},
RemoveHotelTip(Id) {
var that = this;
this.Confirm('是否要删除此数据?', function () {
that.ApiPost2(
"hoteltip_post_RemoveHotelTip", {
ID: Id
},
res => {
if (res.data.resultCode == 1) {
that.Success("删除成功!");
that.GetHotelTipList();
} else {
that.Error("删除失败!");
}
},
err => {}
);
})
},
GetHotelTip(Id) {
this.ApiPost2(
"hoteltip_get_GetHotelTip", {
ID: Id
},
res => {
if (res.data.resultCode == 1) {
this.postMsg.Id = res.data.data.Id;
this.postMsg.TipContent = res.data.data.TipContent;
} else {
this.Error("获取数据失败!");
}
},
err => {}
);
},
getProvinceList(ID, type) {
//根据省份获取城市
let msg = {
Id: ID
};
if (type == 1) {
this.msg.Province = 0;
this.msg.City = 0;
this.provinceList = [];
this.cityList = [];
} else if (type == 2) {
this.msg.City = 0;
this.cityList = [];
}
this.ApiPost2(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
}
},
err => {}
);
},
getBranchList() {
this.ApiPost2('admin_get_BranchGetList', {
RB_Group_Id: '2',
Status: 0,
}, res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
}
}, err => {})
},
//Excel下载
DownLoadHotelQuery() {
this.loading = true;
let qMsg = {
queryMsg: this.msg,
uid: this.getLocalStorageSupplier().SupplierAccountId
};
let fileName = "酒店查询统计" + this.$commonUtils.getCurrentDate() + ".xls";
this.GetLocalFile("hotel_get_downloadHotelQuery_Supplier", qMsg, fileName,
res => {
this.loading = false;
});
},
},
mounted() {
document.title = this.userInfo.GroupName;
this.getMenu();
this.getBranchList();
this.getProvinceList(651, 1);
this.GetHotelList();
this.getList();
this.GetHotelTipList();
  var url = window.location.href;
if(String(url).indexOf('SupplierIndex') >= 0){
this.showPage=true;
}else{
this.showPage =false;
}
},
watch:{
$route(val){
this.showPage =false;
}
}
};
......@@ -466,4 +1039,132 @@
top: 50px !important;
}
.Hq_duoge {
cursor: pointer;
text-decoration: underline;
}
.HqCom_bottom .ql-container {
min-height: 100px;
}
.classHong {
background-color: rgb(255, 55, 55);
color:#fff;
}
.classWang {
background-color: rgb(255, 153, 204);
}
.classPing {
background-color: rgb(188, 214, 238);
}
.classDan {
background-color: rgb(221, 221, 221);
}
.classTe {
background-color: rgb(2, 247, 142);
}
.HouseTypeList {
background: #ccc;
width: 100%;
margin-top: 20px;
}
.Com_hoteldiv {
min-width: 70px;
white-space: nowrap;
}
.noKucun {
background-color: black !important;
}
.Hotel_kong {
width: 100%;
height: 35px;
text-align: center;
line-height: 35px;
border-bottom: 1px solid #d1d1d1;
}
.Hotel_kong:last-child {
border: 0;
}
.HouseTypeList tr th {
background: #e6e6e6;
height: 35px;
font-size: 12px;
color: #333;
}
.HouseTypeList tr {
background: #fff;
text-align: center;
height: 35px;
}
.HouseTypeList tr td {
font-size: 12px;
}
.hotelProductManage2_tableBox span {
margin: 0 10px 10px 0;
}
.Hq_addDetail {
margin-top: 20px;
}
.Hq_addDetail .el-textarea__inner {
resize: none;
}
.Hq_addTable .el-button.is-circle {
padding: 5px;
}
.HqCom_bottom .el-form-item {
margin-bottom: 0
}
.HqCom_bottom {
height: 350px;
padding-top: 35px;
}
.HQ_miaoshu {
color: #E95252;
font-size: 12px;
}
.HQ_miaoshu:first-child {
margin-top: 10px;
}
.HotelQueryList .has-gutter tr th,
.el-table th.is-leaf {
background: #EAEAEA !important;
}
.HotelQueryList .el-table td,
.el-table th.is-leaf {
border-bottom: 1px solid #ebeef5;
}
.HotelQueryList .el-table .cell {
padding: 0;
}
.HotelQueryList .el-table td {
padding: 0;
}
</style>
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