Commit 3c4fe5a1 authored by 黄奎's avatar 黄奎

页面修改

parent 5fed5dcc
<template> <template>
<div class="trip-item-box"> <div class="trip-item-box">
<div class="edit" v-if="isShowEdit"> <div class="edit" v-if="isShowEdit">
<div class="TCtraffic flex"> <div class="TCtraffic flex">
<div class="partName"> <div class="partName">
<span class="TDTripType">餐饮</span> <span class="TDTripType">餐饮</span>
</div>
<div class="delSpan">
<el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="iconfont icon-chakan" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip v-if="!isOpenGroup" class="item" effect="dark" content="删除" placement="top-start">
<i class="iconfont icon-xingzhuang" @click="removeDinnerTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0&&!isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1&&!isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div>
<div class="TDplanList clearfix">
<div class="TDLeftPlan">
<span style="margin-left:26px;">餐厅</span>
<span>
<el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.DinnerId'" :rules="dinnerTripRules.DinnerId">
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.DinnerId"
@visible-change="getDinnerList($event)" @change="changeDinnerList()">
<el-option :label="$t('pub.unlimitedSel')" :value='Diner.DefaultSelectValue'></el-option>
<el-option v-for="item in QDinnerList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</span>
<!-- <span class="comTravelLeft">套餐</span>
<span>
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.MealId"
@visible-change="getDinnerMealList($event)" @change="changeDinnerMealList()">
<el-option :label="$t('pub.unlimitedSel')" :value='Diner.DefaultSelectValue'></el-option>
<el-option v-for="item in QDinnerMealList" :label='item.MealName' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span> -->
</div>
<div class="TDmealTime">
<label class="TDhotelDiner">用餐时段</label>
<el-checkbox-group v-model="Diner.UseDinerCked">
<el-checkbox v-for="item in Diner.UseDinnerType" style="margin-left:5px;" :disabled="isOpenGroup||!varCanChecked(item)" :label="item.Id"
:key='item.Id'>{{item.Name}}</el-checkbox>
</el-checkbox-group>
<span class="comTravelLeft">用餐时间</span>
<el-input :disabled="isOpenGroup" type="text" class="w60" v-model="subItemObj.childItem.UseTimeHour"
@keyup.native="checkInteger(subItemObj.childItem,'UseTimeHour')"></el-input>&nbsp;&nbsp;小时
<el-input :disabled="isOpenGroup" type="text" class="w60" v-model="subItemObj.childItem.UseTimeMinutes"
@keyup.native="checkInteger(subItemObj.childItem,'UseTimeMinutes')"></el-input>&nbsp;&nbsp;分钟
</div>
</div>
</div> </div>
<div class="TP_edit"> <div class="delSpan">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]" v-bind:editValue="subItemObj.childItem.Description" <el-tooltip class="item" effect="dark" content="查看" placement="top-start">
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit> <i class="iconfont icon-chakan" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip v-if="!isOpenGroup" class="item" effect="dark" content="删除" placement="top-start">
<i class="iconfont icon-xingzhuang" @click="removeDinnerTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0&&!isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start"
v-if="subIndex!=subTotalIndex-1&&!isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div> </div>
<div class="SiencDiv clearfix"> <div class="TDplanList clearfix">
<div class="ScLeftImg"> <div class="TDLeftPlan">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode"> <span style="margin-left:26px;">餐厅</span>
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" /> <span>
<img v-else :src="item.Url" /> <el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.DinnerId'"
<div class="imgzhe" @click="getPic(subItemObj.childItem.ImaArray,index)"> :rules="dinnerTripRules.DinnerId">
<div class="clearfix" style="text-align:center;"> <el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable
<div class="re-delte" @click.stop="delImg(index,subItemObj)"><i class="iconfont icon-xingzhuang"></i></div> v-model="subItemObj.childItem.DinnerId" @visible-change="getDinnerList($event)"
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,0)" v-if="index!=0"><i class="iconfont icon-zuoyi"></i></div> @change="changeDinnerList()">
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,1)" v-if="index!=subItemObj.childItem.ImaArray.length-1"><i class="iconfont icon-youyi"></i></div> <el-option :label="$t('pub.unlimitedSel')" :value='Diner.DefaultSelectValue'></el-option>
</div> <el-option v-for="item in QDinnerList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</span>
</div>
<div class="TDmealTime">
<label class="TDhotelDiner">用餐时段</label>
<el-checkbox-group v-model="Diner.UseDinerCked">
<el-checkbox v-for="item in Diner.UseDinnerType" style="margin-left:5px;"
:disabled="isOpenGroup||!varCanChecked(item)" :label="item.Id" :key='item.Id'>{{item.Name}}
</el-checkbox>
</el-checkbox-group>
<span class="comTravelLeft">用餐时间</span>
<el-input :disabled="isOpenGroup" type="text" class="w60" v-model="subItemObj.childItem.UseTimeHour"
@keyup.native="checkInteger(subItemObj.childItem,'UseTimeHour')"></el-input>&nbsp;&nbsp;小时
<el-input :disabled="isOpenGroup" type="text" class="w60" v-model="subItemObj.childItem.UseTimeMinutes"
@keyup.native="checkInteger(subItemObj.childItem,'UseTimeMinutes')"></el-input>&nbsp;&nbsp;分钟
</div>
</div>
</div>
<div class="TP_edit">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]"
v-bind:editValue="subItemObj.childItem.Description" v-bind:toolbarShow="toolbar"
v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit>
</div>
<div class="SiencDiv clearfix">
<div class="ScLeftImg">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode">
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" />
<img v-else :src="item.Url" />
<div class="imgzhe" @click="getPic(subItemObj.childItem.ImaArray,index)">
<div class="clearfix" style="text-align:center;">
<div class="re-delte" @click.stop="delImg(index,subItemObj)"><i class="iconfont icon-xingzhuang"></i>
</div>
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,0)"
v-if="index!=0"><i class="iconfont icon-zuoyi"></i></div>
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,1)"
v-if="index!=subItemObj.childItem.ImaArray.length-1"><i class="iconfont icon-youyi"></i></div>
</div> </div>
</div> </div>
</div> </div>
<div class="rightAddImg">
<el-upload :file-list="subItemObj.childItem.ImaArray" :http-request="uploadScenImg" :data="subItemObj.childItem"
:multiple="true" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<i class="iconfont icon-img_haha"></i>
</el-upload>
</div>
</div> </div>
<div class="rightAddImg">
<el-upload :file-list="subItemObj.childItem.ImaArray" :http-request="uploadScenImg"
:data="subItemObj.childItem" :multiple="true" accept="image/jpeg,image/gif,image/png,image/bmp"
:show-file-list="false" action="">
<i class="iconfont icon-img_haha"></i>
</el-upload>
</div>
</div>
</div> </div>
<div class="read" v-if="!isShowEdit"> <div class="read" v-if="!isShowEdit">
<div class="TCtraffic flex"> <div class="TCtraffic flex">
<div class="partName"> <div class="partName">
<span class="TDTripType">餐饮</span> <span class="TDTripType">餐饮</span>
</div>
<div class="delSpan">
<el-tooltip class="item" effect="dark" content="编辑" placement="top-start">
<i class="iconfont icon-bianji" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip v-if="!isOpenGroup" class="item" effect="dark" content="删除" placement="top-start">
<i class="iconfont icon-xingzhuang" @click="removeDinnerTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0&&!isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1&&!isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div>
<div class="title-box">
<div class="TDLeftPlan">
<span>
{{subItemObj.childItem.DinnerName}}
</span>
<span>套餐</span>
<span>
{{subItemObj.childItem.MealName}}
</span>
<span>用餐时段</span>
<span v-if="Diner.UseDinerCked==1">早餐</span>
<span v-if="Diner.UseDinerCked==2">中餐</span>
<span v-if="Diner.UseDinerCked==3">晚餐</span>
<span>用餐时间</span>
<span>{{subItemObj.childItem.UseTimeHour}}</span>
<span>小时</span>
<span>{{subItemObj.childItem.UseTimeMinutes}}</span>
<span>分钟</span>
</div>
</div>
</div> </div>
<div class="TP_editShow"> <div class="delSpan">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]" v-bind:editValue="subItemObj.childItem.Description" <el-tooltip class="item" effect="dark" content="编辑" placement="top-start">
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit> <i class="iconfont icon-bianji" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip v-if="!isOpenGroup" class="item" effect="dark" content="删除" placement="top-start">
<i class="iconfont icon-xingzhuang" @click="removeDinnerTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0&&!isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start"
v-if="subIndex!=subTotalIndex-1&&!isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div> </div>
<div class="SiencDiv clearfix"> <div class="title-box">
<div class="ScLeftImg"> <div class="TDLeftPlan">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode"> <span>
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" /> {{subItemObj.childItem.DinnerName}}
<img v-else :src="item.Url" @click="getPic(subItemObj.childItem.ImaArray,index)"/> </span>
</div> <span>套餐</span>
<span>
{{subItemObj.childItem.MealName}}
</span>
<span>用餐时段</span>
<span v-if="Diner.UseDinerCked==1">早餐</span>
<span v-if="Diner.UseDinerCked==2">中餐</span>
<span v-if="Diner.UseDinerCked==3">晚餐</span>
<span>用餐时间</span>
<span>{{subItemObj.childItem.UseTimeHour}}</span>
<span>小时</span>
<span>{{subItemObj.childItem.UseTimeMinutes}}</span>
<span>分钟</span>
</div> </div>
</div> </div>
</div>
<div class="TP_editShow">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]"
v-bind:editValue="subItemObj.childItem.Description" v-bind:toolbarShow="toolbar"
v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit>
</div>
<div class="SiencDiv clearfix">
<div class="ScLeftImg">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode">
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" />
<img v-else :src="item.Url" @click="getPic(subItemObj.childItem.ImaArray,index)" />
</div>
</div>
</div>
</div> </div>
<div v-if="dspNone" class="viewBigPicLayer myPiclayer" @click="colseLayer"> <div v-if="dspNone" class="viewBigPicLayer myPiclayer" @click="colseLayer">
<i @click="colseLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer" ></i> <i @click="colseLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer"></i>
<el-carousel height="600px" :initial-index='initialIndex' :interval="5000" trigger="click"> <el-carousel height="600px" :initial-index='initialIndex' :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index"> <el-carousel-item v-for="(item,index) in picObj" :key="index">
<img style="width:100%;" :src="item.Url" /> <img style="width:100%;" :src="item.Url" />
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import MyEdit from "../../EditTemplate.vue"; import MyEdit from "../../EditTemplate.vue";
export default { export default {
props: [ props: [
"subItemObj", "subItemObj",
"DefaultList", "DefaultList",
"subIndex", "subIndex",
"HotelList", "HotelList",
"index", "index",
"isOpenGroup", "isOpenGroup",
"subTotalIndex" "subTotalIndex"
], ],
data() { data() {
var TimeTypeValidate = (rule, value, callback) => { var TimeTypeValidate = (rule, value, callback) => {
if (value === 0) { if (value === 0) {
callback(new Error("请选择时间类型")); callback(new Error("请选择时间类型"));
} else { } else {
callback(); callback();
} }
}; };
var DinnerIdValidate = (rule, value, callback) => { var DinnerIdValidate = (rule, value, callback) => {
if (value === 0) { if (value === 0) {
callback(new Error("请选择餐厅")); callback(new Error("请选择餐厅"));
} else { } else {
callback(); callback();
} }
}; };
return { return {
//餐厅列表 //其他餐食
QDinnerList: [], otherDinner: [
//餐厅套餐列表
QDinnerMealList: [],
toolbar: {
clean: true, //加粗
font: true, //字体
narrative: true //叙述,
},
//是否显示编辑框
isShowEdit: true,
dspNone: false,
initialIndex: 0,
//text框placeholder
placeholder: "请输入餐饮信息",
//用餐时段
Diner: {
DefaultSelectValue: 0,
UseDinerCked: [],
UseDinnerType: [
{ {
Id: "1", Id: 1,
Name: "早" Name: "酒店内享用早餐",
City: 0,
About: "",
PicPath: ""
}, },
{ {
Id: "2", Id: 2,
Name: "中" Name: "酒店外享用早餐",
City: 0,
About: "",
PicPath: ""
}, },
{ {
Id: "3", Id: 3,
Name: "晚" Name: "方便游玩敬请自理",
} City: 0,
] About: "",
}, PicPath: ""
//餐厅验证 },
dinnerTripRules: {
//时间类型验证
TimeType: [
{ {
validator: TimeTypeValidate, Id: 4,
trigger: "change" Name: "机上简餐或自理",
} City: 0,
], About: "",
DinnerId: [ PicPath: ""
},
{ {
validator: DinnerIdValidate, ID: -1,
trigger: "change" Name: "机上简餐或自理",
} City: 0,
] About: "",
}, PicPath: ""
TheDayHotelUserDinner: [] //当天酒店列表
};
},
components: {
"my-edit": MyEdit
},
methods: {
//获取餐厅列表
getDinnerList(event) {
if (event) {
this.QDinnerList = [];
var msg = {
IsGetPic: 1,
IsGetFeature: 1,
QCity: this.subItemObj.childItem.QCity
};
this.apipost(
"dining_post_GetLineDinnerList",
msg,
res => {
if (res.data.resultCode == 1) {
this.QDinnerList = res.data.data;
}
}, },
err => {}
);
}
},
//餐厅选择改变
changeDinnerList() {
if (this.subItemObj.childItem.DinnerId != 0) {
//获取当前选中的对象
let obj = {};
obj = this.QDinnerList.find(item => {
return item.ID === this.subItemObj.childItem.DinnerId; //筛选出匹配数据
});
if (obj != undefined) {
this.subItemObj.childItem.MealId = 0;
this.subItemObj.childItem.MealName = "";
this.QDinnerMealList = [];
this.subItemObj.childItem.DinnerName = obj.Name;
this.subItemObj.childItem.Description = obj.Feature;
this.subItemObj.childItem.ImaArray = [];
var dinnerImgList = obj.PicPath.split(",");
for (var i = 0; i < dinnerImgList.length; i++) {
var fileObj = this.$commonUtils.FileObject();
fileObj.Url = this.domainManager().ViittoFileUrl + dinnerImgList[i];
fileObj.Name = "";
this.subItemObj.childItem.ImaArray.push(fileObj);
}
}
}
},
//获取餐厅套餐列表
getDinnerMealList(event) {
if (event) {
this.QDinnerMealList = [];
this.apipost(
"meal_get_GetList",
{ {
DiningId: this.subItemObj.childItem.DinnerId ID: -2,
Name: "酒店享用",
City: 0,
About: "",
PicPath: ""
}, },
res => { {
if (res.data.resultCode == 1) { ID: -3,
this.QDinnerMealList = res.data.data; Name: "温泉御膳料理",
} City: 0,
About: "",
PicPath: ""
}, },
err => {} {
); ID: -4,
} Name: "酒店自助百汇",
}, City: 0,
//套餐选择改变 About: "",
changeDinnerMealList() { PicPath: ""
var that = this; },
if (that.subItemObj.childItem.MealId != 0) { {
//获取当前选中的对象 ID: -5,
let obj = {}; Name: "方便游玩敬请自理",
obj = that.QDinnerMealList.find(item => { City: 0,
return item.Id === that.subItemObj.childItem.MealId; //筛选出匹配数据 About: "",
}); PicPath: ""
if (obj != undefined) { }
that.subItemObj.childItem.MealName = obj.MealName; ],
} //餐厅列表
} QDinnerList: [],
}, //餐厅套餐列表
//上传景点图片 QDinnerMealList: [],
uploadScenImg(item) {
let newArr = []; toolbar: {
newArr.push(item.file); clean: true, //加粗
let path = "/Upload/DMC/"; font: true, //字体
this.UploadSelfFileT(path, newArr, x => { narrative: true //叙述,
var fileObj = this.$commonUtils.FileObject(); },
fileObj.Url = this.domainManager().ViittoFileUrl + x.data.FilePath, //是否显示编辑框
fileObj.fileName = x.data.FileName; isShowEdit: true,
item.data.ImaArray.push(fileObj); dspNone: false,
}); initialIndex: 0,
}, //text框placeholder
//删除晚餐 placeholder: "请输入餐饮信息",
removeDinnerTrip(dayNum, subIndex) { //用餐时段
this.$parent.$parent.commonRemove(dayNum, subIndex); Diner: {
DefaultSelectValue: 0,
UseDinerCked: [],
UseDinnerType: [{
Id: "1",
Name: "早"
},
{
Id: "2",
Name: "中"
},
{
Id: "3",
Name: "晚"
}
]
},
//餐厅验证
dinnerTripRules: {
//时间类型验证
TimeType: [{
validator: TimeTypeValidate,
trigger: "change"
}],
DinnerId: [{
validator: DinnerIdValidate,
trigger: "change"
}]
},
TheDayHotelUserDinner: [] //当天酒店列表
};
}, },
//删除图片 components: {
delImg(index, subItemObj) { "my-edit": MyEdit
this.$parent.$parent.commonRemoveImg(index, subItemObj);
}, },
varCanChecked(dinnerType) { methods: {
let canChecked = true; //获取餐厅列表
this.TheDayHotelUserDinner.forEach(x => { getDinnerList(event) {
if (x == dinnerType.Id) { if (event) {
canChecked = false; this.QDinnerList = [];
var msg = {
IsGetPic: 1,
IsGetFeature: 1,
QCity: this.subItemObj.childItem.QCity
};
this.apipost(
"dining_post_GetLineDinnerList",
msg,
res => {
if (res.data.resultCode == 1) {
this.QDinnerList = res.data.data;
this.QDinnerList.push(...this.otherDinner);
}
},
err => {}
);
} }
}); },
return canChecked; //餐厅选择改变
}, changeDinnerList() {
removeDinerCked(id) { if (this.subItemObj.childItem.DinnerId != 0) {
let newUseDinerCked = []; //获取当前选中的对象
this.Diner.UseDinerCked.forEach(x => { let obj = {};
let isRemove = false; obj = this.QDinnerList.find(item => {
this.TheDayHotelUserDinner.forEach(y => { return item.ID === this.subItemObj.childItem.DinnerId; //筛选出匹配数据
if (x === y) { });
isRemove = true; if (obj != undefined) {
this.subItemObj.childItem.MealId = 0;
this.subItemObj.childItem.MealName = "";
this.QDinnerMealList = [];
this.subItemObj.childItem.DinnerName = obj.Name;
this.subItemObj.childItem.Description = obj.Feature;
this.subItemObj.childItem.ImaArray = [];
var dinnerImgList = obj.PicPath.split(",");
for (var i = 0; i < dinnerImgList.length; i++) {
var fileObj = this.$commonUtils.FileObject();
fileObj.Url = this.domainManager().ViittoFileUrl + dinnerImgList[i];
fileObj.Name = "";
this.subItemObj.childItem.ImaArray.push(fileObj);
}
} }
});
if (!isRemove) {
newUseDinerCked.push(x);
} }
}); },
this.Diner.UseDinerCked = newUseDinerCked; //获取餐厅套餐列表
}, getDinnerMealList(event) {
initTheDayHotelUserDinner() { if (event) {
let dayNum = this.subItemObj.childItem.DayNum; this.QDinnerMealList = [];
this.TheDayHotelUserDinner = []; this.apipost(
this.HotelList.forEach(x => { "meal_get_GetList", {
if (x.DayNum == dayNum) { DiningId: this.subItemObj.childItem.DinnerId
if (x.UseDinnerType.length > 0) { },
let tempDinnerArr = x.UseDinnerType.split(","); res => {
let reg = /^[0-9]+.?[0-9]*/; if (res.data.resultCode == 1) {
tempDinnerArr.forEach(y => { this.QDinnerMealList = res.data.data;
if (reg.test(y)) {
this.TheDayHotelUserDinner.push(y);
} }
}); },
err => {}
);
}
},
//套餐选择改变
changeDinnerMealList() {
var that = this;
if (that.subItemObj.childItem.MealId != 0) {
//获取当前选中的对象
let obj = {};
obj = that.QDinnerMealList.find(item => {
return item.Id === that.subItemObj.childItem.MealId; //筛选出匹配数据
});
if (obj != undefined) {
that.subItemObj.childItem.MealName = obj.MealName;
} }
} }
}); },
this.TheDayHotelUserDinner = Array.from( //上传景点图片
new Set(this.TheDayHotelUserDinner) uploadScenImg(item) {
); let newArr = [];
this.removeDinerCked(); newArr.push(item.file);
}, let path = "/Upload/DMC/";
//上移下移 this.UploadSelfFileT(path, newArr, x => {
MoveItem(dayNum, subIndex, IsUp) { var fileObj = this.$commonUtils.FileObject();
this.$parent.$parent.MoveItem(dayNum, subIndex, IsUp); fileObj.Url = this.domainManager().ViittoFileUrl + x.data.FilePath,
}, fileObj.fileName = x.data.FileName;
//左右移动 item.data.ImaArray.push(fileObj);
toExchangeImg(dayNum, subIndex, imgIndex, IsMove) {
this.$parent.$parent.ExchangeImg(dayNum, subIndex, imgIndex, IsMove);
},
colseLayer() {
this.dspNone = false;
},
getPic(obj, index) {
this.picObj = obj;
this.dspNone = true;
this.initialIndex = index;
}
},
created() {
if (this.subItemObj.childItem.ID > 0) {
if (this.subItemObj.childItem.DinnerId > 0) {
this.QDinnerList.push({
ID: parseInt(this.subItemObj.childItem.DinnerId),
Name: this.subItemObj.childItem.DinnerName
});
}
if (this.subItemObj.childItem.MealId > 0) {
this.QDinnerMealList.push({
Id: parseInt(this.subItemObj.childItem.MealId),
MealName: this.subItemObj.childItem.MealName
}); });
} },
} //删除晚餐
}, removeDinnerTrip(dayNum, subIndex) {
mounted() { this.$parent.$parent.commonRemove(dayNum, subIndex);
this.initTheDayHotelUserDinner(); },
if (this.subItemObj.childItem.UseDinnerType != "") { //删除图片
var array = this.subItemObj.childItem.UseDinnerType.split(","); delImg(index, subItemObj) {
if (array.length > 0) { this.$parent.$parent.commonRemoveImg(index, subItemObj);
array.forEach(item => { },
if (item != "") { varCanChecked(dinnerType) {
this.Diner.UseDinerCked.push(item); let canChecked = true;
this.TheDayHotelUserDinner.forEach(x => {
if (x == dinnerType.Id) {
canChecked = false;
} }
}); });
} return canChecked;
} },
}, removeDinerCked(id) {
watch: { let newUseDinerCked = [];
Diner: {
//深度监听,可监听到对象、数组的变化
handler: function(val, oldVal) {
var ckedDiner = "";
this.Diner.UseDinerCked.forEach(x => { this.Diner.UseDinerCked.forEach(x => {
ckedDiner = ckedDiner + x + ","; let isRemove = false;
this.TheDayHotelUserDinner.forEach(y => {
if (x === y) {
isRemove = true;
}
});
if (!isRemove) {
newUseDinerCked.push(x);
}
}); });
if (ckedDiner != "") { this.Diner.UseDinerCked = newUseDinerCked;
ckedDiner = ckedDiner.substring(0, ckedDiner.lastIndexOf(","));
}
this.subItemObj.childItem.UseDinnerType = ckedDiner;
}, },
deep: true initTheDayHotelUserDinner() {
}, let dayNum = this.subItemObj.childItem.DayNum;
subItemObj: { this.TheDayHotelUserDinner = [];
//深度监听,可监听到对象、数组的变化 this.HotelList.forEach(x => {
handler: function(val, oldVal) { if (x.DayNum == dayNum) {
this.subItemObj.childItem.DinnerImg = JSON.stringify( if (x.UseDinnerType.length > 0) {
this.subItemObj.childItem.ImaArray let tempDinnerArr = x.UseDinnerType.split(",");
let reg = /^[0-9]+.?[0-9]*/;
tempDinnerArr.forEach(y => {
if (reg.test(y)) {
this.TheDayHotelUserDinner.push(y);
}
});
}
}
});
this.TheDayHotelUserDinner = Array.from(
new Set(this.TheDayHotelUserDinner)
); );
this.removeDinerCked();
}, },
deep: true //上移下移
}, MoveItem(dayNum, subIndex, IsUp) {
HotelList: { this.$parent.$parent.MoveItem(dayNum, subIndex, IsUp);
//深度监听,可监听到对象、数组的变化
handler: function(val, oldVal) {
this.initTheDayHotelUserDinner();
}, },
deep: true //左右移动
toExchangeImg(dayNum, subIndex, imgIndex, IsMove) {
this.$parent.$parent.ExchangeImg(dayNum, subIndex, imgIndex, IsMove);
},
colseLayer() {
this.dspNone = false;
},
getPic(obj, index) {
this.picObj = obj;
this.dspNone = true;
this.initialIndex = index;
}
}, },
"subItemObj.childItem.QCity": { created() {
handler: function(val, oldVal) { if (this.subItemObj.childItem.ID > 0) {
this.getDinnerList(); if (this.subItemObj.childItem.DinnerId > 0) {
this.QDinnerList.push({
ID: parseInt(this.subItemObj.childItem.DinnerId),
Name: this.subItemObj.childItem.DinnerName
});
}
if (this.subItemObj.childItem.MealId > 0) {
this.QDinnerMealList.push({
Id: parseInt(this.subItemObj.childItem.MealId),
MealName: this.subItemObj.childItem.MealName
});
}
}
this.QDinnerList.push(...this.otherDinner);
},
mounted() {
this.initTheDayHotelUserDinner();
if (this.subItemObj.childItem.UseDinnerType != "") {
var array = this.subItemObj.childItem.UseDinnerType.split(",");
if (array.length > 0) {
array.forEach(item => {
if (item != "") {
this.Diner.UseDinerCked.push(item);
}
});
}
}
},
watch: {
Diner: {
//深度监听,可监听到对象、数组的变化
handler: function (val, oldVal) {
var ckedDiner = "";
this.Diner.UseDinerCked.forEach(x => {
ckedDiner = ckedDiner + x + ",";
});
if (ckedDiner != "") {
ckedDiner = ckedDiner.substring(0, ckedDiner.lastIndexOf(","));
}
this.subItemObj.childItem.UseDinnerType = ckedDiner;
},
deep: true
},
subItemObj: {
//深度监听,可监听到对象、数组的变化
handler: function (val, oldVal) {
this.subItemObj.childItem.DinnerImg = JSON.stringify(
this.subItemObj.childItem.ImaArray
);
},
deep: true
}, },
deep: true HotelList: {
//深度监听,可监听到对象、数组的变化
handler: function (val, oldVal) {
this.initTheDayHotelUserDinner();
},
deep: true
},
"subItemObj.childItem.QCity": {
handler: function (val, oldVal) {
this.getDinnerList();
},
deep: true
}
} }
} };
};
</script> </script>
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
<div class="TDLeftPlan"> <div class="TDLeftPlan">
<span>入住酒店</span> <span>入住酒店</span>
<span> <span>
<el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.HotelId'" :rules="hotelTripRules.HotelId"> <el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.HotelId'" :rules="hotelTripRules.HotelId">
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.HotelId" <el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.HotelId"
@visible-change="getHotelList($event)" @change="changeHotelList()"> @visible-change="getHotelList($event)" @change="changeHotelList()">
......
<template>
<div class="trip-item-box">
<div class="edit" v-if="isShowEdit">
<div class="TCtraffic flex">
<div class="partName">
<span class="TDTripType">酒店</span>
</div>
<span class="datePickContent" style="display:none">
<el-form-item >
<el-select :disabled="isOpenGroup" class="w160" placeholder="请选择时间" v-model="subItemObj.childItem.TimeType">
<el-option v-for="item in TimeTypeList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</span>
<div class="delSpan">
<el-tooltip class="item" effect="dark" content="查看" placement="top-start" >
<i class="iconfont icon-chakan" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="!isOpenGroup">
<i class="iconfont icon-xingzhuang" @click="removeHotelTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0 && !isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1 && !isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div>
<div class="TDplanList clearfix">
<div class="TDLeftPlan">
<span>入住酒店</span>
<span>
<el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.HotelId'" :rules="hotelTripRules.HotelId">
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.HotelId"
@visible-change="getHotelList($event)" @change="changeHotelList()">
<el-option :label="$t('pub.unlimitedSel')" :value='Diner.DefaultSelectValue'></el-option>
<el-option v-for="item in QHotelList" :label='getItemLabel(item)' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</span>
<span class="HD_hotelru">
<el-checkbox :disabled="isOpenGroup" v-model="subItemObj.childItem.IsSameLevel" :checked="subItemObj.childItem.IsSameLevel===CheckedVaule"
:true-label="CheckedVaule" :false-label="UnCheckedVaule" border size="mini">同级酒店</el-checkbox>
</span>
<span class="comTravelLeft">房型选择</span>
<span>
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.HotelProductId"
@visible-change="getHotelProductList($event)" @change="changeHotelProductList()">
<el-option :label="$t('pub.unlimitedSel')" :value='Diner.DefaultSelectValue'></el-option>
<el-option v-for="item in QHotelProductList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</span>
<span v-if="subItemObj.childItem.IsUseDinner==1">
<span class="TDhotelDiner">酒店含餐</span>
<span>
<el-checkbox-group v-model="Diner.UseDinerCked">
<el-checkbox v-for="item in Diner.UseDinnerArray" :disabled="isOpenGroup||!varCanChecked(item)" :label="item.Id"
:key='item.Id'>{{item.Name}}</el-checkbox>
</el-checkbox-group>
</span>
</span>
</div>
</div>
</div>
<div class="TP_edit">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]" v-bind:editValue="subItemObj.childItem.Description"
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit>
</div>
<div class="SiencDiv clearfix">
<div class="ScLeftImg">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode">
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" />
<img v-else :src="item.Url" />
<div class="imgzhe" @click="getPic(subItemObj.childItem.ImaArray,index)">
<div class="clearfix" style="text-align:center;">
<div class="re-delte" @click.stop="delImg(index,subItemObj)"><i class="iconfont icon-xingzhuang"></i></div>
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,0)" v-if="index!=0"><i class="iconfont icon-zuoyi"></i></div>
<div class="re-delte" @click.stop="toExchangeImg(subItemObj.childItem.DayNum,subIndex,index,1)" v-if="index!=subItemObj.childItem.ImaArray.length-1"><i class="iconfont icon-youyi"></i></div>
</div>
</div>
</div>
</div>
<div class="rightAddImg">
<el-upload :file-list="subItemObj.childItem.ImaArray" :http-request="uploadScenImg" :data="subItemObj.childItem"
:multiple="true" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<i class="iconfont icon-img_haha"></i>
</el-upload>
</div>
</div>
</div>
<div class="read" v-if="!isShowEdit">
<div class="TCtraffic flex">
<div class="partName">
<span class="TDTripType">酒店</span>
</div>
<div class="delSpan">
<el-tooltip class="item" effect="dark" content="编辑" placement="top-start" >
<i class="iconfont icon-bianji" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="!isOpenGroup">
<i class="iconfont icon-xingzhuang" @click="removeHotelTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0 && !isOpenGroup">
<i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1 && !isOpenGroup">
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</el-tooltip>
</div>
<div class="title-box">
<div class="TDLeftPlan">
<span>入住酒店</span>
<span>
{{subItemObj.childItem.HotelName}}
</span>
<span v-if="subItemObj.childItem.IsSameLevel==1">或同级酒店</span>
<span>房型</span>
<span>
{{subItemObj.childItem.HotelProductName}}
</span>
<span v-if="subItemObj.childItem.IsUseDinner==1">
<span class="TDhotelDiner">酒店含餐</span>
<span v-if="Diner.UseDinerCked==1">早餐</span>
<span v-if="Diner.UseDinerCked==2">中餐</span>
<span v-if="Diner.UseDinerCked==3">晚餐</span>
</span>
</div>
</div>
</div>
<div class="TP_editShow">
<pre v-html="subItemObj.childItem.Description"></pre>
</div>
<div class="SiencDiv clearfix">
<div class="ScLeftImg">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode">
<img v-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" />
<img v-else :src="item.Url" @click="getPic(subItemObj.childItem.ImaArray,index)"/>
</div>
</div>
</div>
</div>
<div v-if="dspNone" class="viewBigPicLayer myPiclayer" @click="colseLayer">
<i @click="colseLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer" ></i>
<el-carousel height="600px" :initial-index='initialIndex' :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index">
<img style="width:100%;" :src="item.Url" />
</el-carousel-item>
</el-carousel>
</div>
</div>
</template>
<script>
import MyEdit from "../../EditTemplate.vue";
export default {
props: [
"subItemObj",
"DefaultList",
"DinnerList",
"index",
"subIndex",
"isOpenGroup",
"subTotalIndex",
"TimeTypeList"
],
data() {
var TimeTypeValidate = (rule, value, callback) => {
if (value === 0) {
callback(new Error("请选择时间类型"));
} else {
callback();
}
};
var HotelIdValidate = (rule, value, callback) => {
if (value === 0) {
callback(new Error("请选择酒店"));
} else {
callback();
}
};
return {
//酒店列表
QHotelList: [],
//酒店房型列表
QHotelProductList: [],
toolbar: {
clean: false, //加粗
font: false, //字体
narrative: true //叙述,
},
dspNone:false,
initialIndex:0,
//选中同级酒店
CheckedVaule: 1,
//不选中
UnCheckedVaule: 0,
//是否显示编辑框
isShowEdit: true,
//text框placeholder
placeholder: "请输入酒店信息",
//酒店含餐
Diner: {
DefaultSelectValue: 0,
UseDinerCked: [],
UseDinnerType: [
{
Id: "1",
Name: "早"
},
{
Id: "2",
Name: "中"
},
{
Id: "3",
Name: "晚"
}
],
UseDinnerArray: []
},
//酒店验证
hotelTripRules: {
//时间类型验证
TimeType: [
{
validator: TimeTypeValidate,
trigger: "change"
}
],
HotelId: [
{
validator: HotelIdValidate,
trigger: "change"
}
]
},
TheDayUserDinner: [] //当天餐厅用餐情况
};
},
components: {
"my-edit": MyEdit
},
methods: {
//获取酒店列表
getHotelList(event) {
if (event) {
var msg = {
IsGetPic: 1,
IsGetRemark: 1,
QCity: this.subItemObj.childItem.QCity
};
this.apipost(
"hotel_post_GetLineHotelList",
msg,
res => {
if (res.data.resultCode == 1) {
this.QHotelList = res.data.data;
}
},
err => {}
);
}
},
//酒店选择改变
changeHotelList() {
var that = this;
if (that.subItemObj.childItem.HotelId != 0) {
//获取当前选中的对象
let obj = {};
obj = that.QHotelList.find(item => {
return item.ID === that.subItemObj.childItem.HotelId; //筛选出匹配数据
});
if (obj != undefined) {
that.subItemObj.childItem.HotelProductId = 0;
that.subItemObj.childItem.HotelProductName = "";
that.QHotelProductList = [];
that.Diner.UseDinnerArray = [];
that.subItemObj.childItem.ImaArray = [];
that.subItemObj.childItem.Description = obj.Descriptions;
that.subItemObj.childItem.ImaArray = obj.imgList;
that.subItemObj.childItem.IsUseDinner = obj.IsUseDinner;
that.subItemObj.childItem.HotelName = obj.Name;
let useDinnerTypeStr = that.subItemObj.childItem.UseDinnerType;
if (that.subItemObj.childItem.ID > 0) {
if (obj.UseDinnerType == null || !(obj.UseDinnerType.length > 0)) {
that.Diner.UseDinerCked = [];
that.subItemObj.childItem.UseDinnerType = "";
} else {
let useDinnerTypeStr = that.subItemObj.childItem.UseDinnerType;
if (useDinnerTypeStr != null && useDinnerTypeStr.length > 0) {
let objUseDinnerTypeArr = obj.UseDinnerType.split(",");
let useDinnerTypeArr = useDinnerTypeStr.split(",");
let tmpDinnerTypeArr = [];
useDinnerTypeArr.forEach(x => {
let isRemove = true;
objUseDinnerTypeArr.forEach(y => {
if (x == y) {
isRemove = false;
}
});
if (!isRemove) {
tmpDinnerTypeArr.push(x);
}
});
that.subItemObj.childItem.UseDinnerType = tmpDinnerTypeArr.join(
","
);
that.Diner.UseDinerCked = tmpDinnerTypeArr;
}
}
} else {
if (obj.UseDinnerType != null && obj.UseDinnerType.length > 0) {
that.Diner.UseDinerCked = obj.UseDinnerType.split(",");
}
}
let useDinnerTypeArry = [];
if (obj.UseDinnerType != null && obj.UseDinnerType.length > 0) {
useDinnerTypeArry = obj.UseDinnerType.split(",");
}
useDinnerTypeArry.forEach(y => {
that.Diner.UseDinnerType.forEach(DinerTypeItem => {
if (y == DinerTypeItem.Id) {
that.Diner.UseDinnerArray.push(DinerTypeItem);
}
});
});
that.Diner.UseDinnerArray.sort(
this.$commonUtils.createComprisonFunction("Id")
);
}
}
},
//获取酒店房型列表
getHotelProductList(event) {
if (event) {
this.apipost(
"dict_post_HotelProduc_GetList",
{
Hotel_ID: this.subItemObj.childItem.HotelId
},
res => {
if (res.data.resultCode == 1) {
this.QHotelProductList = res.data.data;
}
},
err => {}
);
}
},
//产品选择改变
changeHotelProductList() {
var that = this;
if (that.subItemObj.childItem.HotelProductId != 0) {
//获取当前选中的对象
let obj = {};
obj = that.QHotelProductList.find(item => {
return item.ID === that.subItemObj.childItem.HotelProductId; //筛选出匹配数据
});
if (obj != undefined) {
this.subItemObj.childItem.HotelProductName = obj.Name;
}
}
},
//上传景点图片
uploadScenImg(item) {
let newArr = [];
newArr.push(item.file);
let path = "/Upload/DMC/";
this.UploadSelfFileT(path, newArr, x => {
var fileObj = this.$commonUtils.FileObject();
fileObj.Url = this.domainManager().ViittoFileUrl + x.data.FilePath,
fileObj.fileName = x.data.FileName;
item.data.ImaArray.push(fileObj);
});
},
//删除酒店
removeHotelTrip(dayNum, subIndex) {
this.$parent.$parent.commonRemove(dayNum, subIndex);
},
//删除图片
delImg(index, subItemObj) {
this.$parent.$parent.commonRemoveImg(index, subItemObj);
},
initTheDayUserDinner() {
let dayNum = this.subItemObj.childItem.DayNum;
this.TheDayUserDinner = [];
this.DinnerList.forEach(x => {
if (x.DayNum == dayNum) {
if (x.UseDinnerType.length > 0) {
let tempDinnerArr = x.UseDinnerType.split(",");
let reg = /^[0-9]+.?[0-9]*/;
tempDinnerArr.forEach(y => {
if (reg.test(y)) {
this.TheDayUserDinner.push(y);
}
});
}
}
});
this.TheDayUserDinner = Array.from(new Set(this.TheDayUserDinner));
},
varCanChecked(dinnerType) {
let canChecked = true;
this.TheDayUserDinner.forEach(x => {
if (x == dinnerType.Id) {
canChecked = false;
}
});
return canChecked;
},
//上移下移
MoveItem(dayNum, subIndex, IsUp) {
this.$parent.$parent.MoveItem(dayNum, subIndex, IsUp);
},
//左右移动
toExchangeImg(dayNum, subIndex, imgIndex, IsMove) {
this.$parent.$parent.ExchangeImg(dayNum, subIndex, imgIndex,IsMove);
},
colseLayer(){
this.dspNone=false;
},
getPic(obj,index){
this.picObj=obj
this.dspNone=true;
this.initialIndex = index;
},
getItemLabel(item){
let returnName = item.Name;
if(item.Inventory>=0){
returnName = returnName+ " " +item.Inventory;
}
return returnName;
}
},
mounted() {
if (this.subItemObj.childItem.ID > 0) {
if (this.subItemObj.childItem.HotelId > 0) {
this.QHotelList.push({
ID: parseInt(this.subItemObj.childItem.HotelId),
Name: this.subItemObj.childItem.HotelName
});
}
if (this.subItemObj.childItem.HotelProductId > 0) {
this.QHotelProductList.push({
ID: parseInt(this.subItemObj.childItem.HotelProductId),
Name: this.subItemObj.childItem.HotelProductName
});
}
}
},
watch: {
subItemObj: {
//深度监听,可监听到对象、数组的变化
handler: function(val, oldVal) {
this.subItemObj.childItem.HotelImg = JSON.stringify(
this.subItemObj.childItem.ImaArray
);
},
deep: true
},
"Diner.UseDinerCked": {
handler: function(val, oldVal) {
this.subItemObj.childItem.UseDinnerType = this.Diner.UseDinerCked.join(
","
);
}
},
DinnerList: {
handler: function(val, oldVal) {
this.initTheDayUserDinner();
},
deep: true
},
"subItemObj.childItem.QCity": {
handler: function(val, oldVal) {
this.getHotelList();
},
deep: true
}
}
};
</script>
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