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
2f1afcd6
Commit
2f1afcd6
authored
May 30, 2019
by
huangyuanyuan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
3851a4b2
6f1a7d14
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
833 additions
and
754 deletions
+833
-754
ChangeHotel.vue
src/components/Hotel/ChangeHotel.vue
+14
-6
HotelInfo.vue
src/components/Hotel/HotelInfo.vue
+634
-626
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+17
-11
bookDinnerStatisticsDetails.vue
src/components/Restaurant/bookDinnerStatisticsDetails.vue
+9
-0
groupTourOrderByTuan.vue
src/components/SalesModule/groupTourOrderByTuan.vue
+2
-2
productQuery.vue
src/components/SalesModule/productQuery.vue
+43
-45
RegistrationList.vue
src/components/TravelManager/TravelList/RegistrationList.vue
+29
-5
RegistrationStatistics.vue
...nents/TravelManager/TravelList/RegistrationStatistics.vue
+11
-1
TeamBalancePayment.vue
...omponents/TravelManager/TravelList/TeamBalancePayment.vue
+19
-13
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+45
-44
BusInfo.vue
src/components/busManagement/BusInfo.vue
+0
-1
admissionStatisticsDetails.vue
src/components/scenicSpot/admissionStatisticsDetails.vue
+10
-0
No files found.
src/components/Hotel/ChangeHotel.vue
View file @
2f1afcd6
...
...
@@ -3,13 +3,13 @@
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"changeHotelDetailsTalbe"
v-loading=
"Loading"
>
<tr>
<th
colspan=
"1
4
"
>
酒店信息
</th>
<th
colspan=
"1
3
"
>
酒店信息
</th>
</tr>
<tr>
<th>
公司团号
</th>
<th
colspan=
"1
2
"
class=
"tdLeft"
>
<th
colspan=
"1
1
"
class=
"tdLeft"
>
<a
class=
"link"
@
click=
"goUrlT('productQuery',TCNUM,'产品查询')"
>
{{
TCNUM
}}
</a>
</th>
<th>
...
...
@@ -18,8 +18,8 @@
</tr>
<tr>
<th
width=
"120"
>
入住时间
</th>
<th
width=
"80"
>
选择酒店
</th>
<th
width=
"200"
>
原酒店名称
</th>
<th
width=
"200"
>
选择酒店
</th>
<th
width=
"120"
>
机位数(Y/E/F)
</th>
<th
width=
"120"
>
占床/不占床
</th>
<th
width=
"80"
>
实际用房数
</th>
...
...
@@ -38,9 +38,9 @@
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"5*item.HotelOrderList.length"
class=
"tdCenter"
>
{{
item
.
UseTimeStr
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"5"
class=
"tdCenter"
>
<
!--
<
td
v-if=
"childIndex==0"
:rowspan=
"5"
class=
"tdCenter"
>
<el-checkbox
v-model=
'subItem.IsChecked'
></el-checkbox>
</td>
</td>
-->
<td
v-if=
"childIndex==0"
:rowspan=
"5"
class=
"tdLeft"
>
<p
class=
"link"
style=
"word-break: normal;"
@
click=
"goUrlR('HotelManagement',HotelId.HotelId,'酒店管理')"
>
{{
subItem
.
HotelName
}}
</p>
...
...
@@ -102,10 +102,18 @@
TCNUM
:
''
,
TCIDs
:
""
,
isShowBtn
:
0
,
isCheck
:
false
,
Loading
:
false
,
}
},
methods
:
{
UpdateCheck
()
{
this
.
DataList
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
IsChecked
=
this
.
isCheck
;
});
})
},
goUrl
(
path
,
obj
,
name
)
{
this
.
$router
.
push
({
path
:
path
,
...
...
src/components/Hotel/HotelInfo.vue
View file @
2f1afcd6
<
style
>
@import
"../../assets/css/DMC.css"
;
@import
"../../assets/css/DMC.css"
;
</
style
>
<
template
>
<div
class=
"flexOne changInfo"
>
...
...
@@ -37,23 +38,24 @@
</el-input>
</el-form-item>
<el-form-item
label=
"是否预约"
>
<el-switch
v-model=
"addMsg.AppointmentStyle"
:active-value=
"inActive"
:inactive-value=
"notInActive"
></el-switch>
<el-switch
v-model=
"addMsg.AppointmentStyle"
:active-value=
"inActive"
:inactive-value=
"notInActive"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"支付方式"
>
<el-select
v-model=
"addMsg.PayStyle"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
v-model=
"addMsg.PayStyle"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"IsHaveAuth==1?false:true"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in PayList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"酒店类型"
>
<el-form-item
label=
"酒店类型"
>
<el-select
v-model=
"addMsg.HotelType"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in HotelTypeList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"价格"
>
<el-form-item
label=
"价格"
>
<el-select
v-model=
"addMsg.HotelPriceType"
class=
'multiple_input w300'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in HotelPirceTypeList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
...
...
@@ -70,33 +72,34 @@
</el-select>
</span>
</div>
<span
class=
"resource-lititle sheshi"
>
酒店优惠
<el-button
icon=
"el-icon-plus"
circle
@
click=
"addAir"
></el-button></span>
<span
class=
"resource-lititle sheshi"
>
酒店优惠
<el-button
icon=
"el-icon-plus"
circle
@
click=
"addAir"
></el-button>
</span>
<div
class=
"jiudianyouhuiDiv"
>
<el-row
v-for=
"(list,index) in addMsg.DiscountList"
:key=
"index"
>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"开始数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.StartNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"结束数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.EndNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"返还数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.DisCountNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
v-if=
"index==0"
>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-button
icon=
"el-icon-minus"
circle
@
click=
"deleteAir(index)"
>
</el-button>
</el-col>
</el-row>
<!-- <el-row :gutter="0">
<el-row
v-for=
"(list,index) in addMsg.DiscountList"
:key=
"index"
>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"开始数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.StartNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"结束数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.EndNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-form-item
label=
"返还数量"
>
<el-input
class=
'w80'
type=
"text"
v-model=
"list.DisCountNum"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
v-if=
"index==0"
>
</el-col>
<el-col
:span=
"6"
:gutter=
"35"
>
<el-button
icon=
"el-icon-minus"
circle
@
click=
"deleteAir(index)"
>
</el-button>
</el-col>
</el-row>
<!-- <el-row :gutter="0">
<el-col :span="6">
<el-form-item label="开始数量" >
<el-input class='w80' type="text" :placeholder="$t('pub.pleaseImport')"></el-input>
...
...
@@ -117,15 +120,15 @@
</el-col>
</el-row> -->
</div>
<!--<div v-for="(item) in GetPolicy" :key="item.subCode">
<div class="common-lefttit">{{item.Content}}</div>
<span class="resource-net">
<el-input v-model="item.checked" maxlength="50" class="w300"></el-input>
</span>
</div>-->
</div>
<div
class=
"resource-imginfo"
>
<div
class=
"resourcerightTop"
>
...
...
@@ -134,38 +137,44 @@
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
{{$t('admin.admin_personNumber')}}>
</div>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"addMsg.RebateCount"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"addMsg.RebateCount"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
</div>
<div
class=
"RebateCount reTwo"
>
<div
class=
"fanNum"
>
{{$t('restaurant.res_return')}}
</div>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"addMsg.RebateRatio"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"addMsg.RebateRatio"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"20"
>
<div
class=
"percentCon"
>
%
</div>
</div>
</div>
</div>
<el-form-item
:label=
"$t('hotel.hotel_landline')"
>
<el-input
type=
"text"
v-model=
"addMsg.Tel"
maxlength=
"20"
:placeholder=
"$t('hotel.hotel_landline')"
class=
"w300"
></el-input>
<el-input
type=
"text"
v-model=
"addMsg.Tel"
maxlength=
"20"
:placeholder=
"$t('hotel.hotel_landline')"
class=
"w300"
></el-input>
</el-form-item>
<el-form-item
label=
"国家"
>
<el-select
placeholder=
"请选择国家"
filterable
v-model=
"addMsg.Country"
class=
'multiple_input w300'
@
change=
"GetSubAreaList(addMsg.Country,1)"
>
<el-select
placeholder=
"请选择国家"
filterable
v-model=
"addMsg.Country"
class=
'multiple_input w300'
@
change=
"GetSubAreaList(addMsg.Country,1)"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"省"
>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w300'
v-model=
"addMsg.Province"
@
change=
"GetSubAreaList(addMsg.Province,2)"
>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w300'
v-model=
"addMsg.Province"
@
change=
"GetSubAreaList(addMsg.Province,2)"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in ProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
<el-option
v-for=
"childItem in ProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"市"
>
<el-select
placeholder=
"请选择市"
filterable
class=
'multiple_input w300'
v-model=
"addMsg.City"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"childItem in CityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
<el-option
v-for=
"childItem in CityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -196,12 +205,13 @@
active-text=
"用餐"
inactive-text=
"不用餐"
></el-switch>
</el-form-item>
<el-form-item
label=
"用餐类型"
v-show=
"isDinner"
>
<el-select
v-model=
"UseDinnerString"
class=
'multiple_input w300'
multiple
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
v-model=
"UseDinnerString"
class=
'multiple_input w300'
multiple
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in dinerList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"停车场"
>
<el-form-item
label=
"停车场"
>
<el-switch
v-model=
"addMsg.IsHavearking"
:active-value=
"1"
:inactive-value=
"0"
></el-switch>
</el-form-item>
</div>
...
...
@@ -211,7 +221,7 @@
<div
class=
"re-img"
v-for=
"(item,index) in HotelImageArray"
:key=
"item.subCode"
>
<img
:src=
"item.ShowPath"
/>
<div
class=
"imgzhe"
>
<div
class=
"re-delte"
><i
@
click
.
stop=
"showImg(item.ShowPath)"
class=
"iconfont icon-img_cz"
></i></div>
<div
class=
"re-delte"
><i
@
click
.
stop=
"showImg(item.ShowPath)"
class=
"iconfont icon-img_cz"
></i></div>
<div
class=
"re-delte"
@
click=
"delImg(index)"
><i
class=
"iconfont icon-xingzhuang"
></i></div>
<!-- <div class="re-delte" @click.stop="ExchangeImg(index,0)" v-if="index!=0&&item.ShowPath">
...
...
@@ -228,8 +238,8 @@
<i
class=
"iconfont icon-img_haha"
></i>
<div
class=
"ad-one"
>
<div
class=
"re-upload"
>
<el-upload
class=
"upload-demo"
:http-request=
"UploadImage"
:multiple=
"true"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
action=
""
>
<el-upload
class=
"upload-demo"
:http-request=
"UploadImage"
:multiple=
"true"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-img_bdsc"
></i>
</el-upload>
</div>
...
...
@@ -242,7 +252,8 @@
</el-form>
</div>
<el-dialog
custom-class=
"resourceImgAdd"
title=
"选择图片"
center
:visible
.
sync=
"addimg"
>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:imgType=
"1"
></DMCchooseImg>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:imgType=
"1"
>
</DMCchooseImg>
</el-dialog>
<el-dialog
custom-class=
"mapList"
title=
"地图选址"
center
:visible
.
sync=
"selectAddress"
>
<googleMap
@
refList=
"googleMap"
v-bind:address=
"addMsg.Address"
@
headCallBack=
"headCall"
></googleMap>
...
...
@@ -258,629 +269,626 @@
</div>
</template>
<
script
>
import
DMCchooseImg
from
"../commonPage/DMCchooseImg.vue"
;
import
googleMap
from
"../commonPage/googleMap.vue"
;
export
default
{
data
()
{
return
{
imageOptions
:{
navbar
:
false
,
title
:
false
},
images
:
[],
//是否显示添加图片
addimg
:
false
,
//地图选中地址
selectAddress
:
false
,
//上传的文件数组
HotelImageArray
:
[],
//删除的图片文件数组
DeleteImageArray
:
[],
//地接资源图片
imglistArry
:
[],
//地接图片搜索关键字
imgKeyword
:
""
,
import
DMCchooseImg
from
"../commonPage/DMCchooseImg.vue"
;
import
googleMap
from
"../commonPage/googleMap.vue"
;
export
default
{
data
()
{
return
{
imageOptions
:
{
navbar
:
false
,
title
:
false
},
//是否有权限操作支付方式
IsHaveAuth
:
0
,
images
:
[],
//是否显示添加图片
addimg
:
false
,
//地图选中地址
selectAddress
:
false
,
//上传的文件数组
HotelImageArray
:
[],
//删除的图片文件数组
DeleteImageArray
:
[],
//地接资源图片
imglistArry
:
[],
//地接图片搜索关键字
imgKeyword
:
""
,
openplatform
:
""
,
//获取开放平台
starslevel
:
""
,
//获取酒店星级
serviceList
:
[],
//获取酒店服务
GetPolicy
:
""
,
//获取酒店政策
OpenPlatformStrings
:
""
,
UseDinnerformString
:
""
,
totalimg
:
""
,
selecnum
:
0
,
hotelID
:
""
,
openplatString
:
""
,
UseDinnerString
:
""
,
inActive
:
1
,
//已选中
notInActive
:
0
,
//未选中
SupplierList
:
""
,
imgBeforeFile
:
this
.
domainManager
().
ViittoFileUrl
,
isBook
:
true
,
isDinner
:
false
,
dinerList
:
""
,
//下拉框默认值
SelectDefaultValue
:
0
,
//国家列表
CountryList
:
[],
//省份列表
ProvinceList
:
[],
//城市列表
CityList
:
[],
//支付方式
PayList
:
[],
//酒店类型
HotelTypeList
:
[],
//酒店价格
HotelPirceTypeList
:[],
addMsg
:
{
ID
:
0
,
Name
:
""
,
HotelRealName
:
""
,
Descriptions
:
""
,
Tel
:
""
,
Remark
:
""
,
//温馨提示
WarmTip
:
""
,
Star
:
""
,
URL
:
""
,
Fax
:
""
,
QCountry
:
""
,
QProvince
:
""
,
QCity
:
""
,
District
:
0
,
Address
:
""
,
Lng
:
""
,
Lat
:
""
,
HotelType
:
0
,
HotelPriceType
:
0
,
DieLine
:
""
,
HotelImageList
:
[],
//现在的图片
DeleteImageList
:
[],
//要删除的图片
DiscountList
:[
],
RoomNumber
:
""
,
ChainBrand
:
""
,
FacilityServices
:
""
,
HotelPolicy
:
""
,
OpenPlatform
:
""
,
RebateCount
:
""
,
RebateRatio
:
""
,
IsSelfBook
:
""
,
IsUseDinner
:
"0"
,
UseDinnerType
:
""
,
Country
:
0
,
Province
:
0
,
City
:
0
,
//是否预约
AppointmentStyle
:
0
,
openplatform
:
""
,
//获取开放平台
starslevel
:
""
,
//获取酒店星级
serviceList
:
[],
//获取酒店服务
GetPolicy
:
""
,
//获取酒店政策
OpenPlatformStrings
:
""
,
UseDinnerformString
:
""
,
totalimg
:
""
,
selecnum
:
0
,
hotelID
:
""
,
openplatString
:
""
,
UseDinnerString
:
""
,
inActive
:
1
,
//已选中
notInActive
:
0
,
//未选中
SupplierList
:
""
,
imgBeforeFile
:
this
.
domainManager
().
ViittoFileUrl
,
isBook
:
true
,
isDinner
:
false
,
dinerList
:
""
,
//下拉框默认值
SelectDefaultValue
:
0
,
//国家列表
CountryList
:
[],
//省份列表
ProvinceList
:
[],
//城市列表
CityList
:
[],
//支付方式
PayStyle
:
0
,
//是否有停车场
IsHavearking
:
0
,
},
DiscountList
:{
ID
:
0
,
StartNum
:
''
,
EndNum
:
''
,
DisCountNum
:
''
},
qMsg
:
{},
rules
:
{
//表单必填验证
Name
:
[
{
PayList
:
[],
//酒店类型
HotelTypeList
:
[],
//酒店价格
HotelPirceTypeList
:
[],
addMsg
:
{
ID
:
0
,
Name
:
""
,
HotelRealName
:
""
,
Descriptions
:
""
,
Tel
:
""
,
Remark
:
""
,
//温馨提示
WarmTip
:
""
,
Star
:
""
,
URL
:
""
,
Fax
:
""
,
QCountry
:
""
,
QProvince
:
""
,
QCity
:
""
,
District
:
0
,
Address
:
""
,
Lng
:
""
,
Lat
:
""
,
HotelType
:
0
,
HotelPriceType
:
0
,
DieLine
:
""
,
HotelImageList
:
[],
//现在的图片
DeleteImageList
:
[],
//要删除的图片
DiscountList
:
[],
RoomNumber
:
""
,
ChainBrand
:
""
,
FacilityServices
:
""
,
HotelPolicy
:
""
,
OpenPlatform
:
""
,
RebateCount
:
""
,
RebateRatio
:
""
,
IsSelfBook
:
""
,
IsUseDinner
:
"0"
,
UseDinnerType
:
""
,
Country
:
0
,
Province
:
0
,
City
:
0
,
//是否预约
AppointmentStyle
:
0
,
//支付方式
PayStyle
:
0
,
//是否有停车场
IsHavearking
:
0
,
},
DiscountList
:
{
ID
:
0
,
StartNum
:
''
,
EndNum
:
''
,
DisCountNum
:
''
},
qMsg
:
{},
rules
:
{
//表单必填验证
Name
:
[{
required
:
true
,
message
:
"请填写名称"
,
trigger
:
"change"
}
],
Address
:
[
{
}],
Address
:
[{
required
:
true
,
message
:
"请选择地址"
,
trigger
:
"change"
}
],
Descriptions
:
[
{
}],
Descriptions
:
[{
required
:
true
,
message
:
"请输入文字描述"
,
trigger
:
"change"
}
],
DieLine
:
[
{
}],
DieLine
:
[{
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}
]
}
};
},
components
:
{
googleMap
:
googleMap
,
DMCchooseImg
:
DMCchooseImg
},
methods
:
{
deleteAir
(
i
){
this
.
addMsg
.
DiscountList
.
splice
(
i
,
1
);
},
addAir
(){
this
.
addMsg
.
DiscountList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
DiscountList
)));
},
//上传酒店图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
this
.
HotelImageArray
.
push
(
obj
);
//this.updatePic();
});
}]
}
};
},
//更新酒店图片
updatePic
()
{
if
(
this
.
hotelID
>
0
)
{
var
postMsg
=
{
ID
:
this
.
hotelID
,
Name
:
this
.
addMsg
.
Name
,
HotelImageList
:
this
.
HotelImageArray
,
//新增修改
DeleteImageList
:
this
.
DeleteImageArray
//删除的图片
};
components
:
{
googleMap
:
googleMap
,
DMCchooseImg
:
DMCchooseImg
},
methods
:
{
deleteAir
(
i
)
{
this
.
addMsg
.
DiscountList
.
splice
(
i
,
1
);
},
addAir
()
{
this
.
addMsg
.
DiscountList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
DiscountList
)));
},
//上传酒店图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
this
.
HotelImageArray
.
push
(
obj
);
//this.updatePic();
});
},
//更新酒店图片
updatePic
()
{
if
(
this
.
hotelID
>
0
)
{
var
postMsg
=
{
ID
:
this
.
hotelID
,
Name
:
this
.
addMsg
.
Name
,
HotelImageList
:
this
.
HotelImageArray
,
//新增修改
DeleteImageList
:
this
.
DeleteImageArray
//删除的图片
};
this
.
apipost
(
"hotel_post_UpateHotelPic"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"操作图片成功!"
);
}
},
null
);
}
},
//删除图片
delImg
(
index
)
{
var
item
=
this
.
HotelImageArray
[
index
];
this
.
DeleteImageArray
.
push
(
item
);
this
.
HotelImageArray
.
splice
(
index
,
1
);
//this.updatePic();
},
inited
(
viewer
)
{
this
.
$viewer
=
viewer
},
showImg
:
function
(
src
)
{
let
srcArr
=
src
.
split
(
'?'
)
src
=
srcArr
[
0
]
let
isExsit
=
false
this
.
images
.
forEach
(
x
=>
{
if
(
x
===
src
)
isExsit
=
true
})
if
(
!
isExsit
)
{
this
.
images
.
push
(
src
)
}
else
{
this
.
$viewer
.
view
(
this
.
images
.
indexOf
(
src
))
}
this
.
$viewer
.
show
()
},
addImgOpen
()
{
this
.
addimg
=
true
;
this
.
initimgList
();
},
saveResource
()
{
//保存酒店信息
if
(
this
.
isBook
)
{
this
.
addMsg
.
IsSelfBook
=
1
;
}
else
{
this
.
addMsg
.
IsSelfBook
=
0
;
}
this
.
addMsg
.
FacilityServices
=
`
${
JSON
.
stringify
(
this
.
serviceList
)}
`
;
this
.
addMsg
.
HotelPolicy
=
`
${
JSON
.
stringify
(
this
.
GetPolicy
)}
`
;
this
.
addMsg
.
OpenPlatform
=
this
.
openplatString
.
toString
();
this
.
addMsg
.
UseDinnerType
=
this
.
UseDinnerString
.
toString
();
if
(
this
.
addMsg
.
IsUseDinner
==
0
)
{
this
.
addMsg
.
UseDinnerType
=
""
;
}
if
(
this
.
hoteID
!=
"undefined"
)
{
this
.
addMsg
.
ID
=
this
.
hotelID
;
}
this
.
addMsg
.
HotelImageList
=
this
.
HotelImageArray
;
this
.
addMsg
.
DeleteImageList
=
this
.
DeleteImageArray
;
this
.
apipost
(
"hotel_post_UpateHotelPic"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"操作图片成功!"
);
"hotel_post_Set"
,
this
.
addMsg
,
response
=>
{
//修改添加接口
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"保存成功!"
);
this
.
goUrl
(
"HotelManagement"
);
}
else
{
this
.
Error
(
response
.
data
.
message
);
}
},
null
);
}
},
//删除图片
delImg
(
index
)
{
var
item
=
this
.
HotelImageArray
[
index
];
this
.
DeleteImageArray
.
push
(
item
);
this
.
HotelImageArray
.
splice
(
index
,
1
);
//this.updatePic();
},
inited
(
viewer
){
this
.
$viewer
=
viewer
},
showImg
:
function
(
src
)
{
let
srcArr
=
src
.
split
(
'?'
)
src
=
srcArr
[
0
]
let
isExsit
=
false
this
.
images
.
forEach
(
x
=>
{
if
(
x
===
src
)
isExsit
=
true
})
if
(
!
isExsit
)
{
this
.
images
.
push
(
src
)
}
else
{
this
.
$viewer
.
view
(
this
.
images
.
indexOf
(
src
))
}
this
.
$viewer
.
show
()
},
addImgOpen
()
{
this
.
addimg
=
true
;
this
.
initimgList
();
},
saveResource
()
{
//保存酒店信息
if
(
this
.
isBook
)
{
this
.
addMsg
.
IsSelfBook
=
1
;
}
else
{
this
.
addMsg
.
IsSelfBook
=
0
;
}
this
.
addMsg
.
FacilityServices
=
`
${
JSON
.
stringify
(
this
.
serviceList
)}
`
;
this
.
addMsg
.
HotelPolicy
=
`
${
JSON
.
stringify
(
this
.
GetPolicy
)}
`
;
this
.
addMsg
.
OpenPlatform
=
this
.
openplatString
.
toString
();
this
.
addMsg
.
UseDinnerType
=
this
.
UseDinnerString
.
toString
();
if
(
this
.
addMsg
.
IsUseDinner
==
0
)
{
this
.
addMsg
.
UseDinnerType
=
""
;
}
if
(
this
.
hoteID
!=
"undefined"
)
{
this
.
addMsg
.
ID
=
this
.
hotelID
;
}
this
.
addMsg
.
HotelImageList
=
this
.
HotelImageArray
;
this
.
addMsg
.
DeleteImageList
=
this
.
DeleteImageArray
;
this
.
apipost
(
"hotel_post_Set"
,
this
.
addMsg
,
response
=>
{
//修改添加接口
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"保存成功!"
);
this
.
goUrl
(
"HotelManagement"
);
}
else
{
this
.
Error
(
response
.
data
.
message
);
}
},
null
);
},
init
()
{
var
msg
=
{};
this
.
apipost
(
"hotel_post_GetStar"
,
msg
,
response
=>
{
//初始化星级
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
starslevel
=
response
.
data
.
data
;
}
},
null
);
this
.
apipost
(
"hotel_post_GetPlatform"
,
msg
,
res
=>
{
//获取开放平台
this
.
openplatform
=
res
.
data
.
data
;
});
},
inithotelService
()
{
//初始化酒店服务
let
msg
=
{
Key
:
"SK_HOTEL_SERVICE"
};
this
.
apipost
(
"dict_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempArray
=
res
.
data
.
data
;
tempArray
.
forEach
(
item
=>
{
item
.
checked
=
[];
});
this
.
serviceList
=
tempArray
;
}
});
},
inithotelPolicy
()
{
//初始化酒店政策
let
msg
=
{
Key
:
"SK_HOTEL_POLICY"
};
this
.
apipost
(
"dict_post_GetList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
GetPolicy
=
response
.
data
.
data
;
}
});
},
initimgList
()
{
//初始化弹窗图片列表
var
keyWord
=
this
.
imgKeyword
;
this
.
imglistArry
=
[];
let
msg
=
{
Name
:
keyWord
};
this
.
apipost
(
"hotel_post_GetPicList"
,
msg
,
res
=>
{
},
init
()
{
var
msg
=
{};
this
.
apipost
(
"hotel_post_GetStar"
,
msg
,
response
=>
{
//初始化星级
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
starslevel
=
response
.
data
.
data
;
}
},
null
);
this
.
apipost
(
"hotel_post_GetPlatform"
,
msg
,
res
=>
{
//获取开放平台
this
.
openplatform
=
res
.
data
.
data
;
});
},
inithotelService
()
{
//初始化酒店服务
let
msg
=
{
Key
:
"SK_HOTEL_SERVICE"
};
this
.
apipost
(
"dict_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
imglistArry
=
res
.
data
.
data
;
this
.
totalimg
=
this
.
imglistArry
.
length
;
var
tempArray
=
res
.
data
.
data
;
tempArray
.
forEach
(
item
=>
{
item
.
checked
=
[];
});
this
.
serviceList
=
tempArray
;
}
},
null
);
},
selectImg
(
index
)
{
//选取弹窗图片
this
.
imglistArry
[
index
].
isShow
=
!
this
.
imglistArry
[
index
].
isShow
;
let
num
=
0
;
if
(
this
.
imglistArry
!=
null
)
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
num
++
;
});
},
inithotelPolicy
()
{
//初始化酒店政策
let
msg
=
{
Key
:
"SK_HOTEL_POLICY"
};
this
.
apipost
(
"dict_post_GetList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
GetPolicy
=
response
.
data
.
data
;
}
this
.
selecnum
=
num
;
});
}
},
initHotelData
()
{
var
msg
=
{
hotelID
:
this
.
hotelID
};
this
.
getDinnerList
();
var
_self
=
this
;
this
.
apipost
(
"hotel_post_GetAll"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
_self
.
addMsg
=
res
.
data
.
data
;
if
(
_self
.
addMsg
.
Country
>
0
)
{
this
.
GetSubAreaList
(
_self
.
addMsg
.
Country
,
1
,
1
);
}
if
(
_self
.
addMsg
.
Province
>
0
)
{
this
.
GetSubAreaList
(
_self
.
addMsg
.
Province
,
2
,
1
);
}
if
(
_self
.
addMsg
.
IsUseDinner
==
1
)
{
_self
.
isDinner
=
true
;
}
else
{
_self
.
isDinner
=
false
;
},
initimgList
()
{
//初始化弹窗图片列表
var
keyWord
=
this
.
imgKeyword
;
this
.
imglistArry
=
[];
let
msg
=
{
Name
:
keyWord
};
this
.
apipost
(
"hotel_post_GetPicList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
imglistArry
=
res
.
data
.
data
;
this
.
totalimg
=
this
.
imglistArry
.
length
;
}
if
(
_self
.
addMsg
.
UseDinnerType
!=
""
)
{
_self
.
UseDinnerformString
=
_self
.
addMsg
.
UseDinnerType
.
split
(
","
);
_self
.
UseDinnerformString
.
forEach
(
x
=>
{
_self
.
UseDinnerString
.
push
(
Number
(
x
));
});
},
null
);
},
selectImg
(
index
)
{
//选取弹窗图片
this
.
imglistArry
[
index
].
isShow
=
!
this
.
imglistArry
[
index
].
isShow
;
let
num
=
0
;
if
(
this
.
imglistArry
!=
null
)
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
num
++
;
}
this
.
selecnum
=
num
;
});
}
},
initHotelData
()
{
var
msg
=
{
hotelID
:
this
.
hotelID
};
this
.
getDinnerList
();
var
_self
=
this
;
this
.
apipost
(
"hotel_post_GetAll"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
_self
.
addMsg
=
res
.
data
.
data
;
if
(
_self
.
addMsg
.
Country
>
0
)
{
this
.
GetSubAreaList
(
_self
.
addMsg
.
Country
,
1
,
1
);
}
if
(
_self
.
addMsg
.
Province
>
0
)
{
this
.
GetSubAreaList
(
_self
.
addMsg
.
Province
,
2
,
1
);
}
if
(
_self
.
addMsg
.
IsUseDinner
==
1
)
{
_self
.
isDinner
=
true
;
}
else
{
_self
.
isDinner
=
false
;
}
if
(
_self
.
addMsg
.
UseDinnerType
!=
""
)
{
_self
.
UseDinnerformString
=
_self
.
addMsg
.
UseDinnerType
.
split
(
","
);
_self
.
UseDinnerformString
.
forEach
(
x
=>
{
_self
.
UseDinnerString
.
push
(
Number
(
x
));
});
}
if
(
_self
.
addMsg
.
OpenPlatform
!=
""
)
{
_self
.
OpenPlatformStrings
=
_self
.
addMsg
.
OpenPlatform
.
split
(
","
);
_self
.
OpenPlatformStrings
.
forEach
(
x
=>
{
_self
.
openplatString
.
push
(
Number
(
x
));
});
}
if
(
_self
.
addMsg
.
FacilityServices
!=
""
)
{
var
itemArray
=
JSON
.
parse
(
_self
.
addMsg
.
FacilityServices
);
_self
.
serviceList
.
forEach
(
item
=>
{
var
isFind
=
false
;
for
(
var
i
=
0
;
i
<
itemArray
.
length
;
i
++
)
{
if
(
item
.
ID
==
itemArray
[
i
].
ID
&&
itemArray
[
i
].
hasOwnProperty
(
"checked"
)
)
{
item
.
checked
=
itemArray
[
i
].
checked
;
break
;
if
(
_self
.
addMsg
.
OpenPlatform
!=
""
)
{
_self
.
OpenPlatformStrings
=
_self
.
addMsg
.
OpenPlatform
.
split
(
","
);
_self
.
OpenPlatformStrings
.
forEach
(
x
=>
{
_self
.
openplatString
.
push
(
Number
(
x
));
});
}
if
(
_self
.
addMsg
.
FacilityServices
!=
""
)
{
var
itemArray
=
JSON
.
parse
(
_self
.
addMsg
.
FacilityServices
);
_self
.
serviceList
.
forEach
(
item
=>
{
var
isFind
=
false
;
for
(
var
i
=
0
;
i
<
itemArray
.
length
;
i
++
)
{
if
(
item
.
ID
==
itemArray
[
i
].
ID
&&
itemArray
[
i
].
hasOwnProperty
(
"checked"
)
)
{
item
.
checked
=
itemArray
[
i
].
checked
;
break
;
}
}
}
});
}
if
(
_self
.
addMsg
.
HotelPolicy
!=
""
)
{
_self
.
GetPolicy
=
JSON
.
parse
(
_self
.
addMsg
.
HotelPolicy
);
}
_self
.
isBook
=
_self
.
addMsg
.
IsSelfBook
;
if
(
res
.
data
.
data
.
List
!=
null
)
{
//临时文件
res
.
data
.
data
.
List
.
forEach
(
imgItem
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
imgItem
.
ID
;
obj
.
Path
=
imgItem
.
Path
;
obj
.
PicID
=
imgItem
.
PicID
;
obj
.
ShowPath
=
_self
.
imgBeforeFile
+
imgItem
.
Path
;
this
.
HotelImageArray
.
push
(
obj
);
});
});
}
if
(
_self
.
addMsg
.
HotelPolicy
!=
""
)
{
_self
.
GetPolicy
=
JSON
.
parse
(
_self
.
addMsg
.
HotelPolicy
);
}
_self
.
isBook
=
_self
.
addMsg
.
IsSelfBook
;
if
(
res
.
data
.
data
.
List
!=
null
)
{
//临时文件
res
.
data
.
data
.
List
.
forEach
(
imgItem
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
imgItem
.
ID
;
obj
.
Path
=
imgItem
.
Path
;
obj
.
PicID
=
imgItem
.
PicID
;
obj
.
ShowPath
=
_self
.
imgBeforeFile
+
imgItem
.
Path
;
this
.
HotelImageArray
.
push
(
obj
);
});
}
}
else
{
_self
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
cache
:
true
}
});
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveResource
();
}
else
{
_self
.
Error
(
res
.
data
.
message
)
;
return
false
;
}
},
null
);
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
cache
:
true
});
},
//选中的数组
checkImgList
()
{
if
(
this
.
imglistArry
!=
null
)
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
Path
=
"/U"
+
this
.
$commonUtils
.
getCaption
(
x
.
Path
,
"Upload"
);
obj
.
ShowPath
=
x
.
Path
;
obj
.
PicID
=
x
.
ID
;
this
.
HotelImageArray
.
push
(
obj
);
}
x
.
isShow
=
false
;
this
.
selecnum
=
0
;
});
}
});
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveResource
();
this
.
addimg
=
false
;
},
googleMap
()
{
this
.
selectAddress
=
false
;
},
closeDMCchooseImg
()
{
this
.
addimg
=
false
;
},
headCall
(
msg
)
{
// this.addMsg.QCountry = msg.country;
// this.addMsg.QProvince = msg.province;
// this.addMsg.QCity = msg.city;
// this.addMsg.Address = msg.address;
this
.
addMsg
.
Lng
=
msg
.
lng
;
this
.
addMsg
.
Lat
=
msg
.
lat
;
},
getDMCimg
(
imgArr
)
{
imgArr
.
forEach
(
imgItem
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
0
;
obj
.
Path
=
this
.
$commonUtils
.
removeDomain
(
imgItem
.
Path
);
obj
.
PicID
=
imgItem
.
ID
;
obj
.
ShowPath
=
imgItem
.
Path
+
"?x-oss-process=image/resize,l_140"
;
this
.
HotelImageArray
.
push
(
obj
);
});
},
getSuplier
()
{
let
msg
=
{
Type
:
1
};
//HK新增查询条件
this
.
apipost
(
"supplier_post_GetAllList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
SupplierList
=
response
.
data
.
data
;
}
},
null
);
},
//获取用餐列表
getDinnerList
()
{
if
(
this
.
isDinner
)
{
this
.
addMsg
.
IsUseDinner
=
1
;
}
else
{
return
false
;
this
.
addMsg
.
IsUseDinner
=
0
;
}
});
},
//选中的数组
checkImgList
()
{
if
(
this
.
imglistArry
!=
null
)
{
this
.
imglistArry
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
Path
=
"/U"
+
this
.
$commonUtils
.
getCaption
(
x
.
Path
,
"Upload"
);
obj
.
ShowPath
=
x
.
Path
;
obj
.
PicID
=
x
.
ID
;
this
.
HotelImageArray
.
push
(
obj
);
}
x
.
isShow
=
false
;
this
.
selecnum
=
0
;
});
}
this
.
addimg
=
false
;
},
googleMap
()
{
this
.
selectAddress
=
false
;
},
closeDMCchooseImg
()
{
this
.
addimg
=
false
;
},
headCall
(
msg
)
{
// this.addMsg.QCountry = msg.country;
// this.addMsg.QProvince = msg.province;
// this.addMsg.QCity = msg.city;
// this.addMsg.Address = msg.address;
this
.
addMsg
.
Lng
=
msg
.
lng
;
this
.
addMsg
.
Lat
=
msg
.
lat
;
},
getDMCimg
(
imgArr
)
{
imgArr
.
forEach
(
imgItem
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
0
;
obj
.
Path
=
this
.
$commonUtils
.
removeDomain
(
imgItem
.
Path
);
obj
.
PicID
=
imgItem
.
ID
;
obj
.
ShowPath
=
imgItem
.
Path
+
"?x-oss-process=image/resize,l_140"
;
this
.
HotelImageArray
.
push
(
obj
);
});
},
getSuplier
()
{
let
msg
=
{
Type
:
1
};
//HK新增查询条件
this
.
apipost
(
"supplier_post_GetAllList"
,
msg
,
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
SupplierList
=
response
.
data
.
data
;
let
msg
=
{};
this
.
apipost
(
"hotel_get_GetUseDinnerTypeList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dinerList
=
res
.
data
.
data
;
}
},
null
);
},
//获取国家
GetCounrty
()
{
this
.
apipost
(
"dict_post_Destination_GetCountry"
,
{},
res
=>
{
this
.
CountryList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
//获取省份和城市
GetSubAreaList
(
ID
,
type
,
isClear
)
{
let
msg
=
{
Id
:
ID
};
if
(
type
==
1
)
{
if
(
isClear
!=
1
)
{
this
.
addMsg
.
Province
=
0
;
this
.
addMsg
.
City
=
0
;
}
},
null
);
},
//获取用餐列表
getDinnerList
()
{
if
(
this
.
isDinner
)
{
this
.
addMsg
.
IsUseDinner
=
1
;
}
else
{
this
.
addMsg
.
IsUseDinner
=
0
;
}
let
msg
=
{};
this
.
apipost
(
"hotel_get_GetUseDinnerTypeList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dinerList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
if
(
isClear
!=
1
)
{
this
.
addMsg
.
City
=
0
;
}
},
null
);
},
//获取国家
GetCounrty
()
{
this
.
apipost
(
"dict_post_Destination_GetCountry"
,
{},
res
=>
{
this
.
CountryList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
//获取省份和城市
GetSubAreaList
(
ID
,
type
,
isClear
)
{
let
msg
=
{
Id
:
ID
};
if
(
type
==
1
)
{
if
(
isClear
!=
1
)
{
this
.
addMsg
.
Province
=
0
;
this
.
addMsg
.
City
=
0
;
}
}
else
if
(
type
==
2
)
{
if
(
isClear
!=
1
)
{
this
.
addMsg
.
City
=
0
;
if
(
this
.
addMsg
.
Country
!=
0
)
{
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
msg
,
res
=>
{
if
(
type
==
1
)
{
this
.
ProvinceList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
this
.
CityList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
}
}
if
(
this
.
addMsg
.
Country
!=
0
)
{
},
//获取支付方式列表
GetPayList
()
{
this
.
apipost
(
"dict_post_Destination_GetChildList"
,
msg
,
"dmc_post_Get_GetPayStyleList"
,
{},
res
=>
{
if
(
type
==
1
)
{
this
.
ProvinceList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
this
.
CityList
=
res
.
data
.
data
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PayList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
}
},
//获取支付方式列表
GetPayList
()
{
this
.
apipost
(
"dmc_post_Get_GetPayStyleList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PayList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//获取酒店类型列表
GetHotelTypeList
()
{
this
.
apipost
(
"dmc_post_Get_GetHotelType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelTypeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
GetHotelPirceTypeList
()
{
this
.
apipost
(
"dmc_post_Get_GetHotelPriceType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelPirceTypeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//获取酒店类型列表
GetHotelTypeList
()
{
this
.
apipost
(
"dmc_post_Get_GetHotelType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelTypeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
GetHotelPirceTypeList
()
{
this
.
apipost
(
"dmc_post_Get_GetHotelPriceType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelPirceTypeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//图片左移右移
// ExchangeImg(index, IsMove) {
// var imgItem = this.HotelImageArray[index];
// //左移
// if (IsMove == 0) {
// var upItem = this.HotelImageArray[index - 1];
// this.$set(this.HotelImageArray, index - 1, imgItem);
// this.$set(this.HotelImageArray, index, upItem);
// } else {
// //右移动
// var downItem = this.HotelImageArray[index + 1];
// this.$set(this.HotelImageArray, index + 1, imgItem);
// this.$set(this.HotelImageArray, index, downItem);
// }
// },
},
//图片左移右移
// ExchangeImg(index, IsMove) {
// var imgItem = this.HotelImageArray[index];
// //左移
// if (IsMove == 0) {
// var upItem = this.HotelImageArray[index - 1];
// this.$set(this.HotelImageArray, index - 1, imgItem);
// this.$set(this.HotelImageArray, index, upItem);
// } else {
// //右移动
// var downItem = this.HotelImageArray[index + 1];
// this.$set(this.HotelImageArray, index + 1, imgItem);
// this.$set(this.HotelImageArray, index, downItem);
// }
// },
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
()
//有权限操作的部门
if
(
userInfo
.
RB_Department_Id
==
240
||
userInfo
.
RB_Department_Id
==
1
||
userInfo
.
RB_Department_Id
==
3
||
userInfo
.
RB_Branch_id
==
49
)
{
this
.
IsHaveAuth
=
1
;
}
this
.
GetPayList
();
this
.
GetHotelTypeList
();
this
.
GetHotelPirceTypeList
();
this
.
qMsg
=
this
.
$route
.
query
.
qMsg
;
this
.
hotelID
=
this
.
$route
.
query
.
id
;
var
jsArray
=
document
.
getElementsByTagName
(
"script"
);
var
flag
=
false
;
},
mounted
()
{
this
.
GetPayList
();
this
.
GetHotelTypeList
();
this
.
GetHotelPirceTypeList
();
this
.
qMsg
=
this
.
$route
.
query
.
qMsg
;
this
.
hotelID
=
this
.
$route
.
query
.
id
;
var
jsArray
=
document
.
getElementsByTagName
(
"script"
);
var
flag
=
false
;
var
jsUrl
=
this
.
domainManager
().
GoogleMapUrl
;
for
(
var
i
=
0
;
i
<
jsArray
.
length
;
i
++
)
{
if
(
jsArray
[
i
].
src
==
jsUrl
)
{
flag
=
true
;
}
}
if
(
!
flag
)
{
const
s
=
document
.
createElement
(
"script"
);
s
.
type
=
"text/javascript"
;
s
.
src
=
jsUrl
;
document
.
body
.
appendChild
(
s
);
}
this
.
GetCounrty
();
this
.
inithotelService
();
//初始化酒店服务
this
.
inithotelPolicy
();
//初始化酒店政策
this
.
init
();
//初始化星级和开放平台
this
.
getSuplier
();
//初始化供应商
var
jsUrl
=
this
.
domainManager
().
GoogleMapUrl
;
for
(
var
i
=
0
;
i
<
jsArray
.
length
;
i
++
)
{
if
(
jsArray
[
i
].
src
==
jsUrl
)
{
flag
=
true
;
if
(
this
.
hotelID
>
0
)
{
this
.
initHotelData
();
}
}
if
(
!
flag
)
{
const
s
=
document
.
createElement
(
"script"
);
s
.
type
=
"text/javascript"
;
s
.
src
=
jsUrl
;
document
.
body
.
appendChild
(
s
);
}
this
.
GetCounrty
();
this
.
inithotelService
();
//初始化酒店服务
this
.
inithotelPolicy
();
//初始化酒店政策
this
.
init
();
//初始化星级和开放平台
this
.
getSuplier
();
//初始化供应商
};
if
(
this
.
hotelID
>
0
)
{
this
.
initHotelData
();
}
}
};
</
script
>
src/components/Hotel/roomReservationsDetails.vue
View file @
2f1afcd6
...
...
@@ -133,16 +133,16 @@
</el-upload>
</div>
</td>
<!-- 房间
预定
数 -->
<!-- 房间数 -->
<td>
<el-input
class=
'w40 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkPrice(childItem,'HouseTypeCount')"
v-model=
'childItem.HouseTypeCount'
></el-input>
v-model=
'childItem.HouseTypeCount'
:disabled=
"childIndex
<4
?
true:false
"
></el-input>
</td>
<!-- 预定人数 -->
<td>
<el-input
class=
'w40 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'BookNum')"
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.BookNum'
></el-input>
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.BookNum'
:disabled=
"childIndex
<4
?
true:false
"
>
</el-input>
</td>
<!-- 尚差房间数 -->
<td>
...
...
@@ -200,10 +200,11 @@
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
'请选择'
:value=
'0'
></el-option>
<el-option
label=
'现付'
:value=
'1'
></el-option>
<el-option
label=
'签单'
:value=
'2'
></el-option>
<el-option
label=
'实物抵扣'
:value=
'5'
></el-option>
<el-option
label=
'预付'
:value=
'4'
></el-option>
<el-option
label=
'现付'
:value=
'1'
v-if=
"subItem.PayStyleExt==1"
></el-option>
<el-option
label=
'签单'
:value=
'2'
v-if=
"subItem.PayStyleExt==2"
></el-option>
<el-option
label=
'实物抵扣'
:value=
'3'
v-if=
"subItem.PayStyleExt==3"
></el-option>
<el-option
label=
'预付'
:value=
'4'
v-if=
"subItem.PayStyleExt==4"
></el-option>
<el-option
label=
'预付款抵扣'
:value=
'5'
v-if=
"subItem.PayStyleExt==5"
></el-option>
<el-option
label=
'公司合团支付'
:value=
'6'
></el-option>
</el-select>
</td>
...
...
@@ -240,6 +241,9 @@
<!-- 操作 -->
<td
v-if=
"childIndex==0"
:rowspan=
"5"
>
<!--v-if="subItem.OPState!=1"-->
<template
v-if=
"subItem.OPState!=1"
>
<span
class=
"Hotel_red"
>
OP选房确认
</span>
</
template
>
<
template
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"保存"
placement=
"top-start"
>
<el-button
icon=
"iconfont icon-baocun1"
@
click=
"SaveSingle(subItem)"
type=
"primary"
></el-button>
...
...
@@ -253,7 +257,7 @@
</el-button>
</el-tooltip>
</
template
>
<!--
<template v-else>
<!--<template v-else>
<span class="Hotel_red">OP选房确认</span>
</template> -->
</td>
...
...
@@ -466,6 +470,8 @@
obj
.
Address
=
ckedObj
.
Address
;
obj
.
Tel
=
ckedObj
.
Tel
;
obj
.
NewHotelName
=
ckedObj
.
Name
;
obj
.
PayStyle
=
ckedObj
.
PayStyle
;
obj
.
PayStyleExt
=
ckedObj
.
PayStyle
;
}
else
{
obj
.
Address
=
''
;
obj
.
Tel
=
''
;
...
...
@@ -509,11 +515,11 @@
})
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
list
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
loading
=
false
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
...
...
@@ -579,7 +585,7 @@
let
width
=
window
.
innerWidth
-
50
;
let
height
=
window
.
innerHeight
-
65
-
55
;
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
this
.
offsetwidth
=
width
;
this
.
getList
();
}
}
...
...
src/components/Restaurant/bookDinnerStatisticsDetails.vue
View file @
2f1afcd6
...
...
@@ -121,6 +121,7 @@
<el-option
label=
'签单'
value=
'2'
></el-option>
<el-option
label=
'实物抵扣'
value=
'3'
></el-option>
<el-option
label=
'预付'
value=
'4'
></el-option>
<el-option
label=
'公司合团支付'
value=
'6'
></el-option>
</el-select>
</td>
</tr>
...
...
@@ -136,6 +137,14 @@
<el-option
label=
'导游预订'
value=
'2'
></el-option>
</el-select>
</td>
</tr>
<tr
v-show=
"subItem.PayStyle==6"
>
<td
width=
"60"
style=
"text-align:right;"
>
付款团号:
</td>
<td
style=
"text-align:left;"
>
<el-input
class=
'w135'
v-model=
'subItem.PayTypeTCNUM'
type=
"text"
></el-input>
</td>
</tr>
<tr>
<td
width=
"60"
style=
"text-align:right;"
>
...
...
src/components/SalesModule/groupTourOrderByTuan.vue
View file @
2f1afcd6
...
...
@@ -1477,8 +1477,8 @@
<div>
领队导游
</div>
</div>
</div>
<!--
v-if="tuanInfo.config.IsOrder!=1"
-->
<div
style=
"float:right"
>
<!-- -->
<div
v-if=
"tuanInfo.config.IsOrder!=1"
style=
"float:right"
>
<span
style=
"color:#f78989"
>
订单操作已关闭,如需修改请联系OP.
</span>
</div>
...
...
src/components/SalesModule/productQuery.vue
View file @
2f1afcd6
...
...
@@ -702,6 +702,49 @@
<p><span>
出发城市
</span>
{{item.StartCityName}}
</p>
<p><span>
返回城市
</span>
{{item.ReturnArriveCityName}}
</p>
<p><span>
出团公司
</span>
{{item.OutBranchName}}
</p>
<p
v-if=
"item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "
>
<el-popover
width=
"600"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"singeRowTable"
>
<tr>
<th
width=
"100"
>
日期
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:150px;"
>
酒店
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:240px;"
>
酒店情况
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:100px"
>
占房时间
</th>
</tr>
<
template
v-for=
"subItem in item.HotelOrderListReports"
>
<tr
v-for=
"(childItem,childIndex) in subItem.SubList"
>
<td
width=
"100"
v-if=
"childIndex==0"
:rowspan=
"subItem.SubList.length"
>
{{
subItem
.
UseDay
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
{{
childItem
.
HotelName
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
<a
style=
"color:green"
v-if=
"childItem.HotelName!='温馨的家'"
>
【
<template
v-if=
"childItem.OPState==1"
>
OP-OK
</
template
>
<
template
v-else-if=
"childItem.OPState==2&&childItem.DMCState==0"
>
OP-暂定
</
template
>
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"地接-OK"
:(
childItem
.
DMCState
==
2
?
"地接-暂定"
:
"地接-未操作"
)
}}
</
template
>
】
</a>
<a
v-if=
"(childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0))&& childItem.UseCount>0 "
style=
"color:green"
>
【使用: {{childItem.UseCount}} 间 {{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}} 】
</a>
</td>
<td>
<
template
v-if=
"childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)"
>
{{
childItem
.
CreateDateStr
}}
</
template
>
</td>
</tr>
</template>
</table>
<span
slot=
"reference"
class=
"price"
style=
"cursor:pointer;text-decoration:underline;"
>
酒店预订状况
</span>
</el-popover>
</p>
</div>
<div
class=
"d4"
>
<p><i
class=
"iconfont icon-jiage"
></i>
价格信息
</p>
...
...
@@ -782,51 +825,6 @@
<span
slot=
"reference"
class=
"price"
>
查看价格明细
</span>
</el-popover>
</p>
<!-- <p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 ">
<el-popover width="600" trigger="click" popper-class="TC_HotelPop">
<div>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="singeRowTable">
<tr>
<th width="100">日期</th>
<th style="border-right:1px solid #E5E5E5">酒店情况</th>
<th width="100" style="border-right:1px solid #E5E5E5">占房时间</th>
</tr>
<tr v-for="subItem in item.HotelOrderListReports">
<td width="100">
{{subItem.UseDay}}
</td>
<td style="text-align:left;padding:3px 10px;">
<template v-if="subItem.SubList">
<div v-if="subItem.SubList.length==1 && subItem.SubList[0].UseCount>0 ">
{{subItem.SubList[0].HotelName}}
<a style="color:green">{{subItem.SubList[0].Status==1?"【OK】":"【暂定】"}}</a>
【<a
style="color:green"> 本团使用库存:{{subItem.SubList[0].UseCount}}
{{subItem.SubList[0].CostPrice!=0?"价格:"+subItem.SubList[0].CostPrice:""}}</a>】</div>
<template v-else v-for="childItem in subItem.SubList">
<div>{{childItem.HotelName}} {{childItem.HotelName!="温馨的家"?"【暂定】":""}}</div>
</template>
</template>
</td>
<td>
<template v-if="subItem.SubList">
<div v-if="subItem.SubList.length==1 && subItem.SubList[0].UseCount>0 ">
{{subItem.SubList[0].CreateDateStr}}
</div>
<template v-else v-for="childItem in subItem.SubList">
<div></div>
</template>
</template>
</td>
</tr>
</table>
</div>
<span slot="reference" class="price">酒店信息</span>
</el-popover>
</p> -->
</div>
<div
class=
"d5"
>
<p><i
class=
"iconfont icon-tuanwei"
></i>
团位信息
</p>
...
...
src/components/TravelManager/TravelList/RegistrationList.vue
View file @
2f1afcd6
...
...
@@ -2367,13 +2367,31 @@
</div>
<table
class=
"RS_visaTable"
>
<tr>
<th>
签发地
</th>
<th>
类型
</th>
<th
width=
100
>
到期日
</th>
<th
colspan=
"3"
>
请假信息
</th>
</tr>
<tr>
<td
colspan=
"3"
>
无签证信息
</td>
<th>
姓名
</th>
<th>
类型
</th>
<th
width=
100
>
时间
</th>
</tr>
<
template
v-if=
"LeaderHolidyList&&LeaderHolidyList.length>0"
>
<tr
v-for=
"(leaderItem,leaderIndex) in LeaderHolidyList"
>
<td>
{{
LeaderInfoList
.
LeaderGuide
.
Surname
}}{{
LeaderInfoList
.
LeaderGuide
.
Name
}}
</td>
<td>
请假
</td>
<td>
{{
leaderItem
.
StartDateStr2
}}
到
{{
leaderItem
.
EndDateStr2
}}
</td>
</tr>
</
template
>
<
template
v-else
>
<tr>
<td
colspan=
"3"
>
暂无请假信息
</td>
</tr>
</
template
>
</table>
</div>
<div>
...
...
@@ -2966,6 +2984,8 @@
ScheduleArray
:
[],
ckedIndex
:
-
1
,
LeaderInfoList
:
[],
//领队请假信息
LeaderHolidyList
:
[],
beforeInfo
:
{
DuringHoliday
:
''
,
date
:
''
,
...
...
@@ -3136,7 +3156,8 @@
this
.
isShowLayer
=
false
;
this
.
isShowLayer2
=
true
;
}
let
maxPeopleNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNoNeedBedNum
)
+
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
AirticketNum
)
)
let
maxPeopleNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNoNeedBedNum
)
+
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
AirticketNum
))
this
.
Unit_PriceList
=
[];
this
.
apipost
(
'sellorder_post_GetLessPrice'
,
{
"TCID"
:
obj
.
TCID
,
...
...
@@ -4426,6 +4447,8 @@
},
//点击选中名单
getLeaderInfo
(
index
,
LeaderId
)
{
this
.
LeaderInfoList
=
{};
this
.
LeaderHolidyList
=
[];
this
.
ckedIndex
=
index
;
let
msg
=
{
ID
:
LeaderId
,
...
...
@@ -4435,6 +4458,7 @@
"leader_Get_GetPriceLeaderInfo"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LeaderHolidyList
=
res
.
data
.
data
.
holidyList
;
this
.
LeaderInfoList
=
res
.
data
.
data
;
this
.
beforeInfo
.
DuringHoliday
=
""
;
this
.
beforeInfo
.
date
=
""
;
...
...
src/components/TravelManager/TravelList/RegistrationStatistics.vue
View file @
2f1afcd6
...
...
@@ -182,7 +182,7 @@
{{
item
.
StartCityName
}}
</td>
<td>
{{
item
.
LtName
}}
</td>
<td>
{{
item
.
StartDateStr
}}
{{
item
.
AlCode
}}
</td>
<td><span
title=
"点击跳转到团控列表"
:class=
"item.TCID>0?'RS_RedType PingFangSC Order_RS':'Order_RS'"
@
click=
"goUrl('TravelControlList',item.TCNUM,'团控列表')"
>
{{
item
.
TCID
}}
</span></td>
<td><span
title=
"点击跳转到团控列表"
:class=
"item.TCID>0?'RS_RedType PingFangSC Order_RS':'Order_RS'"
@
click=
"goUrl
TCList
('TravelControlList',item.TCNUM,'团控列表')"
>
{{
item
.
TCID
}}
</span></td>
<td>
{{
item
.
InOut
}}
</td>
<td>
{{
item
.
InOutTime
}}
</td>
<td>
{{
item
.
B2CMemberPrice
}}
</td>
...
...
@@ -251,6 +251,16 @@
};
},
methods
:
{
goUrlTCList
(
path
,
TCNUMS
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
tcmun
:
TCNUMS
,
blank
:
'y'
,
tab
:
title
}
})
},
//初始化公司
getCompanyList
()
{
let
userInfo
=
this
.
getLocalStorage
();
...
...
src/components/TravelManager/TravelList/TeamBalancePayment.vue
View file @
2f1afcd6
...
...
@@ -141,7 +141,11 @@
.span_all
{
margin-left
:
15px
;
}
.TeamExpectList
{
max-height
:
105px
;
overflow
:
auto
;
margin-bottom
:
0
!important
;
}
</
style
>
<
template
>
...
...
@@ -233,26 +237,29 @@
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_lirun"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
其他
</span>
提成
</div>
<div>
提成:
</div>
<div
class=
"Team_Incontent"
style=
"height:50px;overflow:auto;margin-bottom:10px;"
>
<div>
<div
style=
"margin-bottom:6px;"
>
<div
class=
"Team_Incontent"
style=
"margin-bottom:0;"
>
<div
class=
"TeamExpectList"
>
<template
v-for=
"subItem in DataList.ExpectedCutList"
>
<div
style=
"margin-bottom:5px;"
>
{{
subItem
.
BranchName
}}
¥
{{
subItem
.
expectedCut
}}
</div>
</
template
>
</div>
</div>
<div>
联运成本:
<span>
¥{{DataList.LYCB}}
</span></div>
</div>
</div>
</el-col>
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_lirun"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
优惠
</span>
挂账信息
</div>
<div
class=
"Team_Incontent"
>
<div>
金额:
<span>
¥{{DataList.TeamBalance.DiscountMoney}}
</span></div>
<div>
挂账总金额:
<span>
¥{{moneyFormat(AllCont.Income - AllCont.Expend)}}
</span></div>
<div>
挂账总支出:
<span>
¥{{moneyFormat(AllCont.Expend)}}
</span></div>
<div>
挂账总收入:
<span>
¥{{moneyFormat(AllCont.Income)}}
</span></div>
</div>
</div>
</el-col>
...
...
@@ -261,15 +268,14 @@
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_lirun"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
挂账信息
</span>
优惠
</div>
<div
class=
"Team_Incontent"
>
<div>
挂账总金额:
<span>
¥{{moneyFormat(AllCont.Income - AllCont.Expend)}}
</span></div>
<div>
挂账总支出:
<span>
¥{{moneyFormat(AllCont.Expend)}}
</span></div>
<div>
挂账总收入:
<span>
¥{{moneyFormat(AllCont.Income)}}
</span></div>
<div>
金额:
<span>
¥{{DataList.TeamBalance.DiscountMoney}}
</span></div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
2f1afcd6
...
...
@@ -481,13 +481,56 @@
{{
item
.
OutBranchName
}}
</p>
<p
class=
"travelnowrap"
v-if=
"item.WordPath!=''"
>
<a
style=
"c
o
rsor:pointer;"
<a
style=
"c
u
rsor:pointer;"
:href=
"domainManager().ViittoFileUrl+item.WordPath"
>
{{
$t
(
'Operation.Op_downLoadword'
)
}}
</a>
</p>
<p
class=
"travelnowrap"
v-if=
"item.ClearOrderHour>0"
>
<span>
已设定清位
</span>
<span
class=
"TCL-greenType"
>
{{
item
.
ClearOrderHour
}}
小时
</span>
</p>
<p
v-if=
"item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "
>
<el-popover
width=
"600"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"singeRowTable"
>
<tr>
<th
width=
"100"
>
日期
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:150px;"
>
酒店
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:240px;"
>
酒店情况
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:100px"
>
占房时间
</th>
</tr>
<template
v-for=
"subItem in item.HotelOrderListReports"
>
<tr
v-for=
"(childItem,childIndex) in subItem.SubList"
>
<td
width=
"100"
v-if=
"childIndex==0"
:rowspan=
"subItem.SubList.length"
>
{{
subItem
.
UseDay
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
{{
childItem
.
HotelName
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
<a
style=
"color:green"
v-if=
"childItem.HotelName!='温馨的家'"
>
【
<template
v-if=
"childItem.OPState==1"
>
OP-OK
</
template
>
<
template
v-else-if=
"childItem.OPState==2&&childItem.DMCState==0"
>
OP-暂定
</
template
>
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"地接-OK"
:(
childItem
.
DMCState
==
2
?
"地接-暂定"
:
"地接-未操作"
)
}}
</
template
>
】
</a>
<a
v-if=
"(childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0))&& childItem.UseCount>0 "
style=
"color:green"
>
【使用: {{childItem.UseCount}} 间 {{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}} 】
</a>
</td>
<td>
<
template
v-if=
"childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)"
>
{{
childItem
.
CreateDateStr
}}
</
template
>
</td>
</tr>
</template>
</table>
<span
slot=
"reference"
class=
"price"
style=
"cursor:pointer;text-decoration:underline;"
>
酒店预订状况
</span>
</el-popover>
</p>
</div>
</div>
<div
class=
"el-col"
style=
"width:190px;"
>
...
...
@@ -557,49 +600,7 @@
<span
slot=
"reference"
class=
"price"
>
{{$t('Operation.Op_priceDetail')}}
</span>
</el-popover>
</p>
<p
v-if=
"item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "
>
<el-popover
width=
"600"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"singeRowTable"
>
<tr>
<th
width=
"100"
>
日期
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:150px;"
>
酒店
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:240px;"
>
酒店情况
</th>
<th
style=
"border-right:1px solid #E5E5E5;width:100px"
>
占房时间
</th>
</tr>
<template
v-for=
"subItem in item.HotelOrderListReports"
>
<tr
v-for=
"(childItem,childIndex) in subItem.SubList"
>
<td
width=
"100"
v-if=
"childIndex==0"
:rowspan=
"subItem.SubList.length"
>
{{
subItem
.
UseDay
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
{{
childItem
.
HotelName
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
<a
style=
"color:green"
v-if=
"childItem.HotelName!='温馨的家'"
>
【
<template
v-if=
"childItem.OPState==1"
>
OP-OK
</
template
>
<
template
v-else-if=
"childItem.OPState==2&&childItem.DMCState==0"
>
OP-暂定
</
template
>
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"地接-OK"
:(
childItem
.
DMCState
==
2
?
"地接-暂定"
:
"地接-未操作"
)
}}
</
template
>
】
</a>
<a
v-if=
"(childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0))&& childItem.UseCount>0 "
style=
"color:green"
>
【使用: {{childItem.UseCount}} 间 {{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}} 】
</a>
</td>
<td>
<
template
v-if=
"childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)"
>
{{
childItem
.
CreateDateStr
}}
</
template
>
</td>
</tr>
</template>
</table>
<span
slot=
"reference"
class=
"price"
>
酒店信息
</span>
</el-popover>
</p>
</div>
</div>
<div
class=
"el-col"
style=
"width:150px;"
>
...
...
src/components/busManagement/BusInfo.vue
View file @
2f1afcd6
...
...
@@ -542,7 +542,6 @@
{
obj
.
CostPrice
=
tempCostFee
;
}
}
}
else
{
obj
.
PayType
=
null
;
...
...
src/components/scenicSpot/admissionStatisticsDetails.vue
View file @
2f1afcd6
...
...
@@ -110,8 +110,17 @@
<el-option
label=
'签单'
value=
'2'
></el-option>
<el-option
label=
'实物抵扣'
value=
'5'
></el-option>
<el-option
label=
'预付'
value=
'4'
></el-option>
<el-option
label=
'公司合团支付'
value=
'6'
></el-option>
</el-select>
</td>
</tr>
<tr
v-show=
"subItem.PayStyle==6"
>
<td
width=
"60"
style=
"text-align:right;"
>
付款团号:
</td>
<td
style=
"text-align:left;"
>
<el-input
class=
'w135'
v-model=
'subItem.PayTypeTCNUM'
type=
"text"
></el-input>
</td>
</tr>
<tr>
<td
width=
"60"
style=
"text-align:right;"
>
...
...
@@ -121,6 +130,7 @@
<el-input
class=
'w135'
v-model=
'subItem.CombinationNum'
type=
"text"
></el-input>
</td>
</tr>
</table>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
...
...
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