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
0973c915
Commit
0973c915
authored
Apr 20, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save
parent
a0083ac1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1228 additions
and
5 deletions
+1228
-5
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+6
-3
CostNewPriceCC.vue
...nents/TravelManager/TravelNewQuotation/CostNewPriceCC.vue
+1220
-0
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+1
-1
priceDialog.vue
...mponents/TravelManager/TravelNewQuotation/priceDialog.vue
+1
-1
No files found.
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
0973c915
...
@@ -683,7 +683,7 @@
...
@@ -683,7 +683,7 @@
<span
style=
"color:red;font-weight:bold;"
>
※ {{$t('op.DJyiguanbi')}}.
</span>
<span
style=
"color:red;font-weight:bold;"
>
※ {{$t('op.DJyiguanbi')}}.
</span>
</p>
</p>
<p
class=
"travelnowrap"
>
<p
class=
"travelnowrap"
>
<span
@
click=
"showDialog(item.ConfigId, item.OfferId)"
>
{{$t('salesModule.XSQW')}}
价格信息
</span>
<span
@
click=
"showDialog(item.ConfigId, item.OfferId)"
>
价格信息
</span>
</p>
</p>
</div>
</div>
</div>
</div>
...
@@ -1228,8 +1228,8 @@
...
@@ -1228,8 +1228,8 @@
</el-col>
</el-col>
</el-form>
</el-form>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialog.show"
>
<el-dialog
:visible
.
sync=
"dialog.show"
width=
"1400px"
>
<price-dialog
:ConfigId=
"dialog.ConfigId"
:OfferId=
"dialog.OfferId"
></price-dialog>
<price-dialog
:ConfigId=
"dialog.ConfigId"
:OfferId=
"dialog.OfferId"
ref=
"dialog"
></price-dialog>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -1510,6 +1510,9 @@
...
@@ -1510,6 +1510,9 @@
show
:
true
,
show
:
true
,
ConfigId
,
OfferId
ConfigId
,
OfferId
}
}
this
.
$nextTick
(()
=>
{
this
.
$refs
.
dialog
.
getPostData
()
})
},
},
// 查看团详情
// 查看团详情
goRoyaltyUrl
(
row
,
Royalty
,
item
)
{
goRoyaltyUrl
(
row
,
Royalty
,
item
)
{
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceCC.vue
0 → 100644
View file @
0973c915
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
.CostNewPrice
.el-form-item__content
,
.CostNewPrice
.el-form-item__label
{
line-height
:
30px
;
}
.CostNewPrice
.CP_halfWi
{
width
:
45%
;
}
.CostNewPrice
.QuotationFirstDiv1
{
padding-top
:
30px
;
}
.CostNewPrice
.CP_ComTitle2
{
color
:
#106BAF
;
font-weight
:
bold
;
background-color
:
#D1EEEE
;
white-space
:
nowrap
;
}
.CostNewTable
{
border-collapse
:
collapse
;
}
.CostNewTable
td
{
height
:
40px
;
border
:
1px
solid
#106BAF
!important
;
border-collapse
:
collapse
;
padding
:
0
3px
;
}
.CostNewTable
.el-input
.el-input__inner
{
height
:
25px
!important
;
border
:
none
;
border-bottom
:
1px
solid
#606266
;
padding-left
:
5px
!important
;
}
.CP_ComTitle
{
color
:
#106BAF
;
}
.w70
{
width
:
70px
!important
;
}
.CostcomCenter
{
text-align
:
center
;
}
.txtRightCost
{
text-align
:
right
;
padding-right
:
10px
;
}
.CostNewPrice
.el-form-item
{
margin-bottom
:
0
!important
;
}
</
style
>
<
template
>
<div>
<div
class=
"CostNewPrice clearfix CP_Div"
style=
"width:980px;"
>
<el-form>
<table
class=
"CostNewTable"
style=
"width:1250px;"
>
<tr>
<td
colspan=
"14"
></td>
</tr>
<tr>
<td
rowspan=
"2"
style=
"width:100px"
class=
"CP_ComTitle2 CostcomCenter"
>
Day
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
行程大点
</td>
<td
rowspan=
"2"
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
币种
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
酒店
</td>
<td
colspan=
"4"
class=
"CP_ComTitle2 CostcomCenter"
>
车
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
门票
</td>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
餐
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
回佣
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
其它费用
<br
/>
(保险、司导杂费等)
</td>
</tr>
<tr>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
总车资
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
过路费
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
人数
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
每人
<br
/>
车资
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
早
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
中
</td>
<td
width=
"80"
class=
"CP_ComTitle2 CostcomCenter"
>
晚
</td>
</tr>
<template
v-if=
"CostNumberList&&CostNumberList.length>1"
>
<template
v-for=
"(subItem,subIndex) in dayCostPrice"
>
<template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
<td
align=
"center"
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
subItem
.
DayNum
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"textarea"
resize=
"none"
class=
"w250"
v-model=
"subItem.Title"
></el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-form-item>
<el-select
v-model=
'subItem.CurrencyId'
class=
"w70"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'defaultSelect'
></el-option>
<el-option
v-for=
"items in CostCurrencyList"
:label=
'items.CurrencyName'
:value=
'items.CurrencyId'
:key=
'items.CurrencyId'
>
</el-option>
</el-select>
</el-form-item>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
'text'
v-model=
"subItem.HotelName"
class=
"w100"
placeholder=
"酒店备注"
></el-input>
<br
/>
<el-select
style=
"margin:0 5px;"
v-model=
'subItem.ContainDinnerType'
class=
"w100"
placeholder=
"含餐类型"
@
change=
"DinnerTypeChange(subItem)"
>
<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=
'3'
></el-option>
</el-select>
<br
/>
<el-input
type=
'text'
v-model=
"subItem.HotelCostPrice"
class=
"w100"
@
keyup
.
native=
"checkPrice(subItem,'HotelCostPrice')"
placeholder=
"酒店价格"
></el-input>
<br
/>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
'text'
v-model=
"subItem.BusCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'BusCostPrice'),getchange()"
>
</el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
'text'
v-model=
"subItem.PassFee"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'PassFee'),getchange()"
>
</el-input>
</td>
<td>
{{
childItem
.
PeopleNumber
}}
</td>
<td>
{{
((
Number
(
subItem
.
BusCostPrice
)
+
Number
(
subItem
.
PassFee
))
/
Number
(
childItem
.
PeopleNumber
)).
toFixed
(
0
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
'text'
v-model=
"subItem.ScenicCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'ScenicCostPrice'),getchange()"
></el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"text"
:disabled=
"(subItem.ContainDinnerType==1||subItem.ContainDinnerType==3)?true:false"
v-model=
'subItem.BreakfastCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'BreakfastCostPrice'),getchange()"
>
</el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"text"
v-model=
'subItem.LunchCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'LunchCostPrice'),getchange()"
></el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"text"
:disabled=
"(subItem.ContainDinnerType==2||subItem.ContainDinnerType==3)?true:false"
v-model=
'subItem.DinnerCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'DinnerCostPrice'),getchange()"
></el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"text"
v-model=
'subItem.RebatePrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'RebatePrice'),getchange()"
></el-input>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"text"
v-model=
'subItem.OtherPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'OtherPrice'),getchange()"
></el-input>
</td>
</tr>
</
template
>
</template>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
外币小计
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
1
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
2
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
7
,
1
)
}}
</td>
<td>
{{
childItem
.
PeopleNumber
}}
</td>
<td>
{{
((
Number
(
getDayXiaoJi
(
2
,
1
))
+
Number
(
getDayXiaoJi
(
7
,
1
)))
/
Number
(
childItem
.
PeopleNumber
)).
toFixed
(
0
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
3
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
4
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
5
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
6
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
8
,
1
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
9
,
1
)
}}
</td>
</tr>
</
template
>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
人民币小计
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
1
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
2
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
7
,
2
)
}}
</td>
<td>
{{
childItem
.
PeopleNumber
}}
</td>
<td>
{{
((
Number
(
getDayXiaoJi
(
2
,
2
))
+
Number
(
getDayXiaoJi
(
7
,
2
)))
/
Number
(
childItem
.
PeopleNumber
)).
toFixed
(
0
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
3
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
4
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
5
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
6
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
8
,
2
)
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
getDayXiaoJi
(
9
,
2
)
}}
</td>
</tr>
</
template
>
</template>
<
template
v-else
>
<tr
v-for=
"subItem in dayCostPrice"
:key=
"subItem.subCode"
>
<td
align=
"center"
>
{{
subItem
.
DayNum
}}
</td>
<td>
<el-input
type=
"textarea"
resize=
"none"
class=
"w250"
v-model=
"subItem.Title"
></el-input>
</td>
<td>
<el-form-item>
<el-select
v-model=
'subItem.CurrencyId'
class=
"w70"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'defaultSelect'
></el-option>
<el-option
v-for=
"items in CostCurrencyList"
:label=
'items.CurrencyName'
:value=
'items.CurrencyId'
:key=
'items.CurrencyId'
>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.HotelName"
class=
"w100"
placeholder=
"酒店备注"
></el-input>
<br
/>
<el-select
v-model=
'subItem.ContainDinnerType'
class=
"w100"
placeholder=
"含餐类型"
@
change=
"DinnerTypeChange(subItem)"
>
<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=
'3'
></el-option>
</el-select>
<br
/>
<el-input
type=
'text'
v-model=
"subItem.HotelCostPrice"
class=
"w100"
@
keyup
.
native=
"checkPrice(subItem,'HotelCostPrice'),getchange()"
placeholder=
"酒店价格"
></el-input>
<br
/>
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.BusCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'BusCostPrice'),getchange()"
>
</el-input>
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.PassFee"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'PassFee'),getchange()"
>
</el-input>
</td>
<td>
<template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
CostNumberList
[
0
].
PeopleNumber
}}
</
template
>
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
((
Number
(
subItem
.
BusCostPrice
)
+
Number
(
subItem
.
PassFee
))
/
Number
(
CostNumberList
[
0
].
PeopleNumber
)).
toFixed
(
0
)
}}
</
template
>
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.ScenicCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'ScenicCostPrice'),getchange()"
></el-input>
</td>
<td>
<el-input
type=
"text"
:disabled=
"(subItem.ContainDinnerType==1||subItem.ContainDinnerType==3)?true:false"
v-model=
'subItem.BreakfastCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'BreakfastCostPrice'),getchange()"
>
</el-input>
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.LunchCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'LunchCostPrice'),getchange()"
></el-input>
</td>
<td>
<el-input
type=
"text"
:disabled=
"(subItem.ContainDinnerType==2||subItem.ContainDinnerType==3)?true:false"
v-model=
'subItem.DinnerCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'DinnerCostPrice'),getchange()"
></el-input>
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.RebatePrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'RebatePrice'),getchange()"
></el-input>
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.OtherPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'OtherPrice'),getchange()"
></el-input>
</td>
</tr>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
外币小计
</td>
<td>
{{getDayXiaoJi(1,1)}}
</td>
<td>
{{getDayXiaoJi(2,1)}}
</td>
<td>
{{getDayXiaoJi(7,1)}}
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
CostNumberList
[
0
].
PeopleNumber
}}
</
template
>
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
((
Number
(
getDayXiaoJi
(
2
,
1
))
+
Number
(
getDayXiaoJi
(
7
,
1
)))
/
Number
(
CostNumberList
[
0
].
PeopleNumber
)).
toFixed
(
0
)
}}
</
template
>
</td>
<td>
{{getDayXiaoJi(3,1)}}
</td>
<td>
{{getDayXiaoJi(4,1)}}
</td>
<td>
{{getDayXiaoJi(5,1)}}
</td>
<td>
{{getDayXiaoJi(6,1)}}
</td>
<td>
{{getDayXiaoJi(8,1)}}
</td>
<td>
{{getDayXiaoJi(9,1)}}
</td>
</tr>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
人民币小计
</td>
<td>
{{getDayXiaoJi(1,2)}}
</td>
<td>
{{getDayXiaoJi(2,2)}}
</td>
<td>
{{getDayXiaoJi(7,2)}}
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
CostNumberList
[
0
].
PeopleNumber
}}
</
template
>
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
(
(
Number
(
getDayXiaoJi
(
2
,
2
))
+
Number
(
getDayXiaoJi
(
7
,
2
)))
/
Number
(
CostNumberList
[
0
].
PeopleNumber
)).
toFixed
(
0
)
}}
</
template
>
</td>
<td>
{{getDayXiaoJi(3,2)}}
</td>
<td>
{{getDayXiaoJi(4,2)}}
</td>
<td>
{{getDayXiaoJi(5,2)}}
</td>
<td>
{{getDayXiaoJi(6,2)}}
</td>
<td>
{{getDayXiaoJi(8,2)}}
</td>
<td>
{{getDayXiaoJi(9,2)}}
</td>
</tr>
</template>
<tr>
<td
colspan=
"14"
></td>
</tr>
<tr>
<td
colspan=
"14"
class=
"CP_ComTitle2"
>
成本统计(以下报价为每人费用)
<br
/>
计算规则: (房+餐+车+景点)*汇率+内陆段交通*汇率+杂支部分*汇率+其他资产+机票票+收入-团负费+领队分摊+地接报价*汇率-导游回补-小费回补
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
人数统计
</td>
<td
class=
"CP_ComTitle2"
>
成本价(人民币)
</td>
<td
class=
"CP_ComTitle2"
>
成本价(日元)
</td>
<td
class=
"CP_ComTitle2"
>
成本总价(日元)
</td>
<td
class=
"CP_ComTitle2"
>
销售价格(人民币)
</td>
<td
class=
"CP_ComTitle2"
>
销售价格(日元)
</td>
<td
class=
"CP_ComTitle2"
>
销售付款方式
</td>
<td
class=
"CP_ComTitle2"
>
手配费
</td>
<td
class=
"CP_ComTitle2"
>
手配费付款方式
</td>
<td
colspan=
"5"
class=
"CP_ComTitle2"
>
备注
</td>
</tr>
<tr
v-for=
"item in CostNumberList"
:key=
"item.subCode"
>
<td>
{{item.PeopleNumber}}+1
</td>
<td>
{{item.TotalMoney}}
</td>
<td>
{{item.JPYTotalMoney}}
</td>
<td>
{{item.JPYTotalMoney*item.PeopleNumber}}
</td>
<td>
<el-input
type=
'text'
class=
"w70"
v-model=
"item.SalePrice"
@
keyup
.
native=
"checkPrice(item,'SalePrice',true)"
maxlength=
"8"
></el-input>
</td>
<td>
<el-input
type=
'text'
class=
"w70"
v-model=
"item.JPYSalePrice"
@
keyup
.
native=
"checkPrice(item,'JPYSalePrice',true)"
maxlength=
"8"
></el-input>
</td>
<td>
<el-select
style=
"width:100%"
v-model=
"postConfig.SaleOfferPayType"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in payTypeList"
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
>
</el-option>
</el-select>
</td>
<td>
<el-input
type=
'text'
class=
"w70"
v-model=
"item.ShouPeiFee"
@
keyup
.
native=
"checkPrice(item,'ShouPeiFee',true)"
maxlength=
"8"
></el-input>
</td>
<td>
<el-select
style=
"width:100%"
v-model=
"postConfig.OfferPayType"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in payTypeList"
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
>
</el-option>
</el-select>
</td>
<td
colspan=
"5"
>
<el-input
type=
"textarea"
v-model=
"item.CostRemark"
></el-input>
</td>
</tr>
<tr>
<td
colspan=
"14"
></td>
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
婴儿
</td>
<td
class=
"CP_ComTitle2"
>
单地接
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
儿童占床
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
儿童不占床
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
儿童附加费
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
老人附加费
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
签证费
</td>
<td
class=
"CP_ComTitle2"
colspan=
"2"
>
单房差
</td>
</tr>
<tr>
<td>
<el-input
placeholder=
""
v-model=
"teamPrice.BabyPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'BabyPrice')"
class=
"w70"
>
</el-input>
</td>
<td>
<el-input
placeholder=
""
v-model=
"teamPrice.SingleDMCPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'SingleDMCPrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNeedPrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNoNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNoNeedPrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.BabyChargePrice"
@
keyup
.
native=
"checkPrice(teamPrice,'BabyChargePrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.OldManChargePrice"
@
keyup
.
native=
"checkInteger(teamPrice,'OldManChargePrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.VisaPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'VisaPrice')"
class=
"w70"
>
</el-input>
</td>
<td
colspan=
"2"
>
<el-input
placeholder=
""
v-model=
"teamPrice.SingleRoomPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'SingleRoomPrice')"
class=
"w70"
>
</el-input>
</td>
</tr>
</table>
<div
class=
"Cost_Line"
></div>
</el-form>
</div>
</div>
</template>
<
script
>
export
default
{
props
:
[
"postConfig"
,
"OtherPrice"
,
"dayCostPrice"
,
"LineList"
,
"CostNumberList"
,
"CurrencyNumberListExt"
,
"CostCurrencyList"
,
"teamPrice"
],
data
()
{
return
{
//下拉框默认值
defaultSelect
:
0
,
queryMsg
:
{
//汇率输入
RateInput
:
""
,
//人数
PeopleNumber
:
""
},
//币种下拉
currencyType
:
""
,
checkedPei
:
[],
currencyTypeArr
:
[],
//币种下拉列表
LineTeamList
:
[],
//系列下拉列表
companyList
:
[],
//出团公司
teamList
:
[],
payTypeList
:
[{
value
:
1
,
label
:
'现金'
},
{
value
:
2
,
label
:
'汇款'
},
{
value
:
3
,
label
:
'外站自理'
},
]
}
},
methods
:
{
//删除文件
DeleteFile
(
subIndex
)
{
this
.
teamPrice
.
ContractArray
.
splice
(
subIndex
,
1
);
},
//下载文件
downloadFile
(
fileUrl
,
fileName
)
{
const
link
=
document
.
createElement
(
'a'
);
link
.
href
=
fileUrl
;
link
.
download
=
fileName
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
},
uploadFileBtn
(
file
)
{
//上传
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
newUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
teamPrice
.
ContractArray
.
push
({
Name
:
x
.
data
.
SourceFileName
,
Url
:
newUrl
});
this
.
teamPrice
.
ContractUrl
=
newUrl
;
this
.
Success
(
this
.
$t
(
'tips.scchenggong'
))
});
},
getCompanyList
()
{
//出团公司
this
.
apipost
(
"sellorder_post_GetBranchList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
companyList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
getTeamList
()
{
//出团公司
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//含餐类型切换
DinnerTypeChange
(
subItem
)
{
switch
(
subItem
.
ContainDinnerType
)
{
//含早餐
case
1
:
subItem
.
BreakfastCostPrice
=
0
;
break
;
//含晚餐
case
2
:
subItem
.
DinnerCostPrice
=
0
;
break
;
case
3
:
subItem
.
BreakfastCostPrice
=
0
;
subItem
.
DinnerCostPrice
=
0
;
break
;
}
},
//交通部分小计
trafficXiaoJi
(
currencyType
)
{
var
trafficTotal
=
0
;
//人民币
if
(
currencyType
==
1
)
{
if
(
this
.
OtherPrice
.
InlandAirTicketCurrency
==
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandAirTicketMoney
);
}
else
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandAirTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandAirTicketCurrency
);
}
if
(
this
.
OtherPrice
.
InlandShipTicketCurrency
==
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandShipTicketMoney
);
}
else
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandShipTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandShipTicketCurrency
);
}
if
(
this
.
OtherPrice
.
InlandTrainTicketCurrency
==
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandTrainTicketMoney
);
}
else
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandTrainTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandTrainTicketCurrency
);
}
if
(
this
.
OtherPrice
.
InternationalAirTicketCurrency
==
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InternationalAirTicket
);
}
else
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InternationalAirTicket
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InternationalAirTicketCurrency
);
}
}
//外币
else
{
if
(
this
.
OtherPrice
.
InlandAirTicketCurrency
!=
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandAirTicketMoney
);
}
if
(
this
.
OtherPrice
.
InlandShipTicketCurrency
!=
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandShipTicketMoney
);
}
if
(
this
.
OtherPrice
.
InlandTrainTicketCurrency
!=
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InlandTrainTicketMoney
);
}
if
(
this
.
OtherPrice
.
InternationalAirTicketCurrency
!=
1
)
{
trafficTotal
+=
Number
(
this
.
OtherPrice
.
InternationalAirTicket
);
}
}
return
trafficTotal
.
toFixed
(
0
);
},
//杂支小计
zazhiXiaoJi
(
currencyType
)
{
var
zazhiTotal
=
0
;
//人民币
if
(
currencyType
==
1
)
{
if
(
this
.
OtherPrice
.
VisaMoneyCurrencyId
==
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
VisaMoney
);
}
else
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
VisaMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
VisaMoneyCurrencyId
);
}
if
(
this
.
OtherPrice
.
SafeMoneyCurrencyId
==
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
SafeMoney
);
}
else
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
SafeMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
SafeMoneyCurrencyId
);
}
if
(
this
.
OtherPrice
.
LeaderTripMoneyCurrencyId
==
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
LeaderTripMoney
);
}
else
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
LeaderTripMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
LeaderTripMoneyCurrencyId
);
}
if
(
this
.
OtherPrice
.
DriverGuideMoneyCurrencyId
==
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
DriverGuideMoney
);
}
else
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
DriverGuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
DriverGuideMoneyCurrencyId
);
}
if
(
this
.
OtherPrice
.
GuideMoneyCurrencyId
==
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
GuideMoney
);
}
else
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
GuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
GuideMoneyCurrencyId
);
}
}
//外币
else
{
if
(
this
.
OtherPrice
.
VisaMoneyCurrencyId
!=
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
VisaMoney
);
}
if
(
this
.
OtherPrice
.
SafeMoneyCurrencyId
!=
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
SafeMoney
);
}
if
(
this
.
OtherPrice
.
LeaderTripMoneyCurrencyId
!=
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
LeaderTripMoney
);
}
if
(
this
.
OtherPrice
.
DriverGuideMoneyCurrencyId
!=
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
DriverGuideMoney
);
}
if
(
this
.
OtherPrice
.
GuideMoneyCurrencyId
!=
1
)
{
zazhiTotal
+=
Number
(
this
.
OtherPrice
.
GuideMoney
);
}
}
return
zazhiTotal
.
toFixed
(
0
);
},
//每天小计
getDayXiaoJi
(
type
,
currencyType
)
{
var
xiaoJi
=
0
;
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
//酒店
if
(
type
==
1
)
{
xiaoJi
+=
Number
(
item
.
HotelCostPrice
)
*
Number
(
currencyRate
);
}
//车
if
(
type
==
2
)
{
xiaoJi
+=
Number
(
item
.
BusCostPrice
)
*
Number
(
currencyRate
);
}
//景点
if
(
type
==
3
)
{
xiaoJi
+=
Number
(
item
.
ScenicCostPrice
)
*
Number
(
currencyRate
);
}
//早餐
if
(
type
==
4
)
{
xiaoJi
+=
Number
(
item
.
BreakfastCostPrice
)
*
Number
(
currencyRate
);
}
//午餐
if
(
type
==
5
)
{
xiaoJi
+=
Number
(
item
.
LunchCostPrice
)
*
Number
(
currencyRate
);
}
//午餐
if
(
type
==
6
)
{
xiaoJi
+=
Number
(
item
.
DinnerCostPrice
)
*
Number
(
currencyRate
);
}
//过路费
if
(
type
==
7
)
{
xiaoJi
+=
Number
(
item
.
PassFee
)
*
Number
(
currencyRate
);
}
//回佣
if
(
type
==
8
)
{
xiaoJi
+=
Number
(
item
.
RebatePrice
)
*
Number
(
currencyRate
);
}
//杂费
if
(
type
==
9
)
{
xiaoJi
+=
Number
(
item
.
OtherPrice
)
*
Number
(
currencyRate
);
}
});
return
xiaoJi
.
toFixed
(
0
);
},
//获取汇率
getCurrencyMoney
(
currencyId
)
{
let
currency
=
1
;
this
.
CostCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
CurrencyId
==
currencyId
)
{
currency
=
x
.
ExchangeRate
;
}
});
return
currency
;
},
//获取币种名称
getCurrencyName
(
currencyId
)
{
let
CurrencyName
=
""
;
this
.
CostCurrencyList
.
forEach
(
x
=>
{
if
(
x
.
CurrencyId
==
currencyId
)
{
CurrencyName
=
x
.
CurrencyName
;
}
});
return
CurrencyName
;
},
//判断币种是否相等
checkExists
(
CurrencyId
)
{
var
flag
=
false
;
this
.
CurrencyNumberListExt
.
forEach
(
item
=>
{
if
(
!
flag
&&
item
.
Key
==
CurrencyId
)
{
flag
=
true
;
}
});
return
flag
;
},
//获取主成本价
getCostTotalMoney
()
{
let
totalMoney
=
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandAirTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandAirTicketCurrency
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandShipTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandShipTicketCurrency
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandTrainTicketMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InlandTrainTicketCurrency
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InternationalAirTicket
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
InternationalAirTicketCurrency
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
DriverGuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
DriverGuideMoneyCurrencyId
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
GuideMoneyCurrencyId
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
LeaderTripMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
LeaderTripMoneyCurrencyId
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
OfficeCommissionMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
SafeMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
SafeMoneyCurrencyId
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
SalesCommissionMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
TripMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuidePeopleMoney
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
KBMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
VisaMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
VisaMoneyCurrencyId
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
TipComplement
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuideComplement
);
//KBMoney[团负费用减法]
// this.getConvertMoney(this.OtherPrice.AirTicketMoeny) +
return
totalMoney
;
},
//获取主成本价
getCostJpyTotalMoney
()
{
let
totalMoney
=
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandAirTicketMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandShipTicketMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandTrainTicketMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InternationalAirTicket
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
DriverGuideMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuideMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
LeaderTripMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
OfficeCommissionMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
SafeMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
SalesCommissionMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
TripMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuidePeopleMoney
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
KBMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
VisaMoney
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
TipComplement
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuideComplement
);
//KBMoney[团负费用减法]
// this.getConvertMoney(this.OtherPrice.AirTicketMoeny) +
return
totalMoney
;
},
//获取系列列表
getLineTeamList
(
lineId
,
isClear
)
{
if
(
isClear
&&
isClear
==
1
)
{
this
.
postConfig
.
LineteamId
=
0
;
}
let
msg
=
{
lineID
:
lineId
,
isTOOP
:
1
};
var
that
=
this
;
//获取当前选中的对象
let
obj
=
{};
obj
=
that
.
LineList
.
find
(
item
=>
{
return
item
.
LineID
===
lineId
;
});
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//生成行程报价
createDayTripPrice
()
{
if
(
this
.
postConfig
.
DayNum
>
this
.
dayCostPrice
.
length
)
{
for
(
var
i
=
this
.
dayCostPrice
.
length
;
i
<
this
.
postConfig
.
DayNum
;
i
++
)
{
//去掉以前默认的交通
var
dayItem
=
{
Id
:
0
,
//主键编号
OfferId
:
0
,
//报价单编号
ConfigId
:
0
,
//配置编号
Title
:
""
,
//行程大点
DayNum
:
i
+
1
,
//行程天数
CurrencyId
:
0
,
//币种
HotelCostPrice
:
0
,
//酒店报价
BusCostPrice
:
0
,
//车辆报价
ScenicCostPrice
:
0
,
//景点报价
BreakfastCostPrice
:
0
,
//早餐报价
LunchCostPrice
:
0
,
//午餐报价
DinnerCostPrice
:
0
,
//晚餐报价
ContainDinnerType
:
0
,
//含餐类型(1-含早餐,2-含晚餐,3-含早晚)
PassFee
:
0
,
//过路费
HotelName
:
""
,
//酒店名称
RebatePrice
:
0
,
//回佣
OtherPrice
:
0
,
//其它费用(保险、司导杂费等)
};
this
.
dayCostPrice
.
push
(
dayItem
);
}
}
else
{
//删除多余的项
for
(
var
i
=
this
.
postConfig
.
DayNum
;
i
<
this
.
dayCostPrice
.
length
;
i
++
)
{
this
.
dayCostPrice
.
splice
(
i
,
1
);
}
this
.
dayCostPrice
.
length
=
this
.
postConfig
.
DayNum
;
}
},
//获取币种对应 的人数报价
getCurrencyNumberList
(
CurrencyId
)
{
let
currencyNumberList
=
[];
let
flag
=
false
;
this
.
CurrencyNumberListExt
.
forEach
(
item
=>
{
if
(
!
flag
&&
item
.
Key
==
CurrencyId
)
{
flag
=
true
;
currencyNumberList
=
item
.
currencyNumberList
;
}
});
return
currencyNumberList
;
},
//添加币种
addCurrency
()
{
var
currencyId
=
this
.
currencyType
;
var
ckedName
;
var
ckedRate
=
this
.
queryMsg
.
RateInput
;
if
(
currencyId
==
""
)
{
this
.
Info
(
"请选择币种"
);
return
;
}
if
(
ckedRate
==
""
)
{
this
.
Info
(
"请输入汇率"
);
return
;
}
this
.
currencyTypeArr
.
forEach
(
x
=>
{
if
(
currencyId
==
x
.
ID
)
{
ckedName
=
x
.
Name
;
}
});
if
(
this
.
$tripUtils
.
isInObjArr
(
this
.
CostCurrencyList
,
"CurrencyId"
,
currencyId
)
)
{
this
.
Info
(
"币种已经存在"
);
return
;
}
var
CurObj
=
this
.
$tripUtils
.
CostCurrency
();
CurObj
.
CurrencyName
=
ckedName
;
CurObj
.
ExchangeRate
=
ckedRate
;
CurObj
.
CurrencyId
=
currencyId
;
this
.
CostCurrencyList
.
push
(
CurObj
);
this
.
currencyType
=
""
;
this
.
queryMsg
.
RateInput
=
""
;
let
currencyNumberItem
=
{
Key
:
currencyId
,
currencyNumberList
:
[]
};
if
(
this
.
CurrencyNumberListExt
.
length
>
0
)
{
if
(
this
.
CurrencyNumberListExt
[
0
].
currencyNumberList
.
length
>
0
)
{
this
.
CurrencyNumberListExt
[
0
].
currencyNumberList
.
forEach
(
x
=>
{
let
tempData
=
JSON
.
parse
(
JSON
.
stringify
(
x
));
tempData
.
CurrencyId
=
currencyId
;
tempData
.
Money
=
0.0
;
currencyNumberItem
.
currencyNumberList
.
push
(
tempData
);
}
);
}
}
this
.
CurrencyNumberListExt
.
push
(
currencyNumberItem
);
},
//添加人数费用
addPeoNunber
()
{
var
PeopleNumber
=
this
.
queryMsg
.
PeopleNumber
;
if
(
PeopleNumber
==
""
)
{
this
.
Info
(
"请输入人数"
);
return
;
}
if
(
this
.
$tripUtils
.
isInObjArr
(
this
.
CostNumberList
,
"PeopleNumber"
,
PeopleNumber
)
)
{
this
.
Info
(
"人数已经存在"
);
return
;
}
var
CostNumberObj
=
this
.
$tripUtils
.
CostNumber
();
CostNumberObj
.
PeopleNumber
=
PeopleNumber
;
this
.
CostNumberList
.
push
(
CostNumberObj
);
this
.
CurrencyNumberListExt
.
forEach
(
x
=>
{
var
CurrencyNumberObj
=
this
.
$tripUtils
.
CurrencyNumber
();
CurrencyNumberObj
.
CurrencyId
=
x
.
Key
;
CurrencyNumberObj
.
PeopleNumber
=
PeopleNumber
;
x
.
currencyNumberList
.
push
(
CurrencyNumberObj
);
});
this
.
queryMsg
.
PeopleNumber
=
""
;
this
.
queryMsg
.
Money
=
""
;
this
.
shortPeopleNumber
();
},
//删除币种
DeleteCurrency
(
index
)
{
this
.
CostCurrencyList
.
splice
(
index
,
1
);
},
//删除人数
DeletePNumber
(
index
)
{
this
.
CostNumberList
.
splice
(
index
,
1
);
},
//人数排序
shortPeopleNumber
()
{
this
.
CurrencyNumberListExt
.
forEach
(
x
=>
{
x
.
currencyNumberList
.
sort
(
this
.
$commonUtils
.
createComprisonFunction
(
"PeopleNumber"
)
);
});
this
.
CostNumberList
.
sort
(
this
.
$commonUtils
.
createComprisonFunction
(
"PeopleNumber"
)
);
},
//币种下拉获取汇率
getRate
(
ID
)
{
this
.
currencyTypeArr
.
forEach
(
x
=>
{
if
(
x
.
ID
==
ID
)
{
this
.
queryMsg
.
RateInput
=
x
.
CurrentRate
;
}
});
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
currencyTypeArr
=
res
.
data
.
data
;
this
.
currencyTypeArr
.
forEach
(
item
=>
{
if
(
item
.
ID
==
3
)
{
//徐总说日元默认加0.002
item
.
CurrentRate
=
Number
(
item
.
CurrentRate
)
+
Number
(
0.002
);
}
});
}
},
err
=>
{}
);
},
//计算总价
getSubtotalMoney
()
{
let
that
=
this
;
this
.
CostNumberList
.
forEach
(
x
=>
{
x
.
SubtotalMoney
=
(
that
.
getConvertMoney
(
x
.
AirTicketMoney
)
+
that
.
getConvertMoney
(
x
.
TicketMoney
)
+
that
.
getConvertMoney
(
x
.
SingleRoomMoney
)
+
that
.
getConvertMoney
(
x
.
InlandTrafficMoney
)
+
that
.
getConvertMoney
(
x
.
OtherMoney
)
+
that
.
getConvertMoney
(
x
.
LeaderGuideDriveZhuSu
)
).
toFixed
(
0
);
//房餐车景点价格
var
trip
=
Number
(
that
.
getLocalTotalMoney
(
x
.
PeopleNumber
));
var
jpyTrip
=
Number
(
that
.
getLocalJpyTotalMoney
(
x
.
PeopleNumber
));
//其他价格
var
otherPrice
=
Number
(
that
.
getCostTotalMoney
());
var
jpyotherPrice
=
Number
(
that
.
getCostJpyTotalMoney
());
x
.
TotalMoney
=
(
trip
+
otherPrice
+
Number
(
that
.
getConvertMoney
(
x
.
SubtotalMoney
))
).
toFixed
(
0
);
x
.
JPYTotalMoney
=
(
jpyTrip
+
jpyotherPrice
).
toFixed
(
2
);
});
},
//价格转换器
getConvertMoney
(
value
)
{
if
(
value
===
""
||
value
===
undefined
||
value
===
null
)
{
value
=
0.0
;
}
return
parseFloat
(
value
);
},
//获取地接项目报价
getLocalTotalMoney
(
PeopleNumber
)
{
let
totalMoney
=
0.0
;
var
hotelPrice
=
Number
(
this
.
getDayXiaoJi
(
1
,
2
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayXiaoJi
(
3
,
2
));
//景点费用
var
zaoPrice
=
Number
(
this
.
getDayXiaoJi
(
4
,
2
));
//早餐
var
wuPrice
=
Number
(
this
.
getDayXiaoJi
(
5
,
2
));
//午餐
var
wanPrice
=
Number
(
this
.
getDayXiaoJi
(
6
,
2
));
//晚餐
var
otherPrice
=
Number
(
this
.
getDayXiaoJi
(
9
,
2
));
//其它费用
//每人车费
var
perBusFee
=
0
;
if
(
PeopleNumber
>
0
)
{
perBusFee
=
(
Number
(
this
.
getDayXiaoJi
(
2
,
2
))
+
Number
(
this
.
getDayXiaoJi
(
7
,
2
)))
/
Number
(
PeopleNumber
)
.
toFixed
(
0
);
}
totalMoney
=
perBusFee
+
hotelPrice
+
sencePrice
+
zaoPrice
+
wuPrice
+
wanPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
0
);
},
//获取地接项目报价
getLocalJpyTotalMoney
(
PeopleNumber
)
{
let
totalMoney
=
0.0
;
//每人车费
var
perBusFee
=
0
;
if
(
PeopleNumber
>
0
)
{
perBusFee
=
(
Number
(
this
.
getDayXiaoJi
(
2
,
1
))
+
Number
(
this
.
getDayXiaoJi
(
7
,
1
)))
/
Number
(
PeopleNumber
)
.
toFixed
(
0
);
}
var
hotelPrice
=
Number
(
this
.
getDayXiaoJi
(
1
,
1
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayXiaoJi
(
3
,
1
));
//景点费用
var
zaoPrice
=
Number
(
this
.
getDayXiaoJi
(
4
,
1
));
//早餐
var
wuPrice
=
Number
(
this
.
getDayXiaoJi
(
5
,
1
));
//午餐
var
wanPrice
=
Number
(
this
.
getDayXiaoJi
(
6
,
1
));
//晚餐
var
otherPrice
=
Number
(
this
.
getDayXiaoJi
(
9
,
1
));
//其它费用
totalMoney
=
perBusFee
+
hotelPrice
+
sencePrice
+
zaoPrice
+
wuPrice
+
wanPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
0
);
},
//计算领队分摊
getLeaderShare
()
{
let
that
=
this
;
var
AirTicketShareMoney
=
this
.
OtherPrice
.
AirTicketShareMoney
;
var
TicketShareMoney
=
this
.
OtherPrice
.
TicketShareMoney
;
var
SingleRoomShareMoney
=
this
.
OtherPrice
.
SingleRoomShareMoney
;
var
InlandTrafficShareMoney
=
this
.
OtherPrice
.
InlandTrafficShareMoney
;
var
OtherShareMoney
=
this
.
OtherPrice
.
OtherShareMoney
;
//司机导游住宿
var
LeaderGuideDriveZhuSu
=
this
.
OtherPrice
.
LeaderGuideDriveZhuSu
;
this
.
CostNumberList
.
forEach
(
x
=>
{
x
.
AirTicketMoney
=
(
AirTicketShareMoney
/
x
.
PeopleNumber
).
toFixed
(
0
);
x
.
TicketMoney
=
(
TicketShareMoney
/
x
.
PeopleNumber
).
toFixed
(
0
);
x
.
SingleRoomMoney
=
(
SingleRoomShareMoney
/
x
.
PeopleNumber
).
toFixed
(
0
);
x
.
InlandTrafficMoney
=
(
InlandTrafficShareMoney
/
x
.
PeopleNumber
).
toFixed
(
0
);
x
.
OtherMoney
=
(
OtherShareMoney
/
x
.
PeopleNumber
).
toFixed
(
0
);
x
.
LeaderGuideDriveZhuSu
=
(
LeaderGuideDriveZhuSu
/
x
.
PeopleNumber
).
toFixed
(
0
);
});
},
getchange
()
{
this
.
getLeaderShare
();
this
.
getSubtotalMoney
();
}
},
mounted
()
{
this
.
getSubtotalMoney
();
this
.
getAllCurrency
();
this
.
getCompanyList
();
this
.
getTeamList
();
},
created
()
{},
watch
:
{
postConfig
:
{
handler
:
function
(
val
,
oldVal
)
{
this
.
getLineTeamList
(
this
.
postConfig
.
LineId
);
},
deep
:
true
},
CostNumberList
:
{
handler
:
function
(
val
,
oldVal
)
{
this
.
getchange
()
},
deep
:
true
},
},
};
</
script
>
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
View file @
0973c915
...
@@ -286,7 +286,7 @@
...
@@ -286,7 +286,7 @@
},
},
created
()
{
created
()
{
if
(
this
.
$route
.
query
.
TeamType
)
{
if
(
this
.
$route
.
query
.
TeamType
)
{
this
.
postData
.
TeamType
=
this
.
$route
.
query
.
TeamType
;
this
.
postData
.
TeamType
=
Number
(
this
.
$route
.
query
.
TeamType
)
;
}
}
this
.
getPostData
();
this
.
getPostData
();
},
},
...
...
src/components/TravelManager/TravelNewQuotation/priceDialog.vue
View file @
0973c915
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
CostNewPrice
from
"../TravelNewQuotation/CostNewPrice"
;
import
CostNewPrice
from
"../TravelNewQuotation/CostNewPrice
CC
"
;
export
default
{
export
default
{
props
:
[
'ConfigId'
,
'OfferId'
],
props
:
[
'ConfigId'
,
'OfferId'
],
...
...
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