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
086d46b9
Commit
086d46b9
authored
Apr 20, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save
parent
0973c915
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
114 additions
and
636 deletions
+114
-636
CostNewPriceCC.vue
...nents/TravelManager/TravelNewQuotation/CostNewPriceCC.vue
+114
-636
No files found.
src/components/TravelManager/TravelNewQuotation/CostNewPriceCC.vue
View file @
086d46b9
...
...
@@ -14,6 +14,10 @@
padding-top
:
30px
;
}
.CostNewPrice
.QuotationFirstDiv1
.el-form-item__content
.el-select
{
width
:
calc
(
100%
-
100px
);
}
.CostNewPrice
.CP_ComTitle2
{
color
:
#106BAF
;
font-weight
:
bold
;
...
...
@@ -21,30 +25,25 @@
white-space
:
nowrap
;
}
.CostNewTable
{
border-collapse
:
collapse
;
}
.CostNewTable
td
{
padding
:
5px
;
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
;
.CostPriceDiv
{
float
:
left
;
width
:
19%
;
margin-right
:
23px
;
}
.CP_ComTitle
{
color
:
#106BAF
;
}
.w79
{
width
:
79px
!important
;
}
.w70
{
width
:
70px
!important
;
...
...
@@ -59,84 +58,64 @@
padding-right
:
10px
;
}
.CostNew
Price
.el-form-item
{
margin-bottom
:
0
!important
;
.CostNew
Table
.el-input__inner
{
padding
:
0
5px
;
}
</
style
>
<
template
>
<div>
<div
class=
"CostNewPrice clearfix CP_Div"
style=
"width:
98
0px;"
>
<div
class=
"CostNewPrice clearfix CP_Div"
style=
"width:
125
0px;"
>
<el-form>
<table
class=
"CostNewTable"
style=
"width:1250px;"
>
<tr>
<td
colspan=
"14"
></td>
</tr>
<table
class=
"CostPriceTable CostNewTable"
>
<tr>
<td
rowspan=
"2"
style=
"width:100px"
class=
"CP_ComTitle2 CostcomCenter"
>
Day
</td>
<td
rowspan=
"2"
width=
'
8
0'
class=
"CP_ComTitle2 CostcomCenter"
>
行程大点
</td>
<td
rowspan=
"2"
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
币种
</td>
<td
rowspan=
"2"
width=
'
8
0'
class=
"CP_ComTitle2 CostcomCenter"
>
酒店
</td>
<td
colspan=
"4"
class=
"CP_ComTitle2 CostcomCenter"
>
车
</td>
<td
rowspan=
"2"
width=
'180'
class=
"CP_ComTitle2 CostcomCenter"
>
Day
</td>
<td
rowspan=
"2"
width=
'
20
0'
class=
"CP_ComTitle2 CostcomCenter"
>
行程大点
</td>
<td
rowspan=
"2"
width=
"
10
0"
class=
"CP_ComTitle2 CostcomCenter"
>
币种
</td>
<td
rowspan=
"2"
width=
'
6
0'
class=
"CP_ComTitle2 CostcomCenter"
>
酒店
</td>
<td
colspan=
"4"
width=
'100'
class=
"CP_ComTitle2 CostcomCenter"
>
车
</td>
<td
rowspan=
"2"
width=
'80'
class=
"CP_ComTitle2 CostcomCenter"
>
门票
</td>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
餐
</td>
<td
colspan=
"3"
width=
'100'
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=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
总车资
</td>
<td
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
过路费
</td>
<td
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
人数
</td>
<td
width=
"
80"
class=
"CP_ComTitle2 CostcomCenter"
>
每人
<br
/>
车资
</td>
<td
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
早
</td>
<td
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
中
</td>
<td
width=
"
8
0"
class=
"CP_ComTitle2 CostcomCenter"
>
晚
</td>
<td
width=
"
12
0"
class=
"CP_ComTitle2 CostcomCenter"
>
总车资
</td>
<td
width=
"
12
0"
class=
"CP_ComTitle2 CostcomCenter"
>
过路费
</td>
<td
width=
"
10
0"
class=
"CP_ComTitle2 CostcomCenter"
>
人数
</td>
<td
width=
"
100"
class=
"CP_ComTitle2 CostcomCenter"
style=
"white-space:nowrap; "
>
每人
车资
</td>
<td
width=
"
12
0"
class=
"CP_ComTitle2 CostcomCenter"
>
早
</td>
<td
width=
"
10
0"
class=
"CP_ComTitle2 CostcomCenter"
>
中
</td>
<td
width=
"
10
0"
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
}}
<div
style=
"width:100px;"
>
{{
subItem
.
DayNum
}}
</div>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
<el-input
type=
"textarea"
resize=
"none"
class=
"w250"
v-model=
"subItem.Title"
></el-input>
{{
subItem
.
Title
}}
</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>
{{
getCurrencyName
(
subItem
.
CurrencyId
)
}}
</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>
{{
subItem
.
HotelName
}}
<br
/>
<template
v-if=
"subItem.ContainDinnerType==0"
>
含餐类型
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==1"
>
含早餐
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==2"
>
含晚餐
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==3"
>
含晚餐
</
template
>
<br
/>
{{subItem.HotelCostPrice}}
</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>
{{subItem.BusCostPrice}}
</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>
{{subItem.PassFee}}
</td>
<td>
{{childItem.PeopleNumber}}
...
...
@@ -145,33 +124,22 @@
{{((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>
{{subItem.ScenicCostPrice}}
</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>
{{subItem.BreakfastCostPrice}}
</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>
{{subItem.LunchCostPrice}}
</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>
{{subItem.DinnerCostPrice}}
</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>
{{subItem.RebatePrice}}
</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>
{{subItem.OtherPrice}}
</td>
</tr>
</template>
...
...
@@ -210,12 +178,6 @@
<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"
>
...
...
@@ -251,57 +213,34 @@
<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
}}
<div
style=
"width:100px;"
>
{{
subItem
.
DayNum
}}
</div>
</td>
<td>
<el-input
type=
"textarea"
resize=
"none"
class=
"w250"
v-model=
"subItem.Title"
></el-input>
{{
subItem
.
Title
}}
</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>
{{
getCurrencyName
(
subItem
.
CurrencyId
)
}}
</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>
{{
subItem
.
HotelName
}}
<br
/>
<template
v-if=
"subItem.ContainDinnerType==0"
>
含餐类型
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==1"
>
含早餐
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==2"
>
含晚餐
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==3"
>
含晚餐
</
template
>
<br
/>
{{subItem.HotelCostPrice}}
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.BusCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'BusCostPrice'),getchange()"
>
</el-input>
{{subItem.BusCostPrice}}
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.PassFee"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'PassFee'),getchange()"
>
</el-input>
{{subItem.PassFee}}
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
...
...
@@ -314,33 +253,22 @@
</
template
>
</td>
<td>
<el-input
type=
'text'
v-model=
"subItem.ScenicCostPrice"
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'ScenicCostPrice'),getchange()"
></el-input>
{{subItem.ScenicCostPrice}}
</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>
{{subItem.BreakfastCostPrice}}
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.LunchCostPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'LunchCostPrice'),getchange()"
></el-input>
{{subItem.LunchCostPrice}}
</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>
{{subItem.DinnerCostPrice}}
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.RebatePrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'RebatePrice'),getchange()"
></el-input>
{{subItem.RebatePrice}}
</td>
<td>
<el-input
type=
"text"
v-model=
'subItem.OtherPrice'
class=
"w60"
@
keyup
.
native=
"checkPrice(subItem,'OtherPrice'),getchange()"
></el-input>
{{subItem.OtherPrice}}
</td>
</tr>
<tr>
...
...
@@ -428,8 +356,8 @@
</td>
</tr>
</template>
<tr>
<td
colspan=
"14"
></td>
<tr>
<td
colspan=
"14"
></td>
</tr>
<tr>
<td
colspan=
"14"
class=
"CP_ComTitle2"
>
成本统计(以下报价为每人费用)
<br
/>
...
...
@@ -437,7 +365,7 @@
</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>
...
...
@@ -454,106 +382,38 @@
<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>
{{item.SalePrice}}
</td>
<td>
<el-input
type=
'text'
class=
"w70"
v-model=
"item.JPYSalePrice"
@
keyup
.
native=
"checkPrice(item,'JPYSalePrice',true)"
maxlength=
"8"
></el-input>
{{item.JPYSalePrice}}
</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>
<
template
v-if=
"postConfig.SaleOfferPayType==1"
>
现金
</
template
>
<
template
v-if=
"postConfig.SaleOfferPayType==2"
>
汇款
</
template
>
<
template
v-if=
"postConfig.SaleOfferPayType==3"
>
外站自理
</
template
>
</td>
<td>
<el-input
type=
'text'
class=
"w70"
v-model=
"item.ShouPeiFee"
@
keyup
.
native=
"checkPrice(item,'ShouPeiFee',true)"
maxlength=
"8"
></el-input>
{{item.ShouPeiFee}}
</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>
<
template
v-if=
"postConfig.OfferPayType==1"
>
现金
</
template
>
<
template
v-if=
"postConfig.OfferPayType==2"
>
汇款
</
template
>
<
template
v-if=
"postConfig.OfferPayType==3"
>
外站自理
</
template
>
</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>
{{item.CostRemark}}
</td>
</tr>
</table>
...
...
@@ -565,42 +425,18 @@
<
script
>
export
default
{
props
:
[
"postConfig"
,
"OtherPrice"
,
"dayCostPrice"
,
"LineList"
,
"CostNumberList"
,
"CurrencyNumberListExt"
,
"CostCurrencyList"
,
"teamPrice"
"CostCurrencyList"
,
"teamPrice"
,
"IsEdit"
],
data
()
{
return
{
//下拉框默认值
defaultSelect
:
0
,
queryMsg
:
{
//汇率输入
RateInput
:
""
,
//人数
PeopleNumber
:
""
//审核信息
AduitMsg
:
{
},
//币种下拉
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'
);
...
...
@@ -609,61 +445,9 @@
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
;
}
//调用父组件方法
SubSaveType
(
type
)
{
this
.
$parent
.
SaveData
(
type
);
},
//交通部分小计
trafficXiaoJi
(
currencyType
)
{
...
...
@@ -808,7 +592,7 @@
if
(
type
==
8
)
{
xiaoJi
+=
Number
(
item
.
RebatePrice
)
*
Number
(
currencyRate
);
}
//
杂费
//
其它费用(保险、司导杂费等)
if
(
type
==
9
)
{
xiaoJi
+=
Number
(
item
.
OtherPrice
)
*
Number
(
currencyRate
);
}
...
...
@@ -835,29 +619,20 @@
});
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
.
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
.
DriverGuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
DriverGuideMoneyCurrencyId
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
GuideMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
GuideMoneyCurrencyId
)
+
...
...
@@ -874,259 +649,11 @@
this
.
getConvertMoney
(
this
.
OtherPrice
.
KBMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
VisaMoney
)
*
this
.
getCurrencyMoney
(
this
.
OtherPrice
.
VisaMoneyCurrencyId
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
Tip
Complement
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
Guide
Complement
);
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
Guide
Complement
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
Tip
Complement
);
//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
)
{
...
...
@@ -1134,42 +661,7 @@
}
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
;
...
...
@@ -1191,29 +683,15 @@
},
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
},
},
};
...
...
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