Commit 7bfb3e5b authored by 华国豪's avatar 华国豪 🙄
parents 059f2a47 f0a967af
<template> <template>
<div class="hotelProductCalendar"> <div class="hotelProductCalendar">
<div class="hotelProductCalendar_month"> <div class="hotelProductCalendar_month">
<div onselectstart="return false;"> <div onselectstart="return false;">
<!-- <i class="el-icon-caret-left" @click="dateChange('year','left')"></i> --> <span>{{calendar.data.date&&calendar.data.date.split('-')[0]}}</span>
<!-- <input type="text" disabled="disabled" v-model="msg.currentYear"> --> <span>{{calendar.data.date&&calendar.data.date.split('-')[1]}}</span>
<!-- <i class="el-icon-caret-right" @click="dateChange('year','right')"></i> --> </div>
<span>{{calendar.data.date&&calendar.data.date.split('-')[0]}}</span> <div>
<!-- <i class="el-icon-caret-left" @click="dateChange('month','left')"></i> --> <span>酒店库存表</span>
<!-- <input type="text" disabled="disabled" v-model="msg.currentMonth"> --> </div>
<!-- <i class="el-icon-caret-right" @click="dateChange('month','right')"></i> --> <div>
<span>{{calendar.data.date&&calendar.data.date.split('-')[1]}}</span> <i class="iconfont icon-cha" @click="calendarHide()"></i>
</div> </div>
<div> </div>
<span>酒店库存表</span> <div class="hotelProductCalendar_week">
</div> <div>{{$t('hotel.hotel_Monday')}}</div>
<div> <div>{{$t('hotel.hotel_Tuesday')}}</div>
<i class="iconfont icon-cha" @click="calendarHide()"></i> <div>{{$t('hotel.hotel_Wednesday')}}</div>
</div> <div>{{$t('hotel.hotel_Thursday')}}</div>
<div>{{$t('hotel.hotel_Friday')}}</div>
<div>{{$t('hotel.hotel_Saturday')}}</div>
<div>{{$t('hotel.hotel_Sunday')}}</div>
</div>
<div class="hotelProductCalendar_day">
<div v-for="(item, index) in calendar.data.days" :key="index">
<div :class="item.month===calendar.data.date?'nowMonth':'otherMonth'">
<span>{{item.date.getMonth()+1}}-{{item.date.getDate()}}</span>
</div>
<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>
<div class="hotelProductCalendar_week"> <div class="noStock" v-if="!item.data&&item.month===calendar.data.date">
<div>{{$t('hotel.hotel_Monday')}}</div> <p><span>暂无数据</span></p>
<div>{{$t('hotel.hotel_Tuesday')}}</div> <p><span @click="goUrlA('1', item,1)">立即新增</span></p>
<div>{{$t('hotel.hotel_Wednesday')}}</div>
<div>{{$t('hotel.hotel_Thursday')}}</div>
<div>{{$t('hotel.hotel_Friday')}}</div>
<div>{{$t('hotel.hotel_Saturday')}}</div>
<div>{{$t('hotel.hotel_Sunday')}}</div>
</div> </div>
<div class="hotelProductCalendar_day"> <div class="hasStock" v-if="item.month!==calendar.data.date">
<div v-for="(item, index) in calendar.data.days" :key="index"> <p></p>
<div :class="item.month===calendar.data.date?'nowMonth':'otherMonth'"> <p></p>
<span>{{item.date.getMonth()+1}}-{{item.date.getDate()}}</span> <p></p>
</div> <p></p>
<div :class="stockColor(item.data.InventoryType)" v-if="item.data&&item.month===calendar.data.date"> <p></p>
<p><span @click="goUrlA('2', item)" class="text_underLine">价格:{{item.data.CostPrice}}{{item.data.CurrencyName}}</span></p> <p></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>
<div class="noStock" v-if="!item.data&&item.month===calendar.data.date">
<p><span>暂无数据</span></p>
<p><span @click="goUrlA('1', item)">立即新增</span></p>
</div>
<div class="hasStock" v-if="item.month!==calendar.data.date">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div>
</div>
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
'calendar': { 'calendar': {
type: Object, type: Object,
default: function () { default: function () {
return { return {
show: false, show: false,
data: {} data: {}
} }
}
}
},
methods: {
stockColor: function (type) {
if (type === 1) {
return 'hasStock hasStock_1'
} else if (type === 2) {
return 'hasStock hasStock_2'
} else if (type === 3) {
return 'hasStock hasStock_3'
} else if (type === 4) {
return 'hasStock hasStock_4'
}
else if (type === 5) {
return 'hasStock hasStock_5'
}
},
calendarHide: function () {
this.calendar.show = false
this.calendar.data = {}
},
goUrlA: function (type, item) {
this.$emit('goEdit', type, item.day)
},
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: '总库存看板'} });
}
} }
} }
},
methods: {
stockColor: function (type) {
if (type === 1) {
return 'hasStock hasStock_1'
} else if (type === 2) {
return 'hasStock hasStock_2'
} else if (type === 3) {
return 'hasStock hasStock_3'
} else if (type === 4) {
return 'hasStock hasStock_4'
} else if (type === 5) {
return 'hasStock hasStock_5'
}
},
calendarHide: function () {
this.calendar.show = false
this.calendar.data = {}
},
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: '酒店相关团'
}
});
},
goUrlB: function (item) {
this.$router.push({
name: 'HotelTotalStock',
query: {
HotelId: this.hotelId,
blank: 'y',
tab: '总库存看板'
}
});
}
}
}
</script> </script>
<style scoped> <style scoped>
.hotelProductCalendar{ .hotelProductCalendar {
width: 100%; width: 100%;
font-size: 0px; font-size: 0px;
box-sizing: border-box; box-sizing: border-box;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.hotelProductCalendar_month{
position: relative; .hotelProductCalendar_month {
width: 100%; position: relative;
height: 50px; width: 100%;
line-height: 50px; height: 50px;
text-align: center; line-height: 50px;
background: #e95252; text-align: center;
border-radius: 4px 4px 0 0; background: #e95252;
} border-radius: 4px 4px 0 0;
.hotelProductCalendar_month>div{ }
display: inline-block;
height: 50px; .hotelProductCalendar_month>div {
line-height: 50px; display: inline-block;
vertical-align: top; height: 50px;
} line-height: 50px;
.hotelProductCalendar_month>div:nth-child(1)>i{ vertical-align: top;
display: inline-block; }
font-size: 22px;
color: #ff7e7e; .hotelProductCalendar_month>div:nth-child(1)>i {
cursor: pointer; display: inline-block;
vertical-align: middle; font-size: 22px;
} color: #ff7e7e;
.hotelProductCalendar_month>div:nth-child(1)>input{ cursor: pointer;
display: inline-block; vertical-align: middle;
width: 60px; }
height: 30px;
border-radius: 17px; .hotelProductCalendar_month>div:nth-child(1)>input {
outline: none; display: inline-block;
border: none; width: 60px;
color: #fff; height: 30px;
background: transparent; border-radius: 17px;
font-size: 18px; outline: none;
text-align: center; border: none;
vertical-align: middle; color: #fff;
} background: transparent;
.hotelProductCalendar_month>div:nth-child(1)>span{ font-size: 18px;
display: inline-block; text-align: center;
padding: 0 5px; vertical-align: middle;
font-size: 18px; }
color: #fff;
vertical-align: middle; .hotelProductCalendar_month>div:nth-child(1)>span {
} display: inline-block;
.hotelProductCalendar_month>div:nth-child(2)>span{ padding: 0 5px;
display: inline-block; font-size: 18px;
padding: 0 20px; color: #fff;
font-size: 18px; vertical-align: middle;
color: #fff; }
}
.hotelProductCalendar_month>div:nth-child(3){ .hotelProductCalendar_month>div:nth-child(2)>span {
position: absolute; display: inline-block;
z-index: 1; padding: 0 20px;
right: 0px; font-size: 18px;
top: 0px; color: #fff;
width: 50px; }
text-align: center;
} .hotelProductCalendar_month>div:nth-child(3) {
.hotelProductCalendar_month>div:nth-child(3)>i{ position: absolute;
font-size: 12px; z-index: 1;
color: #ffffff; right: 0px;
cursor: pointer; top: 0px;
} width: 50px;
.hotelProductCalendar_week{ text-align: center;
width: 100%; }
height: 28px;
background-color: #3fa783; .hotelProductCalendar_month>div:nth-child(3)>i {
} font-size: 12px;
.hotelProductCalendar_week>div{ color: #ffffff;
display: inline-block; cursor: pointer;
width: 14.2857%; }
height: 28px;
line-height: 28px; .hotelProductCalendar_week {
text-align: center; width: 100%;
font-size: 14px; height: 28px;
color: #FFFFFF; background-color: #3fa783;
} }
.hotelProductCalendar_day{
width: 100%; .hotelProductCalendar_week>div {
border-left: 1px solid #dddddd; display: inline-block;
} width: 14.2857%;
.hotelProductCalendar_day>div{ height: 28px;
display: inline-block; line-height: 28px;
width: 14.2857%; text-align: center;
height: 148px; font-size: 14px;
border-right: 1px solid #ddd; color: #FFFFFF;
border-bottom: 1px solid #ddd; }
vertical-align: top;
} .hotelProductCalendar_day {
.hotelProductCalendar_day>div>div:nth-child(1){ width: 100%;
width: 100%; border-left: 1px solid #dddddd;
height: 28px; }
line-height: 28px;
text-align: center; .hotelProductCalendar_day>div {
} display: inline-block;
.hotelProductCalendar_day>div>div:nth-child(1)>span{ width: 14.2857%;
font-size: 14px; height: 148px;
} border-right: 1px solid #ddd;
.hotelProductCalendar_day>div>.nowMonth{ border-bottom: 1px solid #ddd;
background-color: #CCCCCC; vertical-align: top;
} }
.hotelProductCalendar_day>div>.nowMonth>span{
color: #000000; .hotelProductCalendar_day>div>div:nth-child(1) {
} width: 100%;
.hotelProductCalendar_day>div:nth-child(7n-1)>.nowMonth>span{ height: 28px;
color: #e95252; line-height: 28px;
} text-align: center;
.hotelProductCalendar_day>div:nth-child(7n)>.nowMonth>span{ }
color: #e95252;
} .hotelProductCalendar_day>div>div:nth-child(1)>span {
.hotelProductCalendar_day>div>.otherMonth{ font-size: 14px;
background-color: #DDDDDD; }
}
.hotelProductCalendar_day>div>.otherMonth>span{ .hotelProductCalendar_day>div>.nowMonth {
color: #999999; background-color: #CCCCCC;
} }
.hotelProductCalendar_day>div>.hasStock{
width: 100%; .hotelProductCalendar_day>div>.nowMonth>span {
height: 120px; color: #000000;
overflow-y: auto; }
}
.hotelProductCalendar_day>div>.hasStock>p{ .hotelProductCalendar_day>div:nth-child(7n-1)>.nowMonth>span {
width: 100%; color: #e95252;
min-height: 20px; }
padding: 0 10px;
line-height: 19px; .hotelProductCalendar_day>div:nth-child(7n)>.nowMonth>span {
font-size: 12px; color: #e95252;
border-bottom: 1px dashed #ccc; }
}
.hotelProductCalendar_day>div>.hasStock_1 { .hotelProductCalendar_day>div>.otherMonth {
color: #FFFFFF; background-color: #DDDDDD;
background-color: #ff3737; }
}
.hotelProductCalendar_day>div>.hasStock_2 { .hotelProductCalendar_day>div>.otherMonth>span {
background-color: #ff99cc; color: #999999;
} }
.hotelProductCalendar_day>div>.hasStock_3 {
background-color: #bcd6ee; .hotelProductCalendar_day>div>.hasStock {
} width: 100%;
.hotelProductCalendar_day>div>.hasStock_4 { height: 120px;
background-color: #ffffff; overflow-y: auto;
} }
.hotelProductCalendar_day>div>.hasStock_5 {
background-color: #02F78E; .hotelProductCalendar_day>div>.hasStock>p {
} width: 100%;
.hotelProductCalendar_day>div>.noStock{ min-height: 20px;
padding: 30px 0 0 0; padding: 0 10px;
width: 100%; line-height: 19px;
height: 120px; font-size: 12px;
} border-bottom: 1px dashed #ccc;
.hotelProductCalendar_day>div>.noStock>p:nth-child(1){ }
width: 100%;
font-size: 16px; .hotelProductCalendar_day>div>.hasStock_1 {
color: #999999; color: #FFFFFF;
text-align: center; background-color: #ff3737;
} }
.hotelProductCalendar_day>div>.noStock>p:nth-child(2){
margin: 10px 0 0 0; .hotelProductCalendar_day>div>.hasStock_2 {
width: 100%; background-color: #ff99cc;
font-size: 12px; }
color: #00C6FF;
text-align: center; .hotelProductCalendar_day>div>.hasStock_3 {
cursor: pointer; background-color: #bcd6ee;
} }
.text_underLine{
cursor: pointer; .hotelProductCalendar_day>div>.hasStock_4 {
} background-color: #ffffff;
</style> }
\ No newline at end of file
.hotelProductCalendar_day>div>.hasStock_5 {
background-color: #02F78E;
}
.hotelProductCalendar_day>div>.noStock {
padding: 30px 0 0 0;
width: 100%;
height: 120px;
}
.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) {
margin: 10px 0 0 0;
width: 100%;
font-size: 12px;
color: #00C6FF;
text-align: center;
cursor: pointer;
}
.text_underLine {
cursor: pointer;
}
</style>
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
<div class="hotelProductManage2_condition"> <div class="hotelProductManage2_condition">
<div> <div>
<em>起始月</em> <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> </div>
<div class="hotelProductManage2_tableBox"> <div class="hotelProductManage2_tableBox">
...@@ -28,18 +29,18 @@ ...@@ -28,18 +29,18 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="hotelProductManage2_tableBox"> <div class="hotelProductManage2_tableBox">
<span style="color:#000000;background-color: #ff3737;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: #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: #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: #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>
<div class="hotelProductManage2_calendar"> <div class="hotelProductManage2_calendar">
<div class="hotelProductManage2_calendarItem" v-for="(item, index) in days" :key="index"> <div class="hotelProductManage2_calendarItem" v-for="(item, index) in days" :key="index">
<div class="calendarItem_month" @click="calendarShow(item, index)">{{item.date}}</div> <div class="calendarItem_month" @click="calendarShow(item, index)">{{item.date}}</div>
<div class="hotelproductCkbox"> <div class="hotelproductCkbox">
<el-checkbox v-model="item.isCked" @change="changeHotelStatus(item,index)">全选</el-checkbox> <el-checkbox v-model="item.isCked" @change="changeHotelStatus(item,index)">全选</el-checkbox>
</div> </div>
<div class="calendarItem_week"> <div class="calendarItem_week">
<div>周一</div> <div>周一</div>
...@@ -51,9 +52,17 @@ ...@@ -51,9 +52,17 @@
<div>周日</div> <div>周日</div>
</div> </div>
<div class="calendarItem_day"> <div class="calendarItem_day">
<div v-for="(item2, index2) in item.days" :key="index2" :class="item2.month===item.date?'nowMonth':'otherMonth'"> <div v-for="(subItem, index2) in item.days" :key="index2" :class="subItem.month===item.date?'nowMonth':'otherMonth'">
<div :class="stockColor(item, item2)" :style="item2.month===item.date&&msg2.DateList.indexOf(item2.day)!==-1?'border-color: green':''" <div :class="stockColor(item,subItem)"
@click="calendarDayOn(item, item2)">{{item2.date.getDate()}}</div> :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 v-if="childItem.BatchNumber>1"> {{childItem.BatchNumber}} </span>
</template>
</template>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -71,8 +80,17 @@ ...@@ -71,8 +80,17 @@
<input type="button" value="保存" @click="edit2Save()" class="normalBtn" /> <input type="button" value="保存" @click="edit2Save()" class="normalBtn" />
</div> </div>
</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-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-col :span="6">
<el-form-item label="库存类型" prop="InventoryType"> <el-form-item label="库存类型" prop="InventoryType">
<el-select v-model="msg2.InventoryType" placeholder="请选择"> <el-select v-model="msg2.InventoryType" placeholder="请选择">
...@@ -89,36 +107,27 @@ ...@@ -89,36 +107,27 @@
<el-input-number v-model="msg2.Inventory" :min="0"></el-input-number> <el-input-number v-model="msg2.Inventory" :min="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" class="HotelProductEdit_date"> <el-col :span="6">
<el-form-item label="已选日期" prop="DateList"> <el-form-item label="批次">
<el-tag v-for="(item, key) in msg2.DateList" :key="key" type="info" style="margin: 0 5px 0 0;" closable <el-select v-model="msg2.BatchNumber" placeholder="请选择">
@close="calendarDayOff(item)">{{item}}</el-tag> <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-form-item>
</el-col> </el-col>
</el-row>
<el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;">
<el-col :span="6"> <el-col :span="6">
<!-- <el-form-item label="标准间成本价" prop="CostPrice"> <el-form-item label="标准间成本价">
<el-input-number v-model="msg2.CostPrice" :precision="2" :min="0"></el-input-number> <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-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> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="6">
<el-col :span="6">
<el-form-item label="散客价"> <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-form-item>
</el-col> --> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="大床间成本价" prop="BidroomPrice"> <el-form-item label="大床间成本价" prop="BidroomPrice">
<el-input-number v-model="msg2.BidroomPrice" :precision="2" :min="0"></el-input-number> <el-input-number v-model="msg2.BidroomPrice" :precision="2" :min="0"></el-input-number>
...@@ -155,7 +164,8 @@ ...@@ -155,7 +164,8 @@
<el-form-item label="成本币种" prop="CurrencyId"> <el-form-item label="成本币种" prop="CurrencyId">
<el-select v-model="msg2.CurrencyId" placeholder="请选择" style="width:100px;" @change="currency2Change"> <el-select v-model="msg2.CurrencyId" placeholder="请选择" style="width:100px;" @change="currency2Change">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -192,13 +202,15 @@ ...@@ -192,13 +202,15 @@
<el-form-item label="供应商" prop="Supplier"> <el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg2.Supplier" placeholder="请选择"> <el-select v-model="msg2.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="18">
<el-form-item label="备注" prop="Remark"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -213,24 +225,10 @@ ...@@ -213,24 +225,10 @@
<div @click="editSave()">保存</div> <div @click="editSave()">保存</div>
</div> </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-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-col :span="6">
<el-form-item label="日期选择方式" prop="DayType"> <el-form-item label="日期选择方式" prop="DayType">
<el-select v-model="msg.DayType" placeholder="请选择" @change="dayTypeChange"> <el-select v-model="msg.DayType" placeholder="请选择" @change="dayTypeChange">
...@@ -241,7 +239,7 @@ ...@@ -241,7 +239,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </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'"> <div v-show="msg.DayType==='1'||msg.DayType==='3'">
<el-form-item label="年" prop="Year"> <el-form-item label="年" prop="Year">
<el-date-picker v-model="msg.Year" type="year" value-format="yyyy" placeholder="选择年"></el-date-picker> <el-date-picker v-model="msg.Year" type="year" value-format="yyyy" placeholder="选择年"></el-date-picker>
...@@ -249,7 +247,8 @@ ...@@ -249,7 +247,8 @@
</div> </div>
<div v-show="msg.DayType==='2'"> <div v-show="msg.DayType==='2'">
<el-form-item label="月" prop="Month"> <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> </el-form-item>
</div> </div>
<div v-show="msg.DayType==='3'"> <div v-show="msg.DayType==='3'">
...@@ -290,34 +289,52 @@ ...@@ -290,34 +289,52 @@
</el-form-item> </el-form-item>
<em>-</em> <em>-</em>
<el-form-item label="" prop="EndDate"> <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> </el-form-item>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;"> <el-row style="padding: 20px 0 0 0;border-top: 1px dashed #ccc;">
<el-col :span="6"> <el-col :span="6">
<!-- <el-form-item label="标准间成本价" prop="CostPrice"> <el-form-item label="库存类型" prop="InventoryType">
<el-input-number v-model="msg.CostPrice" :precision="2" :min="0"></el-input-number> <el-select v-model="msg.InventoryType" placeholder="请选择">
</el-form-item> --> <el-option label="红日" value="1"></el-option>
<el-form-item> <el-option label="旺季" value="2"></el-option>
<div class="RabateDiv clearfix"> <el-option label="平季" value="3"></el-option>
<div class="RebateCount reOne"> <el-option label="淡季" value="4"></el-option>
<div class="leftPnum">标准间成本价</div> <el-option label="特别价" value="5"></el-option>
<input type="text" class="toolInput inpuOne" v-model="msg.CostPrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20"> </el-select>
</div> </el-form-item>
<div class="RebateCount reTwo"> </el-col>
<div class="fanNum">散客价</div> <el-col :span="6">
<input type="text" class="toolInput inpuTwo" v-model="msg.SanKePrice" onkeyup="value=value.replace(/[^\d^\.]+/g,'')" maxlength="20"> <el-form-item label="库存" prop="Inventory">
</div> <el-input-number v-model="msg.Inventory" :min="0"></el-input-number>
</div> </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-form-item>
</el-col> </el-col>
<!-- <el-col :span="6">
<el-col :span="6">
<el-form-item label="散客价"> <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-form-item>
</el-col> --> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="大床间成本价" prop="BidroomPrice"> <el-form-item label="大床间成本价" prop="BidroomPrice">
<el-input-number v-model="msg.BidroomPrice" :precision="2" :min="0"></el-input-number> <el-input-number v-model="msg.BidroomPrice" :precision="2" :min="0"></el-input-number>
...@@ -354,7 +371,8 @@ ...@@ -354,7 +371,8 @@
<el-form-item label="成本币种" prop="CurrencyId"> <el-form-item label="成本币种" prop="CurrencyId">
<el-select v-model="msg.CurrencyId" placeholder="请选择" style="width:100px;" @change="currencyChange"> <el-select v-model="msg.CurrencyId" placeholder="请选择" style="width:100px;" @change="currencyChange">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -391,13 +409,15 @@ ...@@ -391,13 +409,15 @@
<el-form-item label="供应商" prop="Supplier"> <el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg.Supplier" placeholder="请选择"> <el-select v-model="msg.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="18">
<el-form-item label="备注" prop="Remark"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -517,6 +537,7 @@ ...@@ -517,6 +537,7 @@
Week: '', Week: '',
DateList: [], DateList: [],
SanKePrice: 0, //散客价 SanKePrice: 0, //散客价
BatchNumber: 1, //批次号
}, },
msg2: { msg2: {
Hotel: '0', Hotel: '0',
...@@ -545,6 +566,7 @@ ...@@ -545,6 +566,7 @@
Week: '', Week: '',
DateList: [], DateList: [],
SanKePrice: 0, //散客价 SanKePrice: 0, //散客价
BatchNumber: 1 //批次号
}, },
rules: { rules: {
InventoryType: { InventoryType: {
...@@ -736,31 +758,32 @@ ...@@ -736,31 +758,32 @@
}, },
}, },
allCurrencyList: [], allCurrencyList: [],
//供应商数组
SupplierList: [] SupplierList: []
} }
}, },
methods: { methods: {
stockColor: function (item, item2) { //库存类型
stockColor: function (item, item2,childItem) {
if (item.date === item2.month && item2.hasOwnProperty('data')) { if (item.date === item2.month && item2.hasOwnProperty('data')) {
let type = item2.data.InventoryType let type = item2.data.SubList[0].InventoryType;
if (type === 1) { if (type === 1) {
return 'hasStock_1' return 'hasStock_1';
} else if (type === 2) { } else if (type === 2) {
return 'hasStock_2' return 'hasStock_2';
} else if (type === 3) { } else if (type === 3) {
return 'hasStock_3' return 'hasStock_3';
} else if (type === 4) { } else if (type === 4) {
return 'hasStock_4' return 'hasStock_4';
} } else if (type === 5) {
else if (type === 5) { return 'hasStock_5';
return 'hasStock_5'
} }
} else { } else {
return return;
} }
}, },
//日历点击事件
calendarDayOn: function (item, item2) { calendarDayOn: function (item, item2) {
if (item.date === item2.month) { if (item.date === item2.month) {
let dayIndex = this.msg2.DateList.indexOf(item2.day) let dayIndex = this.msg2.DateList.indexOf(item2.day)
if (dayIndex === -1) { if (dayIndex === -1) {
...@@ -770,7 +793,6 @@ ...@@ -770,7 +793,6 @@
this.msg2.DateList.splice(dayIndex, 1) this.msg2.DateList.splice(dayIndex, 1)
} }
} }
console.log(this.msg2.DateList);
}, },
calendarDayOff: function (item) { calendarDayOff: function (item) {
let dayIndex = this.msg2.DateList.indexOf(item) let dayIndex = this.msg2.DateList.indexOf(item)
...@@ -783,10 +805,11 @@ ...@@ -783,10 +805,11 @@
Month: date.split('-')[1] Month: date.split('-')[1]
}, res => { }, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
let json = res.data.data let json = res.data.data;
this.hotelInfo.HotelName = json.HotelName
this.hotelInfo.TotalInventory = json.TotalInventory this.hotelInfo.HotelName = json.HotelName;
this.hotelInfo.Validity = json.Validity this.hotelInfo.TotalInventory = json.TotalInventory;
this.hotelInfo.Validity = json.Validity;
for (let i = 0; i < this.days[key].days.length; i++) { for (let i = 0; i < this.days[key].days.length; i++) {
for (let j = 0; j < json.list.length; j++) { for (let j = 0; j < json.list.length; j++) {
if (this.days[key].days[i].day === json.list[j].DayStr) { if (this.days[key].days[i].day === json.list[j].DayStr) {
...@@ -798,8 +821,6 @@ ...@@ -798,8 +821,6 @@
this.$set(this.calendar, 'data', this.days[this.calendar.num]) this.$set(this.calendar, 'data', this.days[this.calendar.num])
} }
this.$forceUpdate(); this.$forceUpdate();
} else {
this.$message.error('数据获取失败')
} }
}) })
}, },
...@@ -808,52 +829,42 @@ ...@@ -808,52 +829,42 @@
let dayList = this.$calendarUtils.createCalendar(date).DayArray; let dayList = this.$calendarUtils.createCalendar(date).DayArray;
let days = []; let days = [];
for (let i = 0; i < dayList.length; i++) { for (let i = 0; i < dayList.length; i++) {
let month = dayList[i].day.Format('yyyy-MM') let month = dayList[i].day.Format('yyyy-MM');
let day = dayList[i].day.Format('yyyy-MM-dd') let day = dayList[i].day.Format('yyyy-MM-dd');
days.push({ days.push({
date: dayList[i].day, date: dayList[i].day,
month: month, month: month,
day: day day: day
}) });
} };
this.days[key] = { this.days[key] = {
date: month, date: month,
days: days, days: days,
isCked:false isCked: false
} };
this.getData(date, key) this.getData(date, key);
}, },
getMonths: function () { getMonths: function () {
let month = this.condition.month + '-1' let month = this.condition.month + '-1'
for (let i = 0; i < 4; i++) { for (let i = 0; i < 4; i++) {
if (i !== 0) { if (i !== 0) {
let newDate = new Date(month).setDate(32) let newDate = new Date(month).setDate(32);
month = new Date(newDate).Format('yyyy-MM') + '-1' month = new Date(newDate).Format('yyyy-MM') + '-1';
} }
this.getCalendarDays(month, i) this.getCalendarDays(month, i);
} }
}, },
calendarShow: function (item, index) { calendarShow: function (item, index) {
this.calendar.num = index this.calendar.num = index;
this.calendar.data = item this.calendar.data = item;
this.calendar.show = true this.calendar.show = true;
},
goUrlA: function () {
this.$router.push({
name: 'HotelProductEdit',
query: {
type: '1',
HotelId: this.hotelId,
blank: 'y',
tab: '报价管理'
}
});
}, },
// 获取详情 // 获取详情
getDetail: function (date) { getDetail: function (date,BatchNumber) {
this.apipost('dict_post_HotelOffer_GetHotelPriceInfo', { this.apipost('dict_post_HotelOffer_GetHotelPriceInfo', {
HotelId: this.msg.Hotel, HotelId: this.msg.Hotel,
Time: date Time: date,
BatchNumber:BatchNumber
}, res => { }, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
let data = res.data.data; let data = res.data.data;
...@@ -876,9 +887,8 @@ ...@@ -876,9 +887,8 @@
this.msg.WeekendAddPrice = data.WeekendAddPrice this.msg.WeekendAddPrice = data.WeekendAddPrice
this.msg.InteriorAddPrice = data.InteriorAddPrice this.msg.InteriorAddPrice = data.InteriorAddPrice
this.msg.GuideRoomPrice = data.GuideRoomPrice; this.msg.GuideRoomPrice = data.GuideRoomPrice;
this.msg.SanKePrice=data.SanKePrice; this.msg.SanKePrice = data.SanKePrice;
} else { this.msg.BatchNumber = data.BatchNumber;
this.$message.error(res.data.message)
} }
}) })
}, },
...@@ -895,8 +905,6 @@ ...@@ -895,8 +905,6 @@
this.apipost("financeinfo_post_GetList", {}, res => { this.apipost("financeinfo_post_GetList", {}, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.allCurrencyList = res.data.data; this.allCurrencyList = res.data.data;
} else {
this.$message.error('币种获取失败')
} }
}, err => {}); }, err => {});
}, },
...@@ -925,27 +933,25 @@ ...@@ -925,27 +933,25 @@
}, res => { }, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.SupplierList = res.data.data; this.SupplierList = res.data.data;
} else {
this.$message.error('供应商获取失败')
} }
}, err => {}); }, err => {});
}, },
// 打开编辑窗口 // 打开编辑窗口
goEdit: function (type, date) { goEdit: function (type, date,BatchNumber) {
let nowDate = new Date().Format('yyyy-MM-dd') let nowDate = new Date().Format('yyyy-MM-dd');
this.msg.StartDate = date === undefined ? nowDate : date this.msg.StartDate = date === undefined ? nowDate : date;
this.msg.EndDate = date === undefined ? nowDate : date this.msg.EndDate = date === undefined ? nowDate : date;
if (type === '2' && date) { if (type === '2' && date) {
this.getDetail(date) this.getDetail(date,BatchNumber);
} }
this.editShow = true this.editShow = true;
}, },
// 取消按钮 // 取消按钮
editCanel: function () { editCanel: function () {
this.editShow = false; this.editShow = false;
this.$refs['hotelProductForm'].resetFields(); this.$refs['hotelProductForm'].resetFields();
this.msg.CostPrice=0; this.msg.CostPrice = 0;
this.msg.SanKePrice=0; this.msg.SanKePrice = 0;
}, },
// 保存按钮 // 保存按钮
editSave: function () { editSave: function () {
...@@ -953,14 +959,15 @@ ...@@ -953,14 +959,15 @@
if (valid) { if (valid) {
this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg, res => { this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.$message.success('编辑成功') this.Success('编辑成功')
this.getMonths() this.getMonths()
this.editShow = false this.editShow = false
this.$refs['hotelProductForm'].resetFields(); this.$refs['hotelProductForm'].resetFields();
this.msg.CostPrice=0; this.msg.CostPrice = 0;
this.msg.SanKePrice=0; this.msg.SanKePrice = 0;
this.msg.BatchNumber = 1;
} else { } else {
this.$message.error(res.data.message) this.Error(res.data.message)
} }
}) })
} else { } else {
...@@ -971,32 +978,25 @@ ...@@ -971,32 +978,25 @@
// 页面编辑重置 // 页面编辑重置
edit2Reset: function () { edit2Reset: function () {
this.$refs['hotelProductForm2'].resetFields(); this.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0; this.msg2.CostPrice = 0;
this.msg2.SanKePrice=0; this.msg2.SanKePrice = 0;
}, },
//批量删除 //批量删除
delete2Reset: function () { delete2Reset: function () {
this.$confirm('是否删除?', '提示', { var that = this;
confirmButtonText: '确定', this.Confirm("是否删除?", function () {
cancelButtonText: '取消', that.apipost('dict_post_HotelOffer_RemoveNewHotelPrice', that.msg2, res => {
type: 'warning'
}).then(() => {
this.apipost('dict_post_HotelOffer_RemoveNewHotelPrice', this.msg2, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message) that.Success(res.data.message)
this.getMonths() that.getMonths();
this.$refs['hotelProductForm2'].resetFields(); that.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0; that.msg2.CostPrice = 0;
this.msg2.SanKePrice=0; that.msg2.SanKePrice = 0;
that.msg2.BatchNumber = 1;
} else { } else {
this.$message.error(res.data.message) that.Error(res.data.message)
} }
}, err => {}) }, err => {})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
}); });
}, },
// 页面编辑保存 // 页面编辑保存
...@@ -1005,13 +1005,14 @@ ...@@ -1005,13 +1005,14 @@
if (valid) { if (valid) {
this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg2, res => { this.apipost('dict_post_HotelOffer_SetNewHotelPrice', this.msg2, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.$message.success('编辑成功') this.Success('编辑成功')
this.getMonths() this.getMonths();
this.$refs['hotelProductForm2'].resetFields(); this.$refs['hotelProductForm2'].resetFields();
this.msg2.CostPrice=0; this.msg2.CostPrice = 0;
this.msg2.SanKePrice=0; this.msg2.SanKePrice = 0;
this.msg2.BatchNumber = 1;
} else { } else {
this.$message.error(res.data.message) this.Error(res.data.message)
} }
}) })
} else { } else {
...@@ -1020,40 +1021,40 @@ ...@@ -1020,40 +1021,40 @@
}); });
}, },
//增加全选 //增加全选
changeHotelStatus(item,index){ changeHotelStatus(item, index) {
if(item.isCked){ if (item.isCked) {
item.days.forEach(x=>{ item.days.forEach(x => {
if(x.month==item.date){ if (x.month == item.date) {
if(this.msg2.DateList.indexOf(x.day)==-1){ if (this.msg2.DateList.indexOf(x.day) == -1) {
this.msg2.DateList.push(x.day); this.msg2.DateList.push(x.day);
} }
} }
}) })
}else{ } else {
item.days.forEach(x=>{ item.days.forEach(x => {
this.msg2.DateList.forEach((y,index)=>{ this.msg2.DateList.forEach((y, index) => {
if(x.day==y){ if (x.day == y) {
this.msg2.DateList.splice(index, 1) this.msg2.DateList.splice(index, 1)
} }
})
}) })
} })
}
} }
}, },
created: function () { created: function () {
this.hotelId = this.$route.query.id === undefined ? '0' : this.$route.query.id 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.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.msg2.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id;
this.condition.month = new Date().Format('yyyy-MM') this.condition.month = new Date().Format('yyyy-MM');
let nowDate = new Date().Format('yyyy-MM-dd') let nowDate = new Date().Format('yyyy-MM-dd');
this.msg.DayType = '4' this.msg.DayType = '4';
this.msg.StartDate = nowDate this.msg.StartDate = nowDate;
this.msg.EndDate = nowDate this.msg.EndDate = nowDate;
}, },
mounted: function () { mounted: function () {
this.getMonths() this.getMonths();
this.getAllCurrency() this.getAllCurrency();
this.initSupplier() this.initSupplier();
} }
} }
...@@ -1063,12 +1064,14 @@ ...@@ -1063,12 +1064,14 @@
.hotelProductManage2 { .hotelProductManage2 {
padding: 20px 0; padding: 20px 0;
} }
.hotelproductCkbox{
width:10%; .hotelproductCkbox {
height:30px; width: 10%;
float:right; height: 30px;
margin:5px 20px 0 0; float: right;
margin: 5px 20px 0 0;
} }
.hotelProductManage2>.hotelProductManage2_btnList { .hotelProductManage2>.hotelProductManage2_btnList {
position: fixed; position: fixed;
top: 36px; top: 36px;
...@@ -1173,8 +1176,8 @@ ...@@ -1173,8 +1176,8 @@
.hotelProductManage2_calendarItem>.calendarItem_month { .hotelProductManage2_calendarItem>.calendarItem_month {
width: 50%; width: 50%;
height: 30px; height: 30px;
float:left; float: left;
margin-left:110px; margin-left: 110px;
line-height: 30px; line-height: 30px;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
...@@ -1203,11 +1206,12 @@ ...@@ -1203,11 +1206,12 @@
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
flex-wrap: wrap; flex-wrap: wrap;
padding-bottom:20px;
} }
.hotelProductManage2_calendarItem>.calendarItem_day>div { .hotelProductManage2_calendarItem>.calendarItem_day>div {
display: inline-block; display: inline-block;
padding: 5px 0; padding: 15px 0;
width: 14.2%; width: 14.2%;
} }
...@@ -1242,10 +1246,12 @@ ...@@ -1242,10 +1246,12 @@
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_3 { .hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_3 {
background-color: #bcd6ee; background-color: #bcd6ee;
} }
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_4 { .hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_4 {
background-color: #DDDDDD; background-color: #DDDDDD;
} }
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_5 {
.hotelProductManage2_calendarItem>.calendarItem_day>div>.hasStock_5 {
background-color: #02F78E; background-color: #02F78E;
} }
...@@ -1345,7 +1351,7 @@ ...@@ -1345,7 +1351,7 @@
left: 50px; left: 50px;
padding: 10px 10px 0; padding: 10px 10px 0;
min-width: 1316px; min-width: 1316px;
height: 640px; /* height: 640px; */
border-top: 3px solid #38425d; border-top: 3px solid #38425d;
background-color: #FFFFFF; background-color: #FFFFFF;
overflow: auto; overflow: auto;
...@@ -1429,18 +1435,23 @@ ...@@ -1429,18 +1435,23 @@
margin: 7px 10px 0 0; margin: 7px 10px 0 0;
padding: 0 0 0 0; padding: 0 0 0 0;
} }
.hotelProductManage2 .RabateDiv { .hotelProductManage2 .RabateDiv {
margin-left: 25px; margin-left: 25px;
} }
.hotelProductManage2 .RebateCount { .hotelProductManage2 .RebateCount {
height: 34px; height: 34px;
border-radius: 17px; border-radius: 17px;
float: left; float: left;
} }
.hotelProductManage2 .reOne,.hotelProductManage2 .reTwo,
.hotelProductManage2 .reOne,
.hotelProductManage2 .reTwo,
.hotelProductManage2.dayNum { .hotelProductManage2.dayNum {
position: relative; position: relative;
} }
.hotelProductManage2 .leftPnum { .hotelProductManage2 .leftPnum {
float: left; float: left;
background-color: #f5f7fa; background-color: #f5f7fa;
...@@ -1451,26 +1462,30 @@ ...@@ -1451,26 +1462,30 @@
position: absolute; position: absolute;
left: 1px; left: 1px;
top: 1px; top: 1px;
font-size:14px; font-size: 14px;
padding:0 10px; padding: 0 10px;
color:#606266; color: #606266;
} }
.hotelProductManage2 .toolInput { .hotelProductManage2 .toolInput {
height: 42px; height: 42px;
padding-left: 5px; padding-left: 5px;
border: none; border: none;
} }
.hotelProductManage2 .inpuOne { .hotelProductManage2 .inpuOne {
width: 225px; width: 225px;
padding-left: 120px; padding-left: 120px;
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
border-right: none; border-right: none;
} }
.hotelProductManage2 .inpuTwo { .hotelProductManage2 .inpuTwo {
width: 166px; width: 166px;
padding: 0 45px 0 77px; padding: 0 45px 0 77px;
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
} }
.hotelProductManage2 .fanNum { .hotelProductManage2 .fanNum {
float: left; float: left;
background-color: #f5f7fa; background-color: #f5f7fa;
...@@ -1481,9 +1496,9 @@ ...@@ -1481,9 +1496,9 @@
position: absolute; position: absolute;
left: 1px; left: 1px;
top: 1px; top: 1px;
padding:0 10px; padding: 0 10px;
color:#606266; color: #606266;
font-size:14px; font-size: 14px;
} }
</style> </style>
...@@ -2,6 +2,29 @@ ...@@ -2,6 +2,29 @@
<div> <div>
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <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> <li>
<span> <span>
<em>酒店</em> <em>酒店</em>
...@@ -18,12 +41,15 @@ ...@@ -18,12 +41,15 @@
</span> </span>
</li> </li>
<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="getList()" />
</li> </li>
</ul> </ul>
</div> </div>
<div style="width: 100%;min-height:200px; overflow-x: auto;padding-bottom: 10px; " class="HotelQueryList" v-loading="loading"> <div style="width: 100%;min-height:200px; overflow-x: auto;padding-bottom: 10px; " class="HotelQueryList"
v-loading="loading">
<div class="hotelProductManage2_tableBox"> <div class="hotelProductManage2_tableBox">
<span style="color:#000000;background-color: #ff3737;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: #ff99cc;padding:2px 4px;border-radius:5px">旺季</span>
...@@ -35,16 +61,20 @@ ...@@ -35,16 +61,20 @@
<tr> <tr>
<th width="300">酒店名称</th> <th width="300">酒店名称</th>
<th width="80"></th> <th width="80"></th>
<th v-for="item in dataList[0].subList"> <template v-if="dataList.length>0">
{{getDateList(item.DateStr)}} <th v-for="item in dataList[0].subList">
</th> {{getDateList(item.DateStr)}}
</th>
</template>
</tr> </tr>
<tr> <tr>
<th></th> <th></th>
<th></th> <th></th>
<th v-for="item in dataList[0].subList"> <template v-if="dataList.length>0">
{{getWeek(item.DateStr)}} <th v-for="item in dataList[0].subList">
</th> {{getWeek(item.DateStr)}}
</th>
</template>
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td> <td>
...@@ -69,9 +99,101 @@ ...@@ -69,9 +99,101 @@
</tr> </tr>
</table> </table>
</div> </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="9">
<el-form-item label="说明">
<el-input type="textarea" v-model="postMsg.TipContent" class="w600" maxlength="200"></el-input>
</el-form-item>
</el-col>
<el-col :span="15">
<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>编号</th>
<th>内容</th>
<th>操作人</th>
<th>操作时间</th>
<th>操作</th>
</tr>
<template v-if="queryMsg.total>0">
<tr v-for="(item,index) in HotelTipList">
<td>{{item.Id}}</td>
<td>{{item.TipContent}}</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>编号</th>
<th>内容</th>
<th>操作人</th>
<th>操作时间</th>
</tr>
<template v-if="queryMsg.total>0">
<tr v-for="(item,index) in HotelTipList">
<td>{{item.Id}}</td>
<td>{{item.TipContent}}</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> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
...@@ -80,11 +202,53 @@ ...@@ -80,11 +202,53 @@
HotelId: 0, HotelId: 0,
StartDate: new Date().Format("yyyy-MM-dd"), StartDate: new Date().Format("yyyy-MM-dd"),
EndDate: this.setEdate(), EndDate: this.setEdate(),
//只查询日本
Country: "651",
Province: 0,
City: 0,
OutBranchId: -1,
},
//分公司列表
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: [], HotelList: [],
dataList: [], dataList: [],
isShow: false, isShow: false,
loading: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()
}
}
}; };
}, },
methods: { methods: {
...@@ -101,7 +265,7 @@ ...@@ -101,7 +265,7 @@
} }
}, },
getList() { getList() {
this.loading=true; this.loading = true;
if (this.msg.StartDate == null) { if (this.msg.StartDate == null) {
this.msg.StartDate = new Date().Format("yyyy-MM-dd") this.msg.StartDate = new Date().Format("yyyy-MM-dd")
} }
...@@ -182,11 +346,123 @@ ...@@ -182,11 +346,123 @@
break; break;
} }
return classStr; return classStr;
} },
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
this.GetHotelTipList();
},
resetPageIndex() {
this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1;
},
//获取酒店列表
GetHotelTipList() {
this.apipost(
"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.apipost(
"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.apipost(
"hoteltip_post_RemoveHotelTip", {
ID: Id
},
res => {
if (res.data.resultCode == 1) {
that.Success("删除成功!");
that.GetHotelTipList();
} else {
that.Error("删除失败!");
}
},
err => {}
);
})
},
GetHotelTip(Id) {
this.apipost(
"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.apipost(
"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.apipost('admin_get_BranchGetList', {
RB_Group_Id: '2',
Status: 0,
}, res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
}
}, err => {})
},
}, },
mounted() { mounted() {
this.getBranchList();
this.getProvinceList(651, 1);
this.GetHotelList(); this.GetHotelList();
this.getList(); this.getList();
this.GetHotelTipList();
} }
}; };
...@@ -264,4 +540,25 @@ ...@@ -264,4 +540,25 @@
margin: 0 10px 10px 0; 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;
}
</style> </style>
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
<span><em>{{$t('admin.admin_company')}}</em> <span><em>{{$t('admin.admin_company')}}</em>
<el-select filterable v-model='msg.OutBranchId' <el-select filterable v-model='msg.OutBranchId'
:placeholder="$t('pub.unlimitedSel')"> :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option> <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 v-for='item in companyList' :label='item.BName' :value='item.Id' :key="item.Id">
</el-option> </el-option>
</el-select> </el-select>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
Province: 0, Province: 0,
City: 0, City: 0,
loading: false, loading: false,
OutBranchId:0, OutBranchId:-1,
}, },
//分公司列表 //分公司列表
companyList: [], companyList: [],
......
<template>
<div class="CertificationDetail">
<div>
<div
:class="{salesApprovalLayercontentDiv:showlayer,rightZero:isTransition}"
class="ownScrollbarStyle"
@click.stop
>
<div class="title">实名认证详情</div>
<div class="list">
<div class="itemAnswer" v-show="answerDetailList.length>0">
<div class="item" v-for="item in answerDetailList">
<div class="topMsg">
<!-- <img v-if="!item.photo" src="../../assets/img/litheader.png">
<img v-if="item.photo" :onerror="defaultImg" :src="item.photo"> -->
<p>{{item.CustomerName}}</p>
<p class="mt5">
<i class="iconfont icon-img_dianhua fz12" style="color: #09d49d;"></i>
<span class="fz14 color333">{{item.Customer}}</span>
&nbsp;&nbsp;&nbsp;
<span
class="fz14 color333"
>{{item.ContactPhone}}</span>
</p>
<p class="fz12 color999 mt5">{{item.Addres}}</p>
</div>
<p class="fz16 color666">
<i class="iconfont icon-ico-renwuyaoqiu fz14 color999"></i>&nbsp;认证信息
</p>
<div class="salesApprovalLayercontentBtn">
<p class="fz12 color999 mt5">认证方式:{{item.ApplyType==1?"三证合一":"身份证+名片"}}</p>
<p class="fz12 color999 mt5">申请时间:{{item.CreateDateStr}}</p>
<div v-if="item.CertificationPics&&item.CertificationPics.length>0">
<div v-for="picItem in item.CertificationPics"> <img v-if="!picItem" src="../../assets/img/litheader.png">
<img v-if="picItem" :onerror="defaultImg" :src="picItem"></div>
</div>
<div>
<span class="fz14 color333">审批意见</span>
</div>
<p class="mt20">
<el-input type="textarea" v-model="Reason"></el-input>
</p>
<input type="button" class="normalBtn mt20 fr" value="通过" @click="saveIdea(item,1)">
<input type="button" class="normalBtn mt20 fr" value="拒绝" @click="saveIdea(item,2)">
<span class="fr cursorpointer colorE95252" @click="closeLayer">取消</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="query-box" style="border: none;">
<ul>
<!-- <li><span><em>姓名</em></span>
<el-input v-model='msg.CustomerName'></el-input>
</li>
-->
<li>
<span>
<em>申请时间</em>
</span>
<el-date-picker
v-model="msg.SDate"
@change="dataDui()"
class="w135"
value-format="yyyy-MM-dd"
type="date"
></el-date-picker>-
<el-date-picker
v-model="msg.EDate"
@change="dataDui()"
class="w135"
value-format="yyyy-MM-dd"
type="date"
></el-date-picker>
</li>
<li>
<span>
<em>状态</em>
</span>
<el-select v-model="msg.MarkOverType">
<el-option label="不限" value="-1" key="-1"></el-option>
<el-option label="申请中" value="0" key="0"></el-option>
<el-option label="通过" value="1" key="1"></el-option>
<el-option label="拒绝" value="2" key="2"></el-option>
</el-select>
</li>
<li>
<input
type="button"
class="hollowFixedBtn"
value="查询"
@click="resetPageIndex(),getList()"
>
</li>
</ul>
</div>
<table
class="publicCustomerTable"
border="0"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr>
<th width="20%">门店名称</th>
<th width="10%">联系人</th>
<th width="10%">电话</th>
<th width="10%">地址</th>
<th width="10%">申请时间</th>
<th width="10%">操作</th>
</tr>
<tr>
<td colspan="6" align="center" v-show="list.length==0">暂无数据</td>
</tr>
<tr v-for="(item,index) in list">
<td>{{item.CustomerName}}</td>
<td>{{item.Customer}}</td>
<td>{{item.ContactPhone}}</td>
<td>{{item.Addres}}</td>
<td>{{item.CreateDateStr}}</td>
<td>
<input
type="button"
value="查看详情"
class="normalBtn"
style="margin-left: 0;"
@click="getDetail(item)"
>
</td>
</tr>
</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 {
layerShow: false,
msg: {
pageIndex: 1,
pageSize: 10,
SDate: "",
EDate: "",
ApplyState: "-1"
},
Reason:"",
showlayer: false,
loading: false,
isTransition: false,
currentPage: 1,
total: 0,
answerDetailList: [],
list: []
};
},
methods: {
// 结束日期不能大于开始日期
dataDui() {
if (this.msg.SDate > this.msg.EDate && this.msg.EDate !== "") {
this.$message.error("结束日期不能大于开始日期");
this.msg.EDate = "";
}
},
closeLayer() {
let _this = this;
setTimeout(function() {
_this.showlayer = false;
}, 300);
this.isTransition = false;
this.Reason= "";
},
saveIdea(obj,applyState) {
console.log(obj,"sdsdsd");
obj.applyState=applyState;
obj.Reason=this.Reason;
this.apipost(
"app_customer_UpdateCertification",
obj,
res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList();
this.closeLayer();
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
getList() {
this.loading = true;
this.apipost(
"app_customer_GetCertificationPageList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.loading = false;
this.list = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.$message.error(res.data.message);
this.loading = false;
}
},
err => {}
);
},
closeLayer() {
let _this = this;
setTimeout(function() {
_this.showlayer = false;
}, 300);
this.isTransition = false;
this.Reason=''
},
getDetail(obj) {
this.showlayer = true;
this.isTransition = true;
this.apipost(
"app_customer_GetCertificationModel",
{ ID: obj.ID },
res => {
if (res.data.resultCode == 1) {
this.answerDetailList = res.data.data;
this.Reason = this.answerDetailList[0].Reason;
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
}
},
mounted() {
this.getList();
}
};
</script>
<style>
.CertificationDetail {
overflow-x: hidden;
}
.CertificationDetail .title {
width: 420px;
height: 48px;
line-height: 48px;
text-indent: 20px;
font-size: 16px;
color: #333;
}
.CertificationDetail .list .item {
width: 380px;
height: auto;
overflow: hidden;
border: 1px solid #e6e6e6;
margin: 20px 0 20px 20px;
padding: 20px;
}
.CertificationDetail .list .item .topMsg {
overflow: hidden;
padding-bottom: 20px;
border-bottom: 1px solid #e6e6e6;
}
.CertificationDetail .list .item .topMsg > img {
float: left;
margin-right: 13px;
}
.CertificationDetail .list .item .topMsg .newGuest {
width: 50px;
height: 18px;
text-align: center;
font-size: 14px;
color: #257bf1;
background: #dae4ff;
}
.CertificationDetail .list .item .bottomMsg {
padding: 15px 0;
}
.CertificationDetail .list .itemAnswer {
width: 380px;
height: auto;
margin: 20px 0 20px 20px;
padding: 20px;
background: #ebf0ff;
}
.CertificationDetail .list .itemAnswer .answerItem {
border-bottom: 1px solid #bcc0cc;
overflow: hidden;
padding: 15px 0;
}
.CertificationDetail .list .itemAnswer .answerItem > img {
float: left;
width: 24px;
height: 24px;
border-radius: 12px;
margin-right: 10px;
}
.publicCustomerTable {
width: 100%;
font-size: 14px;
color: #333;
border: 1px solid #dcdcdc;
box-sizing: border-box;
border-bottom: none;
border-right: none;
}
.publicCustomerTable tr th {
background: #dcdcdc;
height: 30px;
font-size: 12px;
text-align: left;
text-indent: 25px;
}
.publicCustomerTable tr {
text-align: left;
}
.publicCustomerTable tr:nth-child(2n) {
background: #f2f2f2;
}
.publicCustomerTable tr:nth-child(2n + 1) {
background: #ffffff;
}
.publicCustomerTable tr:hover {
background: #d0d2d9;
}
.publicCustomerTable tr td {
height: 40px;
padding-left: 25px;
border-bottom: 1px solid #dcdcdc;
font-size: 14px;
color: #333;
border-right: 1px solid #dcdcdc;
}
.pd20 {
padding: 12px 20px !important;
}
.el-popper[x-placement^="bottom"] {
margin-top: 0px !important;
}
.el-popper[x-placement^="top"] {
margin-bottom: 0px !important;
}
.CertificationDetail .ownScrollbarStyle {
width: 0px;
position: absolute;
right: 0;
background-color: white;
transition: all linear 0.5s;
height: 100%;
overflow: hidden;
}
.salesApprovalLayercontentDiv {
width: 450px !important;
}
</style>
\ No newline at end of file
...@@ -65,7 +65,9 @@ ...@@ -65,7 +65,9 @@
.page_MyCustomerSearch li>span {display: inline-block; } .page_MyCustomerSearch li>span {display: inline-block; }
.page_MyCustomerSearch li span>em{display: inline-block; min-width: 60px; text-align: right; font-style: normal; margin:0 12px 0 0;} .page_MyCustomerSearch li span>em{display: inline-block; min-width: 60px; text-align: right; font-style: normal; margin:0 12px 0 0;}
.page_MyCustomerSearch li:last-child{float: right;} .page_MyCustomerSearch li:last-child{float: right;}
.page_MyCustomerSearch ._class_b{
color: #257BF1 !important
}
</style> </style>
<template> <template>
<div class="page_MyCustomer"> <div class="page_MyCustomer">
...@@ -106,7 +108,7 @@ ...@@ -106,7 +108,7 @@
<img v-if='item.icon' :onerror="defaultImg" :src='item.icon'/> <img v-if='item.icon' :onerror="defaultImg" :src='item.icon'/>
<p>{{item.contact}}</p> <p>{{item.contact}}</p>
<p><i class="iconfont icon-img_dianhua"></i>{{item.contactNumber}}</p> <p><i class="iconfont icon-img_dianhua"></i>{{item.contactNumber}}</p>
<p class="_addr">{{item.customerName}}</p> <p class="_addr">{{item.customerName}} <i class="iconfont icon-shimingrenzheng" :class="{'_class_b': item.RealNameAuthentication===1}"></i></p>
</div> </div>
<div class="_record" v-if="item.customerAccountId!=0"> <div class="_record" v-if="item.customerAccountId!=0">
<p class="_fist_n" v-if="item.customerVisitList.length>0">近期约访:{{item.customerVisitList[0].visitDateTime}}</p> <p class="_fist_n" v-if="item.customerVisitList.length>0">近期约访:{{item.customerVisitList[0].visitDateTime}}</p>
......
...@@ -27,7 +27,9 @@ ...@@ -27,7 +27,9 @@
.customerApprovalLayercontentBtn>span.cked{border:2px solid #E95252;box-sizing: border-box;} .customerApprovalLayercontentBtn>span.cked{border:2px solid #E95252;box-sizing: border-box;}
.customerApprovalLayercontentBtn>span>img{float: left; margin:10px 23px; width: 63px; height: 63px;} .customerApprovalLayercontentBtn>span>img{float: left; margin:10px 23px; width: 63px; height: 63px;}
.customerApproval .lastVisitContent{background: #f5f5f5; font-size: 12px; padding: 5px 12px; margin-top: 8px;} .customerApproval .lastVisitContent{background: #f5f5f5; font-size: 12px; padding: 5px 12px; margin-top: 8px;}
.customerApproval ._class_b{
color: #257BF1 !important
}
</style> </style>
<template> <template>
...@@ -197,7 +199,7 @@ ...@@ -197,7 +199,7 @@
<th width="15%">操作</th> <th width="15%">操作</th>
</tr> </tr>
<tr v-for="item in list"> <tr v-for="item in list">
<td class="fz16">{{item.customerName}}</td> <td class="fz16">{{item.customerName}}<i class="iconfont icon-shimingrenzheng" :class="{'_class_b': item.RealNameAuthentication===1}"></i></td>
<td> <td>
{{item.contact}} {{item.contact}}
</td> </td>
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
@change="ckeckedOne" @change="ckeckedOne"
style="vertical-align: middle;" style="vertical-align: middle;"
> >
{{item.CustomerName}} {{item.CustomerName}}<i class="iconfont icon-shimingrenzheng" :class="{'_class_b': item.RealNameAuthentication===1}"></i>
</label> </label>
</td> </td>
<td>{{item.Contact}}</td> <td>{{item.Contact}}</td>
...@@ -1045,6 +1045,9 @@ export default { ...@@ -1045,6 +1045,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
border-bottom: none; border-bottom: none;
border-right: none; border-right: none;
}
.customerTransferTable ._class_b{
color: #257BF1 !important
} }
.customerTransferTable tr th { .customerTransferTable tr th {
background: #dcdcdc; background: #dcdcdc;
......
...@@ -54,13 +54,13 @@ ...@@ -54,13 +54,13 @@
<th width="20%"> <th width="20%">
<label><input type="checkbox" v-model="isCkedAll" @click='checkedAll()' style="vertical-align: middle;"/>门店名称</label> <label><input type="checkbox" v-model="isCkedAll" @click='checkedAll()' style="vertical-align: middle;"/>门店名称</label>
</th> </th>
<th width="10%">联系电话</th> <th width="17%">联系电话</th>
<th width="20%">地址</th> <th width="20%">地址</th>
<th width="10%">来源</th> <th width="10%">来源</th>
<th width="10%">拜访次数</th> <th width="8%">拜访次数</th>
<th width="10%">交易金额</th> <th width="10%">交易金额</th>
<th width="10%">创建人</th> <th width="10%">创建人</th>
<th width="10%">操作</th> <th width="5%">操作</th>
</tr> </tr>
<tr> <tr>
<td colspan="8" align="center" v-show='list.length==0'> <td colspan="8" align="center" v-show='list.length==0'>
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</tr> </tr>
<tr v-for='(item,index) in list'> <tr v-for='(item,index) in list'>
<td> <td>
<label><input type="checkbox" :value="item.CustomerId" v-model="customerList" @change="ckeckedOne" style="vertical-align: middle;"/>{{item.CustomerName}}</label> <label><input type="checkbox" :value="item.CustomerId" v-model="customerList" @change="ckeckedOne" style="vertical-align: middle;"/>{{item.CustomerName}}<i class="iconfont icon-shimingrenzheng" :class="{'_class_b': item.RealNameAuthentication===1}"></i></label>
</td> </td>
<td><i class="iconfont icon-img_dianhua fz14" style="color:#09D49D;margin-right: 5px;"></i>{{item.ContactNumber}}</td> <td><i class="iconfont icon-img_dianhua fz14" style="color:#09D49D;margin-right: 5px;"></i>{{item.ContactNumber}}</td>
<td>{{item.Address}}</td> <td>{{item.Address}}</td>
...@@ -249,4 +249,7 @@ ...@@ -249,4 +249,7 @@
.pd20{padding: 12px 20px !important; } .pd20{padding: 12px 20px !important; }
.el-popper[x-placement^=bottom]{margin-top: 0px !important;} .el-popper[x-placement^=bottom]{margin-top: 0px !important;}
.el-popper[x-placement^=top]{margin-bottom: 0px !important;} .el-popper[x-placement^=top]{margin-bottom: 0px !important;}
.publicCustomerTable ._class_b{
color: #257BF1 !important
}
</style> </style>
\ No newline at end of file
...@@ -124,7 +124,9 @@ ...@@ -124,7 +124,9 @@
.carPlanOne .w320 { .carPlanOne .w320 {
margin: 5px 0; margin: 5px 0;
} }
.busInfo .w200{
padding:10px 0;
}
</style> </style>
<template> <template>
<div class="flexOne busInfo"> <div class="flexOne busInfo">
...@@ -274,7 +276,7 @@ ...@@ -274,7 +276,7 @@
<span class="subName" :class="{'spanCked':item.AccommodationType==subItem.Id}" <span class="subName" :class="{'spanCked':item.AccommodationType==subItem.Id}"
@click="AccommodationCLick(subItem.Id,index)">{{subItem.Name}}</span> @click="AccommodationCLick(subItem.Id,index)">{{subItem.Name}}</span>
<span v-if="subItem.Id==1 && item.AccommodationType==1"> <span v-if="subItem.Id==1 && item.AccommodationType==1">
<el-input class="w135" v-model="item.AccommodationRemark" placeholder="请输入外宿地址"></el-input> <el-input class="w135" style="margin-top:13px;" v-model="item.AccommodationRemark" placeholder="请输入外宿地址"></el-input>
</span> </span>
</span> </span>
</div> </div>
......
...@@ -370,9 +370,7 @@ ...@@ -370,9 +370,7 @@
if (SaveType == 3) { if (SaveType == 3) {
basicData.TravelInfoIsCopy = true; basicData.TravelInfoIsCopy = true;
} }
basicData.TeamType=this.TeamType; basicData.TeamType=this.TeamType;
console.log("basicData",basicData);
this.apipost( this.apipost(
"travel_post_SetTravelConfigInfo", "travel_post_SetTravelConfigInfo",
basicData, basicData,
...@@ -599,7 +597,6 @@ ...@@ -599,7 +597,6 @@
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
var tempData = res.data.data; var tempData = res.data.data;
console.log("tempData",tempData);
if (tempData.Feature != null) { if (tempData.Feature != null) {
this.FeatureData.ID = tempData.Feature.ID; this.FeatureData.ID = tempData.Feature.ID;
this.FeatureData.ConfigId = tempData.Feature.ConfigId; this.FeatureData.ConfigId = tempData.Feature.ConfigId;
......
...@@ -1466,6 +1466,7 @@ ...@@ -1466,6 +1466,7 @@
this.priceData.IsNew = true; this.priceData.IsNew = true;
} }
} }
}, },
//保存酒店使用情况 //保存酒店使用情况
saveHoteluseDetail() { saveHoteluseDetail() {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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