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
301bccb6
Commit
301bccb6
authored
Jan 14, 2025
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
报价单审核流程调整
parent
c69a645b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
623 additions
and
30 deletions
+623
-30
fill.js
src/assets/common/lang/EN/fill.js
+2
-2
fill.js
src/assets/common/lang/Japan/fill.js
+2
-2
fill.js
src/assets/common/lang/zhCN/fill.js
+2
-2
fill.js
src/assets/common/lang/zhTW/fill.js
+2
-2
AuditDan.vue
src/components/TravelManager/TravelGroupControl/AuditDan.vue
+7
-2
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+23
-5
CostNewPriceForm.vue
...nts/TravelManager/TravelNewQuotation/CostNewPriceForm.vue
+19
-9
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+15
-2
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+26
-4
ticketRankingList.vue
src/components/scenicSpot/ticketRankingList.vue
+517
-0
config.js
src/router/config.js
+8
-0
No files found.
src/assets/common/lang/EN/fill.js
View file @
301bccb6
...
...
@@ -1630,7 +1630,7 @@ export const obj = {
renmingbxj
:
'RMB Subtotal'
,
qitacbrmb
:
'Other costs (RMB)'
,
zhongduanjp
:
'Mid-course Ticket'
,
xiaojijpzdsjly
:
'Subtotals (airfare+mid flight ticket+taxes+intermodal transportation+tour guide sharing+overnight stay+visa+insurance - KB headcount fee)'
,
xiaojijpzdsjly
:
'Subtotals (airfare+mid flight ticket+taxes+intermodal transportation
+Train tickets
+tour guide sharing+overnight stay+visa+insurance - KB headcount fee)'
,
lingduidyft
:
'Lead and guide sharing'
,
guoye
:
'Stay the night'
,
dandijcb
:
'Single ground connection (cost)'
,
...
...
@@ -4208,7 +4208,7 @@ export const obj = {
neindwjtbf
:
'Inland Section Traffic section '
,
neildjwmr
:
'Inland segment slots (per person) '
,
neildcpmr
:
'Inland Ferry Ticket (per person) '
,
meildhvpmr
:
'
Inland section
train ticket (per person) '
,
meildhvpmr
:
'train ticket (per person) '
,
qianzfmr
:
'Visa Fee (per person) '
,
baoxfmr
:
'Premium (per person) '
,
sijdyxf
:
'Tips for drivers, guides '
,
...
...
src/assets/common/lang/Japan/fill.js
View file @
301bccb6
...
...
@@ -1630,7 +1630,7 @@ export const obj = {
renmingbxj
:
'人民元の小計'
,
qitacbrmb
:
'その他のコスト(人民元)'
,
zhongduanjp
:
'航空券'
,
xiaojijpzdsjly
:
'小計(航空券+中段航空券+税金+連絡輸送+添乗員割り当て+宿泊+ビザ+保険-KB頭金)'
,
xiaojijpzdsjly
:
'小計(航空券+中段航空券+
汽車の切符+
税金+連絡輸送+添乗員割り当て+宿泊+ビザ+保険-KB頭金)'
,
lingduidyft
:
'添乗ガイド分担'
,
guoye
:
'夜を明かす'
,
dandijcb
:
'コスト'
,
...
...
@@ -4208,7 +4208,7 @@ export const obj = {
neindwjtbf
:
'内陸部交通部'
,
neildjwmr
:
'内陸段機位(一人当たり)'
,
neildcpmr
:
'内陸部の乗船券(一人当たり)'
,
meildhvpmr
:
'
内陸区
間列車の切符(一人当たり)'
,
meildhvpmr
:
'間列車の切符(一人当たり)'
,
qianzfmr
:
'ビザ料(一人当たり)'
,
baoxfmr
:
'保険料(一人当たり)'
,
sijdyxf
:
'運転手、ガイドチップ、'
,
...
...
src/assets/common/lang/zhCN/fill.js
View file @
301bccb6
...
...
@@ -1630,7 +1630,7 @@ export const obj = {
renmingbxj
:
'人民币小计'
,
qitacbrmb
:
'其它成本(人民币)'
,
zhongduanjp
:
'中段机票'
,
xiaojijpzdsjly
:
'小计(机票+中段机票+税金+联运+领队导游分摊+过夜+签证+保险-KB人头费)'
,
xiaojijpzdsjly
:
'小计(机票+中段机票+
火车票+
税金+联运+领队导游分摊+过夜+签证+保险-KB人头费)'
,
lingduidyft
:
'领队导游分摊'
,
guoye
:
'过夜'
,
dandijcb
:
'单地接(成本)'
,
...
...
@@ -4208,7 +4208,7 @@ export const obj = {
neindwjtbf
:
'内陆段交通部分'
,
neildjwmr
:
'内陆段机位(每人)'
,
neildcpmr
:
'内陆段船票(每人)'
,
meildhvpmr
:
'
内陆段
火车票(每人)'
,
meildhvpmr
:
'火车票(每人)'
,
qianzfmr
:
'签证费(每人)'
,
baoxfmr
:
'保险费(每人)'
,
sijdyxf
:
'司机、导游小费'
,
...
...
src/assets/common/lang/zhTW/fill.js
View file @
301bccb6
...
...
@@ -1630,7 +1630,7 @@ export const obj = {
renmingbxj
:
'人民幣小計'
,
qitacbrmb
:
'其它成本(人民幣)'
,
zhongduanjp
:
'中段機票'
,
xiaojijpzdsjly
:
'小計(機票+中段機票+稅金+聯運+領隊導遊分攤+過夜+簽證+保險-KB人頭費)'
,
xiaojijpzdsjly
:
'小計(機票+中段機票+
火車票+
稅金+聯運+領隊導遊分攤+過夜+簽證+保險-KB人頭費)'
,
lingduidyft
:
'領隊導遊分攤'
,
guoye
:
'過夜'
,
dandijcb
:
'單地接(成本)'
,
...
...
@@ -4208,7 +4208,7 @@ export const obj = {
neindwjtbf
:
'內陸段交通部分'
,
neildjwmr
:
'內陸段機位(每人)'
,
neildcpmr
:
'內陸段船票(每人)'
,
meildhvpmr
:
'
內陸段
火車票(每人)'
,
meildhvpmr
:
'火車票(每人)'
,
qianzfmr
:
'簽證費(每人)'
,
baoxfmr
:
'保險費(每人)'
,
sijdyxf
:
'司機、導遊小費'
,
...
...
src/components/TravelManager/TravelGroupControl/AuditDan.vue
View file @
301bccb6
...
...
@@ -30,6 +30,7 @@
border-right
:
1px
dashed
#dddddd
;
padding-right
:
20px
;
}
</
style
>
<
template
>
<div
class=
"flexOne quoTation"
>
...
...
@@ -232,7 +233,10 @@
<div
class=
"AuditStatus"
>
<div
v-if=
"item.TravelState==2"
>
<div
style=
"color:red;"
>
<
template
v-if=
"item.ManagerAduitDate==''&&item.ManagerId>0"
>
<
template
v-if=
"item.OpAuditStatus==0"
>
{{
item
.
OpName
}}
</
template
>
<
template
v-else-if=
"item.OpAuditStatus==1&&item.ManagerAduitStatus==0&&item.ManagerId>0"
>
{{
item
.
ManagerAduitName
}}
</
template
>
<
template
v-else
>
...
...
@@ -608,4 +612,5 @@
this
.
getList
();
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
View file @
301bccb6
...
...
@@ -541,6 +541,11 @@
{{OtherPrice.InlandAirTicketMoney}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('objFill.v101.dmc.meildhvpmr')"
>
{{OtherPrice.InlandTrainTicketMoney}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('objFill.shuijin')"
>
{{teamPrice.TaxPrice}}
...
...
@@ -551,11 +556,7 @@
{{teamPrice.UnionPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"`KB`+$t('objFill.rentoufei')"
>
{{OtherPrice.KBMoney}}
</el-form-item>
</td>
<td
colspan=
"4"
rowspan=
"2"
>
{{$t('objFill.xiaojijpzdsjly')}}:
<br
/>
{{getCostTotalMoney()}}
...
...
@@ -582,6 +583,11 @@
{{OtherPrice.SafeMoney}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"`KB`+$t('objFill.rentoufei')"
>
{{OtherPrice.KBMoney}}
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"13"
></td>
...
...
@@ -870,6 +876,17 @@
<tr>
<td
class=
"CP_ComTitle2"
>
{{$t('objFill.shenhebz')}}
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postConfig.OpAuditDate&&postConfig.OpAuditDate!='' "
>
<p>
{{
postConfig
.
OPName
}}
:
{{
postConfig
.
OpAuditDate
}}
<template
v-if=
"postConfig.OpAuditStatus==1"
>
<span
style=
"color:blue;"
>
{{
$t
(
'visa.v_tongguo'
)
}}
</span>
</
template
>
<
template
v-if=
"postConfig.OpAuditStatus==2"
>
<span
style=
"color:red;"
>
{{
$t
(
'fnc.bohui'
)
}}
</span>
</
template
>
{{postConfig.OpAuditContent}}
</p>
</template>
<
template
v-if=
"postConfig.ManagerAduitDate&&postConfig.ManagerAduitDate!=''&&postConfig.ManagerAduitName&&postConfig.ManagerAduitName!=''"
>
<p>
{{
postConfig
.
ManagerAduitName
}}
:
{{
postConfig
.
ManagerAduitDate
}}
...
...
@@ -1183,6 +1200,7 @@
this
.
getConvertMoney
(
this
.
OtherPrice
.
AirTicketShareMoney
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
NightPrice
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
VisaPrice
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandTrainTicketMoney
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
SafeMoney
)
-
this
.
getConvertMoney
(
this
.
OtherPrice
.
KBMoney
)
return
totalMoney
;
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceForm.vue
View file @
301bccb6
...
...
@@ -59,6 +59,7 @@
.CostNewPrice
.el-form-item
{
margin-bottom
:
0
!important
;
}
</
style
>
<
template
>
...
...
@@ -401,6 +402,12 @@
@
keyup
.
native=
"checkPrice(otherPrice,'InlandAirTicketMoney'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('objFill.v101.dmc.meildhvpmr')"
>
<el-input
type=
"text"
v-model=
'otherPrice.InlandTrainTicketMoney'
class=
"w100"
@
keyup
.
native=
"checkPrice(otherPrice,'InlandTrainTicketMoney'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('objFill.shuijin')"
>
<el-input
type=
"text"
v-model=
'teamPrice.TaxPrice'
class=
"w100"
...
...
@@ -413,12 +420,7 @@
@
keyup
.
native=
"checkPrice(teamPrice,'UnionPrice'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"`KB`+$t('objFill.rentoufei')"
>
<el-input
type=
"text"
v-model=
'otherPrice.KBMoney'
class=
"w100"
@
keyup
.
native=
"checkPrice(otherPrice,'KBMoney',true),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"4"
rowspan=
"2"
>
{{$t('objFill.xiaojijpzdsjly')}}:
<br
/>
{{getCostTotalMoney()}}
...
...
@@ -449,6 +451,12 @@
@
keyup
.
native=
"checkPrice(otherPrice,'SafeMoney'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"`KB`+$t('objFill.rentoufei')"
>
<el-input
type=
"text"
v-model=
'otherPrice.KBMoney'
class=
"w100"
@
keyup
.
native=
"checkPrice(otherPrice,'KBMoney',true),getchange()"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"13"
></td>
...
...
@@ -1012,7 +1020,7 @@
},
//其它成本价格
getCostTotalMoney
()
{
//机票+中段机票+税金+领队导游分摊+联运+过夜+保险
//机票+中段机票+
火车票+
税金+领队导游分摊+联运+过夜+保险
let
totalMoney
=
this
.
getConvertMoney
(
this
.
otherPrice
.
AirTicketMoeny
)
+
this
.
getConvertMoney
(
this
.
otherPrice
.
InlandAirTicketMoney
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
TaxPrice
)
+
...
...
@@ -1020,7 +1028,8 @@
this
.
getConvertMoney
(
this
.
otherPrice
.
AirTicketShareMoney
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
NightPrice
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
VisaPrice
)
+
this
.
getConvertMoney
(
this
.
otherPrice
.
SafeMoney
)
-
this
.
getConvertMoney
(
this
.
otherPrice
.
InlandTrainTicketMoney
)
+
this
.
getConvertMoney
(
this
.
otherPrice
.
SafeMoney
)
-
this
.
getConvertMoney
(
this
.
otherPrice
.
KBMoney
)
return
totalMoney
;
},
...
...
@@ -1270,4 +1279,5 @@
this
.
getConfigDinnerList
();
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
301bccb6
...
...
@@ -7,6 +7,7 @@
padding
:
0
20px
20px
20px
;
border-radius
:
4px
;
}
</
style
>
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
...
...
@@ -82,6 +83,9 @@
ChangeAduitContent
:
""
,
//总经理审核报价单变更备注
ChangeAuditByName
:
""
,
//总经理审核
ChangeAduitDate
:
""
,
//总经理审核时间
OpAuditDate
:
""
,
//印尼团 OP审核时间
OpAuditContent
:
""
,
//印尼团OP审核备注
OpAuditStatus
:
""
,
//印尼团OP审核状态
},
isSubmit
:
true
,
loading
:
false
,
...
...
@@ -221,7 +225,15 @@
if
(
offerObj
.
ChangeAduitDate
)
{
this
.
postData
.
ChangeAduitDate
=
offerObj
.
ChangeAduitDate
;
}
if
(
offerObj
.
OpAuditStatus
)
{
this
.
postData
.
OpAuditStatus
=
offerObj
.
OpAuditStatus
;
}
if
(
offerObj
.
OpAuditContent
)
{
this
.
postData
.
OpAuditContent
=
offerObj
.
OpAuditContent
;
}
if
(
offerObj
.
OpAuditDate
)
{
this
.
postData
.
OpAuditDate
=
offerObj
.
OpAuditDate
;
}
if
(
offerObj
.
OPName
&&
offerObj
.
OPName
!=
''
)
{
this
.
postData
.
OPName
=
offerObj
.
OPName
;
}
...
...
@@ -270,4 +282,5 @@
CostNewPriceAudit
:
CostNewPriceAudit
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
View file @
301bccb6
...
...
@@ -58,6 +58,7 @@
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
</
style
>
<
template
>
<div
class=
"flexOne quoTation"
>
...
...
@@ -249,7 +250,11 @@
</div>
<div
class=
"AuditStatus"
style=
"width:80px;"
>
<div
v-if=
"item.TravelState==2"
>
<div
style=
"color:red;"
>
<
template
v-if=
"item.ManagerAduitDate==''&&item.ManagerId>0"
>
<div
style=
"color:red;"
>
<
template
v-if=
"item.OpAuditStatus==0"
>
{{
item
.
OpName
}}
</
template
>
<
template
v-else-if=
"item.OpAuditStatus==1&&item.ManagerAduitStatus==0&&item.ManagerId>0"
>
{{
item
.
ManagerAduitName
}}
</
template
>
<
template
v-else
>
...
...
@@ -275,9 +280,25 @@
<div
v-if=
"item.TravelState==4||item.TravelState==7"
>
<div
class=
"Auditrejected"
>
{{$t('objFill.yibohui')}}
</div>
</div>
<
template
v-if=
"
(item.ManagerAduitDate&&item.ManagerAduitDate!='')||(item.AuditDate&&item.AuditDate!='')"
>
<
template
v-if=
"(item.OpAuditDate&&item.OpAuditDate!='')||
(item.ManagerAduitDate&&item.ManagerAduitDate!='')||(item.AuditDate&&item.AuditDate!='')"
>
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
<template
v-if=
"item.OpAuditDate&&item.OpAuditDate!=''"
>
<div
class=
"priceContentDiv"
style=
"margin-bottom:5px;"
>
<div>
<span>
{{
$t
(
'objFill.v101.FinancialModule.shenpjg'
)
}}
</span>
<span
class=
"AuditDate"
>
{{
item
.
OpAuditDate
}}
</span>
</div>
<div>
{{
item
.
OpName
}}
:
<template
v-if=
"item.OpAuditContent&&item.OpAuditContent!=''"
>
{{
item
.
OpAuditContent
}}
</
template
>
<
template
v-else
>
{{
$t
(
'fnc.no'
)
}}
</
template
>
</div>
</div>
</template>
<
template
v-if=
"item.ManagerAduitDate&&item.ManagerAduitDate!=''"
>
<div
class=
"priceContentDiv"
style=
"margin-bottom:5px;"
>
<div>
...
...
@@ -967,4 +988,5 @@
this
.
getLineTeamList
();
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/scenicSpot/ticketRankingList.vue
0 → 100644
View file @
301bccb6
This diff is collapsed.
Click to expand it.
src/router/config.js
View file @
301bccb6
...
...
@@ -1586,6 +1586,14 @@ export default {
title
:
'餐厅使用排行详情'
},
},
{
path
:
'/ticketRankingList'
,
//门票使用排行
name
:
'ticketRankingList'
,
component
:
resolve
=>
require
([
'@/components/scenicSpot/ticketRankingList'
],
resolve
),
meta
:
{
title
:
'门票使用排行'
},
},
{
path
:
'/domesticRestaurantList'
,
//餐厅使用排行
name
:
'domesticRestaurantList'
,
...
...
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