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
764192dc
Commit
764192dc
authored
Feb 14, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
46440ffe
514158f4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1822 additions
and
510 deletions
+1822
-510
AuditDan.vue
src/components/TravelManager/TravelGroupControl/AuditDan.vue
+480
-482
CostNewPrice.vue
...ponents/TravelManager/TravelNewQuotation/CostNewPrice.vue
+37
-22
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+1023
-0
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+263
-0
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+8
-4
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+2
-2
config.js
src/router/config.js
+9
-0
No files found.
src/components/TravelManager/TravelGroupControl/AuditDan.vue
View file @
764192dc
This diff is collapsed.
Click to expand it.
src/components/TravelManager/TravelNewQuotation/CostNewPrice.vue
View file @
764192dc
...
...
@@ -290,7 +290,7 @@
{{
childItem
.
PeopleNumber
}}
</td>
<td>
{{
(
Number
(
subItem
.
BusCostPrice
)
/
Number
(
childItem
.
PeopleNumber
)).
toFixed
(
0
)
}}
{{
(
(
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=
"w70"
...
...
@@ -435,7 +435,7 @@
</td>
<td>
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
{{
(
Number
(
subItem
.
BusCostPrice
)
/
Number
(
CostNumberList
[
0
].
PeopleNumber
)).
toFixed
(
0
)
}}
{{
(
(
Number
(
subItem
.
BusCostPrice
)
+
Number
(
subItem
.
PassFee
)
)
/
Number
(
CostNumberList
[
0
].
PeopleNumber
)).
toFixed
(
0
)
}}
</
template
>
</td>
<td>
...
...
@@ -655,7 +655,7 @@
<tr>
<td
colspan=
"6"
></td>
<td
class=
"CP_ComTitle2 CostcomCenter"
>
4
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2"
>
司机
、导游
小费
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2"
>
司机小费
</td>
<td>
<el-form-item>
<el-select
v-model=
'OtherPrice.DriverGuideMoneyCurrencyId'
class=
"w70"
>
...
...
@@ -673,6 +673,27 @@
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"6"
></td>
<td
class=
"CP_ComTitle2 CostcomCenter"
>
5
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2"
>
导游小费
</td>
<td>
<el-form-item>
<el-select
v-model=
'OtherPrice.GuideMoneyCurrencyId'
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
colspan=
"2"
>
<el-form-item>
<el-input
type=
'text'
class=
"w100"
v-model=
"OtherPrice.GuideMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'GuideMoney'),getchange()"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
外币小计
...
...
@@ -961,7 +982,6 @@
@
keyup
.
native=
"checkPrice(teamPrice,'SingleRoomPrice')"
class=
"w100"
>
</el-input>
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
备注
</td>
...
...
@@ -1082,6 +1102,12 @@
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
{
...
...
@@ -1097,10 +1123,12 @@
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
;
...
...
@@ -1170,20 +1198,6 @@
});
return
flag
;
},
//获取不同人数组合价
getCurrencyNumberTotalMoney
(
peopleNumber
)
{
let
totalMoney
=
0.0
;
this
.
CurrencyNumberListExt
.
forEach
(
x
=>
{
x
.
currencyNumberList
.
forEach
(
y
=>
{
// if (peopleNumber === y.PeopleNumber) {
// totalMoney +=
// this.getConvertMoney(y.Money) *
// this.getCurrencyMoney(y.CurrencyId);
// }
});
});
return
totalMoney
;
},
//获取主成本价
getCostTotalMoney
()
{
let
totalMoney
=
...
...
@@ -1198,6 +1212,9 @@
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
)
+
...
...
@@ -1429,12 +1446,10 @@
console
.
log
(
"trip"
,
trip
);
//其他价格
var
otherPrice
=
Number
(
that
.
getCostTotalMoney
())
console
.
log
(
"otherPrice"
,
otherPrice
)
var
otherPrice
=
Number
(
that
.
getCostTotalMoney
());
x
.
TotalMoney
=
(
trip
+
otherPrice
+
Number
(
that
.
getConvertMoney
(
x
.
SubtotalMoney
))
).
toFixed
(
0
);
// + that.getCurrencyNumberTotalMoney(x.PeopleNumber)
});
},
//价格转换器
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
0 → 100644
View file @
764192dc
This diff is collapsed.
Click to expand it.
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
0 → 100644
View file @
764192dc
<
style
>
.singlePrice
{
width
:
100%
;
position
:
relative
;
margin-bottom
:
15px
;
background-color
:
#fff
;
padding
:
0
20px
20px
20px
;
border-radius
:
4px
;
}
</
style
>
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"singlePrice clearfix"
>
<CostNewPriceAudit
ref=
"CostNewPrice"
:postConfig=
"postData"
:OtherPrice=
"otherPrice"
:dayCostPrice=
"dayCostPriceList"
:CostCurrencyList=
"CostCurrencyList"
:CostNumberList=
"CostNumberList"
:CurrencyNumberListExt=
"CurrencyNumberListExt"
:teamPrice=
"teamPrice"
></CostNewPriceAudit>
</div>
</div>
</
template
>
<
script
>
import
CostNewPriceAudit
from
"../TravelNewQuotation/CostNewPriceAudit"
;
export
default
{
data
()
{
return
{
ConfigID
:
0
,
IsShow
:
false
,
//基本配置
postData
:
{
ID
:
0
,
StartCityId
:
0
,
LineId
:
0
,
LineteamId
:
0
,
Title
:
""
,
IsOrder
:
1
,
IsSubstitution
:
1
,
IsB2B
:
1
,
IsB2C
:
1
,
FSeat
:
0
,
CSeat
:
0
,
YSeat
:
0
,
//最低成团人数
LowNum
:
0
,
//OP备注
OpRemark
:
""
,
//产品经理备注
ProductRecommend
:
""
,
IsDirect
:
0
,
//是否直采(0-否-1-是)【全部默认非直采】
PriceIsDirect
:
1
,
//是否直采报价(1-否-2-是)【全部默认非直采】
PDFAlias
:
""
,
//pdf别名
ImgCover
:
""
,
//封面图
DayNum
:
0
,
//天数
NightNum
:
0
,
//晚数
StartCityId
:
0
,
ReturnArriveCityId
:
0
,
//返回抵达城市
CustomerName
:
""
,
//客户名称
TeamType
:
0
,
//团队类型,
LineName
:
""
,
//线路名称
LtName
:
""
,
//系列名称
},
dayCostPriceList
:
[],
//报价列表
isSubmit
:
true
,
otherPrice
:
{
CostId
:
0
,
//主键编号
ConfigID
:
0
,
//配置编号
OfferId
:
0
,
//报价单编号
InlandAirTicketCurrency
:
0
,
//内陆段机位币种
InlandAirTicketMoney
:
0
,
//内陆段机位金额(每人)
InlandShipTicketCurrency
:
0
,
//内陆段船票币种
InlandShipTicketMoney
:
0
,
//内陆段船票金额(每人)
InlandTrainTicketCurrency
:
0
,
//内陆段火车币种
InlandTrainTicketMoney
:
0
,
//内陆段火车金额(每人)
VisaMoney
:
0
,
//签证费用(每人)
SafeMoney
:
0
,
//保险费用(每人)
LeaderTripMoney
:
0
,
//领队小费
DriverGuideMoney
:
0
,
//司机小费
SalesCommissionMoney
:
0
,
//销售提成
OfficeCommissionMoney
:
0
,
//作业处提成
TripMoney
:
0
,
//小费
GuidePeopleMoney
:
0
,
//导游人头费
AirTicketMoeny
:
0
,
//机票成本费用
KBMoney
:
0
,
//KB人头费
AirTicketShareMoney
:
0
,
//机票分摊费用
TicketShareMoney
:
0
,
//门票分摊费用,
SingleRoomShareMoney
:
0
,
//单房差分摊费用
InlandTrafficShareMoney
:
0
,
//内陆段交通分摊费用
OtherShareMoney
:
0
,
//杂费分摊费用
OtherRemark
:
""
,
//其他价格备注
VisaMoneyCurrencyId
:
0
,
//签证费币种
SafeMoneyCurrencyId
:
0
,
//保险费币种
LeaderTripMoneyCurrencyId
:
0
,
//领队小费币种
DriverGuideMoneyCurrencyId
:
0
,
//司机小费币种
GuideMoneyCurrencyId
:
0
,
//导游小费币种
GuideMoney
:
0
,
//导游小费
},
CostCurrencyList
:
[],
//选择的币种
CostNumberList
:
[],
//人数
CurrencyNumberListExt
:
[],
//币种和人数列表
//团报价信息
teamPrice
:
{
QuotationId
:
0
,
//主键编号
TeamId
:
0
,
//团期编号
ConfigID
:
0
,
//团队配置编号
OfferId
:
0
,
//报价编号
B2BMemberPrice
:
0
,
//同业会员价
B2BPrice
:
0
,
//同业价格
B2CMemberPrice
:
0
,
//直客会员价,
B2CPrice
:
0
,
//直客价格
ChildNeedPrice
:
0
,
//小孩占床价格,
ChildNoNeedPrice
:
0
,
//小孩不占床价格
BabyPrice
:
0
,
//婴儿价格
BabyChargePrice
:
0
,
//婴儿附加费
OldManChargePrice
:
0
,
//老人附加费
VisaPrice
:
0
,
//签证
OtherPrice
:
0
,
//杂费
SingleRoomPrice
:
0
,
//单房差
SingleDMCPrice
:
0
,
//单地接
RebatePrice
:
0
,
//同行返佣
DiscountPrice
:
0
,
//早鸟优惠
IsSupportChildren
:
1
,
//是否支持儿童出游(1-支持,2-不支持)
SafeMoney
:
0
,
//保险费
PeopleNumber
:
0
,
//人数
AirticketMoney
:
0
,
//机票费用
BackVisaPrice
:
0
,
//退签证费
BackSafeMoney
:
0
,
//退保险费
ContractUrl
:
""
,
//合同地址
PriceRemark
:
""
,
//定价备注
LeaderGuideDriveZhuSu
:
0
,
//领队导游住宿费
AuditContent
:
""
,
//审核备注
TravelState
:
0
,
//3审核通过,4拒绝
},
LineList
:
[],
//线路列表
loading
:
false
};
},
methods
:
{
//保存数据
SaveData
(
Type
)
{
var
nObj
=
{
ID
:
this
.
$route
.
query
.
configId
,
AuditContent
:
this
.
postData
.
AuditContent
,
TravelState
:
Type
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_AuditTravelConfig"
,
nObj
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
goUrl
(
'AuditDan'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
cache
:
true
}
});
},
getPostData
()
{
let
configId
=
this
.
$route
.
query
.
configId
;
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
}
let
msg
=
{
ID
:
configId
,
offerId
:
offerId
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V2"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
console
.
log
(
"tempData1"
,
tempData
);
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
this
.
postData
.
ID
=
tempData
.
ID
;
}
if
(
tempData
.
LineId
&&
tempData
.
LineId
>
0
)
{
this
.
postData
.
LineId
=
tempData
.
LineId
;
}
if
(
tempData
.
LineteamId
&&
tempData
.
LineteamId
>
0
)
{
this
.
postData
.
LineteamId
=
tempData
.
LineteamId
;
}
if
(
tempData
.
CSeat
&&
tempData
.
CSeat
>
0
)
{
this
.
postData
.
CSeat
=
tempData
.
CSeat
;
}
if
(
tempData
.
FSeat
&&
tempData
.
FSeat
>
0
)
{
this
.
postData
.
FSeat
=
tempData
.
FSeat
;
}
if
(
tempData
.
YSeat
&&
tempData
.
YSeat
>
0
)
{
this
.
postData
.
YSeat
=
tempData
.
YSeat
;
}
if
(
tempData
.
LowNum
&&
tempData
.
LowNum
>
0
)
{
this
.
postData
.
LowNum
=
tempData
.
LowNum
;
}
if
(
tempData
.
Title
&&
tempData
.
Title
!=
''
)
{
this
.
postData
.
Title
=
tempData
.
Title
;
}
if
(
tempData
.
DayNum
&&
tempData
.
DayNum
>
0
)
{
this
.
postData
.
DayNum
=
tempData
.
DayNum
;
}
if
(
tempData
.
NightNum
&&
tempData
.
NightNum
>
0
)
{
this
.
postData
.
NightNum
=
tempData
.
NightNum
;
}
this
.
postData
.
CustomerName
=
tempData
.
CustomerName
;
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
LineList
=
tempData
.
LineList
;
if
(
tempData
.
dayCostPriceList
&&
tempData
.
dayCostPriceList
!=
null
&&
tempData
.
dayCostPriceList
.
length
>
0
)
{
this
.
dayCostPriceList
=
tempData
.
dayCostPriceList
;
}
if
(
tempData
.
otherPrice
)
{
this
.
otherPrice
=
tempData
.
otherPrice
;
}
if
(
tempData
.
teamPrice
)
{
this
.
teamPrice
=
tempData
.
teamPrice
;
}
if
(
tempData
.
CostNumberList
&&
tempData
.
CostNumberList
!=
null
&&
tempData
.
CostNumberList
.
length
>
0
)
{
this
.
CostNumberList
=
tempData
.
CostNumberList
;
}
if
(
tempData
.
CostCurrencyList
&&
tempData
.
CostCurrencyList
!=
null
&&
tempData
.
CostCurrencyList
.
length
>
0
)
{
this
.
CostCurrencyList
=
tempData
.
CostCurrencyList
;
}
if
(
tempData
.
CurrencyNumberListExt
&&
tempData
.
CurrencyNumberListExt
!=
null
&&
tempData
.
CurrencyNumberListExt
.
length
>
0
)
{
this
.
CurrencyNumberListExt
=
tempData
.
CurrencyNumberListExt
;
}
this
.
IsShow
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
},
created
()
{
if
(
this
.
$route
.
query
.
TeamType
)
{
this
.
postData
.
TeamType
=
this
.
$route
.
query
.
TeamType
;
}
this
.
getPostData
();
},
components
:
{
CostNewPriceAudit
:
CostNewPriceAudit
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
View file @
764192dc
...
...
@@ -53,6 +53,7 @@
ReturnArriveCityId
:
0
,
//返回抵达城市
CustomerName
:
""
,
//客户名称
TeamType
:
0
,
//团队类型
TravelState
:
1
,
//团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
},
dayCostPriceList
:
[],
//报价列表
isSubmit
:
true
,
...
...
@@ -69,7 +70,7 @@
VisaMoney
:
0
,
//签证费用(每人)
SafeMoney
:
0
,
//保险费用(每人)
LeaderTripMoney
:
0
,
//领队小费
DriverGuideMoney
:
0
,
//司机
导游
小费
DriverGuideMoney
:
0
,
//司机小费
SalesCommissionMoney
:
0
,
//销售提成
OfficeCommissionMoney
:
0
,
//作业处提成
TripMoney
:
0
,
//小费
...
...
@@ -85,7 +86,9 @@
VisaMoneyCurrencyId
:
0
,
//签证费币种
SafeMoneyCurrencyId
:
0
,
//保险费币种
LeaderTripMoneyCurrencyId
:
0
,
//领队小费币种
DriverGuideMoneyCurrencyId
:
0
,
//司机导游小费币种
DriverGuideMoneyCurrencyId
:
0
,
//司机小费币种
GuideMoneyCurrencyId
:
0
,
//导游小费币种
GuideMoney
:
0
,
//导游小费
},
CostCurrencyList
:
[],
//选择的币种
CostNumberList
:
[],
//人数
...
...
@@ -131,7 +134,7 @@
this
.
$refs
[
"QuotationPrice"
].
submitForm
(
type
);
},
//保存数据
SaveData
()
{
SaveData
(
type
)
{
var
currencyNumList
=
[];
if
(
this
.
CurrencyNumberListExt
!=
null
&&
this
.
CurrencyNumberListExt
.
length
>
0
)
{
this
.
CurrencyNumberListExt
.
forEach
((
item
,
index
)
=>
{
...
...
@@ -140,6 +143,8 @@
});
});
}
this
.
postData
.
TravelState
=
type
;
console
.
log
(
"this.postData"
,
this
.
postData
);
var
nObj
=
{
config
:
this
.
postData
,
dayCostPriceList
:
this
.
dayCostPriceList
,
...
...
@@ -192,7 +197,6 @@
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
console
.
log
(
"tempData"
,
tempData
);
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
this
.
postData
.
ID
=
tempData
.
ID
;
}
...
...
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
View file @
764192dc
...
...
@@ -114,7 +114,7 @@
</div>
<div
class=
"_cent"
>
<div
style=
"margin: 0 13px 0 10px;"
class=
"stayDays"
>
{{
item
.
DayNum
}}{{
$t
(
'hotel.hotel_day'
)
}}
{{
item
.
NightNum
}}{{
$t
(
'Operation.Op_night'
)
}}
</div>
{{
item
.
DayNum
}}{{
$t
(
'hotel.hotel_day'
)
}}
</div>
<div
class=
""
>
{{
$t
(
'op.SalesPrice'
)
}}
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
...
...
@@ -175,7 +175,7 @@
</div>
</div>
</div>
<span
slot=
"reference"
class=
"diPrice"
@
click=
"getSalsPrice(item.ID)"
>
{{
item
.
SalesPrice
}}
<span
<span
slot=
"reference"
class=
"diPrice"
>
{{
item
.
SalesPrice
}}
<span
class=
"qi"
>
{{
$t
(
'op.Qi'
)
}}
</span></span>
</el-popover>
</div>
...
...
src/router/config.js
View file @
764192dc
...
...
@@ -2916,6 +2916,15 @@ export default {
title
:
'制作报价单'
},
},
{
//新版报价单审核
path
:
'/QuotationAduit'
,
name
:
'QuotationAduit'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/QuotationAduit'
],
resolve
),
meta
:
{
title
:
'报价单审核'
},
},
{
//团控-我的机票
path
:
'/TravelMyTicket'
,
name
:
'TravelMyTicket'
,
...
...
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