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
129d57a7
Commit
129d57a7
authored
Feb 11, 2025
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
cb1381f6
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
237 additions
and
2512 deletions
+237
-2512
leaderManagement.vue
src/components/LeaderManagement/leaderManagement.vue
+11
-5
AuditDan.vue
src/components/TravelManager/TravelGroupControl/AuditDan.vue
+30
-2
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+21
-17
EditOffer.vue
...components/TravelManager/TravelNewQuotation/EditOffer.vue
+0
-709
NewQuotationAduit.vue
...ts/TravelManager/TravelNewQuotation/NewQuotationAduit.vue
+0
-289
OfferChange.vue
...mponents/TravelManager/TravelNewQuotation/OfferChange.vue
+20
-12
OfferCostNewPriceAudit.vue
...avelManager/TravelNewQuotation/OfferCostNewPriceAudit.vue
+0
-1374
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+8
-5
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+73
-22
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+73
-61
config.js
src/router/config.js
+1
-16
No files found.
src/components/LeaderManagement/leaderManagement.vue
View file @
129d57a7
...
...
@@ -585,7 +585,8 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
<el-button
type=
"primary"
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
:loading=
"saveLoading"
>
{{
$t
(
'pub.saveBtn'
)
}}
</el-button>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false,resetForm('addMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
</div>
...
...
@@ -849,7 +850,8 @@
message
:
this
.
$t
(
'admin.admin_lnLoginPwd'
),
trigger
:
"blur"
}],
}
},
saveLoading
:
false
,
};
},
methods
:
{
...
...
@@ -1013,10 +1015,12 @@
//添加
addGroupGuide
()
{
var
that
=
this
;
this
.
saveLoading
=
true
;
this
.
apipost
(
"leader_post_Set"
,
that
.
addMsg
,
res
=>
{
that
.
saveLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
that
.
$t
(
'tips.saveYes'
));
that
.
getList
();
...
...
@@ -1030,7 +1034,9 @@
that
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
err
=>
{
that
.
saveLoading
=
false
;
}
);
},
submitForm
(
addMsg
)
{
...
...
@@ -1145,8 +1151,8 @@
},
//弹出框取消 初始化谈框内表单
resetForm
(
formName
)
{
// this.$refs[formName].resetFields();
this
.
initAddMsg
();
// this.$refs[formName].resetFields();
this
.
initAddMsg
();
this
.
LanguageIdS
=
[];
}
},
...
...
src/components/TravelManager/TravelGroupControl/AuditDan.vue
View file @
129d57a7
...
...
@@ -139,6 +139,32 @@
</p>
<p
class=
"Quo_Content"
style=
"padding-right:20px;width:100%;"
>
<span>
{{$t('hotel.hotel_StarDate')}}:{{item.OutDateTime}}
</span>
<
template
v-if=
"item.OfferList && item.OfferList.length > 1"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('hotel.hotel_StarDate')"
>
<el-popover
width=
"350"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
style=
"width: 100px"
>
{{
$t
(
'objFill.v101.baojiadanh'
)
}}
</td>
<td
style=
"width: 250px"
>
{{
$t
(
"hotel.hotel_StarDate"
)
}}
</td>
</tr>
<tr
v-for=
"(rItem, rIndex) in item.OfferList"
:key=
"`d_`+index+`_r_`+rIndex"
>
<td>
{{
rItem
.
OfferId
}}
</td>
<td>
{{
rItem
.
OutDateTime
}}
</td>
</tr>
</table>
<el-button
slot=
"reference"
circle
size=
"mini"
type=
"primary"
style=
"width: 20px; height: 20px; padding: 4px"
>
{{
item
.
OfferList
.
length
}}
</el-button>
</el-popover>
</el-tooltip>
</
template
>
</p>
</div>
</div>
...
...
@@ -519,7 +545,7 @@
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_Get
TravelOfferAuditPageList_V2
"
,
"travel_get_Get
NewTravelOfferAuditPage
"
,
this
.
queryData
,
res
=>
{
this
.
loading
=
false
;
...
...
@@ -555,10 +581,12 @@
newQType
=
3
;
}
}
//NewQuotationAduit
//QuotationAduit
this
.
$router
.
push
({
name
:
'QuotationAduit'
,
query
:
{
offerid
:
item
.
OfferId
,
BatchNum
:
item
.
BatchNum
,
Qtype
:
newQType
,
blank
:
'y'
,
tab
:
'报价单审核'
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
View file @
129d57a7
...
...
@@ -65,10 +65,9 @@
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('objFill.tuanduilx')}}
</td>
<td>
{{postConfig.PriceTeamTypeName}}
<
template
v-if=
"postConfig.PriceTeamTypeName&&postConfig.PriceTeamTypeName!=''"
>
(
{{
postConfig
.
PriceTeamTypeName
}}
)
</
template
>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('advmanager.v_line')}}
</td>
<td
width=
"300"
>
...
...
@@ -80,7 +79,7 @@
</td>
</tr>
<tr>
<td
colspan=
"
8
"
style=
"height:20px;"
>
<td
colspan=
"
6
"
style=
"height:20px;"
>
</td>
</tr>
<tr>
...
...
@@ -88,13 +87,9 @@
<td>
{{postConfig.OutBranchName}}
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('hotel.hotel_StarDate')}}
</td>
<td>
{{postConfig.OutDateTime}}
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('visa.v_xcdays')}}
</td>
<td>
{{postConfig.DayNum}}
{{postConfig.DayNum}}
{{$t('hotel.hotel_day')}}{{postConfig.NightNum}}{{$t('Operation.Op_night')}}
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('fnc.khmingcheng')}}
</td>
<td>
...
...
@@ -102,23 +97,32 @@
</td>
</tr>
<tr>
<td
colspan=
"
8
"
style=
"height:20px;"
>
<td
colspan=
"
6
"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('sm.tuanduibiaoti')}}
</td>
<td
width=
"300"
colspan=
"
7
"
>
<td
width=
"300"
colspan=
"
5
"
>
{{postConfig.Title}}
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('hotel.hotel_StarDate')}}
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postConfig.OutDateTimeList&&postConfig.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postConfig.OutDateTimeList"
:key=
"oIndex"
style=
"margin-right:5px;"
>
{{
item
}}
</el-tag>
</
template
>
</td>
</tr>
</table>
</div>
<br
/>
<!-- <el-tag v-for="(item, index) in orderList" :key="index"
style="margin-right: 10px;margin-bottom: 10px; cursor: pointer;" :type="index ===tabsActive ? '':'info'"
@click="selectTag(index)" :disable-transitions="false">
{{`报价单${index + 1}${item.IsDefault ? '(默认)' : ''}`}}
</el-tag> -->
<table
class=
"CostPriceTable CostNewTable"
>
<thead>
<tr>
...
...
src/components/TravelManager/TravelNewQuotation/EditOffer.vue
deleted
100644 → 0
View file @
cb1381f6
<
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
;
}
.select-tag
{
font-weight
:
bold
;
color
:
#f12a2a
;
}
</
style
>
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"singlePrice DirectPriceCenter"
>
<el-form>
<div
class=
"QuotationFirstDiv1"
>
<table>
<tr>
<th>
{{
$t
(
'objFill.v101.kaituants'
)
}}
</th>
<th
colspan=
"5"
style=
"text-align:left;line-height:40px;"
>
<p
style=
"color:red;font-weight:bold;"
>
1.
{{
$t
(
'objFill.v101.changuitdyshnp'
)
}}
2.
{{
$t
(
'objFill.v101.xiaobtcgbjd'
)
}}
3.
{{
$t
(
'objFill.v101.dangdybxyjp'
)
}}
</p>
</th>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{
$t
(
'objFill.v101.chutuanleix'
)
}}
</td>
<td>
<el-select
class=
"multiple_input"
v-model=
"postData.TeamType"
@
change=
"changeTeamType()"
style=
"width:100px;"
>
<el-option
v-for=
'item in teamList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<template
v-if=
"postData.TeamType==0||postData.TeamType==1"
>
{{
$t
(
'objFill.tuanduilx'
)
}}
<el-select
class=
"multiple_input"
v-model=
"postData.PriceTeamType"
style=
"width:100px;"
>
<template
v-for=
"item in TeamListArr"
>
<template
v-if=
"postData.TeamType==0"
>
<el-option
v-if=
"item.Id==1||item.Id==2||item.Id==3||item.Id==9"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</
template
>
<
template
v-if=
"postData.TeamType==1"
>
<el-option
v-if=
"item.Id==3||item.Id==2"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</
template
>
</template>
</el-select>
</template>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('advmanager.v_line')}}
</td>
<td>
<el-select
style=
"width:100%"
v-model=
"postData.LineId"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"changeLine()"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in getLineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
</el-option>
</el-select>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('advmanager.v_xilie')}}
</td>
<td>
<el-select
style=
"width:100%;"
v-model=
"postData.LineteamId"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('scen.sc_cp')}}
</td>
<td>
<el-select
class=
"multiple_input"
v-model=
"postData.OutBranchId"
filterable
style=
"width:265px;"
>
<el-option
v-for=
'item in companyList'
:key=
"item.id"
:label=
"item.bName"
:value=
"item.id"
>
</el-option>
</el-select>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('visa.v_xcdays')}}
</td>
<td>
<el-input
class=
"w240 LowNum"
v-model=
"postData.DayNum"
@
keyup
.
native=
"checkInteger(postData,'DayNum');createDayTripPrice()"
maxlength=
"2"
>
<
template
slot=
"append"
>
{{
$t
(
'hotel.hotel_day'
)
}}
</
template
>
</el-input>
<el-input
class=
"w120 LowNum"
v-model=
"postData.NightNum"
@
keyup
.
native=
"checkInteger(postData,'NightNum')"
maxlength=
"2"
>
<
template
slot=
"append"
>
{{
$t
(
'Operation.Op_night'
)
}}
</
template
>
</el-input>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('fnc.khmingcheng')}}
</td>
<td>
<el-input
v-model=
"postData.CustomerName"
type=
"text"
:placeholder=
"$t('fnc.khmingcheng')"
maxlength=
"200"
>
</el-input>
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('sm.tuanduibiaoti')}}
</td>
<td
colspan=
"3"
>
<el-input
v-model=
"postData.Title"
type=
"textarea"
:autosize=
"{minRows: 1, maxRows: 2 }"
resize=
"none"
:placeholder=
"$t('objFill.v101.qingtxtdbti')"
maxlength=
"200"
></el-input>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('Airticket.Air_StartTime')}}
</td>
<td>
<el-date-picker
type=
"dates"
v-model=
"postData.OutDateTimeList"
value-format=
"yyyy-MM-dd"
placeholder
>
</el-date-picker>
</td>
</tr>
<tr>
<td
colspan=
"8"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
已选日期
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postData.OutDateTimeList&&postData.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postData.OutDateTimeList"
:key=
"item"
closable
style=
"margin-right:5px;"
@
close=
"handleClose(item,oIndex)"
>
{{
item
}}
</el-tag>
</
template
>
</td>
</tr>
</table>
</div>
<br
/>
<CostNewPriceForm
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:AllCurrencyList=
"AllCurrencyList"
@
success=
"refreshPage"
>
</CostNewPriceForm>
</el-form>
</div>
<div
class=
"btnFixedDiv"
v-if=
"haveData"
>
<div
class=
"toTop"
>
<i
class=
"iconfont icon-huidaodingbu"
></i>
</div>
<div
class=
"DTSaveBtn"
:class=
"{'disClick':!isSubmit}"
@
click=
"SaveData(2)"
>
{{$t('fnc.tijiao')}}
</div>
<div
class=
"DTSaveBtn"
style=
"display:none;"
>
{{$t('objFill.copy')}}
</div>
<div
class=
"DTSaveBtn caogao"
:class=
"{'disClick':!isSubmit}"
@
click=
"SaveData(1)"
>
<span>
{{$t('pub.saveBtn')}}
</span>
<span>
{{$t('objFill.caogao')}}
</span>
</div>
</div>
</div>
</template>
<
script
>
import
CostNewPriceForm
from
"../TravelNewQuotation/CostNewPriceForm"
;
export
default
{
components
:
{
CostNewPriceForm
:
CostNewPriceForm
,
},
computed
:
{
//线路筛选
getLineList
()
{
var
chooseLineList
=
[];
//散拼
if
(
this
.
postData
.
TeamType
==
0
||
this
.
postData
.
TeamType
==
5
)
{
chooseLineList
=
this
.
LineList
.
filter
(
qItem
=>
qItem
.
LineDirection
==
2
);
}
//小包团
else
if
(
this
.
postData
.
TeamType
==
1
)
{
chooseLineList
=
this
.
LineList
.
filter
(
qItem
=>
qItem
.
Is_PacketGroup
==
1
);
}
//当地游
else
if
(
this
.
postData
.
TeamType
==
2
)
{
chooseLineList
=
this
.
LineList
.
filter
(
qItem
=>
qItem
.
LineDirection
==
3
);
}
return
chooseLineList
;
},
},
data
()
{
return
{
haveData
:
false
,
//基本配置
postData
:
{
BatchNum
:
""
,
ID
:
0
,
TCID
:
0
,
OfferId
:
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
,
//出团类型
PriceTeamType
:
0
,
//团队类型
TravelState
:
1
,
//团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
OutBranchId
:
""
,
//出团公司
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
//出发时间
OfferPayType
:
0
,
//报价单付款方式
SaleOfferPayType
:
0
,
//售价付款方式
OPId
:
""
,
//主OP
AssistantId
:
""
,
//助理OP[格式:1,2,3]
AssistantList
:
[],
//助理OP数组
OfferArray
:
[{
CostCurrencyList
:
[],
CostNumberList
:
[],
//报价人数
CurrencyNumberListExt
:
[],
//币种和人数列表
dayCostPriceList
:
[],
//行程报价
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
,
//单地接(成本)
SingleDMCTCPrice
:
0
,
//单地接团售价
RebatePrice
:
0
,
//同行返佣
DiscountPrice
:
0
,
//早鸟优惠
IsSupportChildren
:
1
,
//是否支持儿童出游(1-支持,2-不支持)
SafeMoney
:
0
,
//保险费
PeopleNumber
:
0
,
//人数
AirticketMoney
:
0
,
//机票费用
BackVisaPrice
:
0
,
//退签证费
BackSafeMoney
:
0
,
//退保险费
ContractUrl
:
""
,
//合同地址
PriceRemark
:
""
,
//定价备注
ContractArray
:
[],
TaxPrice
:
0
,
//税金
UnionPrice
:
0
,
//联运价格
NightPrice
:
0
,
//过夜费
},
//团队价格信息
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
,
//司机小费币种
LeaderGuideDriveZhuSu
:
0
,
//领队导游住宿费
GuideMoneyCurrencyId
:
0
,
//导游小费币种
GuideMoney
:
0
,
//导游小费
InternationalAirTicket
:
0
,
//国际段机票
InternationalAirTicketCurrency
:
0
,
//国际段机票币种
GuideComplement
:
0
,
//导游回补
TipComplement
:
0
,
//小费回补
},
//其他报价
}]
},
isSubmit
:
true
,
LineList
:
[],
//线路列表
LineTeamList
:
[],
//系列列表
teamList
:
[],
//团队类型列表
TeamListArr
:
[],
//团队子类型
companyList
:
[],
//出团公司列表
AllCurrencyList
:
[],
//币种列表
loading
:
false
,
rParams
:
{
OfferId
:
0
,
TCID
:
0
,
BatchNum
:
""
},
};
},
methods
:
{
//删除日期
handleClose
(
item
,
index
)
{
if
(
this
.
postData
.
BatchNum
&&
this
.
postData
.
BatchNum
!=
''
)
{
var
postMsg
=
{
BatchNum
:
this
.
postData
.
BatchNum
,
Date
:
item
}
this
.
apipost
(
"travel_post_RemoveTravelOffer"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
});
}
else
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
},
changeTeamType
()
{
this
.
postData
.
LineId
=
0
;
this
.
postData
.
LineteamId
=
0
;
this
.
postData
.
PriceTeamType
=
''
;
if
(
this
.
postData
.
TeamType
==
0
)
{
this
.
postData
.
PriceTeamType
=
1
;
}
else
if
(
this
.
postData
.
TeamType
==
1
)
{
this
.
postData
.
PriceTeamType
=
3
;
}
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AllCurrencyList
=
res
.
data
.
data
;
this
.
AllCurrencyList
.
forEach
(
item
=>
{
if
(
item
.
ID
==
3
)
{
//徐总说日元默认加0.002
item
.
CurrentRate
=
Number
(
item
.
CurrentRate
)
+
Number
(
0.002
);
}
});
}
});
},
//出团公司
getCompanyList
()
{
this
.
apipost
(
"sellorder_post_GetBranchList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
companyList
=
res
.
data
.
data
;
}
});
},
//线路切换
changeLine
()
{
this
.
getLineTeamList
(
this
.
postData
.
LineId
,
1
);
},
//获取系列列表
getLineTeamList
(
lineId
,
isClear
)
{
if
(
isClear
&&
isClear
==
1
)
{
this
.
postData
.
LineteamId
=
0
;
}
let
msg
=
{
lineID
:
lineId
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//获取团队类型
getPriceTeamList
()
{
this
.
apipost
(
"travel_get_GetTravelPriceTeamTypeList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TeamListArr
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{});
},
createDayTripPrice
()
{
var
tempArray
=
this
.
createDayTripPriceItem
(
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
);
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
=
tempArray
;
this
.
$forceUpdate
()
},
//生成行程报价
createDayTripPriceItem
(
dayCostPriceList
)
{
if
(
this
.
postData
.
DayNum
>
dayCostPriceList
.
length
)
{
for
(
var
i
=
dayCostPriceList
.
length
;
i
<
this
.
postData
.
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
,
//其它费用(保险、司导杂费等)
DinnerIds
:
""
,
//晚餐Id
DinnerName
:
""
,
//晚餐名称
LunchIds
:
""
,
//午餐编号
LunchName
:
""
,
//午餐名称
TicketIds
:
""
,
//景点编号
ScenicList
:
[{
TicketId
:
0
,
TicketName
:
""
,
TicketCostPrice
:
0
},
{
TicketId
:
0
,
TicketName
:
""
,
TicketCostPrice
:
0
},
{
TicketId
:
0
,
TicketName
:
""
,
TicketCostPrice
:
0
}],
//景点JSON数据
TicketName
:
""
,
//景点名称
OtherName
:
""
,
//其它杂支名称
BreakfastName
:
""
,
//早餐名称
};
dayCostPriceList
.
push
(
dayItem
);
}
}
else
{
dayCostPriceList
.
length
=
this
.
postData
.
DayNum
;
}
return
dayCostPriceList
},
//保存数据
SaveData
(
type
)
{
this
.
postData
.
TravelState
=
type
;
// 线路必填
if
(
!
this
.
postData
.
LineId
)
{
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzxuanlu'
))
return
;
}
if
(
this
.
postData
.
OPId
<=
0
||
this
.
postData
.
OPId
==
''
)
{
this
.
$message
.
error
(
this
.
$t
(
'objFill.v101.qingshurzop'
))
return
;
}
this
.
postData
.
AssistantId
=
""
;
var
flag
=
false
;
if
(
this
.
postData
.
AssistantList
&&
this
.
postData
.
AssistantList
.
length
>
0
)
{
this
.
postData
.
AssistantId
=
this
.
postData
.
AssistantList
.
join
(
','
);
this
.
postData
.
AssistantList
.
forEach
(
sItem
=>
{
if
(
sItem
==
this
.
postData
.
OPId
&&
!
flag
)
{
flag
=
true
;
}
});
}
if
(
flag
)
{
this
.
Error
(
this
.
$t
(
'objFill.v101.zhulopbnhzopcx'
));
return
;
}
var
postMsg
=
{
config
:
this
.
postData
,
OfferArray
:
this
.
postData
.
OfferArray
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_post_SetConfigOffer_V3"
,
postMsg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
goUrl
(
'quoTation'
);
}
else
{
this
.
ErrorHtml
(
res
.
data
.
message
);
}
});
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
}
});
},
refreshPage
()
{
this
.
getPostData
();
},
getPostData
()
{
this
.
haveData
=
false
;
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
}
let
BatchNum
=
""
;
if
(
this
.
$route
.
query
.
BatchNum
)
{
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
let
msg
=
{
offerId
:
offerId
,
TCID
:
0
,
BatchNum
:
BatchNum
};
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
msg
.
TCID
=
this
.
$route
.
query
.
TCID
}
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetMyTravelInfo_V5"
,
msg
,
res
=>
{
console
.
log
(
"travel_get_GetMyTravelInfo_V5"
,
res
);
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
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
;
}
if
(
tempData
.
CustomerName
)
{
this
.
postData
.
CustomerName
=
tempData
.
CustomerName
;
}
if
(
tempData
.
OutDateTime
)
{
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
}
if
(
tempData
.
OutDateTimeList
)
{
this
.
postData
.
OutDateTimeList
=
tempData
.
OutDateTimeList
;
}
if
(
tempData
.
OutBranchName
&&
tempData
.
OutBranchName
!=
''
)
{
this
.
postData
.
OutBranchId
=
Number
(
tempData
.
OutBranchId
);
}
this
.
postData
.
TeamType
=
tempData
.
TeamType
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
this
.
postData
.
TravelState
=
tempData
.
TravelState
;
this
.
LineList
=
tempData
.
LineList
;
if
(
tempData
&&
tempData
.
OfferArray
&&
tempData
.
OfferArray
.
length
>
0
)
{
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
=
tempData
.
OfferArray
[
0
].
dayCostPriceList
;
this
.
postData
.
OfferArray
[
0
].
CurrencyNumberListExt
=
tempData
.
OfferArray
[
0
].
CurrencyNumberListExt
;
this
.
postData
.
OfferArray
[
0
].
teamPrice
=
tempData
.
OfferArray
[
0
].
teamPrice
;
this
.
postData
.
OfferArray
[
0
].
otherPrice
=
tempData
.
OfferArray
[
0
].
otherPrice
;
this
.
postData
.
OfferArray
[
0
].
CostNumberList
=
tempData
.
OfferArray
[
0
].
CostNumberList
;
this
.
postData
.
OfferArray
[
0
].
CostCurrencyList
=
tempData
.
OfferArray
[
0
].
CostCurrencyList
;
this
.
postData
.
OPId
=
tempData
.
OfferArray
[
0
].
OPId
;
var
tempA_Array
=
tempData
.
OfferArray
[
0
].
AssistantList
;
if
(
tempA_Array
&&
tempA_Array
.
length
>
0
)
{
tempA_Array
.
forEach
(
aItem
=>
{
this
.
postData
.
AssistantList
.
push
(
aItem
.
Id
);
})
}
}
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//团队类型
getTeamList
()
{
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
});
},
},
created
()
{
if
(
this
.
$route
.
query
.
offerid
&&
this
.
$route
.
query
.
offerid
>
0
)
{
this
.
postData
.
OfferId
=
this
.
$route
.
query
.
offerid
;
this
.
rParams
.
OfferId
=
this
.
$route
.
query
.
offerid
}
if
(
this
.
$route
.
query
.
BatchNum
)
{
this
.
postData
.
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
this
.
rParams
.
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
//从团控列表跳转信息
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
this
.
postData
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
rParams
.
TCID
=
this
.
$route
.
query
.
TCID
;
}
//团控列表跳转参数结束
this
.
getCompanyList
();
this
.
getTeamList
();
this
.
getLineTeamList
();
this
.
getAllCurrency
();
this
.
getPriceTeamList
();
},
mounted
()
{
this
.
getPostData
();
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/NewQuotationAduit.vue
deleted
100644 → 0
View file @
cb1381f6
<
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"
>
<OfferCostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OfferArray=
"OfferArray"
:IsEdit=
"IsEdit"
></OfferCostNewPriceAudit>
</div>
</div>
</
template
>
<
script
>
import
OfferCostNewPriceAudit
from
"../TravelNewQuotation/OfferCostNewPriceAudit"
;
export
default
{
data
()
{
return
{
haveData
:
false
,
OfferArray
:
[],
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
:
""
,
//系列名称
OutBranchId
:
-
1
,
//出团公司
OutBranchName
:
""
,
//出团公司名称
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
OfferPayType
:
0
,
//报价单付款方式()
SaleOfferPayType
:
0
,
//售价付款方式
AuditContent
:
""
,
//审核备注
AuditByName
:
""
,
//审核人员
AuditDate
:
""
,
//审核日期
TravelState
:
0
,
//审核状态
ManagerAduitContent
:
""
,
//欧洲线审核备注
ManagerAduitDate
:
""
,
//欧洲线审核日期
ManagerAduitName
:
""
,
//欧洲线审核人员
ManagerAduitStatus
:
0
,
//欧洲线审核状态(1-通过,2-驳回)
OPName
:
""
,
//主OP
AssistantList
:
[],
//助理OP
PriceTeamType
:
0
,
//团队类型,
PriceTeamTypeName
:
""
,
//团队类型,
CRemarks
:
""
,
//审核备注
ChangeManagerAduitName
:
""
,
//分公司报价单变更审核人
ChangeManagerAduitContent
:
""
,
//分公司报价单变更审核内容
ChangeManagerAduitDate
:
""
,
//分公司报价单变更审核日期
ChangeManagerAduitStatus
:
0
,
//分公司报价单变更审核状态
ChangeAduitContent
:
""
,
//总经理审核报价单变更备注
ChangeAuditByName
:
""
,
//总经理审核
ChangeAduitDate
:
""
,
//总经理审核时间
OpAuditDate
:
""
,
//印尼团 OP审核时间
OpAuditContent
:
""
,
//印尼团OP审核备注
OpAuditStatus
:
""
,
//印尼团OP审核状态
},
isSubmit
:
true
,
loading
:
false
,
IsEdit
:
0
,
};
},
methods
:
{
//保存数据
SaveData
(
Type
)
{
var
nObj
=
{
ID
:
this
.
$route
.
query
.
offerid
,
BatchNum
:
this
.
$route
.
query
.
BatchNum
,
AuditContent
:
this
.
postData
.
CRemarks
,
TravelState
:
Type
,
OfferPayType
:
this
.
postData
.
OfferPayType
,
TeamType
:
this
.
postData
.
TeamType
,
};
var
cmdStr
=
"travel_get_AuditTravelOffer"
;
if
(
Type
==
7
||
Type
==
8
)
{
cmdStr
=
"travel_get_AuditChangeOffer"
;
}
this
.
loading
=
true
;
this
.
apipost
(
cmdStr
,
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
BatchNum
=
""
;
if
(
this
.
$route
.
query
.
BatchNum
)
{
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
let
msg
=
{
BatchNum
:
BatchNum
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetMyTravelInfo_V5"
,
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
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
;
}
if
(
tempData
.
OfferArray
&&
tempData
.
OfferArray
.
length
>
0
)
{
var
offerObj
=
tempData
.
OfferArray
[
0
];
if
(
offerObj
)
{
if
(
offerObj
.
AuditContent
)
{
this
.
postData
.
AuditContent
=
offerObj
.
AuditContent
;
}
if
(
offerObj
.
AuditByName
)
{
this
.
postData
.
AuditByName
=
offerObj
.
AuditByName
;
}
if
(
offerObj
.
AuditDate
)
{
this
.
postData
.
AuditDate
=
offerObj
.
AuditDate
;
}
if
(
offerObj
.
TravelState
)
{
this
.
postData
.
TravelState
=
offerObj
.
TravelState
;
}
if
(
offerObj
.
ManagerAduitContent
)
{
this
.
postData
.
ManagerAduitContent
=
offerObj
.
ManagerAduitContent
;
}
if
(
offerObj
.
ManagerAduitDate
)
{
this
.
postData
.
ManagerAduitDate
=
offerObj
.
ManagerAduitDate
;
}
if
(
offerObj
.
ManagerAduitName
)
{
this
.
postData
.
ManagerAduitName
=
offerObj
.
ManagerAduitName
;
}
if
(
offerObj
.
ManagerAduitStatus
)
{
this
.
postData
.
ManagerAduitStatus
=
offerObj
.
ManagerAduitStatus
;
}
if
(
offerObj
.
ChangeManagerAduitName
)
{
this
.
postData
.
ChangeManagerAduitName
=
offerObj
.
ChangeManagerAduitName
;
}
if
(
offerObj
.
ChangeManagerAduitContent
)
{
this
.
postData
.
ChangeManagerAduitContent
=
offerObj
.
ChangeManagerAduitContent
;
}
if
(
offerObj
.
ChangeManagerAduitDate
)
{
this
.
postData
.
ChangeManagerAduitDate
=
offerObj
.
ChangeManagerAduitDate
;
}
if
(
offerObj
.
ChangeManagerAduitStatus
)
{
this
.
postData
.
ChangeManagerAduitStatus
=
offerObj
.
ChangeManagerAduitStatus
;
}
if
(
offerObj
.
ChangeAduitContent
)
{
this
.
postData
.
ChangeAduitContent
=
offerObj
.
ChangeAduitContent
;
}
if
(
offerObj
.
ChangeAuditByName
)
{
this
.
postData
.
ChangeAuditByName
=
offerObj
.
ChangeAuditByName
;
}
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
;
}
if
(
offerObj
.
AssistantList
&&
offerObj
.
AssistantList
.
length
>
0
)
{
this
.
postData
.
Assistantlist
=
offerObj
.
AssistantList
;
}
if
(
offerObj
.
OfferPayType
)
{
this
.
postData
.
OfferPayType
=
offerObj
.
OfferPayType
;
}
if
(
offerObj
.
SaleOfferPayType
)
{
this
.
postData
.
SaleOfferPayType
=
offerObj
.
SaleOfferPayType
;
}
}
}
this
.
postData
.
CustomerName
=
tempData
.
CustomerName
;
this
.
postData
.
OutBranchId
=
tempData
.
OutBranchId
;
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
this
.
postData
.
OutDateTimeList
=
tempData
.
OutDateTimeList
;
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
;
this
.
postData
.
TeamTypeName
=
tempData
.
TeamTypeName
;
this
.
postData
.
TeamType
=
tempData
.
TeamType
;
this
.
postData
.
PriceTeamTypeName
=
tempData
.
PriceTeamTypeName
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
OfferArray
.
push
(
item
)
})
}
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
},
created
()
{
if
(
this
.
$route
.
query
.
Qtype
)
{
this
.
IsEdit
=
this
.
$route
.
query
.
Qtype
;
}
this
.
getPostData
();
},
components
:
{
OfferCostNewPriceAudit
:
OfferCostNewPriceAudit
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/OfferChange.vue
View file @
129d57a7
...
...
@@ -7,6 +7,7 @@
padding
:
0
20px
20px
20px
;
border-radius
:
4px
;
}
</
style
>
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
...
...
@@ -64,6 +65,7 @@
OutBranchId
:
-
1
,
//出团公司
OutBranchName
:
""
,
//出团公司名称
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
//出发时间
OfferPayType
:
0
,
//报价单付款方式()
SaleOfferPayType
:
0
,
//售价付款方式
AuditContent
:
""
,
//审核备注
...
...
@@ -79,6 +81,10 @@
PriceTeamType
:
0
,
//团队类型,
PriceTeamTypeName
:
""
,
//团队类型,
},
pMsg
:
{
offerId
:
0
,
// BatchNum: "",
},
isSubmit
:
true
,
loading
:
false
,
IsEdit
:
0
,
...
...
@@ -88,7 +94,7 @@
//保存数据
SaveData
(
Type
)
{
var
nObj
=
{
offerid
:
this
.
$route
.
query
.
offeri
d
,
offerid
:
this
.
pMsg
.
offerI
d
,
};
this
.
loading
=
true
;
this
.
apipost
(
...
...
@@ -117,22 +123,14 @@
this
.
getPostData
();
},
getPostData
()
{
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
}
let
msg
=
{
offerId
:
offerId
};
this
.
OfferArray
=
[];
this
.
haveData
=
false
;
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetMyTravelInfo_V
4
"
,
m
sg
,
"travel_get_GetMyTravelInfo_V
5
"
,
this
.
pM
sg
,
res
=>
{
this
.
loading
=
false
;
console
.
log
(
"travel_get_GetMyTravelInfo_V4_OfferChange"
,
res
.
data
);
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
...
...
@@ -213,6 +211,9 @@
this
.
postData
.
CustomerName
=
tempData
.
CustomerName
;
this
.
postData
.
OutBranchId
=
tempData
.
OutBranchId
;
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
if
(
tempData
.
OutDateTimeList
)
{
this
.
postData
.
OutDateTimeList
=
tempData
.
OutDateTimeList
;
}
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
;
...
...
@@ -238,10 +239,17 @@
if
(
this
.
$route
.
query
.
Qtype
)
{
this
.
IsEdit
=
this
.
$route
.
query
.
Qtype
;
}
if
(
this
.
$route
.
query
.
offerid
)
{
this
.
pMsg
.
offerId
=
this
.
$route
.
query
.
offerid
;
}
// if (this.$route.query.BatchNum) {
// this.pMsg.BatchNum = this.$route.query.BatchNum;
// }
this
.
getPostData
();
},
components
:
{
CostNewPriceAudit
:
CostNewPriceAudit
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/TravelManager/TravelNewQuotation/OfferCostNewPriceAudit.vue
deleted
100644 → 0
View file @
cb1381f6
<
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
.QuotationFirstDiv1
.el-form-item__content
.el-select
{
width
:
calc
(
100%
-
100px
);
}
.CostNewPrice
.CP_ComTitle2
{
color
:
#106BAF
;
font-weight
:
bold
;
background-color
:
#D1EEEE
;
white-space
:
nowrap
;
}
.CostNewTable
td
{
padding
:
5px
;
height
:
40px
;
border
:
1px
solid
#106BAF
!important
;
}
.CP_ComTitle
{
color
:
#106BAF
;
}
.CostcomCenter
{
text-align
:
center
;
}
.txtRightCost
{
text-align
:
right
;
padding-right
:
10px
;
}
.CostNewTable
.el-input__inner
{
padding
:
0
5px
;
}
</
style
>
<
template
>
<div>
<div
class=
"CostNewPrice clearfix CP_Div"
style=
"width:1600px;"
>
<el-form>
<div
class=
"QuotationFirstDiv1"
>
<table
style=
"font-size:14px;"
>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{
$t
(
'objFill.v101.chutuanleix'
)
}}
</td>
<td
width=
"300"
>
<template
v-if=
"postConfig.TeamType==1"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
<
template
v-if=
"postConfig.PriceTeamTypeName&&postConfig.PriceTeamTypeName!=''"
>
(
{{
postConfig
.
PriceTeamTypeName
}}
)
</
template
>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('advmanager.v_line')}}
</td>
<td
width=
"300"
>
{{postConfig.LineName}}
</td>
<td
width=
"60"
class=
"txtRightCost"
>
{{$t('advmanager.v_xilie')}}
</td>
<td
width=
"300"
>
{{postConfig.LtName}}
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('scen.sc_cp')}}
</td>
<td>
{{postConfig.OutBranchName}}
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('visa.v_xcdays')}}
</td>
<td>
{{postConfig.DayNum}}天{{postConfig.NightNum}}晚
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('fnc.khmingcheng')}}
</td>
<td>
{{postConfig.CustomerName}}
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('sm.tuanduibiaoti')}}
</td>
<td
width=
"300"
colspan=
"5"
>
{{postConfig.Title}}
</td>
</tr>
<tr>
<td
colspan=
"6"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
已选日期
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postConfig.OutDateTimeList&&postConfig.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postConfig.OutDateTimeList"
:key=
"oIndex"
style=
"margin-right:5px;"
>
{{
item
}}
</el-tag>
</
template
>
</td>
</tr>
</table>
</div>
<br
/>
<table
class=
"CostPriceTable CostNewTable"
>
<thead>
<tr>
<td
colspan=
"13"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.baojiaxinxi')}}
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('hotel.hotel_Currency')}}
</td>
<td
v-for=
'(item,index) in CostCurrencyList'
:key=
"index+10000"
>
{{item.CurrencyName}}
</td>
<td
:colspan=
"13-2-CostCurrencyList.length+1"
>
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('hotel.hotel_CurrentRate')}}
</td>
<td
v-for=
'(item,index) in CostCurrencyList'
:key=
"index+20000"
>
{{item.ExchangeRate}}
</td>
<td
:colspan=
"13-2-CostCurrencyList.length+1"
>
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('admin.admin_personNumber')}}
</td>
<td
v-for=
"(item,index) in CostNumberList"
:key=
"index+30000"
>
{{item.PeopleNumber}}
</td>
<td
:colspan=
"13-2-CostNumberList.length+1"
>
</td>
</tr>
</thead>
<tr>
<td
colspan=
"13"
></td>
</tr>
<tr>
<td
rowspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:90px;"
>
Day
</td>
<td
rowspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:80px;"
>
{{$t('hotel.hotel_Currency')}}
</td>
<td
rowspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:250px;"
>
{{$t('Airticket.Air_Trip')}}
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('hotel.hotel')}}
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.v101.chetian')}}
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.can')}}
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('scen.sc_piao')}}
</td>
<td
colspan=
"2"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.qitafy')}}
<br
/>
({{$t('objFill.baoxiansdzfd')}})
</td>
</tr>
<tr>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:180px"
>
{{$t('hotel.table_hotelname')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('objFill.v101.jiageren')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('objFill.chezi')}}/{{$t('hotel.hotel_day')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:50px"
>
{{$t('objFill.guolufei')}}
<br
/>
{{$t('objFill.v101.tingcheft')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:110px"
>
{{$t('restaurant.res_resName')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('objFill.v101.jiagecan')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:150px"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('objFill.v101.jiageren')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('system.query_airName')}}
</td>
<td
class=
"CP_ComTitle2 CostcomCenter"
style=
"width:100px"
>
{{$t('Operation.Op_price')}}
</td>
</tr>
<
template
v-for=
"(subItem,subIndex) in dayCostPrice"
>
<tr
:key=
"subIndex+100000"
>
<td
align=
"center"
>
{{
$t
(
'tips.di'
)
}}{{
subItem
.
DayNum
}}{{
$t
(
'hotel.hotel_day'
)
}}
<br
/>
{{
GetDayStr
(
subItem
.
DayNum
-
1
)
}}
<br
/>
<a
v-if=
"IsEdit==3"
style=
"color:blue;cursor:pointer"
@
click=
"showOfferChange(1,subItem)"
>
{{
$t
(
'objFill.dayofferchange'
)
}}
</a>
</td>
<td
align=
"center"
>
{{
getCurrencyName
(
subItem
.
CurrencyId
)
}}
</td>
<td>
{{
subItem
.
Title
}}
</td>
<td>
{{
subItem
.
HotelName
}}
<br
/>
<template
v-if=
"subItem.ContainDinnerType==1"
>
{{
$t
(
'objFill.hanzaocan'
)
}}
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==2"
>
{{
$t
(
'objFill.hanwancan'
)
}}
</
template
>
<
template
v-if=
"subItem.ContainDinnerType==3"
>
{{
$t
(
'objFill.v101.hanzaowanc'
)
}}
</
template
>
</td>
<td
style=
"white-space:nowrap;"
>
{{subItem.HotelCostPrice}}
<
template
v-if=
"subItem.IsHotelChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.HotelChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.HotelChangeValue>0"
>
+
{{
subItem
.
HotelChangeValue
}}
</
template
>
<
template
v-else
>
{{
subItem
.
HotelChangeValue
}}
</
template
>
</font>
</el-tooltip>
=
<font
style=
"color:red"
>
{{subItem.HotelChangePrice}}
</font>
</template>
</td>
<td
style=
"white-space:nowrap;"
>
{{subItem.BusCostPrice}}
<
template
v-if=
"subItem.IsBusChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.BusChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.BusChangeValue>0"
>
+
{{
subItem
.
BusChangeValue
}}
</
template
>
<
template
v-else
>
{{
subItem
.
BusChangeValue
}}
</
template
>
</font>
</el-tooltip>
=
<font
style=
"color:red"
>
{{subItem.BusChangePrice}}
</font>
</template>
</td>
<td>
{{subItem.PassFee}}
</td>
<td
style=
"width:250px;"
>
<
template
v-if=
"subItem.BreakfastName&&subItem.BreakfastName!=''"
>
{{
$t
(
'objFill.v101.zaocanmc'
)
}}
:
{{
subItem
.
BreakfastName
}}
<br
/>
</
template
>
<
template
v-if=
"subItem.LunchName&&subItem.LunchName!=''"
>
{{
$t
(
'objFill.v101.wucanmc'
)
}}
:
{{
subItem
.
LunchName
}}
<br
/>
<template
v-if=
"subItem.LunchRealName&&subItem.LunchRealName!=''"
>
<font
style=
"color:#106BAF;"
>
{{
$t
(
'ground.zhenshimingcheng'
)
}}
:
<template
v-if=
"subItem.LunchUrl&&subItem.LunchUrl!=''"
>
<a
@
click=
"OpenNewUrl(subItem.LunchUrl)"
target=
"_blank"
style=
"cursor:pointer;text-decoration: underline;color:#106BAF;"
>
{{
subItem
.
LunchRealName
}}
</a>
</
template
>
<
template
v-else
>
{{
subItem
.
LunchRealName
}}
</
template
>
</font><br
/>
</template>
</template>
<
template
v-if=
"subItem.DinnerName&&subItem.DinnerName!=''"
>
{{
$t
(
'objFill.v101.wancaimc'
)
}}
:
{{
subItem
.
DinnerName
}}
<br
/>
<template
v-if=
"subItem.DinnerRealName&&subItem.DinnerRealName!=''"
>
<font
style=
"color:#106BAF;"
>
{{
$t
(
'ground.zhenshimingcheng'
)
}}
:
<template
v-if=
"subItem.DinnerUrl&&subItem.DinnerUrl!=''"
>
<a
@
click=
"OpenNewUrl(subItem.DinnerUrl)"
target=
"_blank"
style=
"cursor:pointer;text-decoration: underline;color:#106BAF;"
>
{{
subItem
.
DinnerRealName
}}
</a>
</
template
>
<
template
v-else
>
{{
subItem
.
DinnerRealName
}}
</
template
>
</font><br
/>
</template>
</template>
</td>
<td
style=
"white-space:nowrap;"
>
<
template
v-if=
"subItem.BreakfastCostPrice>0||subItem.IsBreakfastChange"
>
{{
$t
(
'objFill.v101.zaocanmc'
)
}}
:
{{
subItem
.
BreakfastCostPrice
}}
<template
v-if=
"subItem.IsBreakfastChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.BreakfastChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.BreakfastChangeValue>0"
>
+
</
template
>
{{subItem.BreakfastChangeValue}}
</font>
</el-tooltip>
=
<font
style=
"color:red;"
>
{{subItem.BreakfastChangePrice}}
</font>
</template>
</template>
<
template
v-if=
"subItem.LunchCostPrice>0||subItem.IsLunchChange"
>
<br
/>
{{
$t
(
'objFill.v101.wucanmc'
)
}}
:
{{
subItem
.
LunchCostPrice
}}
<template
v-if=
"subItem.IsLunchChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.LunchChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.LunchChangeValue>0"
>
+
</
template
>
{{subItem.LunchChangeValue}}
</font>
</el-tooltip>
=
<font
style=
"color:red;"
>
{{subItem.LunchChangePrice}}
</font>
</template>
</template>
<
template
v-if=
"subItem.DinnerCostPrice>0||subItem.IsDinnerChange"
>
<br
/>
{{
$t
(
'objFill.v101.wancaimc'
)
}}
:
{{
subItem
.
DinnerCostPrice
}}
<template
v-if=
"subItem.IsDinnerChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.DinnerChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.DinnerChangeValue>0"
>
+
</
template
>
{{subItem.DinnerChangeValue}}
</font>
</el-tooltip>
=
<font
style=
"color:red;"
>
{{subItem.DinnerChangePrice}}
</font>
</template>
</template>
</td>
<td>
<
template
v-for=
"(childItem,childIndex) in subItem.ScenicList"
>
<template
v-if=
"childItem.TicketId>0||childItem.TicketName!=''"
>
<font>
{{
childIndex
+
1
}}
、
{{
childItem
.
TicketName
}}
</font>
<br
/>
</
template
>
</template>
</td>
<td
style=
"white-space:nowrap;"
>
<
template
v-for=
"(childItem,childIndex) in subItem.ScenicList"
>
<template
v-if=
"childItem.TicketId>0||childItem.TicketName!=''"
>
<font>
{{
childItem
.
TicketCostPrice
}}
</font>
<br
/>
</
template
>
</template>
<
template
v-if=
"subItem.IsScenicChange"
>
<br
/>
{{
subItem
.
ScenicCostPrice
}}
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.ScenicChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.ScenicChangeValue>0"
>
+
</
template
>
{{subItem.ScenicChangeValue}}
</font>
</el-tooltip>
=
<font
style=
"color:red"
>
{{subItem.ScenicChangePrice}}
</font>
</template>
</td>
<td>
{{subItem.OtherName}}
</td>
<td
style=
"white-space:nowrap;"
>
{{subItem.OtherPrice}}
<
template
v-if=
"subItem.IsOtherChange"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"subItem.OtherChangeRemark"
placement=
"top-start"
>
<font
style=
"color:red;"
>
<template
v-if=
"subItem.OtherChangeValue>0"
>
+
</
template
>
{{subItem.OtherChangeValue}}
</font>
</el-tooltip>
=
<font
style=
"color:red;"
>
{{subItem.OtherChangePrice}}
</font>
</template>
</td>
</tr>
</template>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.waibixj')}}
</td>
<!--酒店小计-->
<td
colspan=
"2"
>
{{$t('objFill.jiudianxj')}}: {{getDayXiaoJi(1,1)}}
<
template
v-if=
"getDayChangeXiaoJi(1,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(1,1)>0"
>
+
{{
getDayChangeXiaoJi
(
1
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
1
,
1
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(1,1))+Number(getDayChangeXiaoJi(1,1))}}
</font>
</template>
</td>
<!--车资小计-->
<td
colspan=
"2"
style=
"white-space:nowrap;"
>
{{$t('objFill.chezhixj')}}:{{getDayXiaoJi(2,1)}}
<
template
v-if=
"getDayChangeXiaoJi(2,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(2,1)>0"
>
+
{{
getDayChangeXiaoJi
(
2
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
2
,
1
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(2,1))+Number(getDayChangeXiaoJi(2,1))}}
</font>
</template>
</td>
<!--餐小计-->
<td
colspan=
"2"
>
{{$t('objFill.canxj')}}: {{getDayXiaoJi(4,1)}}
<
template
v-if=
"getDayChangeXiaoJi(4,1)!=0"
>
<font
style=
"color:red"
>
<template
v-if=
"getDayChangeXiaoJi(4,1)>0"
>
+
{{
getDayChangeXiaoJi
(
4
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
4
,
1
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(4,1))+Number(getDayChangeXiaoJi(4,1))}}
</font>
</template>
</td>
<!--门票小计-->
<td
colspan=
"2"
>
{{$t('objFill.menpiaoxj')}}: {{getDayXiaoJi(3,1)}}
<
template
v-if=
"getDayChangeXiaoJi(3,1)!=0"
>
<font
style=
"color:red"
>
<template
v-if=
"getDayChangeXiaoJi(3,1)>0"
>
+
{{
getDayChangeXiaoJi
(
3
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
3
,
1
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(3,1))+ Number(getDayChangeXiaoJi(3,1))}}
</font>
</template>
</td>
<!--其它费用小计-->
<td
colspan=
"2"
>
{{$t('objFill.zazhixj')}}: {{getDayXiaoJi(9,1)}}
<
template
v-if=
"getDayChangeXiaoJi(9,1)!=0"
>
<font
style=
"color:red"
>
<template
v-if=
"getDayChangeXiaoJi(9,1)>0"
>
+
{{
getDayChangeXiaoJi
(
9
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
9
,
1
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(9,1))+ Number(getDayChangeXiaoJi(9,1))}}
</font>
</template>
</td>
</tr>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
>
{{$t('objFill.renmingbxj')}}
</td>
<!--酒店小计-->
<td
colspan=
"2"
>
{{$t('objFill.jiudianxj')}}: {{getDayXiaoJi(1,2)}}
<
template
v-if=
"getDayChangeXiaoJi(1,2)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(1,2)>0"
>
+
{{
getDayChangeXiaoJi
(
1
,
2
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
1
,
2
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(1,2))+Number(getDayChangeXiaoJi(1,2))}}
</font>
</template>
</td>
<!--车资小计-->
<td
colspan=
"2"
>
{{$t('objFill.chezhixj')}}:{{getDayXiaoJi(2,2)}}
<
template
v-if=
"getDayChangeXiaoJi(2,2)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(2,2)>0"
>
+
{{
getDayChangeXiaoJi
(
2
,
2
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
2
,
2
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(2,2))+Number(getDayChangeXiaoJi(2,2))}}
</font>
</template>
</td>
<!--餐小计-->
<td
colspan=
"2"
>
{{$t('objFill.canxj')}}: {{getDayXiaoJi(4,2)}}
<
template
v-if=
"getDayChangeXiaoJi(4,2)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(4,2)>0"
>
+
{{
getDayChangeXiaoJi
(
4
,
2
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
4
,
2
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(4,2))+Number(getDayChangeXiaoJi(4,2))}}
</font>
</template>
</td>
<!--门票小计-->
<td
colspan=
"2"
>
{{$t('objFill.menpiaoxj')}}: {{getDayXiaoJi(3,2)}}
<
template
v-if=
"getDayChangeXiaoJi(3,2)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(3,2)>0"
>
+
{{
getDayChangeXiaoJi
(
3
,
2
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
3
,
2
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getDayXiaoJi(3,2))+Number(getDayChangeXiaoJi(3,2))}}
</font>
</template>
</td>
<!--其它费用小计-->
<td
colspan=
"2"
>
{{$t('objFill.zazhixj')}}: {{getDayXiaoJi(9,2)}}
<
template
v-if=
"getDayChangeXiaoJi(9,2)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(9,2)>0"
>
+
{{
getDayChangeXiaoJi
(
9
,
2
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
9
,
2
)
}}
</
template
>
</font>
=
<font
style=
"color:red;"
>
{{Number(getDayXiaoJi(9,2))+Number(getDayChangeXiaoJi(9,2))}}
</font>
</template>
</td>
</tr>
<tr>
<td
colspan=
"13"
>
{{$t('objFill.qitacbrmb')}}
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('active.cl_jipiao')"
>
{{OtherPrice.AirTicketMoeny}}
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('objFill.zhongduanjp')"
>
{{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}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('salesModule.Union')"
>
{{teamPrice.UnionPrice}}
</el-form-item>
</td>
<td
colspan=
"4"
rowspan=
"2"
>
{{$t('objFill.xiaojijpzdsjly')}}:
<br
/>
{{getCostTotalMoney()}}
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('objFill.lingduidyft')"
>
{{OtherPrice.AirTicketShareMoney}}
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('objFill.guoye')"
>
{{teamPrice.NightPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('active.cl_qianzheng')"
>
{{teamPrice.VisaPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_insurance')"
>
{{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>
</tr>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_baby')"
>
{{teamPrice.BabyPrice}}
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('objFill.dandijcb')"
>
{{teamPrice.SingleDMCPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childNobed')"
>
{{teamPrice.ChildNoNeedPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childBed')"
>
{{teamPrice.ChildNeedPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_singleRoomcha')"
>
{{teamPrice.SingleRoomPrice}}
</el-form-item>
</td>
<td
colspan=
"4"
>
<el-form-item
:label=
"$t('objFill.dandijjg')"
>
{{teamPrice.SingleDMCTCPrice}}
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_zhu')+`OP`"
>
{{postConfig.OPName}}
</el-form-item>
</td>
<td
colspan=
"3"
>
<el-form-item
:label=
"$t('objFill.zhuli')+`OP`"
>
<
template
v-if=
"postConfig.Assistantlist&&postConfig.Assistantlist.length>0"
>
<span
v-for=
"(subItem,subIndex) in postConfig.Assistantlist"
:key=
"subIndex"
style=
"padding-left:3px;"
>
{{
subItem
.
Name
}}
</span>
</
template
>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('fnc.fkfangshi')"
>
<
template
v-if=
"postConfig.SaleOfferPayType==1"
>
{{
$t
(
'fnc.xianjin'
)
}}
</
template
>
<
template
v-if=
"postConfig.SaleOfferPayType==2"
>
{{
$t
(
'objFill.huikuan'
)
}}
</
template
>
<
template
v-if=
"postConfig.SaleOfferPayType==3"
>
{{
$t
(
'objFill.waizhanzili'
)
}}
</
template
>
</el-form-item>
</td>
<td
colspan=
"6"
>
{{$t('objFill.fj')}}:
<
template
v-if=
"teamPrice.ContractArray&& teamPrice.ContractArray.length>0"
>
<template
v-for=
"(subItem,subIndex) in teamPrice.ContractArray"
>
<a
style=
"margin-left:20px;color:blue;cursor:pointer;"
target=
"_blank"
:key=
"subIndex"
@
click=
"downloadFile(subItem.Url,subItem.Name)"
>
{{
subItem
.
Name
}}
</a>
</
template
>
</template>
</td>
</tr>
<tr>
<td>
</td>
<td>
{{$t('admin.admin_personNumber')}}
</td>
<td>
{{$t('objFill.v101.jiudccmzji')}}
</td>
<td>
{{$t('objFill.dijiechengben')}}
<br
/>
({{$t('fnc.waibi')}})
</td>
<td
colspan=
"2"
>
{{$t('objFill.dijiechengben')}}
<br
/>
({{$t('fnc.a_rminbi')}})
</td>
<td
colspan=
"2"
>
{{$t('hotel.hotel_cost')}}
<br
/>
[{{$t('objFill.v101.dandjqtcbrmbxj')}}]
</td>
<td>
{{$t('objFill.tongyexsjg')}}
<br
/>
<!--台湾印象和日本印象-->
<
template
v-if=
"postConfig.OutBranchId==1218||postConfig.OutBranchId==1220"
>
(
{{
$t
(
'objFill.ribi'
)
}}
)
</
template
>
<!--印尼印象-->
<
template
v-else-if=
"postConfig.OutBranchId==1252"
>
(
{{
$t
(
'fnc.a_ynd'
)
}}
)
</
template
>
<
template
v-else
>
(
{{
$t
(
'fnc.a_rminbi'
)
}}
)
</
template
>
</td>
<td>
{{$t('objFill.zhikexsjg')}}
<br
/>
<!--台湾印象和日本印象-->
<
template
v-if=
"postConfig.OutBranchId==1218||postConfig.OutBranchId==1220"
>
(
{{
$t
(
'objFill.ribi'
)
}}
)
</
template
>
<!--印尼印象-->
<
template
v-else-if=
"postConfig.OutBranchId==1252"
>
(
{{
$t
(
'fnc.a_ynd'
)
}}
)
</
template
>
<
template
v-else
>
(
{{
$t
(
'fnc.a_rminbi'
)
}}
)
</
template
>
</td>
<td>
<!--台湾印象和日本印象-->
<
template
v-if=
"postConfig.OutBranchId==1218||postConfig.OutBranchId==1220"
>
<template
v-if=
"postConfig.LineId==14||postConfig.LineId==118"
>
{{
$t
(
'Airticket.Air_salesPrice'
)
}}
<br
/>
(
{{
$t
(
'objFill.ribi'
)
}}
)
</
template
>
</template>
</td>
<td
colspan=
"2"
>
{{$t('fnc.beizhu')}}
</td>
</tr>
<!--已填写人数-->
<
template
v-if=
"CostNumberList&&CostNumberList.length>0"
>
<template
v-for=
"(subItem,subIndex) in CostNumberList"
>
<tr
:key=
"subIndex"
>
<td
v-if=
"subIndex==0"
:rowspan=
"CostNumberList.length"
>
{{
$t
(
'fnc.a_heji'
)
}}
</td>
<td>
{{
subItem
.
PeopleNumber
}}
</td>
<td>
{{
getDayXiaoJi
(
1
,
1
)
}}
<template
v-if=
"getDayChangeXiaoJi(1,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(1,1)>0"
>
+
{{
getDayChangeXiaoJi
(
1
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
1
,
1
)
}}
</
template
>
</font>
</template>
({{$t('objFill.jiu')}})+
{{ (getDayXiaoJi(2,1)/subItem.PeopleNumber).toFixed(2)}}
<
template
v-if=
"getDayChangeXiaoJi(2,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(2,1)>0"
>
+
{{
(
getDayChangeXiaoJi
(
2
,
1
)
/
subItem
.
PeopleNumber
).
toFixed
(
2
)
}}
</
template
>
<
template
v-else
>
{{
(
getDayChangeXiaoJi
(
2
,
1
)
/
subItem
.
PeopleNumber
).
toFixed
(
2
)
}}
</
template
>
</font>
</template>
({{$t('objFill.v101.chezczcyrs')}})
+{{getDayXiaoJi(4,1)}}
<
template
v-if=
"getDayChangeXiaoJi(4,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(4,1)>0"
>
+
{{
getDayChangeXiaoJi
(
4
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
4
,
1
)
}}
</
template
>
</font>
</template>
({{$t('objFill.can')}})
+{{getDayXiaoJi(3,1)}}
<
template
v-if=
"getDayChangeXiaoJi(3,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(3,1)>0"
>
+
{{
getDayChangeXiaoJi
(
3
,
1
)
}}
</
template
>
<
template
v-else
>
{{
getDayChangeXiaoJi
(
3
,
1
)
}}
</
template
>
</font>
</template>
({{$t('scen.sc_piao')}})
+{{(getDayXiaoJi(9,1)/subItem.PeopleNumber).toFixed(2)}}
<
template
v-if=
"getDayChangeXiaoJi(9,1)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getDayChangeXiaoJi(9,1)>0"
>
+
{{
(
getDayChangeXiaoJi
(
9
,
1
)
/
subItem
.
PeopleNumber
).
toFixed
(
2
)
}}
</
template
>
<
template
v-else
>
{{
(
getDayChangeXiaoJi
(
9
,
1
)
/
subItem
.
PeopleNumber
).
toFixed
(
2
)
}}
</
template
>
</font>
</template>
({{$t('objFill.v101.zazhizzzcyrsK')}})
</td>
<td
style=
"white-space:nowrap;"
>
{{getLocalJpyTotalMoney(subItem.PeopleNumber)}}
<
template
v-if=
"getLocalJpyChangeTotalMoney(subItem.PeopleNumber)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getLocalJpyChangeTotalMoney(subItem.PeopleNumber)>0"
>
+
{{
getLocalJpyChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
<
template
v-else
>
{{
getLocalJpyChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getLocalJpyTotalMoney(subItem.PeopleNumber))+Number(getLocalJpyChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</td>
<td
colspan=
"2"
>
<
template
v-if=
"teamPrice&&teamPrice.SingleDMCPrice&&teamPrice.SingleDMCPrice>0"
>
{{
teamPrice
.
SingleDMCPrice
}}
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)>0"
>
+
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
<
template
v-else
>
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(teamPrice.SingleDMCPrice)+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<
template
v-else-if=
"postConfig.LineId==14||postConfig.LineId==118"
>
{{
getLocalTotalMoney
(
subItem
.
PeopleNumber
)
}}
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)>0"
>
+
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
<
template
v-else
>
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getLocalTotalMoney(subItem.PeopleNumber))+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<
template
v-else-if=
"postConfig.LineId==168"
>
{{
getLocalTotalMoney
(
subItem
.
PeopleNumber
)
}}
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)>0"
>
+
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
<
template
v-else
>
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(getLocalTotalMoney(subItem.PeopleNumber))+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<
template
v-else
>
{{
subItem
.
SubtotalMoney
}}
</
template
>
</td>
<td
colspan=
"2"
>
{{subItem.TotalMoney}}
<
template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)!=0"
>
<font
style=
"color:red;"
>
<template
v-if=
"getLocalChangeTotalMoney(subItem.PeopleNumber)>0"
>
+
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
<
template
v-else
>
{{
getLocalChangeTotalMoney
(
subItem
.
PeopleNumber
)
}}
</
template
>
</font>
=
<font
style=
"color:red"
>
{{Number(subItem.TotalMoney)+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</td>
<td>
{{subItem.SalePrice}}
</td>
<td>
{{subItem.B2CSalePrice}}
</td>
<td>
<!--台湾印象和日本印象-->
<
template
v-if=
"postConfig.OutBranchId==1218||postConfig.OutBranchId==1220"
>
<template
v-if=
"postConfig.LineId==14||postConfig.LineId==118"
>
{{
subItem
.
JPYSalePrice
}}
</
template
>
</template>
</td>
<td
colspan=
"2"
>
{{subItem.CostRemark}}
</td>
</tr>
</template>
</template>
<tr>
<td
colspan=
"13"
></td>
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
{{$t('objFill.shenhebz')}}
</td>
<td
colspan=
"3"
>
<
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
}}
<template
v-if=
"postConfig.ManagerAduitStatus==1"
>
<span
style=
"color:blue;"
>
{{
$t
(
'visa.v_tongguo'
)
}}
</span>
</
template
>
<
template
v-if=
"postConfig.ManagerAduitStatus==2"
>
<span
style=
"color:red;"
>
{{
$t
(
'fnc.bohui'
)
}}
</span>
</
template
>
{{postConfig.ManagerAduitContent}}
</p>
</template>
<
template
v-if=
"IsEdit!=2&&postConfig.AuditDate&&postConfig.AuditDate!=''"
>
<br
/>
<p>
{{
postConfig
.
AuditByName
}}
:
{{
postConfig
.
AuditDate
}}
<template
v-if=
"postConfig.TravelState==3"
>
<span
style=
"color:blue;"
>
{{
$t
(
'visa.v_tongguo'
)
}}
</span>
</
template
>
<
template
v-if=
"postConfig.TravelState==4"
>
<span
style=
"color:red;"
>
{{
$t
(
'fnc.bohui'
)
}}
</span>
</
template
>
{{postConfig.AuditContent}}
</p>
</template>
<
template
v-if=
"postConfig.ChangeManagerAduitDate&&postConfig.ChangeManagerAduitDate!=''&&postConfig.ChangeManagerAduitName&&postConfig.ChangeManagerAduitName!=''"
>
<br
/>
<p>
{{
postConfig
.
ChangeManagerAduitName
}}
:
{{
postConfig
.
ChangeManagerAduitDate
}}
<template
v-if=
"postConfig.ChangeManagerAduitStatus==1"
>
<span
style=
"color:blue;"
>
{{
$t
(
'visa.v_tongguo'
)
}}
</span>
</
template
>
<
template
v-if=
"postConfig.ChangeManagerAduitStatus==2"
>
<span
style=
"color:red;"
>
{{
$t
(
'fnc.bohui'
)
}}
</span>
</
template
>
{{postConfig.ChangeManagerAduitContent}}
</p>
</template>
<
template
v-if=
"postConfig.ChangeAduitDate&&postConfig.ChangeAduitDate!=''"
>
<br
/>
<p>
{{
postConfig
.
ChangeAuditByName
}}
:
{{
postConfig
.
ChangeAduitDate
}}
<template
v-if=
"postConfig.TravelState==8"
>
<span
style=
"color:blue;"
>
{{
$t
(
'visa.v_tongguo'
)
}}
</span>
</
template
>
<
template
v-if=
"postConfig.TravelState==7"
>
<span
style=
"color:red;"
>
{{
$t
(
'fnc.bohui'
)
}}
</span>
</
template
>
{{postConfig.ChangeAduitContent}}
</p>
</template>
<
template
v-if=
"IsEdit==2||IsEdit==4"
>
<el-input
type=
"textarea"
v-model=
"postConfig.CRemarks"
></el-input>
</
template
>
</td>
<td
class=
"CP_ComTitle2"
>
变更原因:
</td>
<td
colspan=
"5"
>
<
template
v-for=
"(cItem,cIndex) in dayCostPrice"
>
<template
v-if=
"cItem.IsHotelChange||cItem.IsBusChange ||cItem.IsBreakfastChange||cItem.IsLunchChange||cItem.IsDinnerChange||cItem.IsScenicChange||cItem.IsOtherChange"
>
<p
:key=
"cIndex"
>
第
{{
cItem
.
DayNum
}}
天
<template
v-if=
"cItem.IsHotelChange"
>
酒店:
{{
cItem
.
HotelChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
HotelChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsBusChange"
>
车资:
{{
cItem
.
BusChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
BusChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsBreakfastChange"
>
早餐:
{{
cItem
.
BreakfastChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
BreakfastChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsLunchChange"
>
午餐:
{{
cItem
.
LunchChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
LunchChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsDinnerChange"
>
晚餐:
{{
cItem
.
DinnerChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
DinnerChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsScenicChange"
>
景点:
{{
cItem
.
ScenicChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
ScenicChangeValue
}}
</font>
)
</
template
>
<
template
v-if=
"cItem.IsOtherChange"
>
其他费用:
{{
cItem
.
OtherChangeRemark
}}
(
<font
style=
"color:red"
>
{{
cItem
.
OtherChangeValue
}}
</font>
)
</
template
>
</p>
</template>
</template>
</td>
<td
colspan=
"3"
>
{{$t('objFill.dangqiantdlx')}}:
<
template
v-if=
"postConfig.TeamTypeName=='小包团'"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<!-- <td colspan="4">
<el-form-item :label="$t('objFill.v101.gengctleix')">
<el-select class="multiple_input" v-model="postConfig.TeamType">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</td> -->
</tr>
<!--报价单审核-->
<tr
v-if=
"IsEdit==2"
>
<td
colspan=
"13"
style=
"text-align:center;"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('salesModule.Agree')"
@
click=
"SubSaveType(3)"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('visa.v_jujue')"
@
click=
"SubSaveType(4)"
/>
</td>
</tr>
<!--报价单变更审核-->
<tr
v-if=
"IsEdit==4"
>
<td
colspan=
"13"
style=
"text-align:center;"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('salesModule.Agree')"
@
click=
"SubSaveType(8)"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('visa.v_jujue')"
@
click=
"SubSaveType(7)"
/>
</td>
</tr>
</table>
<div
class=
"Cost_Line"
></div>
</el-form>
</div>
<el-dialog
custom-class=
'w750'
:title=
"dialogDiningTitle"
:visible
.
sync=
"changMsg.isShowChangeOffer"
center
modal
>
<changeOffer
v-if=
"changMsg.isShowChangeOffer"
:qMsg=
"changMsg"
@
success=
"refreshPage"
@
closeDialog=
"closeDialog"
>
</changeOffer>
</el-dialog>
</div>
</template>
<
script
>
import
changeOffer
from
'@/components/commonPage/changeOffer'
export
default
{
//IsEdit(1-查看,2-审核,3-OP变更,4-变更审核)
props
:
[
"OfferArray"
,
"postConfig"
,
"IsEdit"
],
data
()
{
return
{
tabsActive
:
0
,
orderList
:
[],
//审核信息
AduitMsg
:
{
},
OtherPrice
:
{},
dayCostPrice
:
[],
CostCurrencyList
:
[],
CostNumberList
:
[],
teamPrice
:
{},
teamList
:
[],
//团队类型
//报价单变更参数
changMsg
:
{
isShowChangeOffer
:
false
,
EditType
:
0
,
OfferId
:
0
,
DayNum
:
0
,
checkObj
:
{}
},
dialogDiningTitle
:
"行程变更"
,
}
},
components
:
{
changeOffer
:
changeOffer
,
},
methods
:
{
//获取变更原因
getChangeRemark
()
{
},
//关闭弹窗
closeDialog
()
{
this
.
changMsg
.
isShowChangeOffer
=
false
;
this
.
changMsg
.
EditType
=
0
;
this
.
changMsg
.
DayNum
=
0
;
this
.
changMsg
.
checkObj
=
{};
},
refreshPage
(
rType
)
{
this
.
changMsg
.
isShowChangeOffer
=
false
;
this
.
changMsg
.
EditType
=
0
;
this
.
changMsg
.
DayNum
=
0
;
if
(
rType
&&
rType
==
1
)
{
this
.
$emit
(
"success"
);
}
},
/**
* EditType:1-行程相关变更,2-基础数据变更
*/
showOfferChange
(
EditType
,
item
)
{
this
.
changMsg
.
isShowChangeOffer
=
true
;
this
.
changMsg
.
OfferId
=
item
.
OfferId
;
this
.
changMsg
.
EditType
=
EditType
;
this
.
dialogDiningTitle
=
"报价单变更"
if
(
item
&&
item
.
DayNum
)
{
this
.
changMsg
.
DayNum
=
item
.
DayNum
;
this
.
changMsg
.
checkObj
=
item
;
}
},
GetDayStr
(
dayNum
)
{
var
str
=
""
;
if
(
this
.
postConfig
.
OutDateTime
&&
this
.
postConfig
.
OutDateTime
!=
''
)
{
var
dateFormat
=
new
Date
(
this
.
postConfig
.
OutDateTime
);
dateFormat
=
dateFormat
.
setDate
(
dateFormat
.
getDate
()
+
dayNum
);
dateFormat
=
new
Date
(
dateFormat
);
let
y
=
dateFormat
.
getFullYear
()
let
m
=
(
dateFormat
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
)
let
d
=
dateFormat
.
getDate
().
toString
().
padStart
(
2
,
'0'
)
str
=
`
${
y
}
-
${
m
}
-
${
d
}
`
;
}
return
str
;
},
getTeamList
()
{
//出团公司
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
selectTag
(
index
)
{
this
.
tabsActive
=
index
this
.
changeTabs
()
},
changeTabs
()
{
this
.
currentData
=
this
.
orderList
[
this
.
tabsActive
]
if
(
!
this
.
currentData
)
{
return
}
this
.
OtherPrice
=
this
.
currentData
.
otherPrice
;
this
.
dayCostPrice
=
this
.
currentData
.
dayCostPriceList
;
this
.
CostCurrencyList
=
this
.
currentData
.
CostCurrencyList
;
this
.
CostNumberList
=
this
.
currentData
.
CostNumberList
;
this
.
queryMsg
=
this
.
currentData
.
queryMsg
;
this
.
teamPrice
=
this
.
currentData
.
teamPrice
;
},
//下载文件
downloadFile
(
fileUrl
,
fileName
)
{
const
link
=
document
.
createElement
(
'a'
);
link
.
href
=
fileUrl
;
link
.
target
=
"_blank"
;
link
.
download
=
fileName
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
},
//调用父组件方法
SubSaveType
(
type
)
{
this
.
$parent
.
SaveData
(
type
);
},
//每天小计
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
);
xiaoJi
+=
Number
(
item
.
PassFee
)
*
Number
(
currencyRate
);
}
//景点
if
(
type
==
3
)
{
if
(
item
.
ScenicList
&&
item
.
ScenicList
.
length
>
0
)
{
item
.
ScenicList
.
forEach
(
sItem
=>
{
if
(
sItem
.
TicketName
!=
''
||
sItem
.
TicketId
>
0
)
{
xiaoJi
+=
Number
(
sItem
.
TicketCostPrice
)
*
Number
(
currencyRate
);
}
})
}
//xiaoJi += Number(item.ScenicCostPrice) * Number(currencyRate);
}
//早餐
if
(
type
==
4
)
{
xiaoJi
+=
Number
(
item
.
BreakfastCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
LunchCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
DinnerCostPrice
)
*
Number
(
currencyRate
);
}
//回佣
if
(
type
==
8
)
{
xiaoJi
+=
Number
(
item
.
RebatePrice
)
*
Number
(
currencyRate
);
}
// 其它费用(保险、司导杂费等)
if
(
type
==
9
)
{
xiaoJi
+=
Number
(
item
.
OtherPrice
)
*
Number
(
currencyRate
);
}
});
return
xiaoJi
.
toFixed
(
0
);
},
//获取变更合计
getDayChangeXiaoJi
(
type
,
currencyType
)
{
var
xiaoJi
=
0
;
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
//酒店
if
(
type
==
1
)
{
if
(
item
.
IsHotelChange
)
{
xiaoJi
+=
Number
(
item
.
HotelChangeValue
)
*
Number
(
currencyRate
);
}
}
//车
if
(
type
==
2
)
{
if
(
item
.
IsBusChange
)
{
xiaoJi
+=
Number
(
item
.
BusChangeValue
)
*
Number
(
currencyRate
);
}
}
//景点
if
(
type
==
3
)
{
if
(
item
.
IsScenicChange
)
{
xiaoJi
+=
Number
(
item
.
ScenicChangeValue
)
*
Number
(
currencyRate
);
}
}
//早餐
if
(
type
==
4
)
{
if
(
item
.
IsBreakfastChange
)
{
xiaoJi
+=
Number
(
item
.
BreakfastChangeValue
)
*
Number
(
currencyRate
);
}
if
(
item
.
IsLunchChange
)
{
xiaoJi
+=
Number
(
item
.
LunchChangeValue
)
*
Number
(
currencyRate
);
}
if
(
item
.
IsDinnerChange
)
{
xiaoJi
+=
Number
(
item
.
DinnerChangeValue
)
*
Number
(
currencyRate
);
}
}
if
(
type
==
9
)
{
if
(
item
.
IsOtherChange
)
{
xiaoJi
+=
Number
(
item
.
OtherChangeValue
)
*
Number
(
currencyRate
);
}
}
});
return
xiaoJi
.
toFixed
(
0
);
},
//其它成本价格
getCostTotalMoney
()
{
//机票+中段机票+税金+领队导游分摊+联运+过夜+保险
let
totalMoney
=
this
.
getConvertMoney
(
this
.
OtherPrice
.
AirTicketMoeny
)
+
this
.
getConvertMoney
(
this
.
OtherPrice
.
InlandAirTicketMoney
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
TaxPrice
)
+
this
.
getConvertMoney
(
this
.
teamPrice
.
UnionPrice
)
+
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
;
},
//获取汇率
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
;
},
//价格转换器
getConvertMoney
(
value
)
{
if
(
value
===
""
||
value
===
undefined
||
value
===
null
)
{
value
=
0.0
;
}
return
parseFloat
(
value
);
},
//获取地接项目(人民币)
getLocalTotalMoney
(
PeopleNumber
)
{
let
totalMoney
=
0.0
;
if
(
PeopleNumber
<=
0
)
{
PeopleNumber
=
1
;
}
var
hotelPrice
=
Number
(
this
.
getDayXiaoJi
(
1
,
2
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayXiaoJi
(
3
,
2
));
//景点费用
var
canPrice
=
Number
(
this
.
getDayXiaoJi
(
4
,
2
));
//餐
var
otherPrice
=
Number
(
this
.
getDayXiaoJi
(
9
,
2
))
/
PeopleNumber
;
//其它费用
var
busFee
=
Number
(
this
.
getDayXiaoJi
(
2
,
2
))
/
PeopleNumber
;
//车费
totalMoney
=
busFee
+
hotelPrice
+
sencePrice
+
canPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
2
);
},
getLocalChangeTotalMoney
(
PeopleNumber
)
{
let
totalMoney
=
0.0
;
if
(
PeopleNumber
<=
0
)
{
PeopleNumber
=
1
;
}
var
hotelPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
1
,
2
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayChangeXiaoJi
(
3
,
2
));
//景点费用
var
canPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
4
,
2
));
//餐
var
otherPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
9
,
2
))
/
PeopleNumber
;
//其它费用
var
busFee
=
Number
(
this
.
getDayChangeXiaoJi
(
2
,
2
))
/
PeopleNumber
;
//车费
totalMoney
=
busFee
+
hotelPrice
+
sencePrice
+
canPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
2
);
},
//获取地接项目报价(日元)
getLocalJpyTotalMoney
(
PeopleNumber
)
{
if
(
PeopleNumber
<=
0
)
{
PeopleNumber
=
1
;
}
let
totalMoney
=
0.0
;
var
busFee
=
Number
(
this
.
getDayXiaoJi
(
2
,
1
))
/
PeopleNumber
;
var
hotelPrice
=
Number
(
this
.
getDayXiaoJi
(
1
,
1
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayXiaoJi
(
3
,
1
));
//景点费用
var
canPrice
=
Number
(
this
.
getDayXiaoJi
(
4
,
1
));
//早餐
var
otherPrice
=
Number
(
this
.
getDayXiaoJi
(
9
,
1
))
/
PeopleNumber
;
//其它费用
totalMoney
=
busFee
+
hotelPrice
+
sencePrice
+
canPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
2
);
},
//获取地接项目变更金额
getLocalJpyChangeTotalMoney
(
PeopleNumber
)
{
if
(
PeopleNumber
<=
0
)
{
PeopleNumber
=
1
;
}
let
totalMoney
=
0.0
;
var
busFee
=
Number
(
this
.
getDayChangeXiaoJi
(
2
,
1
))
/
PeopleNumber
;
var
hotelPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
1
,
1
));
//酒店费用
var
sencePrice
=
Number
(
this
.
getDayChangeXiaoJi
(
3
,
1
));
//景点费用
var
canPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
4
,
1
));
//早餐
var
otherPrice
=
Number
(
this
.
getDayChangeXiaoJi
(
9
,
1
))
/
PeopleNumber
;
//其它费用
totalMoney
=
busFee
+
hotelPrice
+
sencePrice
+
canPrice
+
otherPrice
;
return
totalMoney
.
toFixed
(
2
);
},
getchange
()
{
this
.
getLeaderShare
();
}
},
mounted
()
{
this
.
orderList
=
this
.
OfferArray
this
.
changeTabs
()
},
created
()
{
this
.
getTeamList
();
},
watch
:
{
},
};
</
script
>
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
129d57a7
...
...
@@ -61,6 +61,7 @@
OutBranchId
:
-
1
,
//出团公司
OutBranchName
:
""
,
//出团公司名称
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
OfferPayType
:
0
,
//报价单付款方式()
SaleOfferPayType
:
0
,
//售价付款方式
AuditContent
:
""
,
//审核备注
...
...
@@ -97,6 +98,7 @@
SaveData
(
Type
)
{
var
nObj
=
{
ID
:
this
.
$route
.
query
.
offerid
,
BatchNum
:
this
.
$route
.
query
.
BatchNum
,
AuditContent
:
this
.
postData
.
CRemarks
,
TravelState
:
Type
,
OfferPayType
:
this
.
postData
.
OfferPayType
,
...
...
@@ -129,16 +131,16 @@
});
},
getPostData
()
{
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
let
BatchNum
=
""
;
if
(
this
.
$route
.
query
.
BatchNum
)
{
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
let
msg
=
{
offerId
:
offerId
BatchNum
:
BatchNum
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetMyTravelInfo_V
4
"
,
"travel_get_GetMyTravelInfo_V
5
"
,
msg
,
res
=>
{
this
.
loading
=
false
;
...
...
@@ -251,6 +253,7 @@
this
.
postData
.
CustomerName
=
tempData
.
CustomerName
;
this
.
postData
.
OutBranchId
=
tempData
.
OutBranchId
;
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
this
.
postData
.
OutDateTimeList
=
tempData
.
OutDateTimeList
;
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
;
...
...
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
View file @
129d57a7
...
...
@@ -79,7 +79,7 @@
<th>
{{
$t
(
'objFill.v101.kaituants'
)
}}
</th>
<th
colspan=
"
7
"
style=
"text-align:left;line-height:40px;"
>
<th
colspan=
"
5
"
style=
"text-align:left;line-height:40px;"
>
<p
style=
"color:red;font-weight:bold;"
>
1.
{{
$t
(
'objFill.v101.changuitdyshnp'
)
}}
2.
{{
$t
(
'objFill.v101.xiaobtcgbjd'
)
}}
...
...
@@ -90,18 +90,14 @@
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{
$t
(
'objFill.v101.chutuanleix'
)
}}
</td>
<td>
<el-select
class=
"multiple_input"
v-model=
"postData.TeamType"
@
change=
"changeTeamType()"
>
<el-select
class=
"multiple_input"
v-model=
"postData.TeamType"
@
change=
"changeTeamType()"
style=
"width:100px;"
>
<el-option
v-for=
'item in teamList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
<template
v-if=
"postData.TeamType==0||postData.TeamType==1"
>
{{
$t
(
'objFill.tuanduilx'
)
}}
</
template
>
</td>
<td>
<template
v-if=
"postData.TeamType==0||postData.TeamType==1"
>
<el-select
class=
"multiple_input"
v-model=
"postData.PriceTeamType"
>
{{
$t
(
'objFill.tuanduilx'
)
}}
<el-select
class=
"multiple_input"
v-model=
"postData.PriceTeamType"
style=
"width:100px;"
>
<template
v-for=
"item in TeamListArr"
>
<template
v-if=
"postData.TeamType==0"
>
<el-option
v-if=
"item.Id==1||item.Id==2||item.Id==3||item.Id==9"
:key=
"item.Id"
...
...
@@ -142,23 +138,18 @@
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('scen.sc_cp')}}
</td>
<td>
<el-select
class=
"multiple_input"
v-model=
"postData.OutBranchId"
filterable
>
<el-select
class=
"multiple_input"
v-model=
"postData.OutBranchId"
filterable
style=
"width:265px;"
>
<el-option
v-for=
'item in companyList'
:key=
"item.id"
:label=
"item.bName"
:value=
"item.id"
>
</el-option>
</el-select>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('Airticket.Air_StartTime')}}
</td>
<td>
<el-date-picker
type=
"date"
v-model=
"postData.OutDateTime"
value-format=
"yyyy-MM-dd"
placeholder
>
</el-date-picker>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('visa.v_xcdays')}}
</td>
<td>
<el-input
class=
"w240 LowNum"
v-model=
"postData.DayNum"
@
keyup
.
native=
"checkInteger(postData,'DayNum');createDayTripPrice()"
maxlength=
"2"
>
<
template
slot=
"append"
>
{{
$t
(
'hotel.hotel_day'
)
}}
</
template
>
</el-input>
<el-input
class=
"w120 LowNum"
v-model=
"postData.NightNum"
style=
"display:none;"
<el-input
class=
"w120 LowNum"
v-model=
"postData.NightNum"
@
keyup
.
native=
"checkInteger(postData,'NightNum')"
maxlength=
"2"
>
<
template
slot=
"append"
>
{{
$t
(
'Operation.Op_night'
)
}}
</
template
>
</el-input>
...
...
@@ -171,15 +162,35 @@
</td>
</tr>
<tr>
<td
colspan=
"
8
"
style=
"height:20px;"
>
<td
colspan=
"
6
"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('sm.tuanduibiaoti')}}
</td>
<td
colspan=
"
7
"
>
<td
colspan=
"
3
"
>
<el-input
v-model=
"postData.Title"
type=
"textarea"
:autosize=
"{minRows: 1, maxRows: 2 }"
resize=
"none"
:placeholder=
"$t('objFill.v101.qingtxtdbti')"
maxlength=
"200"
></el-input>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('Airticket.Air_StartTime')}}
</td>
<td>
<el-date-picker
type=
"dates"
v-model=
"postData.OutDateTimeList"
value-format=
"yyyy-MM-dd"
placeholder
>
</el-date-picker>
</td>
</tr>
<tr>
<td
colspan=
"8"
style=
"height:20px;"
>
</td>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
已选日期
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postData.OutDateTimeList&&postData.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postData.OutDateTimeList"
:key=
"item"
closable
style=
"margin-right:5px;"
@
close=
"handleClose(item,oIndex)"
>
{{
item
}}
</el-tag>
</
template
>
</td>
</tr>
</table>
</div>
...
...
@@ -232,6 +243,7 @@
haveData
:
false
,
//基本配置
postData
:
{
BatchNum
:
""
,
ID
:
0
,
TCID
:
0
,
OfferId
:
0
,
...
...
@@ -266,6 +278,7 @@
TravelState
:
1
,
//团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
OutBranchId
:
""
,
//出团公司
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
//出发时间
OfferPayType
:
0
,
//报价单付款方式
SaleOfferPayType
:
0
,
//售价付款方式
OPId
:
""
,
//主OP
...
...
@@ -357,10 +370,33 @@
TeamListArr
:
[],
//团队子类型
companyList
:
[],
//出团公司列表
AllCurrencyList
:
[],
//币种列表
loading
:
false
loading
:
false
,
rParams
:
{
OfferId
:
0
,
TCID
:
0
,
BatchNum
:
""
},
};
},
methods
:
{
//删除日期
handleClose
(
item
,
index
)
{
if
(
this
.
postData
.
BatchNum
&&
this
.
postData
.
BatchNum
!=
''
)
{
var
postMsg
=
{
BatchNum
:
this
.
postData
.
BatchNum
,
Date
:
item
}
this
.
apipost
(
"travel_post_RemoveTravelOffer"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
});
}
else
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
},
changeTeamType
()
{
this
.
postData
.
LineId
=
0
;
this
.
postData
.
LineteamId
=
0
;
...
...
@@ -515,7 +551,7 @@
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_post_SetConfigOffer_V
4
"
,
postMsg
,
"travel_post_SetConfigOffer_V
3
"
,
postMsg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -543,17 +579,23 @@
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
}
let
BatchNum
=
""
;
if
(
this
.
$route
.
query
.
BatchNum
)
{
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
let
msg
=
{
offerId
:
offerId
,
TCID
:
0
,
BatchNum
:
BatchNum
};
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
msg
.
TCID
=
this
.
$route
.
query
.
TCID
}
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetMyTravelInfo_V
4
"
,
msg
,
"travel_get_GetMyTravelInfo_V
5
"
,
msg
,
res
=>
{
console
.
log
(
"travel_get_GetMyTravelInfo_V5"
,
res
);
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
...
...
@@ -593,6 +635,9 @@
if
(
tempData
.
OutDateTime
)
{
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
}
if
(
tempData
.
OutDateTimeList
)
{
this
.
postData
.
OutDateTimeList
=
tempData
.
OutDateTimeList
;
}
if
(
tempData
.
OutBranchName
&&
tempData
.
OutBranchName
!=
''
)
{
this
.
postData
.
OutBranchId
=
Number
(
tempData
.
OutBranchId
);
}
...
...
@@ -638,10 +683,16 @@
created
()
{
if
(
this
.
$route
.
query
.
offerid
&&
this
.
$route
.
query
.
offerid
>
0
)
{
this
.
postData
.
OfferId
=
this
.
$route
.
query
.
offerid
;
this
.
rParams
.
OfferId
=
this
.
$route
.
query
.
offerid
}
if
(
this
.
$route
.
query
.
BatchNum
)
{
this
.
postData
.
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
this
.
rParams
.
BatchNum
=
this
.
$route
.
query
.
BatchNum
;
}
//从团控列表跳转信息
if
(
this
.
$route
.
query
.
TCID
&&
this
.
$route
.
query
.
TCID
>
0
)
{
this
.
postData
.
TCID
=
this
.
$route
.
query
.
TCID
this
.
postData
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
rParams
.
TCID
=
this
.
$route
.
query
.
TCID
;
}
//团控列表跳转参数结束
this
.
getCompanyList
();
...
...
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
View file @
129d57a7
...
...
@@ -105,15 +105,6 @@
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryData.EndGroupDate"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
<li>
<span>
<em>
{{
$t
(
'objFill.v101.dmc.kaituanzt'
)
}}
</em>
<el-select
v-model=
"queryData.OpenState"
filterable
:placeholder=
"$t('pub.pleaseSel')"
class=
'w200'
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
'item in OpenStateList'
:key=
"item.Id"
:label=
"item.label"
:value=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
...
...
@@ -128,8 +119,9 @@
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList(),resetPageIndex()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goMakeQuo('QuotationNewPrice',0)"
>
{{
$t
(
'pub.addBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"ShowImportOffer()"
style=
""
>
{{
$t
(
'objFill.v101.daorubjiad'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goMakeQuo('QuotationNewPrice',null,0)"
>
{{
$t
(
'pub.addBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"ShowImportOffer()"
style=
"display:none;"
>
{{
$t
(
'objFill.v101.daorubjiad'
)
}}
</button>
</li>
</ul>
</div>
...
...
@@ -162,7 +154,35 @@
<span>
{{$t('system.query_lineName')}}:{{item.LineName}}
</span>
</p>
<span>
{{$t('active.ad_xlmc')}}:{{item.LtName}}
</span>
<div>
{{$t('hotel.hotel_StarDate')}}:{{item.OutDateTime}}
</div>
<div>
{{$t('hotel.hotel_StarDate')}}:
{{item.OutDateTime}}
<
template
v-if=
"item.OfferList && item.OfferList.length > 1"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('hotel.hotel_StarDate')"
>
<el-popover
width=
"350"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
style=
"width: 100px"
>
{{
$t
(
'objFill.v101.baojiadanh'
)
}}
</td>
<td
style=
"width: 250px"
>
{{
$t
(
"hotel.hotel_StarDate"
)
}}
</td>
</tr>
<tr
v-for=
"(rItem, rIndex) in item.OfferList"
:key=
"`d_`+item.OfferId+`_r_`+rIndex"
>
<td>
{{
rItem
.
OfferId
}}
</td>
<td>
{{
rItem
.
OutDateTime
}}
</td>
</tr>
</table>
<el-button
slot=
"reference"
circle
size=
"mini"
type=
"primary"
style=
"width: 20px; height: 20px; padding: 4px"
>
{{
item
.
OfferList
.
length
}}
</el-button>
</el-popover>
</el-tooltip>
</
template
>
</div>
</div>
</div>
<div
class=
"_left"
style=
"padding-left:10px"
>
...
...
@@ -367,20 +387,22 @@
</template>
</div>
<div
style=
"width:134px;"
>
<span
class=
"openGroup opbd"
@
click=
"goToOpenTravel(item)"
v-if=
"item.TravelState==3&& item.OpenState==2"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('sm.kaituan')"
placement=
"top-start"
popper-class=
"max-w250"
>
</el-tooltip>
{{$t('op.Kai')}}
</span>
<span
class=
"bianji newAopbdd"
v-if=
"item.TravelState==1||item.TravelState==2||item.TravelState==4||item.TravelState==5"
@
click=
"goMakeQuo('QuotationNewPrice',item.OfferId)"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji-smal"
></i>
</el-tooltip>
</span>
<
template
v-if=
"item.TravelState==1||item.TravelState==2||item.TravelState==4||item.TravelState==5"
>
<template
v-if=
"item.OfferList&&item.OfferList.length>1"
>
<span
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationNewPrice',item,0)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"系列修改"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji"
></i>
</el-tooltip>
</span>
</
template
>
<span
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationNewPrice',item,item.OfferId)"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji-smal"
></i>
</el-tooltip>
</span>
</template>
<span
class=
"QT-delete newAopbdd"
@
click=
"delQuotation(item)"
v-if=
"item.TravelState==1||item.TravelState==4||item.TravelState==5"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
...
...
@@ -795,14 +817,25 @@
);
},
goUrl
(
path
,
item
,
qType
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
var
queryMsg
=
{};
if
(
path
==
'QuotationAduit'
)
{
queryMsg
=
{
BatchNum
:
item
.
BatchNum
,
Qtype
:
qType
,
blank
:
'y'
,
tab
:
'报价单查看'
}
}
else
{
queryMsg
=
{
offerid
:
item
.
OfferId
,
Qtype
:
qType
,
blank
:
'y'
,
tab
:
'报价单查看'
}
}
this
.
$router
.
push
({
name
:
path
,
query
:
queryMsg
});
},
handleCurrentChange
(
val
)
{
...
...
@@ -854,7 +887,7 @@
//初始化表格数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetTravelOfferPageList
_V3
"
,
this
.
queryData
,
res
=>
{
this
.
apipost
(
"travel_get_GetTravelOfferPageList"
,
this
.
queryData
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryData
.
total
=
res
.
data
.
data
.
count
;
...
...
@@ -886,45 +919,24 @@
});
},
//报价单跳转
goMakeQuo
(
path
,
OfferId
)
{
goMakeQuo
(
path
,
item
,
offerId
)
{
var
BatchNum
=
''
;
if
(
item
)
{
BatchNum
=
item
.
BatchNum
;
}
this
.
$router
.
push
({
path
:
path
,
query
:
{
offerid
:
OfferId
,
BatchNum
:
BatchNum
,
offerid
:
offerId
,
blank
:
'y'
,
tab
:
'报价单'
}
});
},
//开团或修改
goToOpenTravel
(
item
)
{
// TeamType 0常规,1-小包团,2-当地游,3-地接团
var
routeName
=
this
.
$route
.
name
;
var
path
=
'TravelManager'
;
if
(
item
.
TeamType
===
0
)
{
path
=
'TravelManager'
}
else
if
(
item
.
TeamType
===
1
)
{
path
=
'TravelManager3'
}
else
if
(
item
.
TeamType
===
2
)
{
path
=
'TravelManager5'
}
if
(
item
.
ID
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
item
.
ID
,
openState
:
1
,
isOffer
:
1
,
offerId
:
item
.
OfferId
,
blank
:
'y'
}
});
}
else
{
this
.
$router
.
push
({
name
:
path
});
}
},
//显示下载弹窗
showDownLoad
(
item
)
{
this
.
downLoadMsg
.
ID
=
item
.
ID
;
...
...
src/router/config.js
View file @
129d57a7
...
...
@@ -3796,14 +3796,7 @@ export default {
title
:
'制作报价单'
},
},
{
//新版制作报价单
path
:
'/EditOffer'
,
name
:
'EditOffer'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/EditOffer'
],
resolve
),
meta
:
{
title
:
'制作报价单'
},
},
{
//报价单变更
path
:
'/OfferChange'
,
name
:
'OfferChange'
,
...
...
@@ -3836,14 +3829,6 @@ export default {
title
:
'报价单审核'
},
},
{
//新版报价单审核
path
:
'/NewQuotationAduit'
,
name
:
'NewQuotationAduit'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/NewQuotationAduit'
],
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