Commit 44e02d27 authored by 黄奎's avatar 黄奎

页面修改

parent 59e1be3e
...@@ -119,7 +119,6 @@ ...@@ -119,7 +119,6 @@
<label :for="'H'+index+'_'+subIndex" style="cursor: pointer">{{subItem.Name}}</label> <label :for="'H'+index+'_'+subIndex" style="cursor: pointer">{{subItem.Name}}</label>
<span class="cm_Inventory">{{subItem.Inventory}}</span> <span class="cm_Inventory">{{subItem.Inventory}}</span>
<span class="cm_Inventory">剩余:{{subItem.RemainingInventory}}</span> <span class="cm_Inventory">剩余:{{subItem.RemainingInventory}}</span>
<span class="ck_goUrl" @click="goUrl(subItem.ID)">新增库存</span>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -128,15 +127,16 @@ ...@@ -128,15 +127,16 @@
<table v-loading="loading" > <table v-loading="loading" >
<thead> <thead>
<tr> <tr>
<th>选择</th> <th style="width:70px">选择</th>
<th>酒店名称</th> <th style="width:200px">酒店名称</th>
<th>价格</th> <th style="width:100px">价格</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="item in ThirdHotelList"> <tr v-for="(item,index) in ThirdHotelList">
<td width="50"> <td width="50">
<input :id="item.hotelId" type="checkbox" /> <input :id="item.hotelId" type="checkbox" v-model="item.isChecked"
@click="getCheck(ThirdHotelList,index)" />
</td> </td>
<td width="150">{{item.hotelName}}</td> <td width="150">{{item.hotelName}}</td>
<td width="150">{{item.lowrateTotal}}</td> <td width="150">{{item.lowrateTotal}}</td>
...@@ -206,8 +206,7 @@ ...@@ -206,8 +206,7 @@
}, },
methods: { methods: {
getCheckHotel() { getCheckHotel() {
this.loading = true;
this.IsShow = false;
this.dataList = []; this.dataList = [];
this.HotelList = []; this.HotelList = [];
this.ThirdHotelList=[]; this.ThirdHotelList=[];
...@@ -222,6 +221,8 @@ ...@@ -222,6 +221,8 @@
}, },
//查询地接酒店 //查询地接酒店
GetDMCHotelList() { GetDMCHotelList() {
this.loading = true;
this.IsShow = false;
this.apipost('hotel_post_GetHasStockHotelList_V2', { this.apipost('hotel_post_GetHasStockHotelList_V2', {
//1-只查询有库存的酒店 //1-只查询有库存的酒店
IsMoreThanZero: 0, IsMoreThanZero: 0,
...@@ -229,7 +230,8 @@ ...@@ -229,7 +230,8 @@
IsAllHotel: 1, IsAllHotel: 1,
Province: this.qMsg.ProvinceId, Province: this.qMsg.ProvinceId,
Name: this.qMsg.Name, Name: this.qMsg.Name,
sDate: this.qMsg.UseDate sDate: this.qMsg.UseDate,
IsGetPic:true,//获取图片
}, res => { }, res => {
this.loading = false; this.loading = false;
this.IsShow = true; this.IsShow = true;
...@@ -247,7 +249,10 @@ ...@@ -247,7 +249,10 @@
}, },
//查询第三方酒店 //查询第三方酒店
GetThirdHotelList() { GetThirdHotelList() {
this.loading = true;
this.IsShow = false;
this.thirdHotelMsg.arrivalDate=this.qMsg.UseDate; this.thirdHotelMsg.arrivalDate=this.qMsg.UseDate;
this.ThirdHotelList=[];
if (this.thirdHotelMsg.arrivalDate == "") { if (this.thirdHotelMsg.arrivalDate == "") {
this.Info("请选择入住时间!"); this.Info("请选择入住时间!");
return; return;
...@@ -282,7 +287,14 @@ ...@@ -282,7 +287,14 @@
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
//总条数 //总条数
this.thirdHotelMsg.numberOfResultMatched = Number(res.data.data.numberOfResultMatched); this.thirdHotelMsg.numberOfResultMatched = Number(res.data.data.numberOfResultMatched);
this.ThirdHotelList = res.data.data.hotelSummary; var newArray= res.data.data.hotelSummary;
if(newArray!=null && newArray.length>0)
{
newArray.forEach(item=>{
item.isChecked=false;
});
}
this.ThirdHotelList =newArray;
} else { } else {
this.Error(res.data.message) this.Error(res.data.message)
} }
...@@ -308,17 +320,27 @@ ...@@ -308,17 +320,27 @@
sendCkedHotel() { sendCkedHotel() {
var ckHotelObj = {}; var ckHotelObj = {};
if (this.ckedHotel) { if (this.ckedHotel) {
ckHotelObj.ID = this.ckedHotel.ID; //地接酒店
ckHotelObj.Address = this.ckedHotel.Address; if(this.qHotelType==1)
ckHotelObj.Inventory = this.ckedHotel.Inventory; {
ckHotelObj.Name = this.ckedHotel.Name; ckHotelObj.HotelId = this.ckedHotel.ID;
ckHotelObj.PayStyle = this.ckedHotel.PayStyle; ckHotelObj.HotelName = this.ckedHotel.Name;
ckHotelObj.Tel = this.ckedHotel.Tel; ckHotelObj.Description=this.ckedHotel.Descriptions;
ckHotelObj.RebateRatio = this.ckedHotel.RebateRatio; ckHotelObj.HotelProvideType=1;
ckHotelObj.RebateCount = this.ckedHotel.RebateCount; ckHotelObj.imgList=this.ckedHotel.ImgList;
ckHotelObj.CostPrice = this.ckedHotel.CostPrice; }
//第三方酒店
else if(this.qHotelType==2)
{
ckHotelObj.HotelId = this.ckedHotel.hotelId;
ckHotelObj.HotelName = this.ckedHotel.hotelName;
ckHotelObj.imgList=[];
ckHotelObj.imgList.push({Name:this.ckedHotel.hotelName,Url:this.ckedHotel.hotelImageUrl});
ckHotelObj.Description=this.ckedHotel.hotelDescription;
ckHotelObj.HotelProvideType=2;
}
} }
this.$emit("childHotel", ckHotelObj); this.$emit("childHotelChange", ckHotelObj);
}, },
//获取日本下面的市->下拉框用 //获取日本下面的市->下拉框用
getProvinceList() { getProvinceList() {
...@@ -335,22 +357,9 @@ ...@@ -335,22 +357,9 @@
err => {} err => {}
); );
}, },
goUrl(ID) {
this.$router.push({
path: 'HotelProductManage2',
query: {
id: ID,
Country: 651,
IsSelfBook: 1,
blank: 'y',
tab: '报价详情'
}
});
}
}, },
mounted() { mounted() {
this.getProvinceList(); this.getProvinceList();
} }
}; };
</script>
</script> \ No newline at end of file
...@@ -109,11 +109,11 @@ ...@@ -109,11 +109,11 @@
<span v-if="IsDirect==1"> <span v-if="IsDirect==1">
<hotelTrip v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex" <hotelTrip v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex"
v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup" v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup"
v-bind:subTotalIndex="item.dayArray.length" ></hotelTrip> v-bind:subTotalIndex="item.dayArray.length"></hotelTrip>
<!---->
<hotelTripV2 v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex" <hotelTripV2 v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex"
v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup" v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup"
v-bind:subTotalIndex="item.dayArray.length" style="display:none;"></hotelTripV2> v-bind:subTotalIndex="item.dayArray.length" style="display:none;"></hotelTripV2>
</span> </span>
<span v-else> <span v-else>
</span> </span>
......
...@@ -2,84 +2,54 @@ ...@@ -2,84 +2,54 @@
<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>
<span class="datePickContent" style="display:none"> <span class="datePickContent" style="display:none">
<el-form-item > <el-form-item>
<el-select :disabled="isOpenGroup" class="w160" placeholder="请选择时间" v-model="subItemObj.childItem.TimeType"> <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 v-for="item in TimeTypeList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</span> </span>
<div class="delSpan"> <div class="delSpan">
<el-tooltip class="item" effect="dark" content="查看" placement="top-start" > <el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="iconfont icon-chakan" @click="isShowEdit=!isShowEdit"></i> <i class="iconfont icon-chakan" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="!isOpenGroup"> <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> <i class="iconfont icon-xingzhuang" @click="removeHotelTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0 && !isOpenGroup"> <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> <i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1 && !isOpenGroup"> <el-tooltip class="item" effect="dark" content="下移" placement="top-start"
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i> v-if="subIndex!=subTotalIndex-1 && !isOpenGroup">
</el-tooltip> <i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</div> </el-tooltip>
<div class="TDplanList clearfix"> </div>
<div class="TDLeftPlan"> <div class="TDplanList clearfix">
<span> <div class="TDLeftPlan">
<el-popover placement="right" width="540" trigger="click" > <span>
<comCheckHotelV2 :ref="'comCheckHotelV2'+index+subIndex+''" > <el-popover placement="right" width="540" trigger="click">
</comCheckHotelV2> <comCheckHotelV2 :ref="'comCheckHotelV2'+index+subIndex+''" v-on:childHotelChange="changeHotelList">
<el-button size="small" type="danger" :data-index="'comCheckHotelV2'+index+subIndex+''" </comCheckHotelV2>
slot="reference" style="cursor:pointer;" <el-button size="small" type="danger" :data-index="'comCheckHotelV2'+index+subIndex+''" slot="reference"
> style="cursor:pointer;">
酒店选择 酒店选择
</el-button> </el-button>
<!--@click="getChildHotel(index,subIndex)"--> </el-popover>
</el-popover> </span>
</span> <span>
<span> 酒店名称: {{subItemObj.childItem.HotelName}}
</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>
</div> </div>
<div class="TP_edit"> <div class="TP_edit">
<my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]" v-bind:editValue="subItemObj.childItem.Description" <my-edit v-if="isShowEdit" v-on:edit-value="subItemObj.childItem.Description = arguments[0]"
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit> v-bind:editValue="subItemObj.childItem.Description" v-bind:toolbarShow="toolbar"
v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit>
</div> </div>
<div class="SiencDiv clearfix"> <div class="SiencDiv clearfix">
<div class="ScLeftImg"> <div class="ScLeftImg">
...@@ -88,16 +58,20 @@ ...@@ -88,16 +58,20 @@
<img v-else :src="item.Url" /> <img v-else :src="item.Url" />
<div class="imgzhe" @click="getPic(subItemObj.childItem.ImaArray,index)"> <div class="imgzhe" @click="getPic(subItemObj.childItem.ImaArray,index)">
<div class="clearfix" style="text-align:center;"> <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="delImg(index,subItemObj)"><i class="iconfont icon-xingzhuang"></i>
<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>
<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 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> </div>
<div class="rightAddImg"> <div class="rightAddImg">
<el-upload :file-list="subItemObj.childItem.ImaArray" :http-request="uploadScenImg" :data="subItemObj.childItem" <el-upload :file-list="subItemObj.childItem.ImaArray" :http-request="uploadScenImg"
:multiple="true" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action=""> :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> <i class="iconfont icon-img_haha"></i>
</el-upload> </el-upload>
</div> </div>
...@@ -106,398 +80,340 @@ ...@@ -106,398 +80,340 @@
<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>
<div class="delSpan"> <div class="delSpan">
<el-tooltip class="item" effect="dark" content="编辑" placement="top-start" > <el-tooltip class="item" effect="dark" content="编辑" placement="top-start">
<i class="iconfont icon-bianji" @click="isShowEdit=!isShowEdit"></i> <i class="iconfont icon-bianji" @click="isShowEdit=!isShowEdit"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="!isOpenGroup"> <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> <i class="iconfont icon-xingzhuang" @click="removeHotelTrip(subItemObj.childItem.DayNum,subIndex)"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="上移" placement="top-start" v-if="subIndex!=0 && !isOpenGroup"> <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> <i class="iconfont icon-shangyi" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,0)"></i>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="下移" placement="top-start" v-if="subIndex!=subTotalIndex-1 && !isOpenGroup"> <el-tooltip class="item" effect="dark" content="下移" placement="top-start"
<i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i> v-if="subIndex!=subTotalIndex-1 && !isOpenGroup">
</el-tooltip> <i class="iconfont icon-xiayi1" @click="MoveItem(subItemObj.childItem.DayNum,subIndex,1)"></i>
</div> </el-tooltip>
<div class="title-box"> </div>
<div class="TDLeftPlan"> <div class="title-box">
<span>入住酒店</span> <div class="TDLeftPlan">
<span> <span>入住酒店</span>
{{subItemObj.childItem.HotelName}} <span>
</span> {{subItemObj.childItem.HotelName}}
<span v-if="subItemObj.childItem.IsSameLevel==1">或同级酒店</span> </span>
<span>房型</span> <span v-if="subItemObj.childItem.IsSameLevel==1">或同级酒店</span>
<span> <span>房型</span>
{{subItemObj.childItem.HotelProductName}} <span>
</span> {{subItemObj.childItem.HotelProductName}}
<span v-if="subItemObj.childItem.IsUseDinner==1"> </span>
<span class="TDhotelDiner">酒店含餐</span> <span v-if="subItemObj.childItem.IsUseDinner==1">
<span v-if="Diner.UseDinerCked==1"></span> <span class="TDhotelDiner">酒店含</span>
<span v-if="Diner.UseDinerCked==2"></span> <span v-if="Diner.UseDinerCked==1"></span>
<span v-if="Diner.UseDinerCked==3"></span> <span v-if="Diner.UseDinerCked==2"></span>
</span> <span v-if="Diner.UseDinerCked==3">晚餐</span>
</div> </span>
</div> </div>
</div>
</div> </div>
<div class="TP_editShow"> <div class="TP_editShow">
<pre v-html="subItemObj.childItem.Description"></pre> <pre v-html="subItemObj.childItem.Description"></pre>
</div> </div>
<div class="SiencDiv clearfix"> <div class="SiencDiv clearfix">
<div class="ScLeftImg"> <div class="ScLeftImg">
<div class="TFimgList" v-for="(item,index) in subItemObj.childItem.ImaArray" :key="item.subCode"> <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-if="!item.Url" src="../../../assets/img/bg_c3@3x.png" />
<img v-else :src="item.Url" @click="getPic(subItemObj.childItem.ImaArray,index)"/> <img v-else :src="item.Url" @click="getPic(subItemObj.childItem.ImaArray,index)" />
</div> </div>
</div> </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";
import comCheckHotelV2 from "../../commonPage/comCheckHotelV2.vue"; import comCheckHotelV2 from "../../commonPage/comCheckHotelV2.vue";
export default { export default {
props: [ props: [
"subItemObj", "subItemObj",
"DefaultList", "DefaultList",
"DinnerList", "DinnerList",
"index", "index",
"subIndex", "subIndex",
"isOpenGroup", "isOpenGroup",
"subTotalIndex", "subTotalIndex",
"TimeTypeList" "TimeTypeList"
], ],
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 HotelIdValidate = (rule, value, callback) => { var HotelIdValidate = (rule, value, callback) => {
if (value === 0) { if (value === 0) {
callback(new Error("请选择酒店")); callback(new Error("请选择酒店"));
} else { } else {
callback(); callback();
} }
}; };
return { return {
//酒店列表 //酒店列表
QHotelList: [], QHotelList: [],
//酒店房型列表 //酒店房型列表
QHotelProductList: [], QHotelProductList: [],
toolbar: { toolbar: {
clean: false, //加粗 clean: false, //加粗
font: false, //字体 font: false, //字体
narrative: true //叙述, narrative: true //叙述,
}, },
dspNone:false, dspNone: false,
initialIndex:0, initialIndex: 0,
//选中同级酒店 //选中同级酒店
CheckedVaule: 1, CheckedVaule: 1,
//不选中 //不选中
UnCheckedVaule: 0, UnCheckedVaule: 0,
//是否显示编辑框 //是否显示编辑框
isShowEdit: true, isShowEdit: true,
//text框placeholder //text框placeholder
placeholder: "请输入酒店信息", placeholder: "请输入酒店信息",
//酒店含餐 //酒店含餐
Diner: { Diner: {
DefaultSelectValue: 0, DefaultSelectValue: 0,
UseDinerCked: [], UseDinerCked: [],
UseDinnerType: [ UseDinnerType: [{
{ Id: "1",
Id: "1", Name: "早"
Name: "早" },
}, {
{ Id: "2",
Id: "2", Name: "中"
Name: "中" },
}, {
{ Id: "3",
Id: "3", Name: "晚"
Name: "晚" }
} ],
], UseDinnerArray: []
UseDinnerArray: [] },
}, //酒店验证
//酒店验证 hotelTripRules: {
hotelTripRules: { //时间类型验证
//时间类型验证 TimeType: [{
TimeType: [
{
validator: TimeTypeValidate, validator: TimeTypeValidate,
trigger: "change" trigger: "change"
} }],
], HotelId: [{
HotelId: [
{
validator: HotelIdValidate, validator: HotelIdValidate,
trigger: "change" trigger: "change"
} }]
] },
}, TheDayUserDinner: [] //当天餐厅用餐情况
TheDayUserDinner: [] //当天餐厅用餐情况 };
};
},
components: {
"my-edit": MyEdit,
comCheckHotelV2,
},
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 => {}
);
}
}, },
//酒店选择改变 components: {
changeHotelList() { "my-edit": MyEdit,
var that = this; comCheckHotelV2,
if (that.subItemObj.childItem.HotelId != 0) { },
//获取当前选中的对象 methods: {
let obj = {}; //获取酒店列表
obj = that.QHotelList.find(item => { getHotelList(event) {
return item.ID === that.subItemObj.childItem.HotelId; //筛选出匹配数据 if (event) {
}); var msg = {
if (obj != undefined) { IsGetPic: 1,
that.subItemObj.childItem.HotelProductId = 0; IsGetRemark: 1,
that.subItemObj.childItem.HotelProductName = ""; QCity: this.subItemObj.childItem.QCity
that.QHotelProductList = []; };
that.Diner.UseDinnerArray = []; this.apipost(
that.subItemObj.childItem.ImaArray = []; "hotel_post_GetLineHotelList",
that.subItemObj.childItem.Description = obj.Descriptions; msg,
that.subItemObj.childItem.ImaArray = obj.imgList; res => {
that.subItemObj.childItem.IsUseDinner = obj.IsUseDinner; if (res.data.resultCode == 1) {
that.subItemObj.childItem.HotelName = obj.Name; this.QHotelList = res.data.data;
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 { err => {}
if (obj.UseDinnerType != null && obj.UseDinnerType.length > 0) { );
that.Diner.UseDinerCked = obj.UseDinnerType.split(","); }
} },
} //酒店选择改变
let useDinnerTypeArry = []; changeHotelList(childHotelObj) {
if (obj.UseDinnerType != null && obj.UseDinnerType.length > 0) { var that = this;
useDinnerTypeArry = obj.UseDinnerType.split(","); if(childHotelObj)
} {
useDinnerTypeArry.forEach(y => { that.subItemObj.childItem.HotelProductId = 0;
that.Diner.UseDinnerType.forEach(DinerTypeItem => { that.subItemObj.childItem.HotelProductName = "";
if (y == DinerTypeItem.Id) { that.subItemObj.childItem.ImaArray = [];
that.Diner.UseDinnerArray.push(DinerTypeItem); that.subItemObj.childItem.Description = childHotelObj.Description;
that.subItemObj.childItem.ImaArray = childHotelObj.imgList;
that.subItemObj.childItem.HotelId=childHotelObj.HotelId;
that.subItemObj.childItem.HotelName = childHotelObj.HotelName;
that.subItemObj.childItem.HotelProvideType=childHotelObj.HotelProvideType;
}
},
//获取酒店房型列表
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 => {}
that.Diner.UseDinnerArray.sort(
this.$commonUtils.createComprisonFunction("Id")
); );
} }
} },
}, //产品选择改变
//获取酒店房型列表 changeHotelProductList() {
getHotelProductList(event) { var that = this;
if (event) { if (that.subItemObj.childItem.HotelProductId != 0) {
this.apipost( //获取当前选中的对象
"dict_post_HotelProduc_GetList", let obj = {};
{ obj = that.QHotelProductList.find(item => {
Hotel_ID: this.subItemObj.childItem.HotelId return item.ID === that.subItemObj.childItem.HotelProductId; //筛选出匹配数据
}, });
res => { if (obj != undefined) {
if (res.data.resultCode == 1) { this.subItemObj.childItem.HotelProductName = obj.Name;
this.QHotelProductList = res.data.data; }
}
},
//上传景点图片
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);
}
});
} }
}, }
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.TheDayUserDinner = Array.from(new Set(this.TheDayUserDinner));
this.subItemObj.childItem.HotelProductName = obj.Name; },
} varCanChecked(dinnerType) {
} let canChecked = true;
}, this.TheDayUserDinner.forEach(x => {
//上传景点图片 if (x == dinnerType.Id) {
uploadScenImg(item) { canChecked = false;
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);
}
});
} }
});
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;
this.TheDayUserDinner = Array.from(new Set(this.TheDayUserDinner)); }
}, },
varCanChecked(dinnerType) {
let canChecked = true; mounted() {
this.TheDayUserDinner.forEach(x => { if (this.subItemObj.childItem.ID > 0) {
if (x == dinnerType.Id) { if (this.subItemObj.childItem.HotelId > 0) {
canChecked = false; this.QHotelList.push({
ID: parseInt(this.subItemObj.childItem.HotelId),
Name: this.subItemObj.childItem.HotelName
});
} }
});
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.HotelProductId > 0) {
if (this.subItemObj.childItem.ID > 0) { this.QHotelProductList.push({
if (this.subItemObj.childItem.HotelId > 0) { ID: parseInt(this.subItemObj.childItem.HotelProductId),
this.QHotelList.push({ Name: this.subItemObj.childItem.HotelProductName
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: {
watch: { //深度监听,可监听到对象、数组的变化
subItemObj: { handler: function (val, oldVal) {
//深度监听,可监听到对象、数组的变化 this.subItemObj.childItem.HotelImg = JSON.stringify(
handler: function(val, oldVal) { this.subItemObj.childItem.ImaArray
this.subItemObj.childItem.HotelImg = JSON.stringify( );
this.subItemObj.childItem.ImaArray },
); deep: true
}, },
deep: true "Diner.UseDinerCked": {
}, handler: function (val, oldVal) {
"Diner.UseDinerCked": { this.subItemObj.childItem.UseDinnerType = this.Diner.UseDinerCked.join(
handler: function(val, oldVal) { ","
this.subItemObj.childItem.UseDinnerType = this.Diner.UseDinerCked.join( );
"," }
);
}
},
DinnerList: {
handler: function(val, oldVal) {
this.initTheDayUserDinner();
}, },
deep: true DinnerList: {
}, handler: function (val, oldVal) {
"subItemObj.childItem.QCity": { this.initTheDayUserDinner();
handler: function(val, oldVal) { },
this.getHotelList(); deep: true
}, },
deep: true "subItemObj.childItem.QCity": {
handler: function (val, oldVal) {
this.getHotelList();
},
deep: true
}
} }
} };
};
</script> </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