Commit b4cc3e52 authored by liudong1993's avatar liudong1993
parents a8930d8d a4d74ac9
......@@ -9,9 +9,9 @@
<meta http-equiv="expires" content="-1, 26 Feb 1997 08:21:57 GMT">
<!--<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=ZzGBZF6L0sgFDLlDohyvYhCnWy4dwksX" ></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/CurveLine/1.5/src/CurveLine.min.js"></script>
<script type="text/javascript" src="static/CurveLine.min.js"></script>
<script type="text/javascript" src="http://ditu.google.cn/maps/api/js?key=AIzaSyAZ5MIfzicStzKbIkbI3RcBBeZBjQFKsp0&language=zh-CN"></script>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="static/jquery.min.js"></script>
<title>四川和平国际旅行社</title>
</head>
<body>
......
......@@ -8,7 +8,7 @@
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"lint": "eslint --ext .js,.vue src",
"build": "node build/build.js"
"build": "node --max-old-space-size=4096 build/build.js"
},
"dependencies": {
"@riophae/vue-treeselect": "0.0.36",
......
......@@ -35,6 +35,7 @@
<div :class="stockColor(item.data.InventoryType)" v-if="item.data&&item.month===calendar.data.date">
<p><span @click="goUrlA('2', item)" class="text_underLine">价格:{{item.data.CostPrice}}{{item.data.CurrencyName}}</span></p>
<p><span class="text_underLine" @click="goUrlB(item)">总库存:{{item.data.Inventory}}(间)</span></p>
<!-- <p><span 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>
......@@ -110,6 +111,9 @@
this.$emit('goEdit', type, item.day)
// this.$router.push({ name: 'HotelProductEdit', query: { type: type, HotelId: this.hotelId, day: item.day,blank: 'y', tab: '报价管理'} });
},
goUrlHotelTeam:function(item){
this.$router.push({ name: 'HotelsTeam', query: { HotelId: item.data.HotelId,StartDate:item.data.DayStr, blank: 'y', tab: '酒店相关团'} });
},
goUrlB: function (item) {
this.$router.push({ name: 'HotelTotalStock', query: { HotelId: this.hotelId, blank: 'y', tab: '总库存看板'} });
}
......
<template>
<div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " class="ownScrollbarStyle">
<table border="0" cellspacing="1" cellpadding="0" class="roomReservationsDetailsTalbe" v-loading='loading'>
<tr>
<th width="50">序号</th>
<th width="80">公司团号</th>
<th width="80">出发地</th>
<th width="80">领队</th>
<th width="80">导游</th>
<th width="120">机位总数/(Y/E/F)</th>
<th width="120">占床/不占床</th>
<th width="80">实际用房数 </th>
<th width="150">房间类型</th>
<th width="80">房间数</th>
<th width="80">房间人数</th>
<th width="150">房间预定数</th>
<th width="120">尚差房间数</th>
<th width="80">单价/每人</th>
<th width="80">免减人数</th>
<th width="80">金额小计</th>
<th width="80">返佣</th>
<th width="80">金额总计</th>
<th width="80">付款方式</th>
<th width="80">联系电话</th>
<th width="80">地址</th>
<th width="80">订团号</th>
<th width="80">备注</th>
<th width="80">操作</th>
</tr>
<tr v-for="(item,index) in dataList">
<td><div class="w80">{{index+1}}</div></td>
<td><div class="w120">{{item.CommonReport.HotelList[0].TCNUM}}</div></td>
<td><div class="w120">{{item.StartCityNames}}</div></td>
<td><div class="w120">{{item.LeaderName}}</div></td>
<td><div class="w120">{{item.GuideName}}</div></td>
<td><div class="w120">{{item.TotalSeat}}/{{item.CommonReport.HouseStatistics.RealityYSeatNum}}/
{{item.CommonReport.HouseStatistics.RealityESeatNum}}/{{item.CommonReport.HouseStatistics.RealityFSeatNum}}</div></td>
<td><div class="w80">{{item.CommonReport.HouseStatistics.NeedBed}}/{{item.CommonReport.HouseStatistics.NoNeedBed}}</div></td>
<td><div class="w80">{{item.CommonReport.HouseStatistics.RealityRoomNum}}</div></td>
<td>
<div class="w150">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseTypeName}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-for="o in item.CommonReport.HouseStatistics.HouseTypeList">
{{o.HouseGuestNum}}
</p>
</div>
</td>
<td>
<!-- <div class="w80">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
<el-input class='w50 tcenter' @keyup.native="checkInteger(o,'HouseTypeCount')" v-model='o.HouseTypeCount<=0?item.CommonReport.HouseStatistics.HouseTypeList[index].HouseTypeCount:o.HouseTypeCount.toString()'></el-input>
</p>
</div> -->
<div class="w80">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
<el-input class='w50 tcenter' @keyup.native="checkInteger(o,'HouseTypeCount')" v-model='o.HouseTypeCount'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" :class="{colorRed:o.HouseTypeCount-item.CommonReport.HouseStatistics.HouseTypeList[index].HouseTypeCount<0}" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
{{o.HouseTypeCount-item.CommonReport.HouseStatistics.HouseTypeList[index].HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="w120">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList" @input="calculationPrice(item)">
<el-input @keyup.native="checkInteger(o,'UnitPrice')" class='w80 tcenter' v-model='o.UnitPrice'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList" @input="calculationPrice(item)">
<el-input class='w50' @keyup.native="checkInteger(o,'HotelDiscount')" v-model='o.HotelDiscount'></el-input>
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList">
{{o.UnitPrice*(o.HouseGuestNum-o.HotelDiscount)}}
</p>
</div>
</td>
<td>
<div class="w80">
<p class="pHouseStyle link" v-if="item.CommonReport.HotelList[0].OrderDetailsList.length>0" v-for="(o,index) in item.CommonReport.HotelList[0].OrderDetailsList" @input="calculationPrice(item)">
<span class="spanlink" v-if='o.IsRebateRatio==0' @click="goUrl('HotelInfo',o,'酒店管理')">设置</span>
<span v-if='o.IsRebateRatio!=0'>{{o.RebateRatio}}</span>
</p>
</div>
</td>
<td>
<div class="w120">
{{item.TotalPrice}}
</div>
</td>
<td>
<div class="w120">
<el-select class='w100 sel' v-model='item.CommonReport.HotelList[0].PayStyle' :placeholder="$t('pub.pleaseSel')">
<el-option label='请选择' :value='0' ></el-option>
<el-option label='现付' :value='1' ></el-option>
<el-option label='签单' :value='2' ></el-option>
<el-option label='实物抵扣' :value='5' ></el-option>
<el-option label='预付' :value='4' ></el-option>
</el-select>
</div>
</td>
<td>
<div class="w120">{{item.CommonReport.HotelList[0].Tel}}</div>
</td>
<td>
<div class="w200 padding10">{{item.CommonReport.HotelList[0].Address}}</div>
</td>
<td>
<div class="w150">
<el-input class='w120' v-model='item.CommonReport.HotelList[0].ReserveNo'></el-input>
</div>
</td>
<td>
<div class="w150">
<el-input type='textarea' class='w120' v-model='item.CommonReport.HotelList[0].Remarks'></el-input>
</div>
</td>
<td>
<input type="button" class="roomBtn" value="保存" @click="SaveSingle(item)"/>
</td>
</tr>
<tbody v-if="dataList.length===0">
<tr>
<td :colspan="24">暂无数据</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<script>
export default {
data() {
return {
msg:{
HotelId:0,
StartDate:'',
},
loading: false,
dataList:[],
}
},
methods: {
getList(){
this.loading = true;
this.apipost("dmcstatistics_post_GetHotelByIDAndUseTime", this.msg, res => {
console.log(res);
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
let totalPrice=0
this.dataList.forEach(x=>{
x.CommonReport.HotelList[0].OrderDetailsList.forEach((y,index1)=>{
x.CommonReport.HouseStatistics.HouseTypeList.forEach(z=>{
if(y.HouseTypeCount<=0){
x.CommonReport.HotelList[0].OrderDetailsList[index1].HouseTypeCount = x.CommonReport.HouseStatistics.HouseTypeList[index1].HouseTypeCount.toString();
}else{
y.HouseTypeCount = y.HouseTypeCount.toString();
}
})
y.HouseTypeCount = y.HouseTypeCount.toString();
y.HotelDiscount = y.HotelDiscount.toString();
})
x.CommonReport.HotelList[0].OrderDetailsList.forEach(y=>{
totalPrice+=y.UnitPrice*(y.HouseGuestNum-y.HotelDiscount)*(1-y.RebateRatio/100)
})
x.TotalPrice=totalPrice.toFixed(2)
});
}else{
this.Error(res.data.message);
}
},err => {})
},
goUrl(path, obj, name) {
this.$router.push({
path: path,
query: {
id: obj.HotelId,
blank: "y",
tab: name
}
});
},
//单条保存
SaveSingle(item){
item.CommonReport.HotelList[0].HotelOrderState=1;
item.CommonReport.HotelList[0].OrderDetailsList.forEach(y=>{
y.HouseTypeCount = parseInt(y.HouseTypeCount);
y.HotelDiscount = parseInt(y.HotelDiscount);
})
this.apipost('dmcstatistics_post_SetNewHotelOrder',item.CommonReport.HotelList[0],res=>{
if(res.data.resultCode==1){
this.Success(res.data.message)
}else{
this.Error(res.data.message)
}
},err=>{})
},
//计算总价
calculationPrice(obj){
let totalPrice=0
obj.CommonReport.HotelList[0].OrderDetailsList.forEach(item=>{
totalPrice+=item.UnitPrice*(item.HouseGuestNum-item.HotelDiscount)*(1-item.RebateRatio/100)
})
obj.TotalPrice=totalPrice.toFixed(2)
this.$forceUpdate()
},
},
mounted: function () {
this.msg.HotelId = this.$route.query.HotelId;
this.msg.StartDate = this.$route.query.StartDate;
this.getList();
},
created: function () {
}
}
</script>
<style>
.roomReservationsDetailsTalbe .roomBtn{
color: #fff;
padding: 0 10px!important;
height: 30px!important;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin:0 10px;
}
.roomReservationsDetailsTalbe{ background: #ddd;}
.roomReservationsDetailsTalbe tr th{background: #eee;height:40px; font-size: 12px; color: #333;}
.roomReservationsDetailsTalbe tr{background: #fff;text-align: center; height: 40px;}
.roomReservationsDetailsTalbe tr td{font-size: 12px;}
.roomReservationsDetailsTalbe tr td .pHouseStyle{border-bottom: 1px solid #ccc; height:28px; line-height: 28px;}
.roomReservationsDetailsTalbe tr td .colorRed{color: #E95252;}
.roomReservationsDetailsTalbe tr td .pHouseStyle:last-child{border-bottom: none;}
.roomReservationsDetailsTalbe tr td input{height: 20px!important; padding: 0!important; text-align: center;}
.roomReservationsDetailsTalbe tr td .sel input{height: 34px!important; padding-right: 20px!important; padding-left: 5px!important; font-size: 12px!important;}
.roomReservationsDetailsTalbe tr td .link:hover{text-decoration: underline; cursor: pointer;}
.roomReservationsDetailsTalbe .Hotel_red{color:red;}
</style>
......@@ -37,6 +37,7 @@
<th width="80">地址</th>
<th width="80">订团号</th>
<th width="80">备注</th>
<th width="80">操作</th>
</tr>
<tr v-for="(item,index) in list">
<td :rowspan="list.length" v-if="index==0">
......@@ -153,7 +154,10 @@
<div class="w150">
<el-input type='textarea' class='w120' v-model='item.Remarks'></el-input>
</div>
</td>
</td>
<td>
<input type="button" class="roomBtn" value="保存" @click="SaveSingle(item)"/>
</td>
</tr>
</table>
</div>
......@@ -274,12 +278,24 @@ export default {
})
this.apipost('dmcstatistics_get_SetHotelOrder',this.list,res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.Success(res.data.message)
}else{
this.$message.error(res.data.message)
this.Error(res.data.message)
}
},err=>{})
},
},
//单条保存
SaveSingle(item){
item.HotelOrderState=1;
this.apipost('dmcstatistics_post_SetNewHotelOrder',item,res=>{
if(res.data.resultCode==1){
this.Success(res.data.message)
}else{
this.Error(res.data.message)
}
},err=>{})
}
},
created() {
......@@ -295,6 +311,16 @@ export default {
</script>
<style>
.roomReservationsDetailsTalbe .roomBtn{
color: #fff;
padding: 0 10px!important;
height: 30px!important;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin:0 10px;
}
.roomReservationsDetailsTalbe{ background: #ddd;}
.roomReservationsDetailsTalbe tr th{background: #eee;height:40px; font-size: 12px; color: #333;}
.roomReservationsDetailsTalbe tr{background: #fff;text-align: center; height: 40px;}
......
......@@ -221,7 +221,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -265,7 +265,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -309,7 +309,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -353,7 +353,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -397,7 +397,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -441,7 +441,7 @@
</td>
<td style="font-size:14px;">
应收:{{item.Money}}<br />
实收:{{item.Money}}
实收:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -494,7 +494,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -541,7 +541,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -588,7 +588,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -635,7 +635,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -682,7 +682,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -729,7 +729,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -776,7 +776,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -823,7 +823,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -877,7 +877,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......@@ -924,7 +924,7 @@
</td>
<td style="font-size:14px;">
应付:{{item.Money}}<br />
实付:{{item.Money}}
实付:{{item.PayMoney}}
</td>
<td>{{item.TradeDate}}</td>
<td>
......
......@@ -85,8 +85,8 @@
<th>数量</th>
<th>线路名称</th>
<th>类型</th>
<th>面额</th>
<th>满减/折扣</th>
<th>面额</th>
<!-- <th>使用状态</th> -->
<th>叠加使用</th>
<th>生效日期</th>
......@@ -99,8 +99,8 @@
<td>{{item.couponCount}}</td>
<td>{{item.lineName}}</td>
<td>{{item.couponsType ===1 ? "抵用券" : "折扣券"}}</td>
<td>{{item.denomination}}</td>
<td>{{item.useCondition}}</td>
<td>{{item.denomination}}</td>
<!-- <td>{{item.useState}}</td> -->
<td>{{item.overlapUse === 1 ? "不允许" : "允许"}}</td>
<td>{{item.effectDate}}</td>
......@@ -368,9 +368,9 @@ export default {
}, null);
},
maxValue: function (val) {
if (this.addMsg.couponsType === 2 && val >= 1) {
this.addMsg.denomination = 0.99
this.$message.error("折扣券最大折扣为0.99折")
if (this.addMsg.couponsType === 2 && val >= 9.99) {
this.addMsg.denomination = 9.99
this.$message.error("折扣券最大折扣为99折")
}
},
addData() {
......
<style>
.w595{width:595px!important;}
</style>
.LuckyDraw .singeRowTable i{
font-size:15px;
}
.LuckyDraw ._addUpload_box{
display: block;
margin: 10px 0 0 100px;
}
.LuckyDraw ._addUpload_box img{
width: 100%;
height:100%;
}
.LuckyDraw ._addUpload_box>div{
float: left;
width:138px;
height:92px;
border:1px dashed rgba(210,210,210,1);
border-radius:2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
.LuckyDraw ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.LuckyDraw ._addUpload_box>div:hover{
background-color: #f5f5f5;
}
.LuckyDraw .el-upload-dragger{
font-size: 28px;
color: #8c939d;
width: 126px;
height: 80px;
line-height: 41px;
text-align: center;
}
.LuckyDraw ._show_img_box{
position: fixed;
background: rgba(0,0,0,.6);
left: 0;
top:0;
width: 100%;
height: 100%;
z-index: 9999;
text-align: center;
}
.LuckyDraw .ql-container{
min-height: 100px;
}
</style>
<template>
<div class="flexOne">
<div class="flexOne LuckyDraw">
<div class="query-box">
<ul class="user_time_picker">
<li>
......@@ -68,17 +130,19 @@
<tr>
<th>抽奖名称</th>
<th>公司名称</th>
<th>抽奖次数(每人)</th>
<th>开始日期</th>
<th>结束日期</th>
<th>抽奖次数</th>
<th>抽奖状态</th>
<th>备注</th>
<th width="400">备注</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.lotteryName}}</td>
<td>{{item.branchName}}</td>
<td>{{item.endDate}}</td>
<td>{{item.lotteryCount}}</td>
<td>{{item.startDate}}</td>
<td>{{item.endDate}}</td>
<td>{{item.lotteryStatus==1?'正常':'禁用'}}</td>
<td>{{item.remark}}</td>
<td>
......@@ -173,6 +237,13 @@
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="抽奖规则" prop="lotteryRules">
<quill-editor class="w595" :options="editorOption" v-model="addMsg.lotteryRules"></quill-editor>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="备注" prop="remark">
......@@ -180,6 +251,29 @@
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<div class="_addUpload_box clearfix" >
<template>
<div v-if="addMsg.image!=''">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="addMsg.image" @click="showUpLoadFile()"/>
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile()"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="false" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传</div>
</el-upload>
</div>
</div>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -187,6 +281,16 @@
<button class="normalBtn" @click="submitForm('addMsg')">保存</button>
</div>
</el-dialog>
<div v-if='picIsShow' class="_show_img_box" @click="picIsShow=false">
<div style="position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;">
<el-carousel height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px;overflow:auto;">
<img :src="addMsg.image" style=""/>
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
<script>
......@@ -214,7 +318,28 @@ export default {
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
lotteryPlatform:1,
lotteryRules:'',
image:'',
},
toolbar: {
clean: true, //加粗
bold:true,
// italic:true,
fontColor:true,
align:true,
leftIndent:true,
rightIndent:true,
headSize:true,
narrative: false, //叙述,
},
editorOption:{
modules:{
toolbar:[
['bold', 'italic', 'underline', 'strike'], // toggled buttons
['blockquote', 'code-block','align']
]
}
},
rules:{
branchId: [{ required: true, message: "请选择公司", trigger: "change" }],
......@@ -245,6 +370,7 @@ export default {
companyList:[],
//线路
LineList:[],
picIsShow:false,
};
},
mounted() {
......@@ -254,7 +380,6 @@ export default {
},
filters: {
},
methods: {
//重置id
resSetInfo(){
......@@ -268,7 +393,9 @@ export default {
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
lotteryPlatform:1,
lotteryRules:'',
image:'',
}
this.addMsg= newMsg;
},
......@@ -330,6 +457,7 @@ export default {
this.resetForm("addMsg");
this.Success(res.data.message);
this.getList();
this.resSetInfo();
} else {
this.Error(res.data.message)
}
......@@ -346,6 +474,8 @@ export default {
this.addMsg.groupId = item.groupId;
this.addMsg.branchId = item.branchId;
this.addMsg.lotteryStatus = item.lotteryStatus;
this.addMsg.lotteryRules = item.lotteryRules,
this.addMsg.image = item.image
},
//跳转至获取抽奖奖项信息列表
goUrl(item){
......@@ -383,7 +513,45 @@ export default {
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
},
deleteUploadFile(){ // 删除上传文件
this.addMsg.image='';
},
showUpLoadFile(){ // 预览上传文件
this.picIsShow= true;
},
//上传图片
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.$message.warning('文件大小不能超过10M!')
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.$message.error('请上传图片!');
let newArr = [];
newArr.push(file.file)
let path = "/Upload/activity/"
this.$message.info('上传中...')
this.uploadFile(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.addMsg.image = x.res.requestUrls[0].split('?')[0]
this.$message.success('上传成功');
this.$forceUpdate();
});
},
}
};
</script>
\ No newline at end of file
......@@ -11,15 +11,21 @@
<div class="clearfix"></div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>序号</th>
<th>奖项名</th>
<th>奖项数量</th>
<th>中奖数量</th>
<th>剩余数量</th>
<th>奖项状态</th>
<th>奖项类型</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.rank}}</td>
<td>{{item.awardName}}</td>
<td>{{item.awardCount}}</td>
<td>{{item.awardWinningCount}}</td>
<td>{{item.awardCount-item.awardWinningCount>=0?item.awardCount-item.awardWinningCount:0}}</td>
<td>{{item.awardStatus==1?'正常':'禁用'}}</td>
<td v-if="item.awardType==1">谢谢参与</td>
<td v-if="item.awardType==2">一般奖项</td>
......@@ -63,7 +69,7 @@
</tr>
<td>
<el-form-item label="奖项类型" prop="awardType">
<el-select filterable v-model="addMsg.awardType" class="w217" @change="getAwardRelationId()">
<el-select filterable v-model="addMsg.awardType" class="w217" @change="getAwardRelationId(addMsg.awardType)">
<el-option label="谢谢参与" :value="1"></el-option>
<el-option label="一般奖项" :value="2"></el-option>
<el-option label="优惠券" :value="3"></el-option>
......@@ -117,7 +123,7 @@ export default {
awardName:'',
awardType:1,
//谢谢参与和一般奖项为0,优惠券 请求接口返回
awardRelationId:'',
awardRelationId:0,
awardCount:'',
awardStatus:1,
rank:'',
......@@ -149,10 +155,10 @@ export default {
getList() {
this.loading = true;
this.apiJavaPost("/api/sell/lottery/getLotteryAwardList", this.msg, res => {
console.log(res,'getList');
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message)
}
......@@ -176,7 +182,6 @@ export default {
this.addMsg.awardRelationId = 0;
}
this.apiJavaPost("/api/sell/lottery/setLotteryAward", this.addMsg, res => {
console.log(res,'getList');
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.outerVisible = false;
......@@ -188,6 +193,7 @@ export default {
},
//修改信息
updateData(item){
console.log(item);
this.addMsg.id=item.id;
this.addMsg.lotteryId = item.lotteryId;
this.addMsg.awardName = item.awardName;
......@@ -196,12 +202,16 @@ export default {
this.addMsg.awardCount = item.awardCount;
this.addMsg.awardStatus = item.awardStatus;
this.addMsg.rank = item.rank;
this.getAwardRelationId();
this.getAwardRelationId(3);
},
//根据奖项类型请求关联Id
getAwardRelationId(){
getAwardRelationId(id){
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : '';
let branchId = userInfo.RB_Branch_id ? userInfo.RB_Branch_id : 0
if(id==3){
let msg = {
couponId:0
couponId:this.addMsg.awardRelationId,
branchId:branchId
}
this.apiJavaPost("/api/sell/lottery/getCouponsList", msg, res => {
if (res.data.resultCode === 1) {
......@@ -210,6 +220,7 @@ export default {
this.Error(res.data.message)
}
}, null);
}
},
//重置信息
resetInfo(){
......@@ -218,7 +229,7 @@ export default {
lotteryId:0,
awardName:'',
awardType:1,
awardRelationId:'',
awardRelationId:0,
awardCount:'',
awardStatus:1,
rank:'',
......
......@@ -8,8 +8,8 @@
<span class="foldList" @click="fold" v-if="isFold==1">点击展开</span>
<div class="TrfList clearfix">
<!-- 'display_none':(item.TypeState===4 && FeatureData.FeatureType !== 4) || (item.TypeState===4 && !$route.query.configId)-->
<div class="TFslide" v-for="item in TypeArray" :class="{'TFcked':item.isShow,'display_none':(item.TypeState===4 && FeatureData.FeatureType !== 4) || (item.TypeState===4 && !$route.query.configId)}" @click="clickFeature(item)"
:key="item.subCode">
<div class="TFslide" v-for="item in TypeArray" :class="{'TFcked':item.isShow,'display_none':(item.TypeState===4 && FeatureData.FeatureType !== 4) || (item.TypeState===4 && !$route.query.configId)}"
@click="clickFeature(item)" :key="item.subCode">
<img v-bind:src="item.imgUrl">
<div>{{item.ckTitle}}</div>
</div>
......@@ -17,7 +17,8 @@
<div style="display:none">
<p style="padding:5px 0;">请选择下载word行程的主题颜色</p>
<el-radio-group v-model="FeatureData.TemplateId">
<el-radio-button v-for="item in templateColorArray" :class="`templateColorArray_${item.color}`" :label="item.id" :key="item.id" :value="item.id">{{item.text}}</el-radio-button>
<el-radio-button v-for="item in templateColorArray" :class="`templateColorArray_${item.color}`" :label="item.id"
:key="item.id" :value="item.id">{{item.text}}</el-radio-button>
</el-radio-group>
<p style="padding:5px 0 0 0;"> </p>
</div>
......@@ -37,9 +38,8 @@
<img v-else :src="item.Url">
<div class="TFIMGzhe">
<div class="TFreupload" @click="updateTFimg(index)">
<el-upload :file-list="FeatureData.fileList" :http-request="reUpload" :multiple="true"
accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<el-upload :file-list="FeatureData.fileList" :http-request="reUpload" :multiple="true" accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<i class="iconfont icon-Edit"></i>
</el-upload>
</div>
......@@ -68,10 +68,8 @@
<div class="userDefined">
<!-- <quill-editor @change="onEditorChange($event)" v-model="FeatureData.FeatureContent">
</quill-editor>-->
<my-edit v-on:edit-value="FeatureData.FeatureContent = arguments[0]"
v-bind:editValue="FeatureData.FeatureContent"
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList"
v-bind:placeholder="placeholder"></my-edit>
<my-edit v-on:edit-value="FeatureData.FeatureContent = arguments[0]" v-bind:editValue="FeatureData.FeatureContent"
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit>
</div>
</div>
<div class="TFright" v-if="FeatureData.FeatureType!=FeatureTypeState.userDefined">
......@@ -81,9 +79,8 @@
<img v-else :src="item.Url">
<div class="TFIMGzhe">
<div class="TFreupload" @click="updateTFimg(index)">
<el-upload :file-list="FeatureData.fileList" :http-request="reUpload" :multiple="true"
accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<el-upload :file-list="FeatureData.fileList" :http-request="reUpload" :multiple="true" accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<i class="iconfont icon-Edit"></i>
</el-upload>
</div>
......@@ -201,7 +198,7 @@
newFeature2,
// newFeature3,
},
props: ["subConfigId", "FeatureData","isNewConfig"],
props: ["subConfigId", "FeatureData", "isNewConfig"],
inject: ['loadConfigInfo'],
data() {
return {
......@@ -225,11 +222,11 @@
travelSpecial2: 5,
},
TypeArray: [{
ckTitle: "自定义",
isShow: false,
imgUrl: userDefined,
TypeState: 3
},
ckTitle: "自定义",
isShow: false,
imgUrl: userDefined,
TypeState: 3
},
{
ckTitle: "幻灯片",
isShow: false,
......@@ -266,10 +263,9 @@
imgUrl: Travelslider,
TypeState: 7
}
], //tab数组
templateColorArray:[
{
templateColorArray: [{
id: 1,
color: 'yellow',
text: '土黄黄'
......@@ -292,13 +288,11 @@
FeatureDataFlag: false,
};
},
created: function () {
},
created: function () {},
methods: {
// 初始化行程特色
init: function () {
},
init: function () {},
// 行程特色删除区块
delFeature: function (key) {
this.travelsList.splice(key, 1);
......@@ -348,25 +342,25 @@
type: contentType
});
},
getHtml: function (postData, SaveType) {
var FeatureData={
B2BRemark:postData.B2BRemark,
ConfigId:postData.ConfigId,
FeatureContent:postData.FeatureContent,
FeatureHtml:"",
FeatureHtmlImage:"",
FeatureHtmlJson:"",
FeatureHtmlJsonDelete:"",
FeatureImg:postData.FeatureImg,
FeatureType:postData.FeatureType,
FeeInclude:postData.FeeInclude,
FeeNonInclude:postData.FeeNonInclude,
ID:postData.ID,
ImportantTip:postData.ImportantTip,
ShopRemark:postData.ShopRemark,
VisaRemark:postData.VisaRemark,
WarmTip:postData.WarmTip,
TemplateId: postData.TemplateId
getHtml: function (postData, SaveType,postType) {
var FeatureData = {
B2BRemark: postData.B2BRemark,
ConfigId: postData.ConfigId,
FeatureContent: postData.FeatureContent,
FeatureHtml: "",
FeatureHtmlImage: "",
FeatureHtmlJson: "",
FeatureHtmlJsonDelete: "",
FeatureImg: postData.FeatureImg,
FeatureType: postData.FeatureType,
FeeInclude: postData.FeeInclude,
FeeNonInclude: postData.FeeNonInclude,
ID: postData.ID,
ImportantTip: postData.ImportantTip,
ShopRemark: postData.ShopRemark,
VisaRemark: postData.VisaRemark,
WarmTip: postData.WarmTip,
TemplateId: postData.TemplateId
};
let flagWangYue = this.$route.query.flag;
......@@ -382,8 +376,7 @@
obj = this.$refs.newFeature.getFeatureData();
FeatureData.FeatureHtmlJson = JSON.stringify(obj.basicData);
FeatureData.FeatureHtmlJsonDelete = JSON.stringify(obj.deleteArray);
} catch (err) {
}
} catch (err) {}
}
if (this.$refs.newFeature2 != undefined) {
var obj = '';
......@@ -391,102 +384,113 @@
obj = this.$refs.newFeature2.getFeatureData()
FeatureData.FeatureHtmlJson = JSON.stringify(obj.basicData);
FeatureData.FeatureHtmlJsonDelete = JSON.stringify(obj.deleteArray);
} catch (err) {
}
} catch (err) {}
}
setTimeout(() => {
try {
FeatureData.FeatureHtml = document.getElementById("newFeatureBox").innerHTML;
} catch (err) {
}
this.apipost("travel_post_SetFeature", FeatureData, res => {
try {
this.$refs.newFeature.setReadOnly(false)
} catch (ex) {
}
try {
this.$refs.newFeature2.canEditChange(true)
} catch (ex) {
}
//解锁表单重复提交
this.$emit("unlockFormCommit", true);
if (res.data.resultCode == 1) {
//保存按钮跳转当当前页码
if (SaveType == 1) {
let path = flagWangYue ? 'TravelManager3' : 'TravelManager2';
this.Success("保存成功");
if (flagWangYue||this.isNewConfig) {
} catch (err) {}
if (postType == 1) {
this.apipost("travel_post_SetFeature", FeatureData, res => {
try {
this.$refs.newFeature.setReadOnly(false)
} catch (ex) {}
try {
this.$refs.newFeature2.canEditChange(true)
} catch (ex) {}
//解锁表单重复提交
this.$emit("unlockFormCommit", true);
if (res.data.resultCode == 1) {
//保存按钮跳转当当前页码
if (SaveType == 1) {
let path = flagWangYue ? 'TravelManager3' : 'TravelManager2';
this.Success("保存成功");
if (flagWangYue || this.isNewConfig) {
this.$router.push({
path: path,
query: {
flag: flagWangYue,
configId: FeatureData.ConfigId,
openState: 1
}
});
if (localStorage.openMode === "0") {
this.loadConfigInfo();
}
} else {
this.loadConfigInfo();
}
}
//提交按钮和另存模板跳转团控列表
else if (SaveType == 2 || SaveType == 3) {
this.$router.push({
path: path,
path: "TravelControlList",
query: {
flag: flagWangYue,
configId: FeatureData.ConfigId,
openState: 1
cache: true
}
});
if(localStorage.openMode === "0") {
this.loadConfigInfo();
}
} else {
this.loadConfigInfo();
}
}
//提交按钮和另存模板跳转团控列表
else if (SaveType == 2 || SaveType == 3) {
this.$router.push({
path: "TravelControlList",
query: {
cache: true
this.MsgBus.$emit('saveTravel', false);
this.FeatureData.IsSave = false;
},
err => {}
)
} else {
this.ApiPost2("TripSetFeature", FeatureData, res => {
try {
this.$refs.newFeature.setReadOnly(false)
} catch (ex) {}
try {
this.$refs.newFeature2.canEditChange(true)
} catch (ex) {}
//解锁表单重复提交
this.$emit("unlockFormCommit", true);
if (res.data.resultCode == 1) {
//保存按钮跳转当当前页码
if (SaveType == 1) {
let path = flagWangYue ? 'TravelManager3' : 'TravelManager2';
this.Success("保存成功");
if (flagWangYue || this.isNewConfig) {
this.$router.push({
path: path,
query: {
flag: flagWangYue,
configId: FeatureData.ConfigId,
openState: 1
}
});
if (localStorage.openMode === "0") {
this.loadConfigInfo();
}
} else {
this.loadConfigInfo();
}
});
}
//提交按钮和另存模板跳转团控列表
else if (SaveType == 2 || SaveType == 3) {
this.$router.push({
path: "TravelControlList",
query: {
cache: true
}
});
}
}
}
this.MsgBus.$emit('saveTravel',false);
this.FeatureData.IsSave = false;
},
err => {
}
)
this.MsgBus.$emit('saveTravel', false);
this.FeatureData.IsSave = false;
},
err => {}
)
}
}, 2000)
// this.h2c(document.getElementById("travelSpecial"), {
// useCORS: true,
// logging: false
// }).then(canvas => {
// let imgUrl = canvas.toDataURL("image/png");
// let blob = this.base64ToBlob(imgUrl);
// let newArr = [];
// newArr.push(blob);
// let fileName = `${this.uuid(10, 10)}.png`;
// let user = JSON.parse(window.localStorage.userInfo);
// let path = `/Upload/TravelFeature/${user.EmployeeId}/${fileName}`;
// var that = this;
// this.uploadBlob(path, newArr, x => {
// if (x.res.statusCode === 200) {
// postData.Feature.FeatureHtmlImage =
// "http://reborndev.oss-cn-hangzhou.aliyuncs.com" + path;
// this.apipost(
// "travel_post_SetFeature",
// postData,
// res => {
// if (res.data.resultCode == 1) {
// }
// },
// err => {}
// );
// } else {
// this.Error("生成图片失败");
// }
// });
// });
// }
},
//切换tab事件
clickFeature(item) {
let state = this.FeatureData.FeatureType
if ((state === 4 && item.TypeState === 5) || (state === 4 && item.TypeState === 6) || (state === 4 && item.TypeState === 7)) {
this.$confirm('尊敬的用户,行程特色“1”切换为行程特色“2”将会清空行程特色“1”里面的所有内容,您确定切换吗?', {
let state = this.FeatureData.FeatureType
if ((state === 4 && item.TypeState === 5) || (state === 4 && item.TypeState === 6) || (state === 4 && item.TypeState ===
7)) {
this.$confirm('尊敬的用户,行程特色“1”切换为行程特色“2”将会清空行程特色“1”里面的所有内容,您确定切换吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
......@@ -525,7 +529,7 @@
this.FeatureData.FeatureType = state;
});
// this.$message.warning('尊敬的用户,行程特色"1"暂时无法直接切换为行程特色"2"!')
}else{
} else {
this.TypeArray.forEach(x => {
if (x.TypeState == item.TypeState) {
x.isShow = true;
......@@ -560,7 +564,7 @@
var str = x.res.requestUrls[0];
that.FeatureData.fileList[
this.updateChoseIndex
].Url = this.$commonUtils.GetALiFileUrl(str);
].Url = this.$commonUtils.GetALiFileUrl(str);
that.FeatureData.fileList[this.updateChoseIndex].Name = fileName;
});
},
......@@ -592,10 +596,10 @@
}
},
onEditorChange({
editor,
html,
text
}) {
editor,
html,
text
}) {
//富文本编辑器 文本改变时 设置字段值
this.FeatureData.FeatureContent = html;
},
......@@ -611,7 +615,7 @@
}
},
mounted() {
this.MsgBus.$on('FeatureDataFlag', ()=> {
this.MsgBus.$on('FeatureDataFlag', () => {
this.FeatureDataFlag = true
});
},
......@@ -643,31 +647,38 @@
</script>
<style>
.templateColorArray_yellow.is-active span.el-radio-button__inner{
background-color: #f6dc61;
border-color: #f6dc61;
color: #d19913;
box-shadow: -1px 0 0 0 #f6dc61;
}
.templateColorArray_pink.is-active span.el-radio-button__inner{
background-color: pink;
border-color: pink;
color: #9c525f;
box-shadow: -1px 0 0 0 pink;
}
.templateColorArray_blue.is-active span.el-radio-button__inner{
background-color: skyblue;
border-color: skyblue;
color: #346f88;
box-shadow: -1px 0 0 0 skyblue;
}
.templateColorArray_yellow.is-active span.el-radio-button__inner {
background-color: #f6dc61;
border-color: #f6dc61;
color: #d19913;
box-shadow: -1px 0 0 0 #f6dc61;
}
.templateColorArray_pink.is-active span.el-radio-button__inner {
background-color: pink;
border-color: pink;
color: #9c525f;
box-shadow: -1px 0 0 0 pink;
}
.templateColorArray_blue.is-active span.el-radio-button__inner {
background-color: skyblue;
border-color: skyblue;
color: #346f88;
box-shadow: -1px 0 0 0 skyblue;
}
@font-face {
font-family: "FZDBSJW";
src: url("../../../assets/webfont/FZDBSJW.woff") format("woff"),
url("../../../assets/webfont/FZDBSJW.ttf") format("truetype"),
url("../../../assets/webfont/FZDBSJW.svg") format("svg");
url("../../../assets/webfont/FZDBSJW.ttf") format("truetype"),
url("../../../assets/webfont/FZDBSJW.svg") format("svg");
}
.TravelFeature .display_none{display: none !important;}
.TravelFeature .display_none {
display: none !important;
}
.travelSpecial {
box-sizing: border-box;
-webkit-box-sizing: border-box;
......@@ -683,7 +694,7 @@
background-size: 100% 100%;
}
.special_header > img {
.special_header>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -692,7 +703,7 @@
height: 100%;
}
.special_header > div {
.special_header>div {
position: relative;
z-index: 2;
padding: 25px 0 0 0;
......@@ -700,7 +711,7 @@
height: 100%;
}
.special_header > div > div:nth-child(1) {
.special_header>div>div:nth-child(1) {
margin: 0 0 0 270px;
max-width: 400px;
text-overflow: ellipsis;
......@@ -713,7 +724,7 @@
color: #f5e7cd;
}
.special_header > div > div:nth-child(2) {
.special_header>div>div:nth-child(2) {
display: inline-block;
margin: 12px 0 0 270px;
padding: 5px 10px;
......@@ -724,11 +735,11 @@
white-space: nowrap;
}
.special_header > div > div:nth-child(2) > span {
.special_header>div>div:nth-child(2)>span {
vertical-align: middle;
}
.special_header > div > div:nth-child(2) > div {
.special_header>div>div:nth-child(2)>div {
display: inline-block;
max-width: 355px;
text-overflow: ellipsis;
......@@ -737,7 +748,7 @@
vertical-align: middle;
}
.special_header > div > img {
.special_header>div>img {
position: absolute;
top: 36px;
right: 5px;
......@@ -760,7 +771,7 @@
height: 60px;
}
.special_title > div:nth-child(1) {
.special_title>div:nth-child(1) {
width: 100%;
height: 45px;
background-color: #a5851e;
......@@ -770,7 +781,7 @@
color: #ffffff;
}
.special_title > div:nth-child(2) {
.special_title>div:nth-child(2) {
margin: -5px 0 0 0;
width: 100%;
height: 15px;
......@@ -788,14 +799,14 @@
height: 80px;
}
.special_footer > div:nth-child(1) {
.special_footer>div:nth-child(1) {
position: relative;
z-index: 1;
width: 100%;
height: 40px;
}
.special_footer > div:nth-child(1) > img {
.special_footer>div:nth-child(1)>img {
position: absolute;
z-index: 1;
top: 0px;
......@@ -804,7 +815,7 @@
height: 100%;
}
.special_footer > div:nth-child(1) > div {
.special_footer>div:nth-child(1)>div {
position: relative;
z-index: 2;
padding: 0 60px;
......@@ -816,7 +827,7 @@
text-indent: 5px;
}
.special_footer > div:nth-child(2) {
.special_footer>div:nth-child(2) {
position: absolute;
z-index: 3;
top: 0px;
......@@ -824,7 +835,7 @@
font-size: 0px;
}
.special_footer > div:nth-child(2) > div:nth-child(1) {
.special_footer>div:nth-child(2)>div:nth-child(1) {
display: inline-block;
padding: 10px;
font-size: 16px;
......@@ -834,14 +845,14 @@
vertical-align: middle;
}
.special_footer > div:nth-child(2) > div:nth-child(2) {
.special_footer>div:nth-child(2)>div:nth-child(2) {
display: inline-block;
width: 80px;
height: 80px;
vertical-align: middle;
}
.special_footer > div:nth-child(2) > div:nth-child(2) > img {
.special_footer>div:nth-child(2)>div:nth-child(2)>img {
width: 100%;
height: 100%;
}
......@@ -854,7 +865,7 @@
width: 100%;
}
.special_content:hover > .special_del {
.special_content:hover>.special_del {
display: block;
}
......@@ -869,7 +880,7 @@
background-color: rgba(0, 0, 0, 0.4);
}
.special_del > span {
.special_del>span {
display: inline-block;
position: absolute;
left: 50%;
......@@ -892,7 +903,7 @@
-o-transform: translate(-50%, -50%);
}
.special_del > span:hover {
.special_del>span:hover {
color: #e95252;
background-color: #ffffff;
cursor: pointer;
......@@ -904,7 +915,7 @@
color: #ffffff;
}
.travel_title_left_red > div:nth-child(1) {
.travel_title_left_red>div:nth-child(1) {
display: inline-block;
padding: 0 15px;
max-width: 255px;
......@@ -917,7 +928,7 @@
overflow: hidden;
}
.travel_title_left_red > div:nth-child(2) {
.travel_title_left_red>div:nth-child(2) {
position: relative;
display: inline-block;
background-size: 100% 100%;
......@@ -935,7 +946,7 @@
color: #ffffff;
}
.travel_title_right_red > div:nth-child(1) {
.travel_title_right_red>div:nth-child(1) {
position: relative;
display: inline-block;
background-size: 100% 100%;
......@@ -947,7 +958,7 @@
vertical-align: top;
}
.travel_title_right_red > div:nth-child(2) {
.travel_title_right_red>div:nth-child(2) {
display: inline-block;
padding: 0 15px;
max-width: 255px;
......@@ -966,7 +977,7 @@
color: #ffffff;
}
.travel_title_left_yellow > div:nth-child(1) {
.travel_title_left_yellow>div:nth-child(1) {
display: inline-block;
padding: 0 10px;
max-width: 130px;
......@@ -979,7 +990,7 @@
overflow: hidden;
}
.travel_title_left_yellow > div:nth-child(2) {
.travel_title_left_yellow>div:nth-child(2) {
position: relative;
display: inline-block;
background-size: 100% 100%;
......@@ -997,7 +1008,7 @@
color: #ffffff;
}
.travel_title_right_yellow > div:nth-child(1) {
.travel_title_right_yellow>div:nth-child(1) {
position: relative;
display: inline-block;
background-size: 100% 100%;
......@@ -1009,7 +1020,7 @@
vertical-align: top;
}
.travel_title_right_yellow > div:nth-child(2) {
.travel_title_right_yellow>div:nth-child(2) {
display: inline-block;
padding: 0 10px;
max-width: 130px;
......@@ -1030,12 +1041,12 @@
height: 88px;
}
.travelTab_right > img {
.travelTab_right>img {
width: 100%;
height: 100%;
}
.travelTab_right > span {
.travelTab_right>span {
position: absolute;
top: 12px;
right: 4px;
......@@ -1060,12 +1071,12 @@
height: 88px;
}
.travelTab_left > img {
.travelTab_left>img {
width: 100%;
height: 100%;
}
.travelTab_left > span {
.travelTab_left>span {
position: absolute;
top: 12px;
left: 4px;
......@@ -1097,7 +1108,7 @@
overflow: hidden;
}
.travelHotel1_top > img {
.travelHotel1_top>img {
width: 100%;
}
......@@ -1113,7 +1124,7 @@
white-space: nowrap;
}
.travelHotel1_bottom > div:nth-child(1) {
.travelHotel1_bottom>div:nth-child(1) {
display: table-cell;
}
......@@ -1138,7 +1149,7 @@
height: 126px;
}
.travelHotel1_label > img {
.travelHotel1_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1147,7 +1158,7 @@
height: 100%;
}
.travelHotel1_label > div {
.travelHotel1_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1216,7 +1227,7 @@
height: 126px;
}
.travelHotel2_label > img {
.travelHotel2_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1225,7 +1236,7 @@
height: 100%;
}
.travelHotel2_label > div {
.travelHotel2_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1275,7 +1286,7 @@
text-align: center;
}
.travelHotel2_right > img {
.travelHotel2_right>img {
width: 100%;
}
......@@ -1294,7 +1305,7 @@
vertical-align: top;
}
.travelHotel3_left > img {
.travelHotel3_left>img {
width: 100%;
}
......@@ -1329,7 +1340,7 @@
height: 126px;
}
.travelHotel3_label > img {
.travelHotel3_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1338,7 +1349,7 @@
height: 100%;
}
.travelHotel3_label > div {
.travelHotel3_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1381,7 +1392,7 @@
vertical-align: top;
}
.travelViewSpot1_left > img {
.travelViewSpot1_left>img {
width: 100%;
}
......@@ -1415,7 +1426,7 @@
height: 126px;
}
.travelViewSpot1_label > img {
.travelViewSpot1_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1424,7 +1435,7 @@
height: 100%;
}
.travelViewSpot1_label > div {
.travelViewSpot1_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1487,7 +1498,7 @@
height: 126px;
}
.travelViewSpot2_label > img {
.travelViewSpot2_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1496,7 +1507,7 @@
height: 100%;
}
.travelViewSpot2_label > div {
.travelViewSpot2_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1535,7 +1546,7 @@
vertical-align: top;
}
.travelViewSpot2_right > img {
.travelViewSpot2_right>img {
width: 100%;
}
......@@ -1553,7 +1564,7 @@
border: 1px solid #b7aa7f;
}
.travelRestaurant1_top > img {
.travelRestaurant1_top>img {
width: 100%;
}
......@@ -1588,7 +1599,7 @@
height: 126px;
}
.travelRestaurant1_label > img {
.travelRestaurant1_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1597,7 +1608,7 @@
height: 100%;
}
.travelRestaurant1_label > div {
.travelRestaurant1_label>div {
position: relative;
z-index: 2;
padding: 25px 40px 0 30px;
......@@ -1639,7 +1650,7 @@
vertical-align: top;
}
.travelRestaurant2_left > img {
.travelRestaurant2_left>img {
width: 100%;
}
......@@ -1673,7 +1684,7 @@
height: 126px;
}
.travelRestaurant2_label > img {
.travelRestaurant2_label>img {
position: absolute;
z-index: 1;
left: 0px;
......@@ -1682,7 +1693,7 @@
height: 100%;
}
.travelRestaurant2_label > div {
.travelRestaurant2_label>div {
position: relative;
z-index: 2;
padding: 25px 30px 0 40px;
......
......@@ -30,31 +30,27 @@
<div class="TravelLine"></div>
</div>
<div class="newTravelRight" v-loading="loading">
<TravelConfig @headCallBack="getConfig" @setTravelUploadData="setTravelUploadData" :PostConfig="PostConfig" :TCNUM="TCNUM"
id="firstAnchor"
:LineList="LineList"></TravelConfig>
<TravelConfig @headCallBack="getConfig" @setTravelUploadData="setTravelUploadData" :PostConfig="PostConfig"
:TCNUM="TCNUM" id="firstAnchor" :LineList="LineList"></TravelConfig>
<TravelDaysTripDirect id="secondAnchor" @headCallBack="getDaysTrip" :NoticeParameters="NoticeParameters"
:subConfig="journeyList" :isOpenGroup="false" :IsDirect="PostConfig.IsDirect"
v-bind:AllCityList="AllCityList"
v-bind:StartCity="StartCity" :UseTypeArray="UseTypeArray" :AirPickUp="AirPickUp"
:AirSend="AirSend" @change="handlerChangeData"></TravelDaysTripDirect>
<TravelFeature ref="TravelFeature" id="thirdAnchor" @featureCallBack="getFeature" :FeatureData="FeatureData"
:isNewConfig="isNewConfig" @unlockFormCommit="unlockFormCommit"></TravelFeature>
:subConfig="journeyList" :isOpenGroup="false" :IsDirect="PostConfig.IsDirect" v-bind:AllCityList="AllCityList"
v-bind:StartCity="StartCity" :UseTypeArray="UseTypeArray" :AirPickUp="AirPickUp" :AirSend="AirSend" @change="handlerChangeData"></TravelDaysTripDirect>
<TravelFeature ref="TravelFeature" id="thirdAnchor" @featureCallBack="getFeature" :FeatureData="FeatureData"
:isNewConfig="isNewConfig" @unlockFormCommit="unlockFormCommit"></TravelFeature>
<TravelNotice ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice" :subArray="NoticeParameters"
:NoticeData="NoticeData" v-bind:PostConfig="PostConfig" v-bind:AllCityList="AllCityList"
v-bind:CountryID="PostConfig.CountryID"></TravelNotice>
<TravelPrice ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :priceList="PriceList"
v-if="!flagWangYue"
:PostConfig="PostConfig" :modifyTcid="modifyTcid"></TravelPrice>
:NoticeData="NoticeData" v-bind:PostConfig="PostConfig" v-bind:AllCityList="AllCityList" v-bind:CountryID="PostConfig.CountryID"></TravelNotice>
<TravelPrice ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :priceList="PriceList" v-if="!flagWangYue"
:PostConfig="PostConfig" :modifyTcid="modifyTcid"></TravelPrice>
<TravelPrice2 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip"
:priceList="PriceList" v-else :PostConfig="PostConfig" :modifyTcid="modifyTcid"></TravelPrice2>
:priceList="PriceList" v-else :PostConfig="PostConfig" :modifyTcid="modifyTcid"></TravelPrice2>
<div class="btnFixedDiv">
<div class="toTop" @click="backTop">
<i class="iconfont icon-huidaodingbu"></i>
</div>
<div v-if="modifyType!=2" class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="submitForm(1)">保存</div>
<div v-if="modifyType!=2" class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="submitForm(2)">提交</div>
<div v-if="modifyType==2" class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="submitForm(3)" title="另存为新模板">保存 </div>
<div v-if="modifyType==2" class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="submitForm(3)" title="另存为新模板">保存
</div>
<div v-if="ConfigId>0" class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="goB2B()">预览</div>
</div>
</div>
......@@ -79,8 +75,8 @@
data() {
return {
ConfigId: 0, //地址栏查询参数
NewConfigId:"",//configID加密后的字符串【预览使用】
TCNUM:'', //团控列表传过来的tcnum
NewConfigId: "", //configID加密后的字符串【预览使用】
TCNUM: '', //团控列表传过来的tcnum
NoticeParameters: {
ConfigId: 0, //配置编号
CountryID: "", //国家
......@@ -121,7 +117,7 @@
SelfpayingList: [], //自费信息
Feature: "", //行程特色
fileList: [],
VideoStr:"",//视频地址
VideoStr: "", //视频地址
},
//行程
FeatureData: {
......@@ -192,8 +188,7 @@
flagWangYue: null,
loading: false,
isNewConfig: true,
}
;
};
},
components: {
TravelConfig: TravelConfig,
......@@ -269,8 +264,7 @@
initFileList() {
for (var i = 0; i < 5; i++) {
var fileObj = this.$commonUtils.FileObject();
if(this.PostConfig.fileList.length<=5)
{
if (this.PostConfig.fileList.length <= 5) {
this.PostConfig.fileList.push(fileObj);
}
......@@ -295,35 +289,37 @@
},
/*保存数据*/
SaveData(SaveType) {
this.MsgBus.$emit('saveTravel',true);
this.MsgBus.$emit('saveTravel', true);
this.FeatureData.IsSave = true;
this.submitText = "保存中";
//团队配置
var basicData ={};
var basicData = {};
basicData.PriceList = this.PostPrice;
//配置编号
basicData.ID = this.ConfigId;
basicData.LineId=this.PostConfig.LineId;
basicData.LineteamId=this.PostConfig.LineteamId;
basicData.Title=this.PostConfig.Title;
basicData.OpRemark=this.PostConfig.OpRemark;
basicData.ProductRecommend=this.PostConfig.ProductRecommend;
basicData.VideoStr=this.PostConfig.VideoStr;
basicData.PDFAlias=this.PostConfig.PDFAlias;
basicData.ImgCover=this.PostConfig.ImgCover;
basicData.PriceIsDirect=this.PostConfig.PriceIsDirect;
basicData.IsDirect=this.PostConfig.IsDirect;
basicData.RemoveChild=this.PostConfig.RemoveChild;
basicData.LineId = this.PostConfig.LineId;
basicData.LineteamId = this.PostConfig.LineteamId;
basicData.Title = this.PostConfig.Title;
basicData.OpRemark = this.PostConfig.OpRemark;
basicData.ProductRecommend = this.PostConfig.ProductRecommend;
basicData.VideoStr = this.PostConfig.VideoStr;
basicData.PDFAlias = this.PostConfig.PDFAlias;
basicData.ImgCover = this.PostConfig.ImgCover;
basicData.PriceIsDirect = this.PostConfig.PriceIsDirect;
basicData.IsDirect = this.PostConfig.IsDirect;
basicData.RemoveChild = this.PostConfig.RemoveChild;
basicData.TeamType=this.PostConfig.TeamType;
basicData.TeamType = this.PostConfig.TeamType;
basicData.DayNum = (this.PostDaysTrip && this.PostDaysTrip.DayNum!="")?this.PostDaysTrip.DayNum:0;
basicData.NightNum = (this.PostDaysTrip && this.PostDaysTrip.NightNum!="")?this.PostDaysTrip.NightNum:0;
basicData.StartCityId = (this.PostDaysTrip && this.PostDaysTrip.StartCityId!="")?this.PostDaysTrip.StartCityId:0;
basicData.ReturnArriveCityId = (this.PostDaysTrip && this.PostDaysTrip.ReturnArriveCityId!="")?this.PostDaysTrip.ReturnArriveCityId:0;
basicData.DayNum = (this.PostDaysTrip && this.PostDaysTrip.DayNum != "") ? this.PostDaysTrip.DayNum : 0;
basicData.NightNum = (this.PostDaysTrip && this.PostDaysTrip.NightNum != "") ? this.PostDaysTrip.NightNum : 0;
basicData.StartCityId = (this.PostDaysTrip && this.PostDaysTrip.StartCityId != "") ? this.PostDaysTrip.StartCityId :
0;
basicData.ReturnArriveCityId = (this.PostDaysTrip && this.PostDaysTrip.ReturnArriveCityId != "") ? this.PostDaysTrip
.ReturnArriveCityId : 0;
basicData.SelfpayingList=this.PostConfig.SelfpayingList;
basicData.ShopList=this.PostConfig.ShopList;
basicData.SelfpayingList = this.PostConfig.SelfpayingList;
basicData.ShopList = this.PostConfig.ShopList;
basicData.DinnerList = this.PostDaysTrip.DinnerList;
basicData.FreedomList = this.PostDaysTrip.FreedomList;
......@@ -334,7 +330,7 @@
basicData.TitleList = this.PostDaysTrip.TitleList;
basicData.RemoveImg = this.PostDaysTrip.RemoveImg;
//行程特色数据
var TripFeature={};
var TripFeature = {};
if (this.PostFeature == "") {
TripFeature = this.FeatureData;
} else {
......@@ -375,29 +371,52 @@
} else {
basicData.TeamType = 0;
}
this.apipost(
"travel_post_SetTravelConfigInfo",
basicData,
res => {
if (res.data.resultCode == 1) {
//配置编号
TripFeature.ConfigId = res.data.data;
this.$refs.TravelFeature.getHtml(TripFeature, SaveType);
} else if (res.data.resultCode == 10009) {
this.FeatureData.IsSave = false;
//表单重复提交
this.isSubmit = true;
} else {
this.FeatureData.IsSave = false;
this.Error(res.data.message);
this.isSubmit = true;
this.submitText = "提交";
this.$refs.TravelFeature.del_show = true;
}
},
err => {
}
);
var postType = 1;
if (postType == 1) {
this.apipost(
"travel_post_SetTravelConfigInfo",
basicData,
res => {
if (res.data.resultCode == 1) {
//配置编号
TripFeature.ConfigId = res.data.data;
this.$refs.TravelFeature.getHtml(TripFeature, SaveType,postType);
} else if (res.data.resultCode == 10009) {
this.FeatureData.IsSave = false;
//表单重复提交
this.isSubmit = true;
} else {
this.FeatureData.IsSave = false;
this.Error(res.data.message);
this.isSubmit = true;
this.submitText = "提交";
this.$refs.TravelFeature.del_show = true;
}
},
err => {}
);
} else {
this.ApiPost2(
"TripSetTravelConfigInfo",
basicData,
res => {
if (res.data.resultCode == 1) {
//配置编号
TripFeature.ConfigId = res.data.data;
this.$refs.TravelFeature.getHtml(TripFeature, SaveType,postType);
} else if (res.data.resultCode == 10009) {
this.FeatureData.IsSave = false;
//表单重复提交
this.isSubmit = true;
} else {
this.FeatureData.IsSave = false;
this.Error(res.data.message);
this.isSubmit = true;
this.submitText = "提交";
this.$refs.TravelFeature.del_show = true;
}
});
}
},
//初始化团的幻灯片
initFileList() {
......@@ -407,13 +426,12 @@
}
},
//初始化行程特色幻灯片
initFeatureFile()
{
for (var i = 0; i < 5; i++) {
initFeatureFile() {
for (var i = 0; i < 5; i++) {
var fileObj = this.$commonUtils.FileObject();
this.FeatureData.fileList.push(fileObj);
}
} ,
},
custormAnchor(anchorName, index) {
// 找到锚点
let anchorElement = document.getElementById(anchorName);
......@@ -607,10 +625,10 @@
this.FeatureData.FeatureHtmlJson =
tempData.Feature.FeatureHtmlJson &&
tempData.Feature.FeatureHtmlJson != "" && tempData.Feature.FeatureType > 3 ?
JSON.parse(tempData.Feature.FeatureHtmlJson) :
null;
JSON.parse(tempData.Feature.FeatureHtmlJson) :
null;
this.FeatureData.FeatureHtmlJsonDelete = tempData.Feature.FeatureHtmlJsonDelete &&
tempData.Feature.FeatureHtmlJsonDelete != "" && tempData.Feature.FeatureType > 3 ?
tempData.Feature.FeatureHtmlJsonDelete != "" && tempData.Feature.FeatureType > 3 ?
JSON.parse(tempData.Feature.FeatureHtmlJsonDelete) :
null;
this.NoticeData.FeeInclude = tempData.Feature.FeeInclude;
......@@ -636,14 +654,14 @@
this.ConfigId = tempData.ID;
//HK 2019-01-08添加 NewConfigId B2B预览使用
this.NewConfigId=tempData.NewConfigId;
this.NewConfigId = tempData.NewConfigId;
this.PostConfig.ID = tempData.ID;
this.PostConfig.StartCityId = tempData.StartCityId;
this.PostConfig.LineId = tempData.LineId;
this.PostConfig.LineteamId = tempData.LineteamId;
this.PostConfig.CountryID = tempData.CountryID;
//视频地址
this.PostConfig.VideoStr=tempData.VideoStr;
this.PostConfig.VideoStr = tempData.VideoStr;
this.NoticeParameters.ConfigId = tempData.ConfigId;
this.NoticeParameters.CountryID = tempData.CountryID;
......@@ -657,9 +675,8 @@
if (tempData.ImgCoverList.length > 0) {
this.PostConfig.fileList = tempData.ImgCoverList;
}
}
else{
this.initFileList();
} else {
this.initFileList();
}
this.PostConfig.Title = tempData.Title;
this.PostConfig.ProductRecommend = tempData.ProductRecommend;
......@@ -709,8 +726,7 @@
}
this.loading = false;
},
err => {
}
err => {}
);
} else {
this.initFileList();
......@@ -751,8 +767,7 @@
}
this.loading = false;
},
err => {
}
err => {}
);
}
},
......@@ -761,7 +776,7 @@
var B2BDomain = userInfo.B2BDomain;
let configId = this.NewConfigId
window.open(
B2BDomain+ "/#/detailTwo/" +
B2BDomain + "/#/detailTwo/" +
encodeURIComponent(configId) + '/' + 0 +
"/preview",
"_blank"
......
......@@ -115,11 +115,11 @@ export default {
Vue.prototype.domainManager = function () {
let domainUrl = '';
let locationName = window.location.hostname;
domainUrl = "http://127.0.0.1"; //214主域名
// domainUrl = "http://192.168.2.16:8083";
domainUrl = "http://192.168.2.214:8082"; //214主域名
if (locationName.indexOf('oytour')!==-1) {
domainUrl = "https://reborn.oytour.com";
}else if (locationName.indexOf('viitto')!==-1) {
domainUrl = "http://webapi.viitto.com";
}
else if (locationName.indexOf('viitto')!==-1) {
domainUrl = "https://test.viitto.com";
}
var obj = {
......@@ -293,13 +293,13 @@ export default {
},
Vue.prototype.JueryPost=function (cmd, msg, successCall, faildCall) {
Vue.prototype.ApiPost2=function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
var apiurl = this.domainManager().PostUrl;
var apiNewurl = this.domainManager().DomainUrl;
var timestamp = (new Date()).valueOf();
this.apiurl = apiurl;
apiNewurl = apiNewurl+"/Api/Trip/"+cmd;
if (this.$route.path.toLowerCase() == "/signature") {
this.$router.push({
path: '/signature'
......@@ -324,29 +324,11 @@ export default {
"cmd": cmd,
"timestamp": timestamp,
"token": token,
"sign": md5Str
"sign": md5Str,
"uid":this.getLocalStorage().EmployeeId
}
$.ajax({
url: apiurl,
type: "POST",
data: msg,
datatype: "jsonP",
success: function (res) {
if (res.data.resultCode == 10000 || res.data.resultCode == 10001) {
this.$router.push({
path: '/login'
});
} else if (res.resultCode == 10005) {
this.$router.go(-1);
} else {
successCall(res);
}
},
faildCall
});
this.$http.post(apiurl, postData, {
this.$http.post(apiNewurl, postData, {
headers: {
'Content-Type': 'application/json',
'Referer-Viitto': this.$route.path
......@@ -374,8 +356,9 @@ export default {
this.apiurl = apiurl;
var token = "";
var key = "";
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : ''
let uid = userInfo.EmployeeId ? userInfo.EmployeeId : 0
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : '';
let groupId = userInfo.RB_Group_id ? userInfo.RB_Group_id : 0;
let uid = userInfo.EmployeeId ? userInfo.EmployeeId : 0;
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().SecretKey;
......@@ -387,7 +370,8 @@ export default {
"timestamp": timestamp,
"token": token,
"sign": md5Str,
"uid": uid
"uid": uid,
"groupId":groupId
}
if(localStorage.g && localStorage.g!='undefined'){
postData.groupId = parseInt(JSON.parse(localStorage.g).i)
......
......@@ -659,6 +659,14 @@ export default {
title: '酒店每日用房详情'
},
},
{
path: '/HotelsTeam',
name: 'HotelsTeam',
component: resolve => require(['@/components/Hotel/HotelsTeam'], resolve),
meta: {
title: '酒店对应团'
}
},
{
path: '/lineManagement', //线路管理
name: 'lineManagement',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment