Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
3c4fe5a1
Commit
3c4fe5a1
authored
Jul 16, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
5fed5dcc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
964 additions
and
411 deletions
+964
-411
dinnerTrip_Direct.vue
...Travelmanager/oldTravelGroupControl/dinnerTrip_Direct.vue
+475
-410
hotelTrip_Direct.vue
...wTravelmanager/oldTravelGroupControl/hotelTrip_Direct.vue
+0
-1
hotelTrip_Direct_V2.vue
...avelmanager/oldTravelGroupControl/hotelTrip_Direct_V2.vue
+489
-0
No files found.
src/components/newTravelmanager/oldTravelGroupControl/dinnerTrip_Direct.vue
View file @
3c4fe5a1
<
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>
小时
<el-input
:disabled=
"isOpenGroup"
type=
"text"
class=
"w60"
v-model=
"subItemObj.childItem.UseTimeMinutes"
@
keyup
.
native=
"checkInteger(subItemObj.childItem,'UseTimeMinutes')"
></el-input>
分钟
</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>
小时
<el-input
:disabled=
"isOpenGroup"
type=
"text"
class=
"w60"
v-model=
"subItemObj.childItem.UseTimeMinutes"
@
keyup
.
native=
"checkInteger(subItemObj.childItem,'UseTimeMinutes')"
></el-input>
分钟
</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
>
src/components/newTravelmanager/oldTravelGroupControl/hotelTrip_Direct.vue
View file @
3c4fe5a1
...
@@ -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()"
>
...
...
src/components/newTravelmanager/oldTravelGroupControl/hotelTrip_Direct_V2.vue
0 → 100644
View file @
3c4fe5a1
<
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
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment