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
ddaccdc9
Commit
ddaccdc9
authored
Jan 15, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
8356d4c1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1210 additions
and
223 deletions
+1210
-223
groupApproval.vue
src/components/FinancialModule/groupApproval.vue
+7
-4
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+1
-1
oneDayTrip.vue
src/components/TravelManager/TravelList/oneDayTrip.vue
+1
-1
CharteringInfoManage.vue
...sManagement/CharteringManagement/CharteringInfoManage.vue
+211
-125
CharteringPackagePrice.vue
...anagement/CharteringManagement/CharteringPackagePrice.vue
+878
-0
CharteringProductList.vue
...Management/CharteringManagement/CharteringProductList.vue
+37
-5
CharteringQuotation.vue
...usManagement/CharteringManagement/CharteringQuotation.vue
+60
-80
Map.vue
...nts/busManagement/CharteringManagement/components/Map.vue
+6
-6
config.js
src/router/config.js
+9
-1
No files found.
src/components/FinancialModule/groupApproval.vue
View file @
ddaccdc9
...
...
@@ -18,7 +18,7 @@
<span>
<em>
团号
</em>
<el-input
maxlength=
"50"
v-model=
"msg.TCNUM"
class=
"permiss-input w200"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
@
keyup
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
...
...
@@ -29,7 +29,10 @@
@
keyup
.
native=
"checkInteger(msg,'TCID')"
></el-input>
</span>
</li>
<li></li>
<li>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"getControlList"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
</div>
<ul
class=
"_nav clearfix"
>
...
...
@@ -141,7 +144,7 @@
type=
"button"
class=
"hollowFixedBtn"
value=
"关闭"
@
click=
"cancelOrderDialog = false"
@
click=
"cancelOrderDialog = false
,cancelRemark=''
"
/>
</el-col>
</el-row>
...
...
@@ -282,7 +285,7 @@
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
}
err
=>
{
}
);
},
goTeamBalance
(
id
,
OutBranchId
)
{
//团队收支明细
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
ddaccdc9
...
...
@@ -1047,7 +1047,7 @@
<div
class=
"TC_remarkContent"
v-if=
"item.OPRemark||item.OPInnerRemark||item.DmcRemarkLast||item.OutGroupAuditRemark"
>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OutGroupAuditState==3&&item.OutGroupAuditRemark"
>
<div
class=
"TCL_remarkTitle"
>
驳回缘由:
</div>
<div
class=
"TCL_Content"
>
{{item.OutGroupAuditRemark}}
日期:
{{item.OutGroupAuditDate}}
</div>
<div
class=
"TCL_Content"
>
{{item.OutGroupAuditRemark}} {{item.OutGroupAuditDate}}
</div>
</div>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OPRemark"
>
<div
class=
"TCL_remarkTitle"
>
{{$t('Operation.Op_duiwaiRemark')}}:
</div>
...
...
src/components/TravelManager/TravelList/oneDayTrip.vue
View file @
ddaccdc9
...
...
@@ -637,7 +637,7 @@
<div
class=
"TC_remarkContent"
v-if=
"item.OPRemark||item.OPInnerRemark||item.DmcRemarkLast||item.OutGroupAuditRemark"
>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OutGroupAuditState==3&&item.OutGroupAuditRemark"
>
<div
class=
"TCL_remarkTitle"
>
驳回缘由:
</div>
<div
class=
"TCL_Content"
>
{{
item
.
OutGroupAuditRemark
}}
日期:
{{
item
.
OutGroupAuditDate
}}
</div>
<div
class=
"TCL_Content"
>
{{
item
.
OutGroupAuditRemark
}}
{{
item
.
OutGroupAuditDate
}}
</div>
</div>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OPRemark"
>
<div
class=
"TCL_remarkTitle"
>
{{
$t
(
'Operation.Op_duiwaiRemark'
)
}}
:
</div>
...
...
src/components/busManagement/CharteringManagement/CharteringInfoManage.vue
View file @
ddaccdc9
<
style
>
.addlist
{
position
:
absolute
;
right
:
158px
;
top
:
6px
;
cursor
:
pointer
;
color
:
#E95252
;
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
text-align
:
center
;
line-height
:
30px
;
border-radius
:
50%
;
font-size
:
22px
;
}
.scenicSpotInfoManage
.resourceImgAdd
{
width
:
620px
;
margin
:
auto
;
...
...
@@ -385,6 +399,9 @@
.scenicSpotInfoManage
.resourcerightTop
span
{
display
:
inline-block
;
}
.scenicSpotInfoManage
.resourcerightTop
span
.width62
{
width
:
62px
;
}
.scenicSpotInfoManage
.sheshi
{
margin-bottom
:
20px
;
...
...
@@ -514,7 +531,7 @@
}
.scenicSpotInfoManage
.footabs
{
width
:
300
px
;
width
:
286
px
;
min-height
:
34px
;
border
:
1px
solid
#d1d1d1
;
margin-left
:
10px
;
...
...
@@ -742,29 +759,37 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"区"
prop=
"District"
v-if=
"item.City>0"
>
<
!--
<
el-form-item
label=
"区"
prop=
"District"
v-if=
"item.City>0"
>
<el-select
v-model=
"item.District"
class=
"w300"
@
change=
"getArea"
filterable
:placeholder=
"$t('hotel.hotel_area')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in district"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
-->
</
template
>
<
template
v-for=
"(item,index) in addMsg.AirportList"
>
<el-form-item
label=
"机场"
:prop=
"`AirportList.$
{index}.AirportId`" :rules="rules.AirportId">
<el-select
placeholder=
"请选择机场"
filterable
v-model=
"item.AirportId"
@
change=
"getAirportItem(item.AirportId)"
class=
'multiple_input w300'
>
<el-option
v-for=
'item in Departure_airport'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<div
style=
"position: relative;"
>
<el-select
placeholder=
"请选择机场"
filterable
v-model=
"item.AirportId"
@
change=
"getAirportItem(item,item.AirportId)"
class=
'multiple_input w300'
>
<el-option
v-for=
'item in Departure_airport'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<i
v-if=
"index==0"
class=
"el-icon-circle-plus addlist"
@
click=
"clickAirport(index,1)"
></i>
<i
v-else
class=
"el-icon-delete addlist"
@
click=
"clickAirport(index)"
></i>
</div>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_detailinfo')"
:prop=
"`AirportList.$
{index}.Address`" :rules="rules.Address">
<el-input
placeholder=
"请输入详细地址"
class=
"w300 addAddress"
v-model=
"item.Address"
>
<el-button
slot=
"append"
@
click=
"selectAddress = true"
icon=
"iconfont icon-img_dw"
></el-button>
<el-form-item
label=
"机场(IATA)"
:prop=
"`AirportList.$
{index}.Name`" :rules="rules.Name2">
{{
item
.
AirportName
}}
<el-input
maxlength=
"100"
placeholder=
"请输入机场地址(IATA)"
class=
"w300 addAddress"
v-model=
"item.Name"
></el-input>
</el-form-item>
<el-form-item
label=
"机场详细地址"
:prop=
"`AirportList.$
{index}.Address`" :rules="rules.Address">
<el-input
maxlength=
"600"
placeholder=
"请输入机场详细地址"
class=
"w300 addAddress"
v-model=
"item.Address"
>
<el-button
slot=
"append"
@
click=
"clickMapAddress(1,item.Address,index)"
icon=
"iconfont icon-img_dw"
></el-button>
</el-input>
</el-form-item>
<div
class=
"toolOne"
>
<span
class=
"fanbili"
>
地理位置
</span>
<div
class=
"toolOne"
style=
"margin: 0 0 28px 13px;"
>
<span
class=
"fanbili"
>
机场
地理位置
</span>
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
经度
</div>
...
...
@@ -776,51 +801,80 @@
</div>
</div>
</div>
</
template
>
<
template
v-for=
"(item,index) in addMsg.PlaceList"
>
<el-form-item
label=
"距离范围"
prop=
""
>
<el-input
type=
"Number"
placeholder=
"距离中心点范围"
class=
"w300 addAddress"
v-model=
"item.Range"
></el-input>
<el-form-item
label=
"上车地址"
:prop=
"`PlaceList.$
{index}.Name`" :rules="rules.Name3">
<div
style=
"position: relative;"
>
<el-input
maxlength=
"100"
placeholder=
"请输入上车地址"
class=
"w300 addAddress"
v-model=
"item.Name"
></el-input>
<i
v-if=
"index==0"
class=
"el-icon-circle-plus addlist"
@
click=
"clickPlace(index,1)"
></i>
<i
v-else
class=
"el-icon-delete addlist"
@
click=
"clickPlace(index)"
></i>
</div>
</el-form-item>
<el-form-item
label=
"上车详细地址"
:prop=
"`PlaceList.$
{index}.Address`" :rules="rules.Address">
<el-input
maxlength=
"300"
placeholder=
"请输入上车详细地址"
class=
"w300 addAddress"
v-model=
"item.Address"
>
<el-button
slot=
"append"
@
click=
"clickMapAddress(2,item.Address,index)"
icon=
"iconfont icon-img_dw"
></el-button>
</el-input>
</el-form-item>
<el-form-item
label=
"多边形描点"
prop=
""
>
<el-input
type=
"Number"
placeholder=
"距离中心点范围"
class=
"w300 addAddress"
v-model=
"item.LngLatMultiple"
>
<div
class=
"toolOne"
style=
"margin: 0 0 28px 13px;"
>
<span
class=
"fanbili"
>
上车地理位置
</span>
<div
class=
"RabateDiv clearfix"
>
<div
class=
"RebateCount reOne"
>
<div
class=
"leftPnum"
>
经度
</div>
<input
type=
"text"
class=
"toolInput inpuOne"
v-model=
"item.Lng"
maxlength=
"20"
>
</div>
<div
class=
"RebateCount reTwo"
>
<div
class=
"fanNum"
>
纬度
</div>
<input
type=
"text"
class=
"toolInput inpuTwo"
v-model=
"item.Lat"
maxlength=
"20"
>
</div>
</div>
</div>
<el-form-item
label=
"距离中心范围"
:prop=
"`PlaceList.$
{index}.Range`" :rules="rules.Range" >
<el-input
type=
"Number"
placeholder=
"上车距离中心范围"
class=
"w300 addAddress"
v-model=
"item.Range"
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"上车多边形描点"
prop=
""
>
<el-input
type=
"Number"
placeholder=
"上车多边形描点"
class=
"w300 addAddress"
v-model=
"item.LngLatMultiple"
>
<el-button
slot=
"append"
@
click=
"selectAddress = true"
icon=
"iconfont icon-img_dw"
></el-button>
</el-input>
</el-form-item
>
</el-form-item>
--
>
</
template
>
<el-form-item
label=
"包车时长"
prop=
"TravelHours"
v-if=
"addMsg.CarType==3"
>
<el-input
type=
"Number"
placeholder=
"请输入包车时长"
class=
"w300 addAddress"
:min=
"0"
v-model=
"addMsg.TravelHours"
>
<span
slot=
"append"
>
小时
</span>
</el-input>
</el-form-item>
<el-form-item
label=
"提前取消时间"
prop=
""
>
<el-input
type=
"Number"
placeholder=
"提前几天可免费取消"
class=
"w300 addAddress"
:min=
"0"
v-model=
"addMsg.FreeCancelDay"
>
<span
slot=
"append"
>
天
</span>
</el-input>
</el-form-item>
<div
class=
"toolOne"
>
<span
class=
"fdTag"
>
费用包含
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in addMsg.PriceIncludeList"
closable
:disable-transitions=
"false"
@
close=
"handleClose(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible"
v-model=
"inputValue"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm"
@
blur=
"handleInputConfirm"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
<div
class=
"toolOne"
>
<span
class=
"fdTag"
>
费用不包含
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in addMsg.PriceNotIncludeList"
closable
:disable-transitions=
"false"
@
close=
"handleClose2(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible2"
v-model=
"inputValue2"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm2"
@
blur=
"handleInputConfirm2"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput2"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
</div>
<div
class=
"resource-imginfo"
>
<div
class=
"resourcerightTop"
>
<div
class=
"toolOne"
>
<span
class=
"fdTag width62"
>
费用包含
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in addMsg.PriceIncludeList"
closable
:disable-transitions=
"false"
@
close=
"handleClose(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible"
v-model=
"inputValue"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm"
@
blur=
"handleInputConfirm"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
<div
class=
"toolOne"
>
<span
class=
"fdTag width62"
>
费用不包含
</span>
<div
class=
"footabs"
>
<el-tag
:key=
"tag"
v-for=
"tag in addMsg.PriceNotIncludeList"
closable
:disable-transitions=
"false"
@
close=
"handleClose2(tag)"
>
{{tag}}
</el-tag>
<el-input
class=
"input-new-tag"
v-if=
"inputVisible2"
v-model=
"inputValue2"
maxlength=
"6"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm2"
@
blur=
"handleInputConfirm2"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput2"
>
+ {{$t('pub.addBtn')}}
</el-button>
</div>
</div>
<el-form-item
label=
"产品介绍"
>
<el-input
type=
"textarea"
class=
"w300"
maxlength=
"1000"
v-model=
"addMsg.Introduce"
></el-input>
</el-form-item>
...
...
@@ -834,7 +888,7 @@
<el-input
type=
"textarea"
maxlength=
"1000"
v-model=
"addMsg.CancelPolicy"
class=
"w300"
></el-input>
</el-form-item>
<el-form-item
label=
"描述"
prop=
""
>
<el-input
type=
"textarea"
maxlength=
"
10
00"
v-model=
"addMsg.Description"
class=
"w300"
></el-input>
<el-input
type=
"textarea"
maxlength=
"
3
00"
v-model=
"addMsg.Description"
class=
"w300"
></el-input>
</el-form-item>
</div>
<span
class=
"resource-lititle"
>
{{$t('hotel.hotel_imgintroduce')}}
</span>
...
...
@@ -880,13 +934,21 @@
</el-dialog>
<el-dialog
custom-class=
"mapList"
title=
"地图选址"
center
:visible
.
sync=
"selectAddress"
>
<Map
@
refList=
"selectAddress=false"
v-on:headCallBack=
"headCall"
v-bind:Address=
"addMsg.AirportList[0].Address"
:id=
"ID"
></Map>
<Map
@
refList=
"selectAddress=false"
v-on:headCallBack=
"headCall"
v-bind:Address=
"Address"
:id=
"ID"
:type=
"MapType"
:index=
"index"
></Map>
<!-- <template v-if="MapType==1">
<Map @refList="selectAddress=false" v-on:headCallBack="headCall" v-bind:Address="addMsg.AirportList[0].Address" :id="ID" :type="MapType"></Map>
</template>
<template v-else>
<Map2 @refList="selectAddress=false" v-on:headCallBack="headCall" v-bind:Address="addMsg.AirportList[0].Address" :id="ID" :type="MapType"></Map2>
</template> -->
</el-dialog>
<div
class=
"btn-list"
>
<span
class=
"common-lefttit"
></span>
<button
class=
"save-Btn"
@
click=
"submitForm('addMsg')"
>
{{$t('pub.saveBtn')}}
</button>
<button
class=
"cancel-Btn"
@
click=
"goUrl('
scenicSpo
tList')"
>
{{$t('pub.cancelBtn')}}
</button>
<button
class=
"cancel-Btn"
@
click=
"goUrl('
CharteringProduc
tList')"
>
{{$t('pub.cancelBtn')}}
</button>
</div>
<viewer
:images=
"images"
:options=
'imageOptions'
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
<img
v-for=
"src in images"
:src=
"src"
:key=
"src"
>
...
...
@@ -895,10 +957,14 @@
</template>
<
script
>
import
Map
from
"./components/Map.vue"
;
import
Map2
from
"./components/Map.vue"
;
import
DMCchooseImg
from
"../../commonPage/DMCchooseImg.vue"
;
export
default
{
data
()
{
return
{
index
:
''
,
Address
:
''
,
//地址
MapType
:
1
,
//1机场 2上车
imageOptions
:
{
navbar
:
false
,
title
:
false
...
...
@@ -971,6 +1037,7 @@
],
addMsg
:
{
TravelHours
:
''
,
//包车时长
Id
:
0
,
Name
:
""
,
//产品名称
CarType
:
""
,
//1接机 2送机 3包车
...
...
@@ -983,7 +1050,7 @@
Description
:
''
,
//副标题、描述
PriceIncludeList
:
[],
//费用包含
PriceNotIncludeList
:
[],
//费用不包含
PlaceList
:
[
PlaceList
:
[
//接机地址
{
Id
:
0
,
ProductId
:
0
,
//产品id
...
...
@@ -995,7 +1062,7 @@
LngLatMultiple
:
''
,
//地图多边形描点, 自定义存多边形的点 (1,2 二选一)
}
],
AirportList
:[
AirportList
:[
//送机地址
{
Id
:
0
,
ProductId
:
0
,
//产品id
...
...
@@ -1051,6 +1118,16 @@
message
:
"请填写产品名称"
,
trigger
:
"blur"
}],
Name2
:
[{
required
:
true
,
message
:
"请填写机场地址"
,
trigger
:
"blur"
}],
Name3
:
[{
required
:
true
,
message
:
"请填写上车地址"
,
trigger
:
"blur"
}],
CarType
:
[{
required
:
true
,
message
:
"请选择产品类型"
,
...
...
@@ -1130,20 +1207,52 @@
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}],
Range
:
[{
required
:
true
,
message
:
"请输入上车距离中心范围"
,
trigger
:
"blur"
}],
TravelHours
:
[{
required
:
true
,
message
:
"请输入包车时长"
,
trigger
:
"blur"
}],
},
Departure_airport
:[]
Departure_airport
:[],
querys
:
null
,
loading
:
false
};
},
components
:
{
Map
:
Map
,
Map2
:
Map2
,
DMCchooseImg
:
DMCchooseImg
},
methods
:
{
clickMapAddress
(
type
,
index
){
this
.
index
=
index
this
.
MapType
=
type
this
.
selectAddress
=
true
},
clickAirport
(
index
,
type
){
if
(
type
){
this
.
addMsg
.
AirportList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
AirportList
)))
}
else
{
this
.
addMsg
.
AirportList
.
splice
(
index
,
1
)
}
},
clickPlace
(
index
,
type
){
if
(
type
){
this
.
addMsg
.
PlaceList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
PlaceList
)))
}
else
{
this
.
addMsg
.
PlaceList
.
splice
(
index
,
1
)
}
},
// 获取机场名称
getAirportItem
(
id
){
getAirportItem
(
i
tem
,
i
d
){
this
.
Departure_airport
.
forEach
(
x
=>
{
if
(
x
.
ID
==
id
){
this
.
addMsg
.
AirportList
[
0
]
.
Name
=
x
.
Name
item
.
Name
=
x
.
Name
}
})
},
...
...
@@ -1162,10 +1271,10 @@
this
.
addMsg
.
AirportList
&&
this
.
addMsg
.
AirportList
.
forEach
(
x
=>
{
// x.Id=0,
// x.ProductId= 0//产品id
x
.
AirportId
=
''
//机场id
x
.
AirportId
=
x
.
AirportId
?
x
.
AirportId
:
''
//机场id
// x.Lng= ''
// x.Lat= ''
x
.
Name
=
''
//机场名称 包含IATA
x
.
Name
=
x
.
Name
?
x
.
Name
:
''
//机场名称 包含IATA
// x.Address= ''//详细地址
})
}
...
...
@@ -1174,10 +1283,10 @@
this
.
addMsg
.
AirportList
&&
this
.
addMsg
.
AirportList
.
forEach
(
x
=>
{
// x.Id=0,
// x.ProductId= 0//产品id
x
.
AirportId
=
0
//机场id
x
.
AirportId
=
x
.
AirportId
?
x
.
AirportId
:
''
//机场id
// x.Lng= ''
// x.Lat= ''
x
.
Name
=
''
//机场名称 包含IATA
x
.
Name
=
x
.
Name
?
x
.
Name
:
''
//机场名称 包含IATA
// x.Address= ''//详细地址
})
this
.
Departure_airport
=
res
.
data
.
data
;
...
...
@@ -1190,17 +1299,17 @@
this
.
$viewer
=
viewer
},
showImg
:
function
(
src
)
{
console
.
log
(
src
,
'---src'
)
return
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
)
this
.
images
=
[]
this
.
images
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
.
ImageList
))
//
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)
this
.
$viewer
.
show
()
this
.
$viewer
.
view
(
this
.
images
.
indexOf
(
src
))
},
...
...
@@ -1218,7 +1327,6 @@
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
this
.
addMsg
.
ImageList
.
push
(
obj
.
ShowPath
)
console
.
log
(
this
.
addMsg
.
ImageList
,
'----imig'
)
});
},
//更新景点图片
...
...
@@ -1253,22 +1361,19 @@
this
.
addimg
=
false
;
},
saveResource
()
{
if
(
this
.
loading
)
return
this
.
addMsg
.
CityList
.
forEach
(
x
=>
{
this
.
addMsg
.
AirportList
.
forEach
(
y
=>
{
y
.
Country
=
x
.
Country
y
.
Province
=
x
.
Province
y
.
City
=
x
.
City
y
.
District
=
x
.
District
//
y.District = x.District
})
})
console
.
log
(
this
.
addMsg
,
'======'
)
if
(
this
.
ID
!=
"undefined"
)
{
this
.
addMsg
.
Id
=
this
.
ID
;
}
// let picPathArr = [];
// this.addMsg.ImageList.forEach(x => {
// picPathArr.push(x);
// });
this
.
loading
=
true
this
.
apipost
(
"CarSingle_post_SetCarSingleProduct"
,
this
.
addMsg
,
...
...
@@ -1280,6 +1385,7 @@
}
else
{
this
.
tips
(
res
.
data
.
message
,
"error"
);
}
this
.
loading
=
false
},
null
);
...
...
@@ -1334,6 +1440,7 @@
if
(
res
.
data
.
resultCode
==
1
)
{
let
dataInfo
=
res
.
data
.
data
;
this
.
addMsg
=
{
TravelHours
:
dataInfo
.
TravelHours
,
Id
:
this
.
ID
,
Name
:
dataInfo
.
Name
,
//产品名称
CarType
:
String
(
dataInfo
.
CarType
),
//1接机 2送机 3包车
...
...
@@ -1406,16 +1513,12 @@
District
:
''
//区
})
}
else
{
dataInfo
.
CityList
.
forEach
(
x
=>
{
dataInfo
.
CityList
2
.
forEach
(
x
=>
{
let
dataS
=
{
Country
:
x
.
Country
,
Province
:
''
,
City
:
''
,
District
:
''
,
Province
:
x
.
Province
,
City
:
x
.
City
,
}
x
.
City
.
forEach
(
y
=>
{
dataS
.
Province
=
y
.
City
})
this
.
addMsg
.
CityList
.
push
(
dataS
)
})
}
...
...
@@ -1429,38 +1532,6 @@
this
.
GetSubAreaList
(
this
.
addMsg
.
CityList
[
0
].
City
,
3
);
this
.
getaAirport
(
this
.
addMsg
.
CityList
[
0
].
City
,
true
)
}
// this.addMsg.CarType = String(this.addMsg.CarType)
// this.addMsg.FreeCancelDay = Number(this.addMsg.FreeCancelDay)
return
if
(
this
.
addMsg
.
OpenPlatform
)
{
this
.
OpenPlatformStrings
=
this
.
addMsg
.
OpenPlatform
.
split
(
","
);
this
.
OpenPlatformStrings
.
forEach
(
x
=>
{
this
.
openplatString
.
push
(
Number
(
x
));
});
}
if
(
res
.
data
.
data
.
ScenicSpotTag
)
{
this
.
tipsList
=
res
.
data
.
data
.
ScenicSpotTag
.
split
(
","
);
}
if
(
res
.
data
.
data
.
GeographicTag
)
{
this
.
Geographic
=
res
.
data
.
data
.
GeographicTag
.
split
(
","
);
}
if
(
res
.
data
.
data
.
Sure
!=
null
)
{
this
.
addMsg
.
Sure
=
res
.
data
.
data
.
Sure
.
toString
();
}
this
.
isBook
=
this
.
addMsg
.
IsSelfBook
;
res
.
data
.
data
.
PicPath
.
split
(
","
).
forEach
(
x
=>
{
if
(
x
!=
""
)
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
obj
.
ID
=
res
.
data
.
data
.
ID
;
obj
.
Path
=
x
;
obj
.
PicID
=
0
;
obj
.
ShowPath
=
this
.
domainManager
().
ViittoFileUrl
+
x
+
"?x-oss-process=image/resize,l_140"
;
this
.
addMsg
.
ImageList
.
push
(
obj
);
}
});
}
else
{
this
.
tips
(
res
.
data
.
message
,
"error"
);
}
...
...
@@ -1477,6 +1548,12 @@
});
},
submitForm
(
addMsg
)
{
if
(
this
.
addMsg
.
PlaceList
[
0
].
Range
&&
this
.
addMsg
.
PlaceList
[
0
].
LngLatMultiple
){
return
this
.
tips
(
'请输入距离中心点范围'
,
"error"
);
}
if
(
!
this
.
addMsg
.
ImageList
[
0
]){
return
this
.
tips
(
'请上传图片'
,
"error"
);
}
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
...
...
@@ -1528,15 +1605,15 @@
},
getItemList
(
type
)
{
if
(
type
==
1
)
{
this
.
tips
List
.
push
(
this
.
tipsItem
);
this
.
addMsg
.
PriceInclude
List
.
push
(
this
.
tipsItem
);
this
.
tipsItem
=
""
;
}
else
{
this
.
Geographic
.
push
(
this
.
GeoItem
);
this
.
addMsg
.
PriceNotIncludeList
.
push
(
this
.
GeoItem
);
this
.
GeoItem
=
""
;
}
},
handleClose
(
tag
)
{
this
.
tipsList
.
splice
(
this
.
tips
List
.
indexOf
(
tag
),
1
);
this
.
addMsg
.
PriceIncludeList
.
splice
(
this
.
addMsg
.
PriceInclude
List
.
indexOf
(
tag
),
1
);
},
showInput
()
{
...
...
@@ -1555,7 +1632,7 @@
this
.
inputValue
=
""
;
},
handleClose2
(
tag
)
{
this
.
Geographic
.
splice
(
this
.
Geographic
.
indexOf
(
tag
),
1
);
this
.
addMsg
.
PriceNotIncludeList
.
splice
(
this
.
addMsg
.
PriceNotIncludeList
.
indexOf
(
tag
),
1
);
},
showInput2
()
{
...
...
@@ -1576,17 +1653,24 @@
googleMap
()
{
this
.
selectAddress
=
false
;
},
headCall
(
msg
)
{
headCall
(
msg
,
type
)
{
// this.addMsg.QCountry = msg.country;
// this.addMsg.QProvince = msg.province;
// this.addMsg.QCity = msg.city;
// this.addMsg.Address = msg.address;
this
.
addMsg
.
AirportList
.
forEach
(
x
=>
{
x
.
Lng
=
msg
.
lng
;
x
.
Lat
=
msg
.
lat
;
})
if
(
type
==
1
){
this
.
addMsg
.
AirportList
.
forEach
(
x
=>
{
x
.
Lng
=
msg
.
lng
;
x
.
Lat
=
msg
.
lat
;
})
}
else
{
this
.
addMsg
.
PlaceList
.
forEach
(
x
=>
{
x
.
Lng
=
msg
.
lng
;
x
.
Lat
=
msg
.
lat
;
})
}
this
.
addMsg
.
Lat
=
msg
.
lat
;
},
//获取国家
GetCounrty
()
{
...
...
@@ -1672,7 +1756,9 @@
this
.
IsHaveAuth
=
1
;
}
this
.
GetPayList
();
this
.
ID
=
this
.
$route
.
query
.
id
;
this
.
querys
=
this
.
$route
.
query
this
.
ID
=
this
.
querys
.
id
;
this
.
addMsg
.
Name
=
this
.
querys
.
Name
this
.
init
();
//开放平台
this
.
GetCounrty
();
if
(
typeof
this
.
ID
!=
"undefined"
)
{
...
...
src/components/busManagement/CharteringManagement/CharteringPackagePrice.vue
0 → 100644
View file @
ddaccdc9
<
style
scoped
>
.combottomDiv
{
width
:
inherit
;
}
.lineMG
.query_box
{
font-size
:
12px
;
padding
:
29px
0
;
padding-right
:
30px
;
display
:
flex
;
justify-content
:
space-between
;
}
.lineMG
.el-switch.is-checked
.el-switch__core
{
border-color
:
#4bca81
;
background-color
:
#4bca81
;
}
.lineMG
.addCompany
{
width
:
440px
;
max-height
:
600px
;
}
.lineMG
.addCompany
.el-dialog__body
{
height
:
486px
;
overflow
:
auto
;
}
.lineMG
.query_box
div
label
{
display
:
inline-block
;
min-width
:
80px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
20px
0
0
;
}
input
::-webkit-outer-spin-button
,
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
;
}
input
[
type
=
"number"
]
{
-moz-appearance
:
textfield
;
}
.lineType
{
width
:
51px
;
height
:
24px
;
display
:
inline-block
;
text-align
:
center
;
line-height
:
24px
;
margin-top
:
25px
;
border-radius
:
4px
;
background-color
:
#ff9c00
;
color
:
#ffffff
;
}
.lineMG
.LMTable
tr
{
height
:
70px
;
text-align
:
center
!important
;
background-color
:
#fff
;
}
.comPanyNum
{
font-size
:
14px
;
color
:
#333333
;
display
:
inline-block
;
font-weight
:
bold
;
cursor
:
pointer
;
margin-bottom
:
5px
;
text-decoration
:
underline
;
}
.comPanyNum
:hover
{
color
:
#e95252
;
}
.zhicai
:first-child
{
margin-top
:
23px
;
}
.zhicai
{
color
:
#47bf8c
;
}
.partCompany
{
padding
:
0
;
box-shadow
:
0px
1px
3px
0px
#dedede
;
}
.partCompany
.popper__arrow
::after
{
border-bottom-color
:
#ededed
!important
;
}
.partCompany
table
{
padding
:
10px
0
0
20px
;
background-color
:
#ededed
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
.partCompany
table
th
{
background-color
:
#ededed
;
padding
:
5px
;
}
.partCompany
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
#d2d2d2
;
}
.partCompany
table
td
._d_name
{
background-color
:
#ededed
;
}
.partCompany
table
._color_666
{
color
:
#666666
;
}
.partCompany
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
.LineName
{
display
:
inline-block
;
width
:
170px
;
margin
:
30px
0
0
20px
;
text-align
:
left
;
}
.lineMG
.LM_Back
{
background-color
:
#f2f2f2
;
}
.redType
{
color
:
#e95252
;
}
.lineMG
.tbDiv
{
overflow-y
:
auto
;
}
.departListDiv
{
width
:
100%
;
height
:
200px
;
overflow-y
:
auto
;
}
.lineMG
.tbDiv
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.lineMG
.tbDiv
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
.lineMG
.tbDiv
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.departListDiv
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.departListDiv
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
.departListDiv
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.LMTable
{
width
:
100%
;
font-size
:
12px
;
}
.lineMG
.LMTable
tr
th
{
border-bottom
:
1px
solid
#d1d1d1
;
}
.lineMG
.tbDiv
.LMTable
td
{
border-bottom
:
1px
solid
#d1d1d1
;
border-right
:
1px
solid
#d1d1d1
;
position
:
relative
;
text-align
:
center
;
padding
:
5px
;
min-width
:
250px
;
}
.lineMG
.tbDiv
table
{
padding-right
:
80px
;
margin-top
:
10px
;
border-top
:
1px
solid
#d1d1d1
;
border-left
:
1px
solid
#d1d1d1
;
border-right
:
1px
solid
#d1d1d1
;
}
.upFentan
{
text-decoration
:
underline
;
cursor
:
pointer
;
position
:
absolute
;
right
:
13px
;
top
:
32%
;
}
.subCountryList
{
width
:
150px
;
text-align
:
left
;
display
:
inline-block
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
position
:
relative
;
top
:
3px
;
}
.lineMG
._addLineTB
tr
{
height
:
40px
!important
;
}
.saveCompanyBtn
{
margin-top
:
20px
;
}
.setItem
{
cursor
:
pointer
;
text-decoration
:
underline
;
position
:
absolute
;
right
:
13px
;
top
:
32%
;
}
._LMComdiv
{
float
:
left
;
width
:
32%
;
text-align
:
left
;
margin-top
:
20px
;
}
.LineRank
{
width
:
24px
;
height
:
24px
;
background-color
:
#2aaef2
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
24px
;
color
:
#fff
;
margin
:
15px
auto
5px
;
}
.lineMG
.joinDepart
{
display
:
inline-block
;
margin-right
:
50px
;
text-align
:
left
;
float
:
left
;
width
:
180px
;
}
.lineMG
.LM_Rank
{
text-align
:
center
;
}
._LowDisMoney
{
text-align
:
left
;
margin
:
20px
0
0
25px
;
}
.LM_Btcontent
{
margin-left
:
20px
;
}
.LM_ul
li
{
height
:
78px
;
margin
:
20px
0
0px
0px
;
transition
:
linear
all
0.5s
;
background-color
:
#fff
;
font-size
:
12px
;
border
:
1px
solid
#dddddd
;
overflow
:
hidden
;
position
:
relative
;
}
.LM_BTNList
{
margin-top
:
25px
;
}
.lineMG
.el-button-group
.el-button
{
padding
:
5px
;
}
.lineMG
.LM_ul
>
li
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
.lineMG
.el-date-editor.el-input
,
.el-date-editor.el-input__inner
{
width
:
auto
;
}
.SP_datePicker
.el-input__inner
{
padding-right
:
0
!important
;
}
.SP_AddTicket
{
margin
:
10px
10px
0
30px
;
}
</
style
>
<
template
>
<div
class=
"flexOne lineMG"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
时间
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
'msg.QDate'
value-format=
"yyyy-MM-dd"
placeholder=
""
>
</el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex(),initDataTable()"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
@
click=
"clearInfo(),isShowDIv=true,divTitle='新增报价'"
/>
</li>
</ul>
</div>
<div
class=
"commonContent"
v-loading=
"loading"
>
<ul
class=
"LM_ul"
>
<li
v-for=
"(item,index) in tableData"
:key=
"index"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"3"
>
<span
class=
"LineName"
>
{{
item
.
StartDate
}}
至
{{
item
.
EndDate
}}
</span>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
成本价
</div>
{{
item
.
CostPrice
}}
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
库存
</div>
<div>
{{
item
.
Inventory
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
B2B价格
</div>
<div>
{{
item
.
B2BPrice
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
B2C价格
</div>
<div>
{{
item
.
B2CPrice
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
内部价格
</div>
<div>
{{
item
.
SalesPrice
}}
</div>
</div>
</el-col>
<el-col
:span=
"3"
>
<div
class=
"_LowDisMoney"
>
<div>
机场
</div>
<div>
{{
item
.
AirportName
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
备注
</div>
<div>
{{
item
.
Remark
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
币种
</div>
<div>
{{
getCurrencyName
(
item
.
CurrencyId
)
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"_LowDisMoney"
>
<div>
汇率
</div>
<div>
{{
item
.
CurrentRate
}}
</div>
</div>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"LM_BTNList"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_edit')"
placement=
"top-start"
>
<el-button
type=
"primary"
circle
icon=
"el-icon-edit"
@
click=
"isShowDIv = true,divTitle='修改报价',updateData(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"danger"
circle
icon=
"el-icon-delete"
@
click=
"isdelete(item.Id)"
></el-button>
</el-tooltip>
</div>
</el-col>
</el-row>
</li>
</ul>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
</div>
<div
class=
"combottomDiv"
v-if=
"isShowDIv"
>
<div
class=
"combottomTitle"
>
{{
divTitle
}}
</div>
<div
class=
""
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_StartDate')"
prop=
"StartDate"
>
<el-date-picker
class=
"SP_datePicker"
:clearable=
"false"
v-model=
'addMsg.StartDate'
type=
"date"
:picker-options=
"addPickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder=
""
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_EndDate')"
prop=
"EndDate"
>
<el-date-picker
class=
"SP_datePicker"
:clearable=
"false"
v-model=
'addMsg.EndDate'
type=
"date"
value-format=
"yyyy-MM-dd"
:picker-options=
"addPickerBeginDateAfter"
placeholder=
""
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_CostPrice')"
prop=
"CostPrice"
>
<el-input
v-model=
"addMsg.CostPrice"
@
keyup
.
native=
"checkPrice(addMsg,'CostPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_Inventory')"
prop=
"Inventory"
>
<el-input
type=
"text"
maxlength=
"8"
v-model=
"addMsg.Inventory"
@
keyup
.
native=
"checkInteger(addMsg,'Inventory')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_B2BPrice')"
prop=
"B2BPrice"
>
<el-input
type=
"text"
v-model=
"addMsg.B2BPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2BPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_B2CPrice')"
prop=
"B2CPrice"
>
<el-input
type=
"text"
v-model=
"addMsg.B2CPrice"
@
keyup
.
native=
"checkPrice(addMsg,'B2CPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_SalesPrice')"
prop=
"SalesPrice"
>
<el-input
type=
"text"
v-model=
"addMsg.SalesPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SalesPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"机场"
prop=
"AirportId"
v-if=
"dataInfo.CarType==1||dataInfo.CarType==2"
>
<el-select
v-model=
"addMsg.AirportId"
filterable
placeholder=
"请选择机场"
>
<!--
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
-->
<el-option
v-for=
"item in AirportList"
:key=
"item.AirportId"
:label=
"item.AirportName"
:value=
"item.AirportId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_Currency')"
prop=
"CurrencyId"
>
<el-select
placeholder=
"请选币种"
filterable
@
change=
"getCurrentRate(addMsg.CurrencyId)"
v-model=
"addMsg.CurrencyId"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in allCurrencyList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.hotel_CurrentRate')"
prop=
"CurrentRate"
>
<el-input
v-model=
'addMsg.CurrentRate'
@
keyup
.
native=
"checkRate(addMsg,'CurrentRate')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('hotel.hotel_remark')"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"addMsg.Remark"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<div
style=
"position: absolute;right: 10px;top: 12px;"
>
<button
type=
"success"
class=
"normalBtn subPrice"
@
click=
"submitForm('addMsg')"
>
{{
comBtnText
}}
</button>
<input
type=
"button"
class=
"normalBtn"
@
click=
"isShowDIv=false"
value=
"取消"
/>
</div>
</el-col>
</el-form>
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
>
</el-pagination>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
var
validateCurrent
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
0
)
{
callback
(
new
Error
(
"请选择币种"
));
}
};
return
{
querys
:
null
,
//供应商列表
AirportList
:
[],
//门票编号
ProductId
:
""
,
//景点编号
CarId
:
""
,
//是否自定(自定-不需要选择供应商,)
IsSelfBook
:
false
,
//提交报价中
comBtnText
:
"保存"
,
//新增数据
addMsg
:
{
ID
:
0
,
CarId
:
0
,
ProductId
:
0
,
StartDate
:
""
,
EndDate
:
""
,
Inventory
:
0
,
//库存数量
B2BPrice
:
0.0
,
//B2B价格
B2CPrice
:
0.0
,
//B2C价格
SalesPrice
:
0.0
,
//内部价格
Remark
:
""
,
CostPrice
:
0.0
,
//成本价格
CurrencyId
:
0
,
//币种
CurrentRate
:
0.0
,
//汇率
AirportId
:
''
,
//机场ID (接送机才有)
},
rules
:
{
//表单必填验证
StartDate
:
[
{
required
:
true
,
message
:
"开始日期必填"
,
trigger
:
"change"
}
],
EndDate
:
[
{
required
:
true
,
message
:
"结束日期必填"
,
trigger
:
"change"
}
],
CostPrice
:
[
{
required
:
true
,
message
:
"请输入成本价"
,
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
"请输入两位小数"
}
],
Inventory
:
[
{
required
:
true
,
message
:
"请输入库存"
,
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_isInteger
,
message
:
"请输入正确的数字"
}
],
B2BPrice
:
[
{
required
:
true
,
message
:
"请输入B2B价格"
,
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
"请输入两位小数"
}
],
B2CPrice
:
[
{
required
:
true
,
message
:
"请输入B2C价格"
,
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
"请输入两位小数"
}
],
SalesPrice
:
[
{
required
:
true
,
message
:
"请输入成本价格"
,
trigger
:
"change"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_Isdecimal
,
message
:
"请输入两位小数"
}
],
AirportId
:
[
{
required
:
true
,
message
:
"请选择机场"
,
trigger
:
"change"
},
],
CurrencyId
:
[
// {
// validator:validateCurrent,
// trigger: "change"
// }
],
CurrentRate
:
[
{
required
:
true
,
message
:
"请输输入汇率"
,
trigger
:
"change"
}
]
},
msg
:
{
pageIndex
:
1
,
pageSize
:
14
,
CarId
:
0
,
ProductId
:
0
,
QDate
:
""
,
// EndDate: "",
total
:
0
,
currentPage
:
1
},
tableData
:
[],
isShowDIv
:
false
,
loading
:
true
,
noData
:
false
,
SelectDefaultValue
:
0
,
//所有币种
allCurrencyList
:
[],
addPickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
addMsg
.
EndDate
);
return
endTime
.
getTime
()
<
time
.
getTime
();
}
},
addPickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
addMsg
.
StartDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
}
},
dataInfo
:
null
};
},
methods
:
{
//初始化列表数据
initDataTable
()
{
this
.
loading
=
true
;
this
.
apipost
(
"CarSingle_post_GetCarSinglePricePageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
noData
=
!
this
.
msg
.
total
>
0
;
}
},
null
);
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
currentPage
=
1
;
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
initDataTable
();
},
//重置信息
clearInfo
()
{
this
.
addMsg
.
Id
=
0
;
this
.
addMsg
.
Inventory
=
""
;
this
.
addMsg
.
B2BPrice
=
""
;
this
.
addMsg
.
B2CPrice
=
""
;
this
.
addMsg
.
SalesPrice
=
""
;
this
.
addMsg
.
Remark
=
""
;
this
.
addMsg
.
CostPrice
=
""
;
this
.
addMsg
.
StartDate
=
""
;
this
.
addMsg
.
EndDate
=
""
;
this
.
addMsg
.
CurrencyId
=
0
;
this
.
addMsg
.
CurrentRate
=
""
;
this
.
addMsg
.
AirportId
=
""
;
},
//修改报价信息
updateData
(
item
)
{
this
.
addMsg
=
{
Id
:
item
.
Id
,
CarId
:
this
.
CarId
,
ProductId
:
this
.
ProductId
,
StartDate
:
item
.
StartDate
,
EndDate
:
item
.
EndDate
,
Inventory
:
item
.
Inventory
,
//库存数量
B2BPrice
:
item
.
B2BPrice
,
//B2B价格
B2CPrice
:
item
.
B2CPrice
,
//B2C价格
SalesPrice
:
item
.
SalesPrice
,
//内部价格
Remark
:
item
.
Remark
,
CostPrice
:
item
.
CostPrice
,
//成本价格
CurrencyId
:
item
.
CurrencyId
,
//币种
CurrentRate
:
item
.
CurrentRate
,
//汇率
AirportId
:
item
.
AirportId
,
}
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
allCurrencyList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//获取当前下拉选中币种汇率
getCurrentRate
(
currencyId
)
{
this
.
addMsg
.
CurrentRate
=
0.0
;
this
.
allCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
currencyId
)
{
this
.
addMsg
.
CurrentRate
=
x
.
Rate
;
}
});
},
//获取去币种名
getCurrencyName
(
currencyId
)
{
let
currencyName
=
""
;
this
.
allCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
currencyId
)
{
currencyName
=
x
.
Name
+
"("
+
x
.
Code
+
")"
;
}
});
return
currencyName
;
},
//HK新增查询条件
initAirport
()
{
this
.
apipost
(
"CarSingle_post_GetCarSingleAirportList"
,
{
ProductId
:
this
.
ProductId
},
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
this
.
AirportList
=
response
.
data
.
data
;
}
},
null
);
},
// 获取产品详情
getInfo
()
{
this
.
apipost
(
"CarSingle_post_GetCarSingleProductInfo"
,
{
ProductId
:
this
.
ProductId
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataInfo
=
res
.
data
.
data
;
}
}
);
},
//提交景点报价
hotelOfferSet
()
{
this
.
addMsg
.
ProductId
=
this
.
ProductId
;
this
.
addMsg
.
CarId
=
this
.
CarId
;
let
msg
=
[]
msg
.
push
(
this
.
addMsg
)
this
.
apipost
(
"CarSingle_post_SetCarSinglePrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
initDataTable
();
this
.
Success
(
"保存成功!"
);
this
.
isShowDIv
=
false
;
this
.
resetForm
(
"addMsg"
);
this
.
goUrl
(
'CharteringProductList'
,
this
.
CarId
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
isdelete
(
Id
)
{
var
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
apipost
(
"ticketcouponsprice_post_Remove"
,
{
PriceId
:
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
"删除成功!"
);
that
.
initDataTable
();
that
.
goUrl
(
'ticketManagement'
,
that
.
CarId
);
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
//提交创建、修改表单
submitForm
(
addMsg
)
{
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
hotelOfferSet
();
}
else
{
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
},
//获取供应商是否显示
getSuplier
()
{
this
.
apipost
(
"ticketcoupons_post_Get"
,
{
ID
:
this
.
CarId
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
IsSelfBook
=
res
.
data
.
data
.
IsSelfBook
;
}
}
);
},
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
}
});
},
},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
obj
){
this
.
querys
=
JSON
.
parse
(
this
.
$route
.
query
.
obj
)
this
.
CarId
=
this
.
querys
.
CarId
;
this
.
ProductId
=
this
.
querys
.
ProductId
;
this
.
msg
.
CarId
=
this
.
querys
.
CarId
;
this
.
msg
.
ProductId
=
this
.
querys
.
ProductId
;
}
this
.
getSuplier
();
this
.
initAirport
();
this
.
getAllCurrency
();
this
.
initDataTable
();
this
.
getInfo
()
}
};
</
script
>
\ No newline at end of file
src/components/busManagement/CharteringManagement/CharteringProductList.vue
View file @
ddaccdc9
...
...
@@ -252,7 +252,7 @@
@
click=
"resetPageIndex(),selectResource()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"$router.push('CharteringInfoManage')"
>
{{
$t
(
'pub.addBtn'
)
}}
</button>
<
button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"DownLoadFile()"
>
{{
$t
(
'adm.adm_download'
)
}}
</button
>
<
!--
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"DownLoadFile()"
>
{{
$t
(
'adm.adm_download'
)
}}
</button>
--
>
</li>
</ul>
</div>
...
...
@@ -296,6 +296,7 @@
<div
class=
"btnList"
>
<button
@
click=
"goUrl('CharteringInfoManage',item.Id)"
class=
"hotelBtn"
>
{{
$t
(
'pub.updateMsg'
)
}}
</button>
<button
@
click=
"goUrlT('CharteringQuotation',item.Id,item.Name)"
class=
"hotelBtn"
>
报价
</button>
<button
class=
"hotelBtn"
@
click=
"clickShelf(item)"
>
{{
item
.
ProductState
==
2
?
'上架'
:
'下架'
}}
</button>
</div>
</div>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
...
...
@@ -355,6 +356,34 @@
};
},
methods
:
{
// 上下架
clickShelf
(
item
){
var
that
=
this
;
let
text
if
(
item
.
ProductState
==
1
){
text
=
'下架'
}
if
(
item
.
ProductState
==
2
){
text
=
'上架'
}
that
.
Confirm
(
`是否要
${
text
}
该包车产品?`
,
function
()
{
var
msg
=
{
ProductId
:
item
.
Id
};
that
.
apipost
(
"CarSingle_post_SetCarSingleProcudtState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
selectResource
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
CopyScenic
(
Id
)
{
var
that
=
this
;
that
.
Confirm
(
'是否要复制此景点?'
,
function
()
{
...
...
@@ -435,7 +464,7 @@
},
response
=>
{
if
(
response
.
data
.
resultCode
==
1
)
{
that
.
Success
(
that
.
$
$
t
(
'tips.shanchuchenggong'
));
that
.
Success
(
that
.
$t
(
'tips.shanchuchenggong'
));
that
.
selectResource
();
}
else
{
that
.
Error
(
response
.
data
.
message
);
...
...
@@ -508,12 +537,15 @@
}
});
},
goUrlT
(
path
,
id
)
{
goUrlT
(
path
,
id
,
Name
)
{
let
data
=
{
id
:
id
,
Name
:
Name
,
}
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
id
,
Name
:
Name
,
obj
:
JSON
.
stringify
(
data
),
blank
:
'y'
,
tab
:
'产品报价'
}
...
...
src/components/busManagement/CharteringManagement/CharteringQuotation.vue
View file @
ddaccdc9
...
...
@@ -107,13 +107,13 @@
<div
class=
"query-box"
>
<ul>
<li>
<label
class=
""
>
{{
$t
(
'scen.sc_name'
)
}}
</label>
<label
class=
""
>
类型名称
</label>
<el-input
v-model=
"msg.CarName"
maxlength=
"30"
@
keyup
.
native
.
enter=
"getList"
></el-input>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"getList(),resetPageIndex()"
/>
<input
type=
"button"
class=
"normalBtn"
@
click=
"outerVisible = true,dialogTitle='添加
门票
'"
<input
type=
"button"
class=
"normalBtn"
@
click=
"outerVisible = true,dialogTitle='添加
包车
'"
:value=
"$t('pub.addBtn')"
/>
</li>
</ul>
...
...
@@ -121,11 +121,12 @@
<table
class=
"singeRowTable centerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
style=
"border-collapse:separate;border-spacing:0px 10px;table-layout:fixed;"
>
<tr>
<th
width=
"200"
>
{{
$t
(
'scen.sc_name'
)
}}
</th>
<th
width=
"200"
>
包车名称
</th>
<th
width=
"200"
>
{{
$t
(
'scen.sc_bjts'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_dj'
)
}}
</th>
<th>
{{
$t
(
'scen.sc_gj'
)
}}
</th>
<th
width=
"300"
>
{{
$t
(
'hotel.hotel_remark'
)
}}
</th>
<th>
操作人
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"item in DataList"
:key=
"item.subCode"
>
...
...
@@ -136,37 +137,43 @@
</el-tooltip>
</td>
<td
class=
"DaysInfo"
>
<span><i
class=
"iconfont icon-kaoqintongji"
></i>
{{
item
.
Days
}}{{
$t
(
'hotel.hotel_item'
)
}}
</span>
<span><i
class=
"iconfont icon-kaoqintongji"
></i>
{{
item
.
PeopleNum
}}{{
$t
(
'hotel.hotel_item'
)
}}
</span>
</td>
<td>
<p
class=
"clearfix"
>
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span><span
class=
'tit_name T2'
>
{{
item
.
LPrice
}}
</span>
<!--
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span>
-->
<span
class=
'tit_name T2'
>
{{
item
.
MinPrice
}}
</span>
</p>
<
p
class=
"Ldata"
>
{{
item
.
LDate
}}
</p
>
<
!--
<p
class=
"Ldata"
>
{{
item
.
LDate
}}
</p>
--
>
</td>
<td>
<p
class=
"clearfix"
>
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span><span
class=
'tit_name HP'
>
{{
item
.
HPrice
}}
</span>
<!--
<span
class=
"tit_name T1"
>
{{
getCurrencyCode
(
item
.
CurrencyId
)
}}
</span>
-->
<span
class=
'tit_name HP'
>
{{
item
.
MaxPrice
}}
</span>
</p>
<
p
class=
"Ldata"
>
{{
item
.
HDate
}}
</p
>
<
!--
<p
class=
"Ldata"
>
{{
item
.
HDate
}}
</p>
--
>
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
v-if=
"item.
TicketDesc"
:content=
"item.TicketDesc
"
placement=
"top-start"
<el-tooltip
class=
"item"
effect=
"dark"
v-if=
"item.
Description"
:content=
"item.Description
"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
class=
"descripTion"
>
{{
item
.
TicketDesc
}}
</span>
<span
class=
"descripTion"
>
{{
item
.
Description
}}
</span>
</el-tooltip>
</td>
<td>
{{
item
.
UpdateByName
}}
<p
style=
"color: #6E6E6E;"
>
{{
item
.
UpdateTime
}}
</p>
</td>
<td>
<el-button-group>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-Edit"
@
click=
"outerVisible = true,dialogTitle='修改
门票',updateResturant(item.Id
)"
></el-button>
@
click=
"outerVisible = true,dialogTitle='修改
包车',updateResturant(item
)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"报价管理"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-ico_shezhi"
@
click=
"goUrl('
scenicSpot
PackagePrice',item.Id)"
></el-button>
@
click=
"goUrl('
Chartering
PackagePrice',item.Id)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
@
click=
"isDelete(item.Id)"
></el-button>
...
...
@@ -178,23 +185,14 @@
<el-dialog
custom-class=
'w500'
:visible
.
sync=
"outerVisible"
:title=
"dialogTitle"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"110px"
>
<el-form-item
:label=
"$t('scen.sc_mpzy')"
prop=
"ProductId"
>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
disabled
v-model=
"addMsg.ProductId"
>
<el-option
v-for=
"item in TicketCouponsList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('scen.sc_name')"
prop=
"CarName"
>
<el-form-item
label=
"包车名称"
prop=
"CarName"
>
<el-input
class=
"w300"
type=
"text"
v-model=
"addMsg.CarName"
maxlength=
"20"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('scen.sc_type_name')"
prop=
"TicketCouponsType"
>
<el-select
filterable
v-model=
'addMsg.TicketCouponsType'
:placeholder=
"$t('pub.pleaseSel')"
class=
"w300"
>
<el-option
v-for=
'item in TickettTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<el-form-item
label=
"包车类型"
prop=
"PeopleNum"
>
<el-input-number
v-model=
"addMsg.PeopleNum"
:min=
"1"
label=
"最大可乘坐人数"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
"
TicketDesc
"
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.
TicketDesc"
maxlength=
"2
00"
></el-input>
<el-form-item
:label=
"$t('hotel.hotel_produceDes')"
prop=
""
>
<el-input
class=
"w300"
type=
"textarea"
v-model=
"addMsg.
Description"
maxlength=
"3
00"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -219,7 +217,6 @@
msg
:
{
pageIndex
:
1
,
pageSize
:
6
,
CarName
:
""
,
ProductId
:
""
,
CarName
:
""
,
Status
:
"-1"
...
...
@@ -228,11 +225,10 @@
Id
:
"0"
,
ProductId
:
""
,
CarName
:
""
,
TicketDesc
:
""
,
TicketCouponsType
:
""
,
Description
:
""
,
PeopleNum
:
""
,
},
TicketID
:
""
,
TickettTypeList
:
[],
ProductId
:
""
,
loading
:
true
,
total
:
0
,
currentPage
:
1
,
...
...
@@ -243,21 +239,24 @@
TicketCouponsList
:
""
,
rules
:
{
//表单必填验证
ProductId
:
[{
CarName
:
[{
required
:
true
,
message
:
"请选择门票资源"
message
:
"请输入产品名称"
,
trigger
:
"blur"
}],
TicketCouponsType
:
[{
PeopleNum
:
[{
required
:
true
,
message
:
"请
选择门票类型
"
message
:
"请
请输入最大可乘坐人数
"
}]
},
allCurrencyList
:
[]
allCurrencyList
:
[],
querys
:
null
};
},
methods
:
{
getList
()
{
this
.
loading
=
true
;
// CarSingle_post_GetCarSingleTypePageList
this
.
apipost
(
"CarSingle_post_GetCarSingleTypePageList"
,
this
.
msg
,
...
...
@@ -274,7 +273,7 @@
},
saveResource
()
{
this
.
apipost
(
"
ticketcouponsticket_post_Set
"
,
"
CarSingle_post_SetCarSingleType
"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -289,23 +288,14 @@
null
);
},
updateResturant
(
Id
)
{
let
msg
=
{
ID
:
Id
};
this
.
addMsg
.
Id
=
Id
;
this
.
apipost
(
"ticketcouponsticket_post_Get"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
updateResturant
(
item
)
{
this
.
addMsg
=
{
Id
:
item
.
Id
,
ProductId
:
this
.
ProductId
,
CarName
:
item
.
CarName
,
Description
:
item
.
Description
,
PeopleNum
:
item
.
PeopleNum
,
}
},
isDelete
(
ID
)
{
this
.
$confirm
(
'是否删除?'
,
'提示'
,
{
...
...
@@ -317,8 +307,8 @@
type
:
'success'
,
message
:
'删除成功!'
});
this
.
apipost
(
'
ticketcouponsticket_post_Remov
e'
,
{
ID
:
ID
this
.
apipost
(
'
CarSingle_post_DelCarSingleTyp
e'
,
{
CarTypeId
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
()
...
...
@@ -332,23 +322,19 @@
});
},
goUrl
(
path
,
id
)
{
let
data
=
{
CarId
:
id
,
ProductId
:
this
.
ProductId
,
}
this
.
$router
.
push
({
path
:
path
,
query
:
{
TicketID
:
id
,
ProductId
:
this
.
TicketID
,
obj
:
JSON
.
stringify
(
data
),
blank
:
'y'
,
tab
:
'报价管理'
}
});
},
GetTicketType
()
{
this
.
apipost
(
'ticketcouponsprice_post_GetTicketType'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TickettTypeList
=
res
.
data
.
data
}
},
err
=>
{})
},
//翻页功能按钮
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
...
...
@@ -359,7 +345,7 @@
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
//初始化
门票
资源
//初始化
包车
资源
initResrestaurant
()
{
let
msg
=
{};
this
.
apipost
(
...
...
@@ -375,12 +361,6 @@
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
TickettTypeList
.
forEach
(
item
=>
{
if
(
this
.
addMsg
.
TicketCouponsType
==
item
.
ID
)
{
// HK 2020-05-06注释
//this.addMsg.CarName = item.Name
}
})
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
...
...
@@ -404,7 +384,7 @@
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
"addMsg"
);
this
.
addMsg
.
ProductId
=
parseInt
(
this
.
$route
.
query
.
id
);
this
.
addMsg
.
ProductId
=
parseInt
(
this
.
querys
.
id
);
},
resetForm
(
formName
)
{
this
.
clearMsg
();
...
...
@@ -434,14 +414,14 @@
}
},
mounted
()
{
this
.
msg
.
ProductId
=
this
.
$route
.
query
.
id
;
this
.
msg
.
CarName
=
this
.
$route
.
query
.
Name
;
this
.
addMsg
.
ProductId
=
parseInt
(
this
.
$route
.
query
.
id
);
this
.
querys
=
JSON
.
parse
(
this
.
$route
.
query
.
obj
)
this
.
msg
.
ProductId
=
this
.
querys
.
id
;
this
.
addMsg
.
CarName
=
this
.
querys
.
Name
this
.
addMsg
.
ProductId
=
parseInt
(
this
.
querys
.
id
);
this
.
initResrestaurant
();
this
.
TicketID
=
this
.
$route
.
query
.
id
;
this
.
ProductId
=
this
.
querys
.
id
;
this
.
getAllCurrency
();
this
.
getList
();
this
.
GetTicketType
();
}
};
</
script
>
\ No newline at end of file
src/components/busManagement/CharteringManagement/components/Map.vue
View file @
ddaccdc9
...
...
@@ -4,7 +4,7 @@
<el-input
class=
"w300"
style=
"margin-right: 10px;"
id=
"suggestId"
v-model=
"city"
placeholder=
"请输入搜索名称"
name=
"address_detail"
/>
<input
type=
"button"
class=
"normalBtn sureBtn"
value=
"搜索"
@
click=
"search"
/>
</div>
<div
style=
"height: 330px;width: 100%;margin-top: 15px;"
:id=
"`allmap_$
{id}`">
</div>
<div
style=
"height: 330px;width: 100%;margin-top: 15px;"
:id=
"`allmap_$
{id}
${type}_${index}
`">
</div>
<div
class=
"btnList"
>
<input
type=
"button"
class=
"normalBtn sureBtn"
value=
"确定"
@
click=
"sendMsg"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"closeDialog"
/>
...
...
@@ -14,7 +14,7 @@
<
script
>
export
default
{
props
:
[
"Address"
,
"id"
],
props
:
[
"Address"
,
"id"
,
"type"
,
"index"
],
data
(){
return
{
city
:
''
,
...
...
@@ -47,15 +47,15 @@ export default {
},
sendMsg
()
{
if
(
!
this
.
point
.
lng
)
{
this
.
tips
(
"请搜索选择"
,
"info
"
);
this
.
Error
(
"请搜索选择
"
);
}
else
{
this
.
$emit
(
"headCallBack"
,
this
.
point
);
this
.
$emit
(
"headCallBack"
,
this
.
point
,
this
.
type
);
this
.
$emit
(
"refList"
);
}
},
search
(){
var
that
=
this
var
map
=
new
BMap
.
Map
(
`allmap_
${
that
.
id
}
`
)
var
map
=
new
BMap
.
Map
(
`allmap_
${
that
.
id
}
${
that
.
type
}
_
${
that
.
index
}
`
)
var
local
=
new
BMap
.
LocalSearch
(
map
,
{
// 智能搜索
onSearchComplete
:
function
(){
if
(
local
.
getResults
()
&&
local
.
getResults
().
getPoi
(
0
)
&&
local
.
getResults
().
getPoi
(
0
).
point
){
...
...
@@ -85,7 +85,7 @@ export default {
this
.
$nextTick
(
function
()
{
var
that
=
this
// 创建Map实例
var
map
=
new
BMap
.
Map
(
`allmap_
${
that
.
id
}
`
)
var
map
=
new
BMap
.
Map
(
`allmap_
${
that
.
id
}
${
that
.
type
}
_
${
that
.
index
}
`
)
// 初始化地图,设置中心点坐标,
var
point
=
new
BMap
.
Point
(
120.211877
,
30.255194
)
// 创建点坐标
map
.
centerAndZoom
(
point
,
15
)
...
...
src/router/config.js
View file @
ddaccdc9
...
...
@@ -2066,7 +2066,15 @@ export default {
name
:
'CharteringQuotation'
,
component
:
resolve
=>
require
([
'@/components/busManagement/CharteringManagement/CharteringQuotation'
],
resolve
),
meta
:
{
title
:
'产品报价'
title
:
'包车产品类型'
},
},
{
path
:
'/CharteringPackagePrice'
,
//包车产品报价
name
:
'CharteringPackagePrice'
,
component
:
resolve
=>
require
([
'@/components/busManagement/CharteringManagement/CharteringPackagePrice'
],
resolve
),
meta
:
{
title
:
'包车产品报价'
},
},
{
...
...
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