Commit b857872c authored by 黄奎's avatar 黄奎

酒店报价修改

parent e8996745
......@@ -2,13 +2,7 @@
<div class="hotelProductCalendar">
<div class="hotelProductCalendar_month">
<div onselectstart="return false;">
<!-- <i class="el-icon-caret-left" @click="dateChange('year','left')"></i> -->
<!-- <input type="text" disabled="disabled" v-model="msg.currentYear"> -->
<!-- <i class="el-icon-caret-right" @click="dateChange('year','right')"></i> -->
<span>{{calendar.data.date&&calendar.data.date.split('-')[0]}}</span>
<!-- <i class="el-icon-caret-left" @click="dateChange('month','left')"></i> -->
<!-- <input type="text" disabled="disabled" v-model="msg.currentMonth"> -->
<!-- <i class="el-icon-caret-right" @click="dateChange('month','right')"></i> -->
<span>{{calendar.data.date&&calendar.data.date.split('-')[1]}}</span>
</div>
<div>
......@@ -32,18 +26,18 @@
<div :class="item.month===calendar.data.date?'nowMonth':'otherMonth'">
<span>{{item.date.getMonth()+1}}-{{item.date.getDate()}}</span>
</div>
<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 class="text_underLine" @click="goUrlHotelTeam(item)">剩余库存:{{item.data.RemainingInventory}}(间)</span></p>
<!-- <p><span>剩余库存:{{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>
<div v-if="item.data&&item.month===calendar.data.date" :class="stockColor(item.data.SubList[0].InventoryType)">
<template v-for="(childItem,childIndex) in item.data.SubList">
<p>
<span @click="goUrlA('2', item,childItem.BatchNumber)" class="text_underLine">价格:{{childItem.CostPrice}}{{childItem.CurrencyName}}</span>
<span class="text_underLine" @click="goUrlB(item)">总库存:{{childItem.Inventory}}(间)</span>
<span class="text_underLine" @click="goUrlHotelTeam(item)">剩余库存:{{childItem.RemainingInventory}}(间)</span>
</p>
</template>
</div>
<div class="noStock" v-if="!item.data&&item.month===calendar.data.date">
<p><span>暂无数据</span></p>
<p><span @click="goUrlA('1', item)">立即新增</span></p>
<p><span @click="goUrlA('1', item,1)">立即新增</span></p>
</div>
<div class="hasStock" v-if="item.month!==calendar.data.date">
<p></p>
......@@ -81,8 +75,7 @@
return 'hasStock hasStock_3'
} else if (type === 4) {
return 'hasStock hasStock_4'
}
else if (type === 5) {
} else if (type === 5) {
return 'hasStock hasStock_5'
}
},
......@@ -90,27 +83,44 @@
this.calendar.show = false
this.calendar.data = {}
},
goUrlA: function (type, item) {
this.$emit('goEdit', type, item.day)
goUrlA: function (type, item,BatchNumber) {
this.$emit('goEdit', type, item.day,BatchNumber)
},
goUrlHotelTeam:function(item){
this.$router.push({ name: 'HotelsTeam', query: { HotelId: item.data.HotelId,StartDate:item.data.DayStr, 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: '总库存看板'} });
this.$router.push({
name: 'HotelTotalStock',
query: {
HotelId: this.hotelId,
blank: 'y',
tab: '总库存看板'
}
});
}
}
}
</script>
<style scoped>
.hotelProductCalendar{
.hotelProductCalendar {
width: 100%;
font-size: 0px;
box-sizing: border-box;
background-color: #f5f5f5;
}
.hotelProductCalendar_month{
.hotelProductCalendar_month {
position: relative;
width: 100%;
height: 50px;
......@@ -119,20 +129,23 @@
background: #e95252;
border-radius: 4px 4px 0 0;
}
.hotelProductCalendar_month>div{
.hotelProductCalendar_month>div {
display: inline-block;
height: 50px;
line-height: 50px;
vertical-align: top;
}
.hotelProductCalendar_month>div:nth-child(1)>i{
.hotelProductCalendar_month>div:nth-child(1)>i {
display: inline-block;
font-size: 22px;
color: #ff7e7e;
cursor: pointer;
vertical-align: middle;
}
.hotelProductCalendar_month>div:nth-child(1)>input{
.hotelProductCalendar_month>div:nth-child(1)>input {
display: inline-block;
width: 60px;
height: 30px;
......@@ -145,20 +158,23 @@
text-align: center;
vertical-align: middle;
}
.hotelProductCalendar_month>div:nth-child(1)>span{
.hotelProductCalendar_month>div:nth-child(1)>span {
display: inline-block;
padding: 0 5px;
font-size: 18px;
color: #fff;
vertical-align: middle;
}
.hotelProductCalendar_month>div:nth-child(2)>span{
.hotelProductCalendar_month>div:nth-child(2)>span {
display: inline-block;
padding: 0 20px;
font-size: 18px;
color: #fff;
}
.hotelProductCalendar_month>div:nth-child(3){
.hotelProductCalendar_month>div:nth-child(3) {
position: absolute;
z-index: 1;
right: 0px;
......@@ -166,17 +182,20 @@
width: 50px;
text-align: center;
}
.hotelProductCalendar_month>div:nth-child(3)>i{
.hotelProductCalendar_month>div:nth-child(3)>i {
font-size: 12px;
color: #ffffff;
cursor: pointer;
}
.hotelProductCalendar_week{
.hotelProductCalendar_week {
width: 100%;
height: 28px;
background-color: #3fa783;
}
.hotelProductCalendar_week>div{
.hotelProductCalendar_week>div {
display: inline-block;
width: 14.2857%;
height: 28px;
......@@ -185,11 +204,13 @@
font-size: 14px;
color: #FFFFFF;
}
.hotelProductCalendar_day{
.hotelProductCalendar_day {
width: 100%;
border-left: 1px solid #dddddd;
}
.hotelProductCalendar_day>div{
.hotelProductCalendar_day>div {
display: inline-block;
width: 14.2857%;
height: 148px;
......@@ -197,39 +218,49 @@
border-bottom: 1px solid #ddd;
vertical-align: top;
}
.hotelProductCalendar_day>div>div:nth-child(1){
.hotelProductCalendar_day>div>div:nth-child(1) {
width: 100%;
height: 28px;
line-height: 28px;
text-align: center;
}
.hotelProductCalendar_day>div>div:nth-child(1)>span{
.hotelProductCalendar_day>div>div:nth-child(1)>span {
font-size: 14px;
}
.hotelProductCalendar_day>div>.nowMonth{
.hotelProductCalendar_day>div>.nowMonth {
background-color: #CCCCCC;
}
.hotelProductCalendar_day>div>.nowMonth>span{
.hotelProductCalendar_day>div>.nowMonth>span {
color: #000000;
}
.hotelProductCalendar_day>div:nth-child(7n-1)>.nowMonth>span{
.hotelProductCalendar_day>div:nth-child(7n-1)>.nowMonth>span {
color: #e95252;
}
.hotelProductCalendar_day>div:nth-child(7n)>.nowMonth>span{
.hotelProductCalendar_day>div:nth-child(7n)>.nowMonth>span {
color: #e95252;
}
.hotelProductCalendar_day>div>.otherMonth{
.hotelProductCalendar_day>div>.otherMonth {
background-color: #DDDDDD;
}
.hotelProductCalendar_day>div>.otherMonth>span{
.hotelProductCalendar_day>div>.otherMonth>span {
color: #999999;
}
.hotelProductCalendar_day>div>.hasStock{
.hotelProductCalendar_day>div>.hasStock {
width: 100%;
height: 120px;
overflow-y: auto;
}
.hotelProductCalendar_day>div>.hasStock>p{
.hotelProductCalendar_day>div>.hasStock>p {
width: 100%;
min-height: 20px;
padding: 0 10px;
......@@ -237,34 +268,42 @@
font-size: 12px;
border-bottom: 1px dashed #ccc;
}
.hotelProductCalendar_day>div>.hasStock_1 {
color: #FFFFFF;
background-color: #ff3737;
}
.hotelProductCalendar_day>div>.hasStock_2 {
background-color: #ff99cc;
}
.hotelProductCalendar_day>div>.hasStock_3 {
background-color: #bcd6ee;
}
.hotelProductCalendar_day>div>.hasStock_4 {
background-color: #ffffff;
}
.hotelProductCalendar_day>div>.hasStock_5 {
background-color: #02F78E;
}
.hotelProductCalendar_day>div>.noStock{
.hotelProductCalendar_day>div>.noStock {
padding: 30px 0 0 0;
width: 100%;
height: 120px;
}
.hotelProductCalendar_day>div>.noStock>p:nth-child(1){
.hotelProductCalendar_day>div>.noStock>p:nth-child(1) {
width: 100%;
font-size: 16px;
color: #999999;
text-align: center;
}
.hotelProductCalendar_day>div>.noStock>p:nth-child(2){
.hotelProductCalendar_day>div>.noStock>p:nth-child(2) {
margin: 10px 0 0 0;
width: 100%;
font-size: 12px;
......@@ -272,7 +311,9 @@
text-align: center;
cursor: pointer;
}
.text_underLine{
.text_underLine {
cursor: pointer;
}
</style>
......@@ -7,7 +7,8 @@
<div class="hotelProductManage2_condition">
<div>
<em>起始月</em>
<el-date-picker v-model="condition.month" type="month" value-format="yyyy-MM" :clearable="false" placeholder="选择月"></el-date-picker>
<el-date-picker v-model="condition.month" type="month" value-format="yyyy-MM" :clearable="false"
placeholder="选择月"></el-date-picker>
</div>
</div>
<div class="hotelProductManage2_tableBox">
......@@ -29,11 +30,11 @@
</table>
</div>
<div class="hotelProductManage2_tableBox">
<span style="color:#000000;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: #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>
<span style="color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px">特别价</span>
</div>
<div class="hotelProductManage2_calendar">
<div class="hotelProductManage2_calendarItem" v-for="(item, index) in days" :key="index">
......@@ -51,9 +52,17 @@
<div>周日</div>
</div>
<div class="calendarItem_day">
<div v-for="(item2, index2) in item.days" :key="index2" :class="item2.month===item.date?'nowMonth':'otherMonth'">
<div :class="stockColor(item, item2)" :style="item2.month===item.date&&msg2.DateList.indexOf(item2.day)!==-1?'border-color: green':''"
@click="calendarDayOn(item, item2)">{{item2.date.getDate()}}</div>
<div v-for="(subItem, index2) in item.days" :key="index2" :class="subItem.month===item.date?'nowMonth':'otherMonth'">
<div :class="stockColor(item,subItem)"
:style="subItem.month===item.date&&msg2.DateList.indexOf(subItem.day)!==-1?'border-color: green':''"
@click="calendarDayOn(item, subItem)">
{{subItem.date.getDate()}}<br />
<template v-if="subItem.data&&subItem.data.SubList && subItem.data.SubList[0]">
<template v-for="(childItem,childIndex) in subItem.data.SubList" >
<span> {{childItem.BatchNumber}} </span>
</template>
</template>
</div>
</div>
</div>
</div>
......@@ -71,8 +80,17 @@
<input type="button" value="保存" @click="edit2Save()" class="normalBtn" />
</div>
</div>
<el-form :model="msg2" :rules="rules2" :inline="true" label-width="130px" ref="hotelProductForm2" class="hotelProductManage2_edit2_form">
<el-form :model="msg2" :rules="rules2" :inline="true" label-width="130px" ref="hotelProductForm2"
class="hotelProductManage2_edit2_form">
<el-row>
<el-col :span="24" class="HotelProductEdit_date">
<el-form-item label="已选日期" prop="DateList">
<el-tag v-for="(item, key) in msg2.DateList" :key="key" type="info" style="margin: 0 5px 0 0;" closable
@close="calendarDayOff(item)">{{item}}</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;">
<el-col :span="6">
<el-form-item label="库存类型" prop="InventoryType">
<el-select v-model="msg2.InventoryType" placeholder="请选择">
......@@ -89,36 +107,27 @@
<el-input-number v-model="msg2.Inventory" :min="0"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="24" class="HotelProductEdit_date">
<el-form-item label="已选日期" prop="DateList">
<el-tag v-for="(item, key) in msg2.DateList" :key="key" type="info" style="margin: 0 5px 0 0;" closable
@close="calendarDayOff(item)">{{item}}</el-tag>
<el-col :span="6">
<el-form-item label="批次">
<el-select v-model="msg2.BatchNumber" placeholder="请选择">
<el-option label="第一批" :value="1"></el-option>
<el-option label="第二批" :value="2"></el-option>
<el-option label="第三批" :value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;">
<el-col :span="6">
<!-- <el-form-item label="标准间成本价" prop="CostPrice">
<el-input-number v-model="msg2.CostPrice" :precision="2" :min="0"></el-input-number>
</el-form-item> -->
<el-form-item>
<div class="RabateDiv clearfix">
<div class="RebateCount reOne">
<div class="leftPnum">标准间成本价</div>
<input type="text" class="toolInput inpuOne" v-model="msg2.CostPrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20">
</div>
<div class="RebateCount reTwo">
<div class="fanNum">散客价</div>
<input type="text" class="toolInput inpuTwo" v-model="msg2.SanKePrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20">
</div>
</div>
<el-form-item label="标准间成本价">
<el-input-number v-model="msg2.CostPrice" :precision="2" :min="0" @keyup.native="checkPrice(msg2,'CostPrice')" maxlength="10"></el-input-number>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-col :span="6">
<el-form-item label="散客价">
<el-input-number v-model="msg2.SanKePrice" :precision="2" :min="0"></el-input-number>
<el-input-number v-model="msg2.SanKePrice" :precision="2" :min="0"
@keyup.native="checkPrice(msg2,'SanKePrice')" maxlength="10"></el-input-number>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="6">
<el-form-item label="大床间成本价" prop="BidroomPrice">
<el-input-number v-model="msg2.BidroomPrice" :precision="2" :min="0"></el-input-number>
......@@ -155,7 +164,8 @@
<el-form-item label="成本币种" prop="CurrencyId">
<el-select v-model="msg2.CurrencyId" placeholder="请选择" style="width:100px;" @change="currency2Change">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option>
<el-option v-for="(item,index) in allCurrencyList" :key="index" :label="item.Name" :value="item.ID"></el-option>
<el-option v-for="(item,index) in allCurrencyList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -192,13 +202,15 @@
<el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg2.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID"></el-option>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="18">
<el-form-item label="备注" prop="Remark">
<el-input type="textarea" v-model="msg2.Remark" :rows="2" placeholder="请输入内容" style="width: 755px;"></el-input>
<el-input type="textarea" v-model="msg2.Remark" :rows="1" placeholder="请输入备注内容" style="width: 600px;">
</el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -213,24 +225,10 @@
<div @click="editSave()">保存</div>
</div>
</div>
<el-form :model="msg" :rules="rules" :inline="true" label-width="130px" ref="hotelProductForm" class="hotelProductManage2_edit_form">
<el-form :model="msg" :rules="rules" :inline="true" label-width="130px" ref="hotelProductForm"
class="hotelProductManage2_edit_form">
<el-row>
<el-col :span="6">
<el-form-item label="库存类型" prop="InventoryType">
<el-select v-model="msg.InventoryType" placeholder="请选择">
<el-option label="红日" value="1"></el-option>
<el-option label="旺季" value="2"></el-option>
<el-option label="平季" value="3"></el-option>
<el-option label="淡季" value="4"></el-option>
<el-option label="特别价" value="5"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="库存" prop="Inventory">
<el-input-number v-model="msg.Inventory" :min="0"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="日期选择方式" prop="DayType">
<el-select v-model="msg.DayType" placeholder="请选择" @change="dayTypeChange">
......@@ -241,7 +239,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" class="HotelProductEdit_date">
<el-col :span="12" class="HotelProductEdit_date">
<div v-show="msg.DayType==='1'||msg.DayType==='3'">
<el-form-item label="年" prop="Year">
<el-date-picker v-model="msg.Year" type="year" value-format="yyyy" placeholder="选择年"></el-date-picker>
......@@ -249,7 +247,8 @@
</div>
<div v-show="msg.DayType==='2'">
<el-form-item label="月" prop="Month">
<el-date-picker v-model="msg.Month" type="month" value-format="yyyy-MM" placeholder="选择月"></el-date-picker>
<el-date-picker v-model="msg.Month" type="month" value-format="yyyy-MM" placeholder="选择月">
</el-date-picker>
</el-form-item>
</div>
<div v-show="msg.DayType==='3'">
......@@ -290,34 +289,52 @@
</el-form-item>
<em>-</em>
<el-form-item label="" prop="EndDate">
<el-date-picker v-model="msg.EndDate" type="date" placeholder="选择结束时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
<el-date-picker v-model="msg.EndDate" type="date" placeholder="选择结束时间" format="yyyy-MM-dd"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;">
<el-col :span="6">
<!-- <el-form-item label="标准间成本价" prop="CostPrice">
<el-input-number v-model="msg.CostPrice" :precision="2" :min="0"></el-input-number>
</el-form-item> -->
<el-form-item>
<div class="RabateDiv clearfix">
<div class="RebateCount reOne">
<div class="leftPnum">标准间成本价</div>
<input type="text" class="toolInput inpuOne" v-model="msg.CostPrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20">
</div>
<div class="RebateCount reTwo">
<div class="fanNum">散客价</div>
<input type="text" class="toolInput inpuTwo" v-model="msg.SanKePrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20">
</div>
</div>
<el-form-item label="库存类型" prop="InventoryType">
<el-select v-model="msg.InventoryType" placeholder="请选择">
<el-option label="红日" value="1"></el-option>
<el-option label="旺季" value="2"></el-option>
<el-option label="平季" value="3"></el-option>
<el-option label="淡季" value="4"></el-option>
<el-option label="特别价" value="5"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-col :span="6">
<el-form-item label="库存" prop="Inventory">
<el-input-number v-model="msg.Inventory" :min="0"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="批次">
<el-select v-model="msg.BatchNumber" placeholder="请选择">
<el-option label="第一批" :value="1"></el-option>
<el-option label="第二批" :value="2"></el-option>
<el-option label="第三批" :value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="标准间成本价">
<el-input-number v-model="msg.CostPrice" :precision="2" :min="0"
@keyup.native="checkPrice(msg2,'CostPrice')" maxlength="10"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="散客价">
<el-input-number v-model="msg.SanKePrice" :precision="2" :min="0"></el-input-number>
<el-input-number v-model="msg.SanKePrice" :precision="2" :min="0"
@keyup.native="checkPrice(msg2,'SanKePrice')" maxlength="10"></el-input-number>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="6">
<el-form-item label="大床间成本价" prop="BidroomPrice">
<el-input-number v-model="msg.BidroomPrice" :precision="2" :min="0"></el-input-number>
......@@ -354,7 +371,8 @@
<el-form-item label="成本币种" prop="CurrencyId">
<el-select v-model="msg.CurrencyId" placeholder="请选择" style="width:100px;" @change="currencyChange">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option>
<el-option v-for="(item,index) in allCurrencyList" :key="index" :label="item.Name" :value="item.ID"></el-option>
<el-option v-for="(item,index) in allCurrencyList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -391,13 +409,15 @@
<el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID"></el-option>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="18">
<el-form-item label="备注" prop="Remark">
<el-input type="textarea" v-model="msg.Remark" :rows="2" placeholder="请输入内容" style="width: 755px;"></el-input>
<el-input type="textarea" v-model="msg.Remark" :rows="1" placeholder="请输入备注内容" style="width: 600px;">
</el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -517,6 +537,7 @@
Week: '',
DateList: [],
SanKePrice: 0, //散客价
BatchNumber: 1, //批次号
},
msg2: {
Hotel: '0',
......@@ -545,6 +566,7 @@
Week: '',
DateList: [],
SanKePrice: 0, //散客价
BatchNumber: 1 //批次号
},
rules: {
InventoryType: {
......@@ -736,31 +758,32 @@
},
},
allCurrencyList: [],
//供应商数组
SupplierList: []
}
},
methods: {
stockColor: function (item, item2) {
//库存类型
stockColor: function (item, item2,childItem) {
if (item.date === item2.month && item2.hasOwnProperty('data')) {
let type = item2.data.InventoryType
let type = item2.data.SubList[0].InventoryType;
if (type === 1) {
return 'hasStock_1'
return 'hasStock_1';
} else if (type === 2) {
return 'hasStock_2'
return 'hasStock_2';
} else if (type === 3) {
return 'hasStock_3'
return 'hasStock_3';
} else if (type === 4) {
return 'hasStock_4'
}
else if (type === 5) {
return 'hasStock_5'
return 'hasStock_4';
} else if (type === 5) {
return 'hasStock_5';
}
} else {
return
return;
}
},
//日历点击事件
calendarDayOn: function (item, item2) {
if (item.date === item2.month) {
let dayIndex = this.msg2.DateList.indexOf(item2.day)
if (dayIndex === -1) {
......@@ -770,7 +793,6 @@
this.msg2.DateList.splice(dayIndex, 1)
}
}
console.log(this.msg2.DateList);
},
calendarDayOff: function (item) {
let dayIndex = this.msg2.DateList.indexOf(item)
......@@ -783,10 +805,11 @@
Month: date.split('-')[1]
}, res => {
if (res.data.resultCode === 1) {
let json = res.data.data
this.hotelInfo.HotelName = json.HotelName
this.hotelInfo.TotalInventory = json.TotalInventory
this.hotelInfo.Validity = json.Validity
let json = res.data.data;
this.hotelInfo.HotelName = json.HotelName;
this.hotelInfo.TotalInventory = json.TotalInventory;
this.hotelInfo.Validity = json.Validity;
for (let i = 0; i < this.days[key].days.length; i++) {
for (let j = 0; j < json.list.length; j++) {
if (this.days[key].days[i].day === json.list[j].DayStr) {
......@@ -798,8 +821,6 @@
this.$set(this.calendar, 'data', this.days[this.calendar.num])
}
this.$forceUpdate();
} else {
this.$message.error('数据获取失败')
}
})
},
......@@ -808,52 +829,42 @@
let dayList = this.$calendarUtils.createCalendar(date).DayArray;
let days = [];
for (let i = 0; i < dayList.length; i++) {
let month = dayList[i].day.Format('yyyy-MM')
let day = dayList[i].day.Format('yyyy-MM-dd')
let month = dayList[i].day.Format('yyyy-MM');
let day = dayList[i].day.Format('yyyy-MM-dd');
days.push({
date: dayList[i].day,
month: month,
day: day
})
}
});
};
this.days[key] = {
date: month,
days: days,
isCked:false
}
this.getData(date, key)
isCked: false
};
this.getData(date, key);
},
getMonths: function () {
let month = this.condition.month + '-1'
for (let i = 0; i < 4; i++) {
if (i !== 0) {
let newDate = new Date(month).setDate(32)
month = new Date(newDate).Format('yyyy-MM') + '-1'
let newDate = new Date(month).setDate(32);
month = new Date(newDate).Format('yyyy-MM') + '-1';
}
this.getCalendarDays(month, i)
this.getCalendarDays(month, i);
}
},
calendarShow: function (item, index) {
this.calendar.num = index
this.calendar.data = item
this.calendar.show = true
},
goUrlA: function () {
this.$router.push({
name: 'HotelProductEdit',
query: {
type: '1',
HotelId: this.hotelId,
blank: 'y',
tab: '报价管理'
}
});
this.calendar.num = index;
this.calendar.data = item;
this.calendar.show = true;
},
// 获取详情
getDetail: function (date) {
getDetail: function (date,BatchNumber) {
this.apipost('dict_post_HotelOffer_GetHotelPriceInfo', {
HotelId: this.msg.Hotel,
Time: date
Time: date,
BatchNumber:BatchNumber
}, res => {
if (res.data.resultCode === 1) {
let data = res.data.data;
......@@ -876,9 +887,8 @@
this.msg.WeekendAddPrice = data.WeekendAddPrice
this.msg.InteriorAddPrice = data.InteriorAddPrice
this.msg.GuideRoomPrice = data.GuideRoomPrice;
this.msg.SanKePrice=data.SanKePrice;
} else {
this.$message.error(res.data.message)
this.msg.SanKePrice = data.SanKePrice;
this.msg.BatchNumber = data.BatchNumber;
}
})
},
......@@ -895,8 +905,6 @@
this.apipost("financeinfo_post_GetList", {}, res => {
if (res.data.resultCode === 1) {
this.allCurrencyList = res.data.data;
} else {
this.$message.error('币种获取失败')
}
}, err => {});
},
......@@ -925,27 +933,25 @@
}, res => {
if (res.data.resultCode === 1) {
this.SupplierList = res.data.data;
} else {
this.$message.error('供应商获取失败')
}
}, err => {});
},
// 打开编辑窗口
goEdit: function (type, date) {
let nowDate = new Date().Format('yyyy-MM-dd')
this.msg.StartDate = date === undefined ? nowDate : date
this.msg.EndDate = date === undefined ? nowDate : date
goEdit: function (type, date,BatchNumber) {
let nowDate = new Date().Format('yyyy-MM-dd');
this.msg.StartDate = date === undefined ? nowDate : date;
this.msg.EndDate = date === undefined ? nowDate : date;
if (type === '2' && date) {
this.getDetail(date)
this.getDetail(date,BatchNumber);
}
this.editShow = true
this.editShow = true;
},
// 取消按钮
editCanel: function () {
this.editShow = false;
this.$refs['hotelProductForm'].resetFields();
this.msg.CostPrice=0;
this.msg.SanKePrice=0;
this.msg.CostPrice = 0;
this.msg.SanKePrice = 0;
},
// 保存按钮
editSave: function () {
......@@ -953,14 +959,15 @@
if (valid) {
this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg, res => {
if (res.data.resultCode === 1) {
this.$message.success('编辑成功')
this.Success('编辑成功')
this.getMonths()
this.editShow = false
this.$refs['hotelProductForm'].resetFields();
this.msg.CostPrice=0;
this.msg.SanKePrice=0;
this.msg.CostPrice = 0;
this.msg.SanKePrice = 0;
this.msg.BatchNumber = 1;
} else {
this.$message.error(res.data.message)
this.Error(res.data.message)
}
})
} else {
......@@ -971,32 +978,25 @@
// 页面编辑重置
edit2Reset: function () {
this.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0;
this.msg2.SanKePrice=0;
this.msg2.CostPrice = 0;
this.msg2.SanKePrice = 0;
},
//批量删除
delete2Reset: function () {
this.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('dict_post_HotelOffer_RemoveNewHotelPrice', this.msg2, res => {
var that = this;
this.Confirm("是否删除?", function () {
that.apipost('dict_post_HotelOffer_RemoveNewHotelPrice', that.msg2, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.getMonths()
this.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0;
this.msg2.SanKePrice=0;
that.Success(res.data.message)
that.getMonths();
that.$refs['hotelProductForm2'].resetFields();
that.msg2.CostPrice = 0;
that.msg2.SanKePrice = 0;
that.msg2.BatchNumber = 1;
} else {
this.$message.error(res.data.message)
that.Error(res.data.message)
}
}, err => {})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
// 页面编辑保存
......@@ -1005,13 +1005,14 @@
if (valid) {
this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg2, res => {
if (res.data.resultCode === 1) {
this.$message.success('编辑成功')
this.getMonths()
this.Success('编辑成功')
this.getMonths();
this.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0;
this.msg2.SanKePrice=0;
this.msg2.CostPrice = 0;
this.msg2.SanKePrice = 0;
this.msg2.BatchNumber = 1;
} else {
this.$message.error(res.data.message)
this.Error(res.data.message)
}
})
} else {
......@@ -1020,19 +1021,19 @@
});
},
//增加全选
changeHotelStatus(item,index){
if(item.isCked){
item.days.forEach(x=>{
if(x.month==item.date){
if(this.msg2.DateList.indexOf(x.day)==-1){
changeHotelStatus(item, index) {
if (item.isCked) {
item.days.forEach(x => {
if (x.month == item.date) {
if (this.msg2.DateList.indexOf(x.day) == -1) {
this.msg2.DateList.push(x.day);
}
}
})
}else{
item.days.forEach(x=>{
this.msg2.DateList.forEach((y,index)=>{
if(x.day==y){
} else {
item.days.forEach(x => {
this.msg2.DateList.forEach((y, index) => {
if (x.day == y) {
this.msg2.DateList.splice(index, 1)
}
})
......@@ -1041,19 +1042,19 @@
}
},
created: function () {
this.hotelId = this.$route.query.id === undefined ? '0' : this.$route.query.id
this.msg.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id
this.msg2.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id
this.condition.month = new Date().Format('yyyy-MM')
let nowDate = new Date().Format('yyyy-MM-dd')
this.msg.DayType = '4'
this.msg.StartDate = nowDate
this.msg.EndDate = nowDate
this.hotelId = this.$route.query.id === undefined ? '0' : this.$route.query.id;
this.msg.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id;
this.msg2.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id;
this.condition.month = new Date().Format('yyyy-MM');
let nowDate = new Date().Format('yyyy-MM-dd');
this.msg.DayType = '4';
this.msg.StartDate = nowDate;
this.msg.EndDate = nowDate;
},
mounted: function () {
this.getMonths()
this.getAllCurrency()
this.initSupplier()
this.getMonths();
this.getAllCurrency();
this.initSupplier();
}
}
......@@ -1063,12 +1064,14 @@
.hotelProductManage2 {
padding: 20px 0;
}
.hotelproductCkbox{
width:10%;
height:30px;
float:right;
margin:5px 20px 0 0;
.hotelproductCkbox {
width: 10%;
height: 30px;
float: right;
margin: 5px 20px 0 0;
}
.hotelProductManage2>.hotelProductManage2_btnList {
position: fixed;
top: 36px;
......@@ -1173,8 +1176,8 @@
.hotelProductManage2_calendarItem>.calendarItem_month {
width: 50%;
height: 30px;
float:left;
margin-left:110px;
float: left;
margin-left: 110px;
line-height: 30px;
text-align: center;
font-size: 14px;
......@@ -1242,9 +1245,11 @@
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_3 {
background-color: #bcd6ee;
}
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_4 {
background-color: #DDDDDD;
}
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_5 {
background-color: #02F78E;
}
......@@ -1345,7 +1350,7 @@
left: 50px;
padding: 10px 10px 0;
min-width: 1316px;
height: 640px;
/* height: 640px; */
border-top: 3px solid #38425d;
background-color: #FFFFFF;
overflow: auto;
......@@ -1429,18 +1434,23 @@
margin: 7px 10px 0 0;
padding: 0 0 0 0;
}
.hotelProductManage2 .RabateDiv {
margin-left: 25px;
}
.hotelProductManage2 .RebateCount {
height: 34px;
border-radius: 17px;
float: left;
}
.hotelProductManage2 .reOne,.hotelProductManage2 .reTwo,
.hotelProductManage2 .reOne,
.hotelProductManage2 .reTwo,
.hotelProductManage2.dayNum {
position: relative;
}
.hotelProductManage2 .leftPnum {
float: left;
background-color: #f5f7fa;
......@@ -1451,26 +1461,30 @@
position: absolute;
left: 1px;
top: 1px;
font-size:14px;
padding:0 10px;
color:#606266;
font-size: 14px;
padding: 0 10px;
color: #606266;
}
.hotelProductManage2 .toolInput {
height: 42px;
padding-left: 5px;
border: none;
}
.hotelProductManage2 .inpuOne {
width: 225px;
padding-left: 120px;
border: 1px solid #d1d1d1;
border-right: none;
}
.hotelProductManage2 .inpuTwo {
width: 166px;
padding: 0 45px 0 77px;
border: 1px solid #d1d1d1;
}
.hotelProductManage2 .fanNum {
float: left;
background-color: #f5f7fa;
......@@ -1481,9 +1495,9 @@
position: absolute;
left: 1px;
top: 1px;
padding:0 10px;
color:#606266;
font-size:14px;
padding: 0 10px;
color: #606266;
font-size: 14px;
}
</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