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
9a65a36f
Commit
9a65a36f
authored
May 07, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增页面
parent
b597f0de
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
845 additions
and
1 deletion
+845
-1
QuotationPrice_SWT.vue
...s/TravelManager/TravelNewQuotation/QuotationPrice_SWT.vue
+70
-0
newQuotation_SWT.vue
...nts/TravelManager/TravelNewQuotation/newQuotation_SWT.vue
+676
-0
busPriceConfig.vue
src/components/busManagement/busPriceConfig.vue
+83
-1
config.js
src/router/config.js
+16
-0
No files found.
src/components/TravelManager/TravelNewQuotation/QuotationPrice_SWT.vue
0 → 100644
View file @
9a65a36f
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"btnFixedDiv"
>
<div
class=
"toTop"
>
<i
class=
"iconfont icon-huidaodingbu"
></i>
</div>
<div
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="SaveData(2)">提交
</div>
<div
class=
"DTSaveBtn"
style=
"display:none;"
>
复制
</div>
<div
class=
"DTSaveBtn caogao"
:class=
"
{'disClick':!isSubmit}" @click="SaveData(1)">
<span>
保存
</span>
<span>
草稿
</span>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
ConfigID
:
0
,
//基本配置
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
,
//团队类型
TravelState
:
1
,
//团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
},
LineList
:
[],
//线路列表
loading
:
false
};
},
methods
:
{
},
created
()
{
},
};
</
script
>
src/components/TravelManager/TravelNewQuotation/newQuotation_SWT.vue
0 → 100644
View file @
9a65a36f
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
.BilldownLoadCommon
input
[
type
=
"checkbox"
]+
label
::before
{
content
:
"\A0"
;
display
:
inline-block
;
width
:
15px
;
height
:
15px
;
margin-right
:
5px
;
border-radius
:
4px
;
background-color
:
white
;
text-indent
:
.15em
;
line-height
:
15px
;
color
:
white
;
border
:
1px
solid
#e95252
;
}
.BilldownLoadCommon
input
[
type
=
"checkbox"
]
:checked
+
label
::before
{
content
:
"\2713"
;
background-color
:
#e95252
;
}
.BilldownLoadCommon
input
[
type
=
"checkbox"
]
{
position
:
absolute
;
clip
:
rect
(
0
,
0
,
0
,
0
);
}
.BilldownLoadCommon
input
[
type
=
"checkbox"
]
:focus
+
label
::before
{
box-shadow
:
none
;
}
.BilldownLoadCommon
input
[
type
=
"checkbox"
]
:disabled
+
label
::before
{
background-color
:
gray
;
box-shadow
:
none
;
color
:
#555
;
}
.BilldownLoadCommon
table
td
{
text-align
:
left
;
}
.newAopbdd
{
font-weight
:
bold
;
display
:
inline-block
;
width
:
25px
;
height
:
25px
;
color
:
#fff
;
border-radius
:
50%
;
line-height
:
25px
;
font-size
:
12px
;
cursor
:
pointer
;
text-align
:
center
;
}
</
style
>
<
template
>
<div
class=
"flexOne quoTation"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
所属线路
</em>
<el-select
v-model=
"queryData.LineId"
class=
'w200'
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
"item in LineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
所属系列
</em>
<el-select
v-model=
"queryData.LineteamId"
class=
'w200'
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
开团状态
</em>
<el-select
v-model=
"queryData.OpenState"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<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>
<button
class=
"hollowFixedBtn"
@
click=
"getList(),resetPageIndex()"
>
查询
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goMakeQuo('QuotationPrice_SWT',0)"
>
新增
</button>
</li>
</ul>
</div>
<div
class=
"commonContent"
v-loading=
"loading"
>
<ul
class=
"_content"
>
<li
v-for=
"item in dataList"
:key=
"item.subCode"
:data-id=
"item.ID"
style=
"padding:0 10px;"
>
<div
class=
"_left"
style=
"padding:0;flex:0.3;display:flex;"
>
<div
class=
"QT_CodeNum"
>
{{
$t
(
'hotel.hotel_SerialNumber'
)
}}
:
{{
item
.
ID
}}
</div>
</div>
<div
class=
"_left"
style=
"display:flex;"
>
<div
style=
"padding-left:10px"
>
<p
style=
"font-size:14px"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
>
<span>
线路名称:
{{
item
.
LineName
}}
</span>
</el-tooltip>
</p>
<span>
系列名称:
{{
item
.
LtName
}}
</span>
</div>
</div>
<div
class=
"_left"
style=
"padding-left:10px"
>
<div>
<p
style=
"font-size:14px"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
>
<span>
{{
item
.
Title
}}
</span>
</el-tooltip>
</p>
<span>
客户名称:
{{
item
.
CustomerName
}}
</span>
</div>
</div>
<div
class=
"_cent"
>
<div
style=
"margin: 0 13px 0 10px;"
class=
"stayDays"
>
{{
item
.
DayNum
}}{{
$t
(
'hotel.hotel_day'
)
}}
</div>
<div
class=
""
>
{{
$t
(
'op.SalesPrice'
)
}}
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
<div
class=
"priceContentDiv"
v-if=
"item.QuotationPrice!=null"
>
<div>
<div>
成人
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
销售价格:¥
{{
item
.
QuotationPrice
.
B2BMemberPrice
}}
</span>
</div>
</div>
<div>
小孩
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
占床:¥
{{
item
.
QuotationPrice
.
ChildNeedPrice
}}
</span>
<span
class=
"pRightPrice"
>
不占床:¥
{{
item
.
QuotationPrice
.
ChildNoNeedPrice
}}
</span>
</div>
<div
class=
"priceDivCon"
>
<span
class=
"pLeftPrice"
>
婴儿:¥
{{
item
.
QuotationPrice
.
BabyPrice
}}
</span>
<span
class=
"pRightPrice"
>
附加费:¥
{{
item
.
QuotationPrice
.
BabyChargePrice
}}
</span>
</div>
</div>
<div>
老人
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
附加费:¥
{{
item
.
QuotationPrice
.
OldManChargePrice
}}
</span>
</div>
</div>
<div>
杂费
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
签证:¥
{{
item
.
QuotationPrice
.
VisaPrice
}}
</span>
<span
class=
"pRightPrice"
>
单房差:¥
{{
item
.
QuotationPrice
.
SingleRoomPrice
}}
</span>
</div>
</div>
<div>
单项报价
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
单地接:¥
{{
item
.
QuotationPrice
.
SingleDMCPrice
}}
</span>
</div>
</div>
</div>
</div>
<span
slot=
"reference"
class=
"diPrice"
>
{{
item
.
SalesPrice
}}
<span
class=
"qi"
>
起
</span></span>
</el-popover>
</div>
</div>
<div
class=
"_right"
>
<div
class=
"AuditUserInfo clearfix aa"
style=
"margin-left:10px;"
>
<div
class=
"AuditDanHeader"
>
<img
v-if=
"item.CreateUserPhoto"
:src=
"item.CreateUserPhoto"
alt=
""
>
<img
v-else
src=
"../../../assets/img/default_head_img.jpg"
alt=
""
>
</div>
<div
class=
"AU_creatName"
>
<div>
{{
item
.
CreateUserName
}}
</div>
</div>
</div>
<div
class=
"AuditStatus"
style=
"width:80px;"
>
<div
v-if=
"item.TravelState==2"
>
<div>
待审核
</div>
</div>
<div
v-if=
"item.TravelState==3"
>
<div
class=
"Auditapproved"
>
已通过
</div>
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
<div
class=
"priceContentDiv"
>
<div>
<span>
审批结果
</span>
<span
class=
"AuditDate"
>
{{
item
.
hours
}}
</span>
</div>
<div>
{{
item
.
AuditContent
}}
</div>
</div>
<div
slot=
"reference"
class=
"AuditLookDetail"
>
查看说明
</div>
</el-popover>
</div>
<div
v-if=
"item.TravelState==4"
>
<div
class=
"Auditrejected"
>
已驳回
</div>
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
<div
class=
"priceContentDiv"
>
<div>
<span>
审批结果
</span>
<span
class=
"AuditDate"
>
{{
item
.
hours
}}
</span>
</div>
<div>
{{
item
.
AuditContent
}}
</div>
</div>
<div
slot=
"reference"
class=
"AuditLookDetail"
>
查看说明
</div>
</el-popover>
</div>
</div>
<div
style=
"width:134px;"
>
<span
class=
"openGroup newAopbdd"
@
click=
"goToOpenTravel(item)"
v-if=
"item.TravelState==3&&item.OpenState==2"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"开团"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-nav-hangzheng"
></i>
</el-tooltip>
</span>
<span
v-if=
"EditBtn"
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationPrice_SWT',item.ID)"
>
<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>
<span
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationPrice_SWT',item.ID)"
v-if=
"item.TravelState==1||item.TravelState==4||item.TravelState==5"
>
<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>
<span
class=
"QT-delete newAopbdd"
@
click=
"delQuotation(item.ID)"
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"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-shanchu"
></i>
</el-tooltip>
</span>
<span
style=
"background:#85ce61; "
class=
"newAopbdd"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
@
click=
"goUrl('QuotationAduit',item.ID,1)"
class=
"iconfont icon-view"
></i>
">
</i>
</el-tooltip>
</span>
<span
style=
"background:#85ce61; "
class=
"newAopbdd"
@
click=
"showDownLoad(item)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"下载"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bb-xiazai"
></i>
</el-tooltip>
</span>
</div>
</div>
</li>
</ul>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryData.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryData.pageSize"
:total=
"queryData.total"
>
</el-pagination>
<el-dialog
custom-class=
'ComTeamPlan_info_box'
:title=
"tripTitle"
:visible
.
sync=
"outerVisible"
center
>
<commonTeamInfo
ref=
"comDialog"
></commonTeamInfo>
</el-dialog>
<!-- 下载弹窗 -->
<el-dialog
custom-class=
'w450'
title=
"报价单下载"
:visible
.
sync=
"downloadBill"
center
>
<div
class=
"BilldownLoadCommon"
>
<table
style=
"width:380px;margin-left:44px;"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
colspan=
"2"
style=
"height:50px;"
>
<span
style=
"margin-left:-60px;"
>
{{
$t
(
'salesModule.ChoiceNeed'
)
}}
</span>
</th>
</tr>
<tbody>
<tr
height=
"36"
>
<td
width=
"50%"
><input
id=
"IsShowTripPrice"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowTripPrice"
/><label
for=
"IsShowTripPrice"
>
行程报价
<br
/>
(房、餐、车、门票)
</label></td>
<td
width=
"50%"
><input
id=
"IsShowTraffic"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowTraffic"
/><label
for=
"IsShowTraffic"
>
交通部分
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"IsShowZaZhi"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowZaZhi"
/><label
for=
"IsShowZaZhi"
>
杂支部分
</label></td>
<td><input
id=
"IsShowOtherZhichu"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowOtherZhichu"
/><label
for=
"IsShowOtherZhichu"
>
其他支出
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"IsShowShouRu"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowShouRu"
/><label
for=
"IsShowShouRu"
>
收入
</label></td>
<td><input
id=
"IsShowTuanFuFee"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowTuanFuFee"
/><label
for=
"IsShowTuanFuFee"
>
团负费
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"IsShowLeaderFenTan"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowLeaderFenTan"
/><label
for=
"IsShowLeaderFenTan"
>
领队分摊
</label></td>
<td><input
id=
"IsShowCost"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowCost"
/><label
for=
"IsShowCost"
>
成本统计
</label></td>
</tr>
<tr
height=
"36"
>
<td><input
id=
"IsShowOtherPrice"
type=
"checkbox"
v-model=
"downLoadMsg.IsShowOtherPrice"
/><label
for=
"IsShowOtherPrice"
>
其他定价
</label></td>
</tr>
</tbody>
<tr
height=
"66"
>
<td
colspan=
"2"
style=
"text-align:center;"
>
<input
type=
"button"
class=
"normalBtn"
style=
"margin-left:-70px;"
:value=
"$t('pub.sureBtn')"
@
click=
"DownLoadFile()"
/>
</td>
</tr>
</table>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
commonTeamInfo
from
"../../commonPage/commonTeamInfo.vue"
;
export
default
{
data
()
{
return
{
EditBtn
:
false
,
//报价单修改权限
userInfo
:
{},
queryData
:
{
LineId
:
0
,
LineteamId
:
0
,
TravelState
:
0
,
OpenState
:
0
,
PageIndex
:
1
,
PageSize
:
10
,
total
:
0
,
currentPage
:
1
,
TeamType
:
0
,
//0常规,1-小包团,2-一日游,3-地接团
},
loading
:
true
,
//报价单状态
TravelStateList
:
[{
Id
:
1
,
label
:
"草稿"
},
{
Id
:
2
,
label
:
"待审核"
},
{
Id
:
3
,
label
:
"审核通过"
},
{
Id
:
4
,
label
:
"审核拒绝"
},
{
Id
:
5
,
label
:
"已撤销"
}
],
//开团状态
OpenStateList
:
[{
Id
:
1
,
label
:
"已开团"
},
{
Id
:
2
,
label
:
"未开团"
}
],
//线路列表
LineList
:
""
,
noLimit
:
0
,
//系列列表
LineTeamList
:
""
,
//是否有数据
noData
:
false
,
dataList
:
""
,
SalesPriceList
:
[],
CostList
:
[],
outerVisible
:
false
,
tripTitle
:
""
,
downloadBill
:
false
,
//下载参数
downLoadMsg
:
{
ID
:
0
,
FileName
:
""
,
IsShowTripPrice
:
true
,
//行程报价
IsShowTraffic
:
false
,
//交通价格
IsShowZaZhi
:
false
,
//杂支部分
IsShowOtherZhichu
:
false
,
//其他支出
IsShowShouRu
:
false
,
//收入部分
IsShowTuanFuFee
:
false
,
//团负费
IsShowLeaderFenTan
:
false
,
//领队分摊
IsShowCost
:
false
,
//成本统计
IsShowOtherPrice
:
false
,
//其他定价
},
};
},
components
:
{
commonTeamInfo
:
commonTeamInfo
},
methods
:
{
goUrl
(
path
,
configId
,
qType
)
{
if
(
configId
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
Qtype
:
qType
,
blank
:
'y'
,
tab
:
'报价单查看'
}
});
}
else
{
this
.
$router
.
push
({
name
:
path
});
}
},
handleCurrentChange
(
val
)
{
this
.
queryData
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
queryData
.
pageIndex
=
1
;
this
.
queryData
.
currentPage
=
1
;
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
});
},
//获取系列列表
getLineTeamList
()
{
this
.
queryData
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryData
.
LineId
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//初始化表格数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetTravelOfferPageList_V2"
,
this
.
queryData
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryData
.
total
=
res
.
data
.
data
.
count
;
this
.
noData
=
!
this
.
queryData
.
total
>
0
;
this
.
dataList
=
res
.
data
.
data
.
pageData
;
}
});
},
//点击销售定价获取数据
getSalsPrice
(
ID
)
{
this
.
SalesPriceList
=
[];
this
.
apipost
(
"travel_get_GetTravelQuotationPrice"
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SalesPriceList
=
res
.
data
.
data
;
}
}
);
},
//点击地接成本获取数据
getCostPrice
(
ID
)
{
this
.
CostList
=
[];
this
.
apipost
(
"travel_get_GetTravelOfferPrice"
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
[
0
]
!=
undefined
||
res
.
data
.
data
[
0
]
!=
null
)
{
let
cost
=
res
.
data
.
data
[
0
];
let
dayNum
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
>
dayNum
)
{
dayNum
=
x
.
DayNum
;
}
});
let
offerPriceList
=
[];
for
(
let
i
=
1
;
i
<=
dayNum
;
i
++
)
{
let
dayOfferPriceList
=
[];
let
totalPrice
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
==
i
)
{
dayOfferPriceList
.
push
(
x
);
totalPrice
+=
x
.
OfferPrice
;
}
});
let
offerPrice
=
{
day
:
i
,
dayOfferPriceList
,
totalPrice
};
offerPriceList
.
push
(
offerPrice
);
}
cost
[
"offerPriceList"
]
=
offerPriceList
;
this
.
CostList
.
push
(
cost
);
}
}
}
);
},
//撤回
revokeInfo
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
5
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//修改状态
changeState
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
2
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//删除报价单
delQuotation
(
ID
)
{
var
that
=
this
;
this
.
Confirm
(
this
.
$t
(
'sm.schbnhfjscz'
),
function
()
{
let
msg
=
{
ID
:
ID
,
};
that
.
apipost
(
"travel_post_RemoveConfig"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
getJourney
(
id
,
title
)
{
//根据ID 获取行程内容
var
that
=
this
;
this
.
tripTitle
=
title
;
this
.
$nextTick
(()
=>
{
that
.
$refs
.
comDialog
.
GetTrip
(
id
);
});
that
.
outerVisible
=
true
;
},
//报价单跳转
goMakeQuo
(
path
,
configId
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
TeamType
:
this
.
queryData
.
TeamType
,
configId
:
configId
,
blank
:
'y'
,
tab
:
'报价单'
}
});
},
//开团或修改
goToOpenTravel
(
item
)
{
var
routeName
=
this
.
$route
.
name
;
var
path
=
''
;
if
(
routeName
==
'newQuotation'
)
{
path
=
'TravelManager6'
}
if
(
routeName
==
'newQuotation2'
)
{
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
;
var
fileName
=
""
;
if
(
item
.
CustomerName
)
{
fileName
+=
"【"
+
item
.
CustomerName
+
"】"
;
}
else
if
(
item
.
LtName
)
{
fileName
+=
"【"
+
item
.
LtName
+
"】"
;
}
else
if
(
item
.
LineName
)
{
fileName
+=
"【"
+
item
.
LineName
+
"】"
;
}
fileName
+=
"成本下载.xls"
;
this
.
downLoadMsg
.
FileName
=
fileName
;
this
.
downloadBill
=
true
;
},
//报价单下载
DownLoadFile
()
{
this
.
downloadBill
=
false
;
this
.
loading
=
true
;
this
.
GetLocalFile
(
"quotation_get_DownLoadQuotation"
,
this
.
downLoadMsg
,
this
.
downLoadMsg
.
FileName
,
res
=>
{
this
.
loading
=
false
;
});
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
EditQuotation
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
EditBtn
=
true
;
}
});
},
},
mounted
()
{
this
.
GetAuth
();
var
routeName
=
this
.
$route
.
name
;
if
(
routeName
==
'newQuotation'
)
{
this
.
queryData
.
TeamType
=
3
;
}
if
(
routeName
==
'newQuotation2'
)
{
this
.
queryData
.
TeamType
=
1
;
}
this
.
getLineList
();
this
.
getList
();
let
isNoOffer
=
this
.
$route
.
params
.
isNoOffer
;
if
(
isNoOffer
)
{
this
.
Warning
(
"行程中含有未完善的报价信息,请在需求中心查看!"
);
}
},
created
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
if
(
this
.
$route
.
query
.
hasOwnProperty
(
"cache"
))
{
if
(
this
.
$store
.
state
.
pageCondition
!=
null
)
{
this
.
queryData
=
this
.
$store
.
state
.
pageCondition
;
}
}
this
.
getList
();
}
};
</
script
>
src/components/busManagement/busPriceConfig.vue
View file @
9a65a36f
...
...
@@ -204,6 +204,9 @@
<th>
编号
</th>
<th>
地区
</th>
<th>
行程
</th>
...
...
@@ -213,6 +216,9 @@
<th>
公里数
</th>
<th>
详细
</th>
<th>
操作人
</th>
...
...
@@ -229,6 +235,9 @@
<td>
{{
item
.
Id
}}
</td>
<td>
{{
item
.
AreaTypeIdStr
}}
</td>
<td>
{{
item
.
Trip
}}
</td>
...
...
@@ -238,6 +247,55 @@
<td>
{{
item
.
Kilometre
}}
</td>
<td>
<el-popover
width=
"590"
trigger=
"click"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr
style=
"text-align:center;"
>
<th
width=
"80"
>
车型
</th>
<th
width=
"80"
>
{{
$t
(
'ground.jsPrice'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.AllDayPrice'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.btbj'
)
}}
</th>
<th
width=
"80"
>
公里价格
</th>
<th
width=
"80"
>
{{
$t
(
'ground.qtgs'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.jsgs'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.qtchadai'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.jschadai'
)
}}
</th>
</tr>
<tr
v-for=
"(fItem,fIndex) in item.PriceList"
:key=
"fIndex"
style=
"text-align:center;"
>
<td>
{{
fItem
.
BusTypeStr
}}
</td>
<td>
{{
fItem
.
ReceivePrice
}}
</td>
<td>
{{
fItem
.
AllDayPrice
}}
</td>
<td>
{{
fItem
.
HalfDayPrice
}}
</td>
<td>
{{
fItem
.
KMPrice
}}
</td>
<td>
{{
fItem
.
AllDayHighSpeedFee
}}
</td>
<td>
{{
fItem
.
PickUpHighSpeedFee
}}
</td>
<td>
{{
fItem
.
AllDayChaDaiFee
}}
</td>
<td>
{{
fItem
.
PickUpChaDaiFee
}}
</td>
</tr>
</table>
<span
slot=
"reference"
style=
"cursor:pointer;"
>
{{
$t
(
'fnc.xiangqing'
)
}}
<i
class=
"iconfont icon-xiaotuziCduan_1"
></i>
</span>
</el-popover>
</td>
<td>
{{
item
.
UpdateByName
}}
</td>
<td>
{{
item
.
UpdateDateStr
}}
</td>
<td
style=
"text-align:center;"
>
...
...
@@ -255,7 +313,7 @@
</tbody>
<tfoot>
<tr>
<td
colspan=
"
7
"
>
<td
colspan=
"
9
"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"msg.total"
>
</el-pagination>
...
...
@@ -276,6 +334,14 @@
</el-row>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"地区"
>
<el-select
filterable
:placeholder=
"$t('pub.pleaseSel')"
v-model=
"addMsg.AreaTypeId"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in AreaList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"行程"
>
<el-input
type=
"textarea"
autosize
:placeholder=
"$t('pub.pleaseImport')"
v-model=
"addMsg.Trip"
>
...
...
@@ -307,6 +373,7 @@
export
default
{
data
()
{
return
{
AreaList
:
[],
//地区列表
dataList
:
[],
isShow
:
false
,
msg
:
{
...
...
@@ -324,6 +391,7 @@
VietnamTrip
:
''
,
//越文行程
Kilometre
:
0
,
//公里数
SortNum
:
0
,
//排序
AreaTypeId
:
0
,
//地区编号
},
};
},
...
...
@@ -345,6 +413,7 @@
this
.
msg
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
console
.
log
(
"this"
,
this
.
dataList
);
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
}
},
...
...
@@ -436,8 +505,21 @@
);
});
},
//获取地区下拉
getAreaList
()
{
this
.
apipost
(
"busprice_get_GetBusAreaType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AreaList
=
res
.
data
.
data
;
}
},
null
);
},
},
mounted
()
{
this
.
getAreaList
();
this
.
initData
();
},
}
...
...
src/router/config.js
View file @
9a65a36f
...
...
@@ -2427,6 +2427,14 @@ export default {
title
:
'报价单'
},
},
{
path
:
'/newQuotation_SWT'
,
name
:
'newQuotation_SWT'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/newQuotation_SWT'
],
resolve
),
meta
:
{
title
:
'报价单'
},
},
//销售-自主开团报价单
{
path
:
'/newQuotation2'
,
...
...
@@ -2922,6 +2930,14 @@ export default {
title
:
'制作报价单'
},
},
{
//新版制作报价单[SWT旅行社]
path
:
'/QuotationPrice_SWT'
,
name
:
'QuotationPrice_SWT'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/QuotationPrice_SWT'
],
resolve
),
meta
:
{
title
:
'制作报价单'
},
},
{
//新版报价单审核
path
:
'/QuotationAduit'
,
name
:
'QuotationAduit'
,
...
...
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