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
2f8b58e2
Commit
2f8b58e2
authored
Aug 23, 2019
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
ef9c73c3
991b37d0
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1811 additions
and
1781 deletions
+1811
-1781
OrderDetails.vue
src/components/DomesticModule/OrderDetails.vue
+323
-372
SettlementOrder.vue
src/components/DomesticModule/SettlementOrder.vue
+275
-287
GuideAccount.vue
src/components/FinancialModule/accDetail/GuideAccount.vue
+32
-23
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+2
-2
bookDinnerStatisticsDetails.vue
src/components/Restaurant/bookDinnerStatisticsDetails.vue
+36
-29
flightPerformance.vue
src/components/Ticketing/flightPerformance.vue
+9
-2
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+39
-15
LeaderHander.vue
src/components/dmc/manager/LeaderHander.vue
+8
-9
groundOperation.vue
src/components/dmc/manager/groundOperation.vue
+87
-37
leaderPay2.vue
src/components/leaderPay2.vue
+1
-1
TravelManager2.vue
...ts/newTravelmanager/TravelGroupControl/TravelManager2.vue
+4
-2
index.js
src/plug/index.js
+995
-1002
No files found.
src/components/DomesticModule/OrderDetails.vue
View file @
2f8b58e2
<
style
>
@import
url('../../assets/css/domestic/OrderToday.css')
;
@import
url('../../assets/css/domestic/OrderToday.css')
;
</
style
>
<
template
>
<div
class=
"flexOne page_OrderToday page_OrderDetails"
>
...
...
@@ -13,12 +14,9 @@
<li>
<span>
<em>
航空公司
</em>
<el-select
filterable
@
change=
"flight_post_GetAirportNameList(msg.AirlineId)"
v-model=
'msg.AirlineId'
>
<el-select
filterable
@
change=
"flight_post_GetAirportNameList(msg.AirlineId)"
v-model=
'msg.AirlineId'
>
<el-option
label=
'不限'
value=
''
></el-option>
<el-option
v-for=
'item in airlineList'
:label=
'item.AlName'
:value=
'item.AirLineId'
:key=
'item.AirLineId'
>
<el-option
v-for=
'item in airlineList'
:label=
'item.AlName'
:value=
'item.AirLineId'
:key=
'item.AirLineId'
>
</el-option>
</el-select>
</span>
...
...
@@ -27,9 +25,7 @@
<span>
<em>
航班号
</em>
<el-select
filterable
v-model=
'msg.FlightNo'
>
<el-option
v-for=
'item in AirportNameList'
:label=
'item.Flight_number'
:value=
'item.Flight_number'
<el-option
v-for=
'item in AirportNameList'
:label=
'item.Flight_number'
:value=
'item.Flight_number'
:key=
'item.Flight_number'
>
</el-option>
</el-select>
...
...
@@ -46,7 +42,7 @@
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"resetPageIndex(),getList(1)"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"resetPageIndex(),getList(1)"
/>
</li>
</ul>
</div>
...
...
@@ -62,22 +58,17 @@
<th>
人数
</th>
<th>
应收金额
</th>
<th>
成本
</th>
<!--
<th>
实收
</th>
-->
<th>
客户名称
</th>
<th>
行程时间
</th>
<th>
航空公司
</th>
<th>
航班
</th>
<th>
航段
</th>
<th>
操作人
</th>
<!--
<th>
操作
</th>
-->
</tr>
<tr
v-for=
"(item,index) in DataList.list"
:key=
"index"
>
<td>
{{
item
.
ID
}}
</td>
<td
class=
"_hover"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"70"
></th>
...
...
@@ -100,10 +91,7 @@
</el-popover>
</td>
<td
class=
"_hover"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"70"
></th>
...
...
@@ -126,10 +114,7 @@
</el-popover>
</td>
<td
class=
"_hover"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<el-popover
placement=
"bottom"
width=
"220"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"70"
></th>
...
...
@@ -151,42 +136,10 @@
<span
slot=
"reference"
>
¥
{{
item
.
TotalCost
}}
</span>
</el-popover>
</td>
<!--
<td
class=
"_hover"
>
<el-popover
placement=
"bottom"
width=
"300"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"PayInfoLding"
>
<tr>
<th>
单据号
</th>
<th>
金额
</th>
<th>
类型
</th>
<th>
状态
</th>
</tr>
<template
v-if=
"PayInfoS&&PayInfoS.length>0"
>
<tr
v-for=
"(son,sIndex) in PayInfoS"
:key=
"sIndex"
>
<td
@
click=
"goFinanceUrl(son.FrID)"
class=
"cursorpointer"
>
{{
son
.
FrID
}}
</td>
<td>
{{
son
.
PayMoney
}}
</td>
<td>
{{
son
.
TypeName
}}
</td>
<td>
{{
son
.
StatusName
}}
</td>
</tr>
</
template
>
<
template
v-else
>
<tr>
<td
colspan=
"4"
class=
"text_alcen"
>
暂无数据
</td>
</tr>
</
template
>
</table>
<span
:class=
"item.IncomeMoney>0?'_color_red':''"
slot=
"reference"
@
click=
"getInfo(item.ID)"
>
{{item.IncomeMoney}}
</span>
</el-popover>
</td>
-->
<td>
{{
item
.
ClientName
}}
</td>
<td>
{{
item
.
TravelTime
}}
</td>
<td
colspan=
"3"
class=
"_hover"
>
<el-popover
placement=
"bottom"
width=
"450"
trigger=
"click"
>
<el-popover
placement=
"bottom"
width=
"450"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
航空公司
</th>
...
...
@@ -199,28 +152,19 @@
<td>
{{
i
.
Leg
}}
</td>
</tr>
</table>
<span
slot=
"reference"
>
{{item.FlightList[0].AirlineName+' — '+item.FlightList[0].FlightNo+' — '+item.FlightList[0].Leg}}
</span>
<span
slot=
"reference"
>
{{
item
.
FlightList
[
0
].
AirlineName
+
' — '
+
item
.
FlightList
[
0
].
FlightNo
+
' — '
+
item
.
FlightList
[
0
].
Leg
}}
</span>
</el-popover>
</td>
<td>
{{
item
.
EmName
}}
</td>
<!-- <td>
<el-tooltip class="item" effect="dark" content="收款" placement="top">
<el-button type="primary" class="_bth_bg_bl" @click="goUrl(item,1)" circle>收</el-button>
</el-tooltip>
</td> -->
</tr>
</table>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
<div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
</div>
</div>
...
...
@@ -228,56 +172,58 @@
</
template
>
<
script
>
export
default
{
data
(){
return
{
Term
:
''
,
DataList
:[],
airlineList
:[],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
OrderID
:
''
,
AirlineId
:
''
,
FlightNo
:
''
,
ClientName
:
''
,
//Term:'',
ParentId
:
1
,
ParentId
:
0
,
export
default
{
data
()
{
return
{
Term
:
''
,
DataList
:
[],
airlineList
:
[],
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
OrderID
:
''
,
AirlineId
:
''
,
FlightNo
:
''
,
ClientName
:
''
,
ParentId
:
1
,
ParentId
:
0
,
},
AirportNameList
:
[],
total
:
0
,
currentPage
:
1
,
loading
:
true
,
noData
:
false
,
PayInfoS
:
null
,
PayInfoZ
:
null
,
PayInfoLding
:
true
,
RB_Branch_Id
:
''
AirportNameList
:
[],
total
:
0
,
currentPage
:
1
,
loading
:
true
,
noData
:
false
,
PayInfoS
:
null
,
PayInfoZ
:
null
,
PayInfoLding
:
true
,
RB_Branch_Id
:
''
}
},
created
(){
created
()
{
this
.
Term
=
this
.
$route
.
query
.
Term
;
this
.
msg
.
ParentId
=
this
.
$route
.
query
.
ID
;
this
.
msg
.
ParentId
=
this
.
$route
.
query
.
ID
;
},
mounted
(){
mounted
()
{
this
.
getList
(
this
.
id
);
this
.
getAirlineList
();
let
userInfo
=
this
.
getLocalStorage
();
this
.
RB_Branch_Id
=
userInfo
.
RB_Branch_id
;
},
methods
:{
getInfo
(
id
)
{
methods
:
{
getInfo
(
id
)
{
this
.
PayInfoLding
=
true
;
this
.
apipost
(
'Financial_post_GetOrderFinanceList'
,{
OrderId
:
id
,
OrderResource
:
9
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
apipost
(
'Financial_post_GetOrderFinanceList'
,
{
OrderId
:
id
,
OrderResource
:
9
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
let
data
=
r
.
data
.
data
;
let
PayInfoS
=
[],
PayInfoZ
=
[];
let
PayInfoS
=
[],
PayInfoZ
=
[];
data
.
forEach
(
x
=>
{
if
(
x
.
Type
==
1
)
{
if
(
x
.
Type
==
1
)
{
PayInfoS
.
push
(
x
)
}
else
{
}
else
{
PayInfoZ
.
push
(
x
)
}
});
...
...
@@ -285,105 +231,110 @@ export default {
this
.
PayInfoS
=
PayInfoS
;
this
.
PayInfoLding
=
false
;
}
},
null
);
},
null
);
},
goUrl
(
obj
,
t
)
{
goUrl
(
obj
,
t
)
{
let
orderObj
=
{
OrderID
:
obj
.
ID
,
OrderSource
:
9
,
OrderID
:
obj
.
ID
,
OrderSource
:
9
,
Obj
:
{},
SourceID
:
obj
.
ParentId
,
SourceID
:
obj
.
ParentId
,
TCIDList
:
[]
}
this
.
$router
.
push
(
{
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:{
'Type'
:
t
,
'TCIDList'
:[],
'path'
:
'TicketingModule'
,
'Cmd'
:
'Domestic_Ticket_post_UpdateFrID'
,
'companyID'
:
null
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
query
:
{
'Type'
:
t
,
'TCIDList'
:
[],
'path'
:
'TicketingModule'
,
'Cmd'
:
'Domestic_Ticket_post_UpdateFrID'
,
'companyID'
:
null
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
);
}
);
},
goFinanceUrl
(
id
){
this
.
$router
.
push
({
name
:
'FinancialDocumentsDetail'
,
query
:{
'id'
:
id
}});
goFinanceUrl
(
id
)
{
this
.
$router
.
push
({
name
:
'FinancialDocumentsDetail'
,
query
:
{
'id'
:
id
}
});
},
getList
(
t
)
{
//获取列表
if
(
this
.
msg
.
OrderID
==
''
)
{
this
.
msg
.
OrderID
=
0
;
getList
(
t
)
{
//获取列表
if
(
this
.
msg
.
OrderID
==
''
)
{
this
.
msg
.
OrderID
=
0
;
}
if
(
this
.
msg
.
AirlineId
==
''
)
{
this
.
msg
.
AirlineId
=
0
;
if
(
this
.
msg
.
AirlineId
==
''
)
{
this
.
msg
.
AirlineId
=
0
;
}
this
.
loading
=
true
this
.
apipost
(
'Domestic_Ticket_post_GetPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
'Domestic_Ticket_post_GetPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
let
data
=
res
.
data
.
data
.
pageData
;
if
(
this
.
total
>
0
)
{
this
.
noData
=
false
;
}
else
{
this
.
noData
=
true
;
if
(
this
.
total
>
0
)
{
this
.
noData
=
false
;
}
else
{
this
.
noData
=
true
;
}
this
.
DataList
=
data
this
.
loading
=
false
;
if
(
!
t
)
{
this
.
msg
.
OrderID
=
''
;
this
.
msg
.
AirlineId
=
''
;
}
else
{
if
(
this
.
msg
.
OrderID
==
0
)
{
this
.
msg
.
OrderID
=
''
;
if
(
!
t
)
{
this
.
msg
.
OrderID
=
''
;
this
.
msg
.
AirlineId
=
''
;
}
else
{
if
(
this
.
msg
.
OrderID
==
0
)
{
this
.
msg
.
OrderID
=
''
;
}
if
(
this
.
msg
.
AirlineId
==
0
)
{
this
.
msg
.
AirlineId
=
''
;
if
(
this
.
msg
.
AirlineId
==
0
)
{
this
.
msg
.
AirlineId
=
''
;
}
}
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
loading
=
false
;
if
(
!
t
)
{
this
.
msg
.
OrderID
=
''
;
this
.
msg
.
AirlineId
=
''
;
}
else
{
if
(
this
.
msg
.
OrderID
==
0
)
{
this
.
msg
.
OrderID
=
''
;
if
(
!
t
)
{
this
.
msg
.
OrderID
=
''
;
this
.
msg
.
AirlineId
=
''
;
}
else
{
if
(
this
.
msg
.
OrderID
==
0
)
{
this
.
msg
.
OrderID
=
''
;
}
if
(
this
.
msg
.
AirlineId
==
0
)
{
this
.
msg
.
AirlineId
=
''
;
if
(
this
.
msg
.
AirlineId
==
0
)
{
this
.
msg
.
AirlineId
=
''
;
}
}
}
},
err
=>
{})
},
err
=>
{})
},
flight_post_GetAirportNameList
(
id
){
this
.
msg
.
FlightNo
=
''
;
this
.
AirportNameList
=
[]
if
(
!
id
)
return
this
.
apipost
(
'flight_post_GetAirportNameList'
,{
airlineID
:
id
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
msg
.
FlightNo
=
''
;
flight_post_GetAirportNameList
(
id
)
{
this
.
msg
.
FlightNo
=
''
;
this
.
AirportNameList
=
[]
if
(
!
id
)
return
this
.
apipost
(
'flight_post_GetAirportNameList'
,
{
airlineID
:
id
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
this
.
msg
.
FlightNo
=
''
;
this
.
AirportNameList
=
r
.
data
.
data
;
}
},
null
)
},
null
)
},
getAirlineList
()
{
//获取航空公司*
this
.
apipost
(
"airline_post_GetList"
,{},
res
=>
{
getAirlineList
()
{
//获取航空公司*
this
.
apipost
(
"airline_post_GetList"
,
{},
res
=>
{
this
.
airlineList
=
res
.
data
.
data
;
},
err
=>
{});
},
err
=>
{});
},
resetPageIndex
()
{
//查询初始化页码
resetPageIndex
()
{
//查询初始化页码
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
handleCurrentChange
(
val
)
{
//翻页功能按钮
handleCurrentChange
(
val
)
{
//翻页功能按钮
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
}
}
}
</
script
>
\ No newline at end of file
src/components/DomesticModule/SettlementOrder.vue
View file @
2f8b58e2
<
style
>
@import
url('../../assets/css/domestic/SettlementOrder.css')
;
.page_SettlementOrder
td
._hover
span
{
@import
url('../../assets/css/domestic/SettlementOrder.css')
;
.page_SettlementOrder
td
._hover
span
{
border-bottom
:
1px
solid
#333
;
cursor
:
pointer
;
}
.page_SettlementOrder
td
._hover._color_red
span
{
}
.page_SettlementOrder
td
._hover._color_red
span
{
border-bottom
:
1px
solid
#E95252
;
cursor
:
pointer
;
}
.page_SettlementOrder
td
._hover
:hover
span
{
}
.page_SettlementOrder
td
._hover
:hover
span
{
border-bottom
:
1px
dotted
#333
;
}
.sett_popover
{
}
.sett_popover
{
max-height
:
300px
;
overflow
:
auto
;
}
}
</
style
>
<
template
>
<div
class=
"flexOne page_SettlementOrder"
>
<div
class=
'query-box'
>
<ul>
<!--
<li>
<span>
<em>
期数
</em>
<el-input
v-model=
"msg.Term"
class=
"w210"
></el-input>
</span>
</li>
-->
<li>
<span>
<em>
期数日期
</em>
<el-date-picker
class=
"h34"
v-model=
"transactionDate"
@
change=
"timeAdd()"
type=
"daterange"
<el-date-picker
class=
"h34"
v-model=
"transactionDate"
@
change=
"timeAdd()"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</span>
...
...
@@ -41,7 +36,7 @@
<li>
<span>
<em>
机票类别
</em>
<el-select
filterable
v-model=
'msg.IsInter'
>
<el-select
filterable
v-model=
'msg.IsInter'
>
<el-option
label=
'全部'
value=
'-1'
></el-option>
<el-option
label=
'国内机票'
value=
'0'
></el-option>
<el-option
label=
'国际机票'
value=
'1'
></el-option>
...
...
@@ -51,7 +46,7 @@
<li>
<span>
<em>
状态
</em>
<el-select
filterable
v-model=
'msg.status'
>
<el-select
filterable
v-model=
'msg.status'
>
<el-option
label=
'全部'
value=
'-1'
></el-option>
<el-option
label=
'已完成'
value=
'1'
></el-option>
<el-option
label=
'未完成'
value=
'0'
></el-option>
...
...
@@ -59,13 +54,14 @@
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"getList()"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"getList()"
/>
<button
class=
"normalBtn"
@
click=
"method5()"
>
导出
</button>
</li>
</ul>
</div>
<div
class=
"_content"
>
<table
class=
"_content_tab singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading =
'loading'
>
<table
class=
"_content_tab singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
'loading'
>
<tr>
<th>
机票类别
</th>
<th>
期数
</th>
...
...
@@ -85,47 +81,26 @@
<td>
¥
{{
item
.
Money
}}
</td>
<td>
¥
{{
item
.
Cost
}}
</td>
<td>
¥
{{
item
.
Profit
}}
</td>
<td
:class=
"item.Money===item.InCome?'':'_color_red'"
@
click=
"jumpPage('FinancialOrderNew',item.ID,item.Term,1)"
class=
"_hover"
>
¥
<td
:class=
"item.Money===item.InCome?'':'_color_red'"
@
click=
"jumpPage('FinancialOrderNew',item.ID,item.Term,1)"
class=
"_hover"
>
¥
<span>
{{
item
.
InCome
}}
</span>
</td>
<td
:class=
"item.Cost===item.PayMoney?'':'_color_red'"
@
click=
"jumpPage('FinancialOrderNew',item.ID,item.Term,2)"
class=
"_hover"
>
<td
:class=
"item.Cost===item.PayMoney?'':'_color_red'"
@
click=
"jumpPage('FinancialOrderNew',item.ID,item.Term,2)"
class=
"_hover"
>
¥
<!--
<el-popover
popper-class=
"sett_popover"
placement=
"bottom"
width=
"450"
trigger=
"click"
>
<table
class=
"add_table singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
单据号
</th>
<th>
金额
</th>
<th>
类型
</th>
<th>
状态
</th>
</tr>
<tr
v-for=
"(i,d) in Details"
>
<td>
{{
i
.
FrID
}}
</td>
<td>
{{
i
.
PayMoney
}}
</td>
<td>
{{
i
.
TypeName
}}
</td>
<td>
{{
i
.
StatusName
}}
</td>
</tr>
<tr
v-if=
"Details.length==0"
>
<td
colspan=
"4"
>
暂无数据
</td>
</tr>
</table>
<span
slot=
"reference"
@
click=
"getDetails(item.ID)"
>
{{
item
.
PayMoney
}}
</span>
</el-popover>
-->
<span>
{{
item
.
PayMoney
}}
</span>
</td>
<td
:class=
"Math.abs(item.Money-item.InCome)>0?'_color_red':''"
>
¥
{{
Math
.
abs
(
item
.
Money
-
item
.
InCome
)
}}
</td>
<td>
<span
v-if=
"item.Status!=0"
:class=
"Math.abs(item.RealProfit)>0?'_color_red':''"
>
¥
{{
Math
.
abs
(
item
.
RealProfit
)
}}
</span>
<span
v-if=
"item.Status!=0"
:class=
"Math.abs(item.RealProfit)>0?'_color_red':''"
>
¥
{{
Math
.
abs
(
item
.
RealProfit
)
}}
</span>
<span
v-else
>
-
</span>
</td>
<td>
{{
item
.
EmName
}}
<br
/>
{{
item
.
UpdateDate
}}
</td>
<td>
{{
item
.
EmName
}}
<br
/>
{{
item
.
UpdateDate
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"详情"
placement=
"top"
>
<el-button
type=
"danger"
class=
"_bth_bg_gr"
@
click=
"goUrl('OrderDetails',item.Term,item.ID)"
circle
>
详
</el-button>
<el-button
type=
"danger"
class=
"_bth_bg_gr"
@
click=
"goUrl('OrderDetails',item.Term,item.ID)"
circle
>
详
</el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.UpdateBy==emID"
class=
"item"
effect=
"dark"
content=
"收款"
placement=
"top"
>
<el-button
type=
"primary"
class=
"_bth_bg_bl"
@
click=
"goUrlT(item,1)"
circle
>
收
</el-button>
...
...
@@ -134,7 +109,8 @@
<el-button
type=
"danger"
class=
"_bth_bg_bgr"
@
click=
"goUrlT(item,2)"
circle
>
付
</el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.UpdateBy==emID"
class=
"item"
effect=
"dark"
content=
"确认"
placement=
"top"
>
<el-button
v-if=
"item.Status==0"
type=
"danger"
class=
"_bth_bg_bl"
@
click=
"queren(item)"
circle
>
确
</el-button>
<el-button
v-if=
"item.Status==0"
type=
"danger"
class=
"_bth_bg_bl"
@
click=
"queren(item)"
circle
>
确
</el-button>
</el-tooltip>
</td>
</tr>
...
...
@@ -144,81 +120,79 @@
{{
$t
(
'system.content_noData'
)
}}
</div>
<div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
'msg.pageSize'
:total=
'total'
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
'msg.pageSize'
:total=
'total'
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
msg
:
{
Term
:
''
,
status
:
'-1'
,
PageIndex
:
1
,
pageSize
:
15
,
sDate
:
''
,
eDate
:
''
,
IsInter
:
'-1'
,
ID
:
0
,
export
default
{
data
()
{
return
{
msg
:
{
Term
:
''
,
status
:
'-1'
,
PageIndex
:
1
,
pageSize
:
15
,
sDate
:
''
,
eDate
:
''
,
IsInter
:
'-1'
,
ID
:
0
,
},
dataList
:
[],
noData
:
false
,
total
:
0
,
emID
:
0
,
currentPage
:
1
,
loading
:
true
,
transactionDate
:
[],
RB_Branch_Id
:
''
,
Details
:
[],
dataList
:
[],
noData
:
false
,
total
:
0
,
emID
:
0
,
currentPage
:
1
,
loading
:
true
,
transactionDate
:
[],
RB_Branch_Id
:
''
,
Details
:
[],
}
},
created
(){
if
(
this
.
$route
.
query
.
Term
)
{
created
()
{
if
(
this
.
$route
.
query
.
Term
)
{
this
.
transactionDate
[
0
]
=
this
.
$route
.
query
.
Term
;
this
.
transactionDate
[
1
]
=
this
.
$route
.
query
.
Term
;
}
},
mounted
(){
mounted
()
{
this
.
getList
();
let
userInfo
=
this
.
getLocalStorage
();
this
.
emID
=
userInfo
.
EmployeeId
;
this
.
emID
=
userInfo
.
EmployeeId
;
this
.
RB_Branch_Id
=
userInfo
.
RB_Branch_id
;
this
.
msg
.
ID
=
this
.
$route
.
query
.
id
;
this
.
msg
.
ID
=
this
.
$route
.
query
.
id
;
},
methods
:{
jumpPage
(
path
,
id
,
term
,
type
){
// let routeData = this.$router.resolve({
// name: path,
// query: { SourceID: id,OrderSource:9,type:type}
// });
// window.open(routeData.href, "_blank");
methods
:
{
jumpPage
(
path
,
id
,
term
,
type
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
SourceID
:
id
,
OrderSource
:
9
,
type
:
type
,
blank
:
'y'
,
term
:
term
}
query
:
{
SourceID
:
id
,
OrderSource
:
9
,
type
:
type
,
blank
:
'y'
,
term
:
term
}
})
},
queren
(
obj
)
{
this
.
$confirm
(
'是否已完成'
+
'“'
+
obj
.
Term
+
'”'
+
'期?确认后不可撤回!'
,
'提示'
,
{
queren
(
obj
)
{
this
.
$confirm
(
'是否已完成'
+
'“'
+
obj
.
Term
+
'”'
+
'期?确认后不可撤回!'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'Domestic_Ticket_post_Confirm'
,{
ID
:
obj
.
ID
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
apipost
(
'Domestic_Ticket_post_Confirm'
,
{
ID
:
obj
.
ID
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
let
data
=
r
.
data
.
data
;
this
.
$message
.
success
(
r
.
data
.
message
);
this
.
getList
();
}
},
null
);
},
null
);
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
...
...
@@ -226,18 +200,21 @@ export default {
});
});
},
getDetails
(
id
)
{
getDetails
(
id
)
{
this
.
Details
=
[];
this
.
apipost
(
'Financial_post_GetOrderFinanceList'
,{
OrderId
:
0
,
OrderResource
:
9
,
SourceID
:
id
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
apipost
(
'Financial_post_GetOrderFinanceList'
,
{
OrderId
:
0
,
OrderResource
:
9
,
SourceID
:
id
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
let
data
=
r
.
data
.
data
;
this
.
Details
=
data
;
console
.
log
(
data
);
}
},
null
);
},
null
);
},
timeAdd
(){
// 日期格式
if
(
!
this
.
transactionDate
)
{
timeAdd
()
{
// 日期格式
if
(
!
this
.
transactionDate
)
{
this
.
msg
.
sDate
=
''
;
this
.
msg
.
eDate
=
''
;
return
...
...
@@ -245,60 +222,71 @@ export default {
this
.
msg
.
sDate
=
this
.
transactionDate
[
0
];
this
.
msg
.
eDate
=
this
.
transactionDate
[
1
];
},
goUrlT
(
obj
,
t
)
{
goUrlT
(
obj
,
t
)
{
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
9
,
OrderID
:
0
,
OrderSource
:
9
,
Obj
:
{},
SourceID
:
obj
.
ID
,
SourceID
:
obj
.
ID
,
TCIDList
:
[]
}
this
.
$router
.
push
(
{
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:{
'Type'
:
t
,
'path'
:
'TicketingModule'
,
'Cmd'
:
'Domestic_Ticket_post_UpdateFrID'
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
query
:
{
'Type'
:
t
,
'path'
:
'TicketingModule'
,
'Cmd'
:
'Domestic_Ticket_post_UpdateFrID'
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
);
});
},
goUrl
(
path
,
Term
,
id
){
this
.
$router
.
push
({
name
:
path
,
query
:{
'Term'
:
Term
,
'ID'
:
id
,
blank
:
'y'
}})
goUrl
(
path
,
Term
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
'Term'
:
Term
,
'ID'
:
id
,
blank
:
'y'
}
})
},
getList
(){
console
.
log
(
this
.
msg
);
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
'Domestic_Ticket_post_GetBillPageList'
,
this
.
msg
,
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
'Domestic_Ticket_post_GetBillPageList'
,
this
.
msg
,
r
=>
{
if
(
r
.
data
.
resultCode
==
1
)
{
this
.
total
=
r
.
data
.
data
.
count
;
if
(
this
.
total
>
0
)
{
this
.
noData
=
false
;
}
else
{
this
.
noData
=
true
;
if
(
this
.
total
>
0
)
{
this
.
noData
=
false
;
}
else
{
this
.
noData
=
true
;
}
this
.
dataList
=
r
.
data
.
data
.
pageData
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
}
else
{
this
.
$message
.
error
(
r
.
data
.
message
);
this
.
loading
=
false
;
this
.
loading
=
false
;
}
},
null
)
},
null
)
},
method5
:
function
()
{
this
.
GetLocalFile
(
"DomesticTicket_post_DownBill"
,
{
'Term'
:
this
.
msg
.
Term
,
'Status'
:
this
.
msg
.
Status
,
'sDate'
:
this
.
msg
.
sDate
,
'eDate'
:
this
.
msg
.
eDate
,
'emID'
:
this
.
emID
,
'IsInter'
:
this
.
msg
.
IsInter
},
"历史账单.xls"
);
},
method5
:
function
()
{
this
.
GetLocalFile
(
"DomesticTicket_post_DownBill"
,
{
'Term'
:
this
.
msg
.
Term
,
'Status'
:
this
.
msg
.
Status
,
'sDate'
:
this
.
msg
.
sDate
,
'eDate'
:
this
.
msg
.
eDate
,
'emID'
:
this
.
emID
,
'IsInter'
:
this
.
msg
.
IsInter
},
"历史账单.xls"
);
}
,
resetPageIndex
()
{
//查询初始化页码
resetPageIndex
()
{
//查询初始化页码
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
handleCurrentChange
(
val
)
{
//翻页功能按钮
handleCurrentChange
(
val
)
{
//翻页功能按钮
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
}
}
}
</
script
>
\ No newline at end of file
src/components/FinancialModule/accDetail/GuideAccount.vue
View file @
2f8b58e2
...
...
@@ -13,14 +13,8 @@
cursor
:
pointer
;
text-decoration
:
underline
;
}
._bg__
._bg_red
:hover
{
color
:
rgb
(
230
,
97
,
97
);
}
._bg__
._bg_green
:hover
{
color
:
rgb
(
66
,
182
,
132
);
}
._bg_red
{
color
:
#E95252
;}
._bg_green
{
color
:
#2BB87C
}
.Guid_bg_red
{
color
:
#E95252
;}
.Guid_bg_green
{
color
:
#2BB87C
}
._addChuNa_tit
{
color
:
gray
;
margin-bottom
:
10px
;}
._addChuNa_tit
span
{
color
:
#333333
}
</
style
>
...
...
@@ -95,7 +89,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
:gutter=
"35"
>
<
!--
<
el-col
:span=
"8"
:gutter=
"35"
>
<el-form-item
:label=
"$t('fnc.a_hkfkriqi')"
>
<el-date-picker
class=
"h34"
@
change=
"timeAdd"
...
...
@@ -105,16 +99,31 @@
:range-separator=
"$t('restaurant.res_To')"
>
</el-date-picker>
</el-form-item>
</el-col>
-->
<el-col
:span=
"6"
>
<el-form-item
label=
"汇款/付款日期"
>
<el-date-picker
@
change=
"timeAdd"
v-model=
"productionDate"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"
8"
:gutter=
"35
"
>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"发团日期"
>
<el-date-picker
class=
"h34"
<el-date-picker
@
change=
"timeAddByTC"
v-model=
"productionDateByTC"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd"
:range-separator=
"$t('restaurant.res_To')"
>
</el-date-picker>
></el-date-picker>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"4"
:gutter=
"35"
>
...
...
@@ -148,8 +157,8 @@
<th>
{{
$t
(
'fnc.a_hkfkshijian'
)
}}
</th>
<th>
{{
$t
(
'fnc.jylshuihao'
)
}}
</th>
<th>
制单人
</th>
<th>
{{
$t
(
'fnc.skjine'
)
}}
</th>
<th>
{{
$t
(
'fnc.fkjine'
)
}}
</th>
<th>
待收金额
</th>
<th>
待付金额
</th>
<th>
总计
</th>
</tr>
<!--
<tr>
...
...
@@ -170,9 +179,9 @@
</td>
-->
<td>
{{
item
.
TypeName
}}
</td>
<td>
{{
item
.
BName
}}
</td>
<!--
<td><span
class=
"cursorpointer"
:class=
"item.Type==1?'
_bg_green':'
_bg_red'"
@
click=
"goUrl('FinancialDocumentsDetail',item.FinanceId)"
>
{{
item
.
FinanceId
}}
</span>
</td>
-->
<!--
<td><span
class=
"cursorpointer"
:class=
"item.Type==1?'
Guid_bg_green':'Guid
_bg_red'"
@
click=
"goUrl('FinancialDocumentsDetail',item.FinanceId)"
>
{{
item
.
FinanceId
}}
</span>
</td>
-->
<td>
<span
class=
"cursorpointer"
:class=
" item.Type === 1 ? '
_bg_green' : '
_bg_red'"
@
click=
"goUrlNew(item)"
>
<span
class=
"cursorpointer"
:class=
" item.Type === 1 ? '
Guid_bg_green' : 'Guid
_bg_red'"
@
click=
"goUrlNew(item)"
>
{{
item
.
FinanceId
}}
</span>
</td>
<td>
...
...
src/components/Hotel/roomReservationsDetails.vue
View file @
2f8b58e2
...
...
@@ -510,12 +510,12 @@
findex
:
0
,
childIndex
:
0
,
//修改酒店价格,付款方式权限[0-不能修改,1-有权限修改]
IsEditHotel
:
0
,
IsEditHotel
:
1
,
//0-可以操作,1-已制单,不能操作
IsOperation
:
1
,
LeaderName
:
""
,
//领队名称
GuideName
:
""
,
//导游名称
IsEditHotelPeople
:
0
,
//是否有修改人数权限[0-不能修改,1-可以修改]
IsEditHotelPeople
:
1
,
//是否有修改人数权限[0-不能修改,1-可以修改]
IsCombine
:
false
,
//是否是合团,true-是合团,false-不是合团
allCurrencyList
:
[],
//币种列表
}
...
...
src/components/Restaurant/bookDinnerStatisticsDetails.vue
View file @
2f8b58e2
...
...
@@ -26,21 +26,21 @@
</th>
</tr>
<tr>
<th
width=
"1
5
0"
>
用餐时间
</th>
<th
width=
"2
5
0"
>
餐厅名称
</th>
<th
width=
"1
6
0"
>
修改餐厅
</th>
<th
width=
"1
0
0"
>
用餐时间
</th>
<th
width=
"2
0
0"
>
餐厅名称
</th>
<th
width=
"1
5
0"
>
修改餐厅
</th>
<th
width=
"80"
>
类别
</th>
<th
width=
"200"
style=
"display:none;"
>
餐饮类型
</th>
<th
width=
"
8
0"
>
总人数
</th>
<th
width=
"
7
0"
>
总人数
</th>
<th
width=
"70"
>
用餐人
<br
/>
类型
</th>
<th
width=
"70"
>
用餐
<br
/>
人数
</th>
<th
width=
"
10
0"
>
价格
</th>
<th
width=
"
10
0"
>
免人数
</th>
<th
width=
"
9
0"
>
价格
</th>
<th
width=
"
9
0"
>
免人数
</th>
<th
width=
"80"
>
金额小计
</th>
<th
width=
"
10
0"
>
返佣
</th>
<th
width=
"1
2
0"
>
总金额
</th>
<th
width=
"
9
0"
>
返佣
</th>
<th
width=
"1
0
0"
>
总金额
</th>
<th
width=
"210"
>
付款方式/订餐方式/订团号
</th>
<th
width=
"
8
0"
>
备注
</th>
<th
width=
"
17
0"
>
备注
</th>
</tr>
<
template
v-for=
"(item,index) in list"
>
<template
v-for=
"(subItem,subIndex) in item.DiningSummaryList"
>
...
...
@@ -81,7 +81,6 @@
<el-option
v-for=
'itemHotel in item.DinnerList'
:label=
'itemHotel.RealName'
:value=
'itemHotel.ID'
:key=
'itemHotel.ID'
></el-option>
</el-select>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
{{
subItem
.
UseDinnerTypeStr
}}
...
...
@@ -102,7 +101,8 @@
<span
class=
"spanlink"
v-if=
'childItem.PeoplePrice==0'
@
click=
"goUrl('RestaurantPackage',subItem,'套餐查询')"
>
设置
</span>
<template
v-else
>
{{
childItem
.
PeoplePrice
}}
<el-input
class=
'w50 tcenter'
@
input=
'calculationPrice(subItem)'
v-model=
'childItem.PeoplePrice'
@
keyup
.
native=
"checkInteger(childItem,'PeoplePrice')"
></el-input>
</
template
>
</td>
<td>
...
...
@@ -141,7 +141,6 @@
付款方式:
</td>
<td
style=
"text-align:left;"
>
<el-select
class=
'w135 sel'
v-model=
'subItem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
'请选择'
:value=
'0'
></el-option>
<el-option
label=
'现付'
:value=
'1'
v-if=
"subItem.PayStyleExt==1"
></el-option>
...
...
@@ -150,7 +149,6 @@
<el-option
label=
'预付'
:value=
'4'
v-if=
"subItem.PayStyleExt==4"
></el-option>
<el-option
label=
'预付款抵扣'
:value=
'5'
v-if=
"subItem.PayStyleExt==5"
></el-option>
<el-option
label=
'公司合团支付'
:value=
'6'
></el-option>
</el-select>
</td>
</tr>
...
...
@@ -186,7 +184,22 @@
</table>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
<el-input
type=
'textarea'
rows=
"4"
class=
'w120'
v-model=
'subItem.Remarks'
></el-input>
<table
class=
"dinnerTable"
>
<tr>
<td
width=
"80"
style=
"text-align:right;"
>
备注:
</td>
<td>
<el-input
type=
'textarea'
rows=
"2"
class=
'w120'
v-model=
'subItem.Remarks'
></el-input>
</td>
</tr>
<tr>
<td
width=
"80"
style=
"text-align:right;"
>
餐配备注:
</td>
<td
style=
"text-align:left;"
>
<el-input
type=
'textarea'
rows=
"2"
class=
'w120'
v-model=
'subItem.DinnerRemark'
></el-input>
</td>
</tr>
</table>
</td>
</tr>
</template>
...
...
@@ -195,7 +208,6 @@
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
...
...
@@ -309,7 +321,8 @@
obj
.
DiningPriceList
.
forEach
((
item
,
index
)
=>
{
var
tempPrice
=
0
;
var
coefficient
=
1
;
totalPrice
+=
item
.
PeoplePrice
*
(
item
.
PeopleNum
-
item
.
Discount
)
*
(
coefficient
-
item
.
DiscountPrice
/
100
);
totalPrice
+=
item
.
PeoplePrice
*
(
item
.
PeopleNum
-
item
.
Discount
)
*
(
coefficient
-
item
.
DiscountPrice
/
100
);
totalPrice
+=
tempPrice
;
})
obj
.
TotalPrice
=
totalPrice
.
toFixed
(
2
);
...
...
@@ -322,24 +335,18 @@
else
if
(
currentObj
.
ID
==
3
)
{
obj
.
NewTotalPrice
=
""
;
}
else
{
if
(
currentObj
.
CurrentRate
>
1
)
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
/
currentObj
.
CurrentRate
).
toFixed
(
2
);
}
else
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
*
currentObj
.
CurrentRate
).
toFixed
(
2
);
if
(
currentObj
.
CurrentRate
>
1
)
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
/
currentObj
.
CurrentRate
)
.
toFixed
(
2
);
}
else
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
*
currentObj
.
CurrentRate
)
.
toFixed
(
2
);
}
}
}
else
{
obj
.
NewTotalPrice
=
""
;
}
this
.
$forceUpdate
();
// let totalPrice = 0;
// obj.DiningPriceList.forEach(item => {
// totalPrice += item.PeoplePrice * (item.PeopleNum - item.Discount) * (1 - item.DiscountPrice / 100);
// })
// obj.TotalPrice = totalPrice.toFixed(2);
},
saveList
(
type
)
{
this
.
IsDisabled
=
true
;
...
...
src/components/Ticketing/flightPerformance.vue
View file @
2f8b58e2
...
...
@@ -41,8 +41,15 @@
<th>
操作人员
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
<a
style=
"color:blue;cursor:pointer"
@
click=
'goUrlT("RegistrationList",item.TCID,"报名清单")'
>
(
{{
item
.
TCID
}}
)
{{
item
.
TCNUM
}}
</a></td>
<td>
<template
v-if=
"item.TCID>0"
>
<a
style=
"color:blue;cursor:pointer"
@
click=
'goUrlT("RegistrationList",item.TCID,"报名清单")'
>
(
{{
item
.
TCID
}}
)
{{
item
.
TCNUM
}}
</a>
</
template
>
<
template
v-else
>
{{
item
.
TCNUM
}}
</
template
>
</td>
<td>
{{item.OutBranchName}}
</td>
<td>
{{item.LineName}}
</td>
<td>
{{item.TicketNum}}
</td>
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
2f8b58e2
...
...
@@ -373,7 +373,8 @@
:class=
"
{'TC_hasContent':item.OPInnerRemark==''
&&
item.OPRemark==''}">
<div
class=
"TC_remarkContent TC_teamName"
>
<div
class=
"clearfix"
>
<div
class=
"TCL_remarkTitle"
style=
"width:105px;"
><span
style=
"font-weight: 100;text-decoration:underline;cursor:pointer;color: #e95252;"
<div
class=
"TCL_remarkTitle"
style=
"width:105px;"
><span
style=
"font-weight: 100;text-decoration:underline;cursor:pointer;color: #e95252;"
v-if=
"item.ScoreNum >= 0"
@
click=
'goInvetig("investigationList", item.TCID, 0)'
>
(评分
{{
item
.
ScoreNum
}}
)
</span>
{{
$t
(
'Operation.Op_TeamName'
)
}}
:
</div>
...
...
@@ -445,7 +446,8 @@
<div>
{{
fItem
.
FlightArrivalTime
}}
{{
fItem
.
Arrival_time
}}
</div>
<div
style=
"margin-top:5px;"
>
(
{{
fItem
.
AIATA
}}
)
{{
fItem
.
aName
}}
</div>
</td>
<td><template
v-if=
"fItem.StopoverIATA"
>
(
{{
fItem
.
StopoverIATA
}}
)
</
template
>
{{fItem.StopoverName}}
</td>
<td><template
v-if=
"fItem.StopoverIATA"
>
(
{{
fItem
.
StopoverIATA
}}
)
</
template
>
{{fItem.StopoverName}}
</td>
</tr>
</table>
<div
class=
"FlightDiv-TCL"
slot=
"reference"
>
...
...
@@ -501,9 +503,9 @@
<commonHotelInfo
:HotelObj=
"item.HotelOrderListReports"
:showHotelObj=
"showHotelObj"
:TCID=
"item.TCID"
:DMCNum=
"item.DMCNum"
:TCNUM=
"item.TCNUM"
@
SetShouPeiShu=
"SetShouPeiShu(item.TCID,item.ShouPeiStatus)"
></commonHotelInfo>
<div
slot=
"reference"
>
<span
class=
"price"
style=
"cursor:pointer;text-decoration:underline;"
>
酒店预订状况
</span>
<span
style=
"color: #e95252"
>
op{{item.OpSureHouse==2 ? '已确认' : '未确认'}}分房
</span>
<div
slot=
"reference"
>
<span
class=
"price"
style=
"cursor:pointer;text-decoration:underline;"
>
酒店预订状况
</span>
<span
style=
"color: #e95252"
>
op{{item.OpSureHouse==2 ? '已确认' : '未确认'}}分房
</span>
</div>
</el-popover>
...
...
@@ -782,6 +784,10 @@
<el-dropdown-item
v-if=
"item.TCState==3"
@
click
.
native=
"Setshelves(item.TCID)"
>
{{$t('Operation.Op_xiajia')}}
</el-dropdown-item>
<!--酒店下架-->
<el-dropdown-item
v-if=
"item.LineID==14"
@
click
.
native=
"RemoveHotelJourneyOrder(item.TCID)"
>
酒店下架
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.Status==1"
@
click
.
native=
"OutGroup(item.TCID,2)"
>
{{$t('Operation.Op_jietuan')}}
</el-dropdown-item>
...
...
@@ -1077,15 +1083,15 @@
//当前登录用户信息
CurrentUserInfo
:
{},
showHotelObj
:
{
showPrice
:
true
,
//是否显示价格
showPay
:
false
,
//是否显示支付方式
showZhan
:
true
,
//占房时间
showBtnList
:
false
,
//是否下载、确认按钮
showPrice
:
true
,
//是否显示价格
showPay
:
false
,
//是否显示支付方式
showZhan
:
true
,
//占房时间
showBtnList
:
false
,
//是否下载、确认按钮
ShowTaxType
:
false
,
//显示税入税别
ShowRebateRatio
:
false
,
//显示返佣比列
ShowSupplier
:
false
,
//是否显示供应商
showCaozuoTime
:
true
,
//操作时间
colspanLength
:
4
//跨行
ShowSupplier
:
false
,
//是否显示供应商
showCaozuoTime
:
true
,
//操作时间
colspanLength
:
4
//跨行
},
IsModifyTravelControl
:
0
,
//分公司是否有修改团控权限
pickerBeginDateBefore
:
{
...
...
@@ -1427,6 +1433,24 @@
}
}
},
//单团酒店下架
RemoveHotelJourneyOrder
(
TCID
)
{
var
that
=
this
;
this
.
Confirm
(
"是否要下架酒店?下架过后将释放酒店库存!"
,
function
()
{
let
msg
=
{
TCID
:
TCID
,
}
that
.
apipost
(
'travel_post_RemoveHotelJourneyOrderService'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
)
that
.
getControlList
()
}
else
{
that
.
Info
(
res
.
data
.
message
)
}
})
});
},
//单团设置下架
Setshelves
(
TCID
)
{
let
msg
=
{
...
...
src/components/dmc/manager/LeaderHander.vue
View file @
2f8b58e2
...
...
@@ -140,46 +140,46 @@
<tr>
<td>
人数:
{{
sendReceiptData
.
StartCityName
}}
出发
<el-input
type=
"text"
class=
"w100"
v-model=
"sendReceiptData.StartCityNum"
/>
<el-input
type=
"text"
class=
"w100"
v-model=
"sendReceiptData.StartCityNum"
@
keyup
.
native=
"checkPrice(sendReceiptData,'StartCityNum')"
/>
位
</td>
<td
width=
"250"
>
其他:凑票
<el-input
type=
"text"
class=
"w135"
v-model=
"sendReceiptData.TogetherNum"
/>
<el-input
type=
"text"
class=
"w135"
v-model=
"sendReceiptData.TogetherNum"
@
keyup
.
native=
"checkPrice(sendReceiptData,'TogetherNum')"
/>
位
</td>
<td
colspan=
"7"
>
外站JOIN
<el-input
type=
"text"
class=
"w100"
v-model=
"sendReceiptData.OutsideNum"
/>
<el-input
type=
"text"
class=
"w100"
v-model=
"sendReceiptData.OutsideNum"
@
keyup
.
native=
"checkPrice(sendReceiptData,'OutsideNum')"
/>
位
</td>
</tr>
<tr>
<td>
小费:金额
<el-input
type=
"text"
class=
"w128"
v-model=
"sendReceiptData.Trip"
/>
<el-input
type=
"text"
class=
"w128"
v-model=
"sendReceiptData.Trip"
@
keyup
.
native=
"checkPrice(sendReceiptData,'Trip')"
/>
元/位
</td>
<td>
人数:共
<el-input
type=
"text"
class=
"w150"
v-model=
"sendReceiptData.TripNum"
/>
<el-input
type=
"text"
class=
"w150"
v-model=
"sendReceiptData.TripNum"
@
keyup
.
native=
"checkPrice(sendReceiptData,'TripNum')"
/>
位
</td>
<td
colspan=
"7"
>
总计:
<el-input
type=
"text"
class=
"w120"
v-model=
"sendReceiptData.TripTotal"
/>
<el-input
type=
"text"
class=
"w120"
v-model=
"sendReceiptData.TripTotal"
@
keyup
.
native=
"checkPrice(sendReceiptData,'TripTotal')"
/>
万日元
</td>
</tr>
<tr>
<td>
团款:
<el-input
type=
"text"
class=
"w160"
v-model=
"sendReceiptData.TeamPrice"
/>
<el-input
type=
"text"
class=
"w160"
v-model=
"sendReceiptData.TeamPrice"
@
keyup
.
native=
"checkPrice(sendReceiptData,'TeamPrice')"
/>
人民币
</td>
<td
colspan=
"8"
>
名单表费:
<el-input
type=
"text"
class=
"w135"
v-model=
"sendReceiptData.TableFee"
/>
<el-input
type=
"text"
class=
"w135"
v-model=
"sendReceiptData.TableFee"
@
keyup
.
native=
"checkPrice(sendReceiptData,'TableFee')"
/>
元
</td>
</tr>
...
...
@@ -541,7 +541,6 @@
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
sendReceiptData
=
res
.
data
.
data
;
console
.
log
(
"sendReceiptData"
,
this
.
sendReceiptData
);
this
.
isShow
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
src/components/dmc/manager/groundOperation.vue
View file @
2f8b58e2
...
...
@@ -37,14 +37,17 @@
.GD_comPad
{
padding
:
0
!important
;
}
.groundLastTable
{
margin
:
20px
0
;
font-size
:
12px
;
.groundLastTable
{
margin
:
20px
0
;
font-size
:
12px
;
}
.gdBtn
{
.gdBtn
{
position
:
relative
;
top
:
-45px
;
top
:
-45px
;
}
</
style
>
<
template
>
...
...
@@ -89,13 +92,13 @@
<td>
机票负责人
</td>
<td>
<template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
CreateByName
}}
<el-input
v-model=
'PrincipalList[0].CreateByName'
class=
'w200'
></el-input>
</
template
>
</td>
<td>
联系电话
</td>
<td
colspan=
"5"
>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
CreateByMobile
}}
<el-input
v-model=
'PrincipalList[0].CreateByMobile'
class=
'w200'
></el-input>
</
template
>
</td>
</tr>
...
...
@@ -103,13 +106,13 @@
<td>
订房负责人
</td>
<td>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
HConfirmName
}}
<el-input
v-model=
'PrincipalList[0].HConfirmName'
class=
'w200'
></el-input>
</
template
>
</td>
<td>
联系电话
</td>
<td
colspan=
"5"
>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
HConfirmMobile
}}
<el-input
v-model=
'PrincipalList[0].HConfirmMobile'
class=
'w200'
></el-input>
</
template
>
</td>
</tr>
...
...
@@ -117,13 +120,13 @@
<td>
车辆负责人
</td>
<td>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
BConfirmName
}}
<el-input
v-model=
'PrincipalList[0].BConfirmName'
class=
'w200'
></el-input>
</
template
>
</td>
<td>
联系电话
</td>
<td
colspan=
"5"
>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
BConfirmMobile
}}
<el-input
v-model=
'PrincipalList[0].BConfirmMobile'
class=
'w200'
></el-input>
</
template
>
</td>
</tr>
...
...
@@ -131,13 +134,13 @@
<td>
订餐负责人
</td>
<td>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
DConfirmName
}}
<el-input
v-model=
'PrincipalList[0].DConfirmName'
class=
'w200'
></el-input>
</
template
>
</td>
<td>
联系电话
</td>
<td
colspan=
"5"
>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
DConfirmMobile
}}
<el-input
v-model=
'PrincipalList[0].DConfirmMobile'
class=
'w200'
></el-input>
</
template
>
</td>
</tr>
...
...
@@ -145,13 +148,13 @@
<td>
门票负责人
</td>
<td>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
TConfirmName
}}
<el-input
v-model=
'PrincipalList[0].TConfirmName'
class=
'w200'
></el-input>
</
template
>
</td>
<td>
联系电话
</td>
<td
colspan=
"5"
>
<
template
v-if=
"PrincipalList.length>0"
>
{{
PrincipalList
[
0
].
TConfirmMobile
}}
<el-input
v-model=
'PrincipalList[0].TConfirmMobile'
class=
'w200'
></el-input>
</
template
>
</td>
</tr>
...
...
@@ -198,8 +201,8 @@
<td>
{{subItem.ReserveNo}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.HotelName}}
</td>
<td>
{{subItem.CheckInDateStr}}
</td>
<td>
{{
DMCStaticsCommon.HouseStatistics.NeedBed}}/{{DMCStaticsCommon.HouseStatistics.NoNeedBed
}}
</td>
<td>
{{
DMCStaticsCommon.HouseStatistics.RealityRoomNum
}}
</td>
<td>
{{
getHotelTotalNum(subItem)
}}
</td>
<td>
{{
getHotelTotal(subItem)
}}
</td>
<td>
{{subItem.Tel}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Address}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Remarks}}
</td>
...
...
@@ -225,10 +228,11 @@
<tr
v-for=
"subItem in item.DiningSummaryList"
>
<td>
{{subItem.ReserveNo}}
</td>
<td>
{{subItem.UseTimeStr}}
</td>
<td>
{{subItem.DiningName}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.DiningName}}
</td>
<td>
{{subItem.UseDinnerTypeStr}}
</td>
<td>
{{subItem.MealName}}
</td>
<td>
{{DMCStaticsCommon.HouseStatistics.RealityNum>0?(DMCStaticsCommon.HouseStatistics.RealityNum-1):0}}+1
</td>
<td>
{{getDinnerTotal(subItem)}}
</td>
<td>
{{subItem.Tel}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Address}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Remarks}}
</td>
...
...
@@ -250,8 +254,10 @@
<tbody
v-for=
"item in DMCStaticsCommon.ScenicList"
>
<tr
v-for=
"subItem in item.ScenicStatisticsList"
>
<td>
{{subItem.UseTimeStr}}
</td>
<td>
{{subItem.ScenicName}}
</td>
<td>
{{DMCStaticsCommon.HouseStatistics.RealityNum>0?(DMCStaticsCommon.HouseStatistics.RealityNum-1):0}}+1
</td>
<td
style=
"text-align:left;"
>
{{subItem.ScenicName}}
</td>
<td>
{{getScenicTotal(subItem)}}
</td>
<td>
{{subItem.Tel}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Address}}
</td>
<td
style=
"text-align:left;"
>
{{subItem.Remarks}}
</td>
...
...
@@ -308,8 +314,8 @@
注意事项:
</td>
<td>
<el-input
v-model=
"PostConfig.PlanDescription"
type=
"textarea"
class=
"w700"
:autosize=
"{minRows: 3, maxRows: 3 }"
resize=
"none"
placeholder=
"注意事项"
maxlength=
"300"
></el-input>
<el-input
v-model=
"PostConfig.PlanDescription"
type=
"textarea"
class=
"w700"
:autosize=
"{minRows: 3, maxRows: 3 }"
resize=
"none"
placeholder=
"注意事项"
maxlength=
"300"
></el-input>
<input
type=
"button"
class=
"normalBtn gdBtn"
@
click=
"UpdateLeaderPay"
value=
"保存"
/>
<input
type=
"button"
class=
"normalBtn gdBtn"
@
click=
"DownLoadLeaderPay"
value=
"下载"
/>
</td>
...
...
@@ -344,10 +350,49 @@
TCIDs
:
""
,
PlanDescription
:
""
},
loading2
:
false
,
loading2
:
false
,
};
},
methods
:
{
//酒店统计(用房数)
getHotelTotal
(
item
)
{
var
totalCount
=
0
;
item
.
OrderDetailsList
.
forEach
(
subItem
=>
{
totalCount
+=
subItem
.
HouseTypeCount
;
});
return
totalCount
;
},
getHotelTotalNum
(
item
)
{
var
totalCount
=
0
;
var
noBed
=
0
;
item
.
OrderDetailsList
.
forEach
((
subItem
,
subIndex
)
=>
{
if
(
subItem
.
HouseType
<=
4
)
{
totalCount
+=
subItem
.
BookNum
;
}
else
if
(
subItem
.
HouseType
==
6
)
{
noBed
+=
subItem
.
BookNum
;
}
});
return
totalCount
+
"/"
+
noBed
;
},
//景点统计
getScenicTotal
(
item
)
{
var
totalCount
=
0
;
item
.
TicketPriceList
.
forEach
(
subItem
=>
{
totalCount
+=
subItem
.
UsePeopleNum
-
subItem
.
Discount
;
});
return
totalCount
;
},
//餐厅人数统计
getDinnerTotal
(
item
)
{
var
totalCount
=
0
;
item
.
DiningPriceList
.
forEach
(
subItem
=>
{
totalCount
+=
subItem
.
UsePeopleNum
-
subItem
.
Discount
;
});
return
totalCount
;
},
//根据团号获取负责人的信息
getConfirmName
()
{
let
msg
=
{
...
...
@@ -355,9 +400,9 @@
NewCombinationNum
:
''
,
};
//更新酒店图片
this
.
loading2
=
true
;
this
.
apipost
(
"dmcstatistics_post_GetExtendLeaderAllStatics"
,
msg
,
res
=>
{
this
.
loading2
=
false
;
this
.
loading2
=
true
;
this
.
apipost
(
"dmcstatistics_post_GetExtendLeaderAllStatics"
,
msg
,
res
=>
{
this
.
loading2
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
BaseInfo
=
res
.
data
.
data
.
BaseInfo
;
this
.
PrincipalList
=
res
.
data
.
data
.
PrincipalList
;
...
...
@@ -366,6 +411,7 @@
this
.
DMCStaticsCommon
=
res
.
data
.
data
.
DMCStaticsCommon
;
this
.
shopList
=
res
.
data
.
data
.
shopList
;
this
.
PostConfig
=
res
.
data
.
data
.
DMCStaticsCommon
.
LeaderApply
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -400,7 +446,10 @@
},
UpdateLeaderPay
()
{
this
.
PostConfig
.
TCIDs
=
this
.
TCIDs
;
this
.
apipost
(
'dmcstatistics_post_AuditLeaderapply'
,
this
.
PostConfig
,
res
=>
{
this
.
apipost
(
'dmcstatistics_post_AuditLeaderapply'
,
{
LeaderApply
:
this
.
PostConfig
,
LeaderGuidePlan
:
this
.
PrincipalList
[
0
]
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
}
else
{
...
...
@@ -415,10 +464,10 @@
uid
:
this
.
getLocalStorage
().
EmployeeId
};
let
fileName
=
"导游计划表"
+
this
.
$commonUtils
.
getCurrentDate
()
+
".xls"
;
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
GetLocalFile
(
"dmcstatistics_get_DwonLoadLeaderapply"
,
msg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
false
;
});
}
},
...
...
@@ -428,4 +477,5 @@
this
.
getConfirmName
();
}
};
</
script
>
src/components/leaderPay2.vue
View file @
2f8b58e2
...
...
@@ -1270,7 +1270,7 @@ export default {
},
null
)
},
goZhiDan
:
function
(
obj
)
{
let
id
=
[
59
,
63
];
let
id
=
[
59
,
63
,
78
];
let
TCIDARR
=
[
obj
.
TCIDS
];
let
orderObj
=
{
OrderID
:
0
,
...
...
src/components/newTravelmanager/TravelGroupControl/TravelManager2.vue
View file @
2f8b58e2
...
...
@@ -51,7 +51,7 @@
<TravelPrice3
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:PostDaysTrip=
"PostDaysTrip"
v-if=
"TeamType==2"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:TeamType=
"TeamType"
></TravelPrice3>
<div
class=
"btnFixedDiv"
>
<div
class=
"btnFixedDiv"
v-if=
"IsShowBtn"
>
<div
class=
"toTop"
@
click=
"backTop"
>
<i
class=
"iconfont icon-huidaodingbu"
></i>
</div>
...
...
@@ -84,6 +84,7 @@
},
data
()
{
return
{
IsShowBtn
:
false
,
//是否显示按钮
ConfigId
:
0
,
//地址栏查询参数
NewConfigId
:
""
,
//configID加密后的字符串【预览使用】
TCNUM
:
''
,
//团控列表传过来的tcnum
...
...
@@ -630,7 +631,6 @@
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
if
(
tempData
.
Feature
!=
null
)
{
this
.
FeatureData
.
ID
=
tempData
.
Feature
.
ID
;
this
.
FeatureData
.
ConfigId
=
tempData
.
Feature
.
ConfigId
;
...
...
@@ -753,6 +753,7 @@
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
this
.
IsShowBtn
=
true
;
},
err
=>
{}
);
...
...
@@ -783,6 +784,7 @@
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
this
.
IsShowBtn
=
true
;
},
err
=>
{}
);
...
...
src/plug/index.js
View file @
2f8b58e2
...
...
@@ -12,7 +12,7 @@ export default {
install
(
Vue
,
options
)
{
Vue
.
prototype
.
MsgBus
=
MsgBus
;
Vue
.
prototype
.
md5
=
md5
;
Vue
.
prototype
.
orderBy
=
function
(
source
,
orders
,
type
)
{
Vue
.
prototype
.
orderBy
=
function
(
source
,
orders
,
type
)
{
if
(
source
instanceof
Array
&&
orders
instanceof
Array
&&
...
...
@@ -22,9 +22,8 @@ export default {
var
sorttype
=
type
||
"asc"
;
var
results
=
[];
var
totalSum
=
{};
function
grouporder
(
source
,
orders
,
totalSum
)
{
source
.
sort
(
function
(
a
,
b
)
{
source
.
sort
(
function
(
a
,
b
)
{
var
convertA
=
a
[
orders
[
0
]];
var
convertB
=
b
[
orders
[
0
]];
if
(
typeof
convertA
==
"string"
&&
typeof
convertB
==
"string"
)
{
...
...
@@ -41,7 +40,6 @@ export default {
}
}
});
var
groupmap
=
new
Map
();
source
.
forEach
(
item
=>
{
if
(
groupmap
.
has
(
item
[
orders
[
0
]]))
{
...
...
@@ -51,9 +49,7 @@ export default {
groupmap
.
get
(
item
[
orders
[
0
]]).
push
(
item
);
}
});
orders
.
shift
();
for
(
let
[
key
,
val
]
of
groupmap
)
{
totalSum
[
key
]
=
{};
totalSum
[
key
].
name
=
key
;
...
...
@@ -67,9 +63,7 @@ export default {
}
}
}
grouporder
(
source
,
ordersc
,
totalSum
);
return
{
results
:
results
,
totalSum
:
totalSum
...
...
@@ -78,7 +72,8 @@ export default {
return
source
;
}
},
Vue
.
prototype
.
calcPageSize
=
function
(
itemHeight
)
{
Vue
.
prototype
.
calcPageSize
=
function
(
itemHeight
)
{
let
yuHeight
=
itemHeight
try
{
let
obj
=
null
...
...
@@ -100,7 +95,7 @@ export default {
}
return
Math
.
floor
(
yuHeight
/
itemHeight
)
}
Vue
.
prototype
.
random_string
=
function
(
len
)
{
Vue
.
prototype
.
random_string
=
function
(
len
)
{
len
=
len
||
32
;
var
chars
=
'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
;
var
maxPos
=
chars
.
length
;
...
...
@@ -111,18 +106,14 @@ export default {
return
pwd
;
},
//是否是线上环境【发布时修改为true】
Vue
.
prototype
.
isOnline
=
function
()
{
Vue
.
prototype
.
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
},
//域名管理对象
Vue
.
prototype
.
domainManager
=
function
()
{
Vue
.
prototype
.
domainManager
=
function
()
{
let
domainUrl
=
''
;
let
locationName
=
window
.
location
.
hostname
;
//domainUrl = "http://192.168.2.214:8082";
domainUrl
=
"http://localhost:13491"
;
//domainUrl = "http://192.168.2.16:8083";
//domainUrl = "http://192.168.0.110";
domainUrl
=
"http://192.168.2.214:8082"
;
if
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
)
{
domainUrl
=
"http://reborn.oytour.com"
;
}
else
if
(
locationName
.
indexOf
(
'viitto'
)
!==
-
1
)
{
...
...
@@ -137,6 +128,8 @@ export default {
UploadFileUrl
:
domainUrl
+
'/api/File/post'
,
//本站模板文件下载地址
LocalTemplateFileDownLoadUrl
:
domainUrl
,
//酒店接口
HotelApi
:
"http://reborn.oytour.com/api/common/post"
,
//阿里服务器地址
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
//本站文件流下载地址
...
...
@@ -157,14 +150,14 @@ export default {
};
return
obj
;
},
Vue
.
prototype
.
yinyanFn
=
function
(
url
,
successCall
,
faildCall
)
{
Vue
.
prototype
.
yinyanFn
=
function
(
url
,
successCall
,
faildCall
)
{
this
.
$http
.
jsonp
(
url
,
)
.
then
(
res
=>
{
successCall
(
res
)
},
faildCall
)
},
//消息成功提示
Vue
.
prototype
.
Success
=
function
(
msg
)
{
Vue
.
prototype
.
Success
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
...
...
@@ -172,7 +165,7 @@ export default {
});
},
//错误提示
Vue
.
prototype
.
Error
=
function
(
msg
)
{
Vue
.
prototype
.
Error
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
...
...
@@ -181,7 +174,7 @@ export default {
},
//一般提示
Vue
.
prototype
.
Info
=
function
(
msg
)
{
Vue
.
prototype
.
Info
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
...
...
@@ -189,7 +182,7 @@ export default {
});
},
//警告提示
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
...
...
@@ -197,7 +190,7 @@ export default {
});
},
//Confirm
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
this
.
$confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
...
...
@@ -212,9 +205,8 @@ export default {
this
.
Info
(
"已取消操作"
);
});
},
//打开新窗口连接
Vue
.
prototype
.
OpenNewUrl
=
function
(
URL
)
{
Vue
.
prototype
.
OpenNewUrl
=
function
(
URL
)
{
if
(
URL
!=
''
)
{
if
(
URL
.
indexOf
(
"https"
)
!=
-
1
)
{
var
str
=
'http://'
+
URL
.
substring
(
8
);
...
...
@@ -228,24 +220,8 @@ export default {
}
}
Vue
.
prototype
.
uploadImg
=
function
(
tcID
,
msg
,
successCall
,
faildCall
)
{
var
apiurl
=
this
.
domainManager
().
UploadUrl
+
'/Upload/UploadBase64Two?fileType=1&fileLimit=5&&filePath=Freature/'
+
tcID
;
this
.
$http
.
post
(
apiurl
,
{
FileIndex
:
msg
.
FileIndex
,
MyFile
:
msg
.
MyFile
},
{
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded;"
},
}).
then
(
function
(
res
)
{
console
.
log
(
res
)
})
}
//HTTP提交数据
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
)
{
if
(
this
.
$route
.
name
.
indexOf
(
'login'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'confirmationOrderDownLoad'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'PrintPage'
)
===
-
1
)
{
let
previousPathInfo
=
{
path
:
this
.
$route
.
name
,
...
...
@@ -257,6 +233,10 @@ export default {
msg
=
{}
}
var
apiurl
=
this
.
domainManager
().
PostUrl
;
//酒店接口
if
(
isOnline
)
{
apiurl
=
this
.
domainManager
().
HotelApi
;
}
var
timestamp
=
(
new
Date
()).
valueOf
();
this
.
apiurl
=
apiurl
;
if
(
this
.
$route
.
path
.
toLowerCase
()
==
"/signature"
)
{
...
...
@@ -304,8 +284,8 @@ export default {
},
faildCall
)
},
Vue
.
prototype
.
ApiPost2
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
//供应商版请求接口方法
Vue
.
prototype
.
ApiPost2
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
}
...
...
@@ -319,7 +299,6 @@ export default {
path
:
'/SupplierLogin'
})
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorageSupplier
()
!=
null
)
{
...
...
@@ -336,7 +315,6 @@ export default {
"sign"
:
md5Str
,
"uid"
:
uid
}
this
.
$http
.
post
(
apiNewurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
...
...
@@ -354,7 +332,8 @@ export default {
},
faildCall
)
},
Vue
.
prototype
.
apiJavaPost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
//请求Java接口
Vue
.
prototype
.
apiJavaPost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
this
.
$route
.
name
.
indexOf
(
'login'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'confirmationOrderDownLoad'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'PrintPage'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'clientConfirm'
)
===
-
1
)
{
let
previousPathInfo
=
{
path
:
this
.
$route
.
name
,
...
...
@@ -412,8 +391,9 @@ export default {
}
},
faildCall
)
},
//下载文件
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
successCall
)
{
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
successCall
)
{
var
apiurl
=
this
.
domainManager
().
LocalFileStreamDownLoadUrl
;
var
timestamp
=
(
new
Date
()).
valueOf
();
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
...
...
@@ -449,10 +429,10 @@ export default {
document
.
body
.
appendChild
(
link
);
link
.
click
();
successCall
(
res
);
}).
catch
(
function
(
res
)
{});
}).
catch
(
function
(
res
)
{});
},
Vue
.
prototype
.
getLocalStorage
=
function
()
{
//ERP本地缓存
Vue
.
prototype
.
getLocalStorage
=
function
()
{
var
localStorageData
=
window
.
localStorage
[
"userInfo"
];
if
(
localStorageData
!==
undefined
&&
localStorageData
!=
'undefined'
)
{
return
JSON
.
parse
(
localStorageData
);
...
...
@@ -460,8 +440,8 @@ export default {
return
null
;
}
},
Vue
.
prototype
.
getLocalStorageSupplier
=
function
()
{
//供应商本地缓存
Vue
.
prototype
.
getLocalStorageSupplier
=
function
()
{
var
localStorageData
=
window
.
localStorage
[
"userInfo"
];
if
(
localStorageData
!==
undefined
&&
localStorageData
!=
'userInfo'
)
{
return
JSON
.
parse
(
localStorageData
);
...
...
@@ -471,11 +451,11 @@ export default {
},
//PDF预览
Vue
.
prototype
.
previewPDF
=
function
(
url
)
{
Vue
.
prototype
.
previewPDF
=
function
(
url
)
{
window
.
open
(
this
.
domainManager
().
PDFViewUrl
+
url
);
},
Vue
.
prototype
.
downloadFile
=
function
(
objectKey
)
{
//文件下载
Vue
.
prototype
.
downloadFile
=
function
(
objectKey
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
...
...
@@ -489,10 +469,9 @@ export default {
link
.
href
=
url
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
},
Vue
.
prototype
.
downloadFileRename
=
function
(
objectKey
,
filename
,
fileurl
)
{
//文件重命名下载
Vue
.
prototype
.
downloadFileRename
=
function
(
objectKey
,
filename
,
fileurl
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
...
...
@@ -501,7 +480,6 @@ export default {
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
''
;
if
(
fileurl
)
url
=
fileurl
...
...
@@ -533,9 +511,9 @@ export default {
window
.
URL
.
revokeObjectURL
(
link
.
href
);
}
});
},
Vue
.
prototype
.
getFileBlob
=
function
(
objectKey
,
filename
)
{
//获取文件Blob
Vue
.
prototype
.
getFileBlob
=
function
(
objectKey
,
filename
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
...
...
@@ -558,7 +536,22 @@ export default {
});
return
getBlob
},
Vue
.
prototype
.
uploadSelfBlob
=
function
(
path
,
files
,
successCall
)
{
//文件上传
Vue
.
prototype
.
uploadImg
=
function
(
tcID
,
msg
,
successCall
,
faildCall
)
{
var
apiurl
=
this
.
domainManager
().
UploadUrl
+
'/Upload/UploadBase64Two?fileType=1&fileLimit=5&&filePath=Freature/'
+
tcID
;
this
.
$http
.
post
(
apiurl
,
{
FileIndex
:
msg
.
FileIndex
,
MyFile
:
msg
.
MyFile
},
{
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded;"
},
}).
then
(
function
(
res
)
{
})
},
//Blob文件上传
Vue
.
prototype
.
uploadSelfBlob
=
function
(
path
,
files
,
successCall
)
{
let
that
=
this
;
var
uploadUrl
=
that
.
domainManager
().
UploadUrl
+
"/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath="
+
path
;
var
formData
=
new
FormData
();
...
...
@@ -573,7 +566,7 @@ export default {
//path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包
//files 文件数组
//p 进度回调函数
Vue
.
prototype
.
uploadFile
=
function
(
path
,
files
,
successCall
)
{
Vue
.
prototype
.
uploadFile
=
function
(
path
,
files
,
successCall
)
{
if
(
files
&&
files
.
length
>
0
)
{
let
nameList
=
new
Array
()
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
...
...
@@ -586,31 +579,30 @@ export default {
bucket
:
'reborndev'
})
let
that
=
this
co
(
function
*
()
{
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
let
fileName
=
nameList
[
index
]
fileName
=
"/New"
+
path
+
fileName
+
"."
+
files
[
index
].
name
.
split
(
'.'
).
pop
()
var
result
=
yield
oss
.
multipartUpload
(
fileName
,
files
[
index
],
{
progress
:
function
*
(
p
)
{},
progress
:
function
*
(
p
)
{},
mime
:
'application/octet-stream'
})
successCall
(
result
);
}
}).
catch
(
function
(
err
)
{
}).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
},
//上传文件到本地服务器
Vue
.
prototype
.
UploadSelfFileT
=
function
(
path
,
files
,
successCall
,
ocr
)
{
Vue
.
prototype
.
UploadSelfFileT
=
function
(
path
,
files
,
successCall
,
ocr
)
{
if
(
files
&&
files
.
length
>
0
)
{
let
nameList
=
new
Array
()
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
nameList
.
push
(
this
.
random_string
());
}
let
that
=
this
;
co
(
function
*
()
{
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
let
fileName
=
nameList
[
index
]
fileName
=
path
+
fileName
+
"."
+
files
[
index
].
name
.
split
(
'.'
).
pop
()
...
...
@@ -622,7 +614,7 @@ export default {
successCall
(
res
);
})
}
}).
catch
(
function
(
err
)
{
}).
catch
(
function
(
err
)
{
console
.
log
(
"上传文件出错"
+
err
);
});
}
...
...
@@ -632,7 +624,7 @@ export default {
//type : m_filt 填充 m_w 宽度固定 高度不固定 m_h 高度固定 宽度不固定
// w : 宽
// h : 高
Vue
.
prototype
.
compressImg
=
function
(
path
,
type
,
w
,
h
)
{
Vue
.
prototype
.
compressImg
=
function
(
path
,
type
,
w
,
h
)
{
let
url
=
this
.
domainManager
().
UploadUrl
;
let
poise
=
'm_filt'
;
w
=
w
?
w
:
''
...
...
@@ -644,7 +636,7 @@ export default {
}
return
url
+
'/image/index?filePath='
+
path
.
replace
(
'http://192.168.2.214:8130'
,
''
).
replace
(
'http://imgfile.oytour.com'
,
''
).
split
(
'?'
)[
0
]
+
'&process=resize,'
+
poise
+
',w_'
+
w
+
',h_'
+
h
;
}
Vue
.
prototype
.
uploadSelfBlob
=
function
(
path
,
files
,
successCall
)
{
Vue
.
prototype
.
uploadSelfBlob
=
function
(
path
,
files
,
successCall
)
{
let
that
=
this
;
var
uploadUrl
=
that
.
domainManager
().
UploadUrl
+
"/Upload/UploadBlob?fileType=1&fileLimit=5&&filePath="
+
path
;
var
formData
=
new
FormData
();
...
...
@@ -658,7 +650,7 @@ export default {
},
//验证只能输入2位小数【负数:isMinus传true】
Vue
.
prototype
.
checkPrice
=
function
(
item
,
filed
,
isMinus
)
{
Vue
.
prototype
.
checkPrice
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
/
[^\d
.
]
/g
,
""
);
//清除“数字”和“.”以外的字符
...
...
@@ -676,7 +668,7 @@ export default {
item
[
filed
]
=
value
;
}
//验证输入6位小数汇率
Vue
.
prototype
.
checkRate
=
function
(
item
,
filed
)
{
Vue
.
prototype
.
checkRate
=
function
(
item
,
filed
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
p1
=
/
[^\d\.]
/g
;
// 过滤非数字及小数点 /g :所有范围中过滤
var
p2
=
/
(\.\d{6})\d
*$/g
;
...
...
@@ -691,7 +683,7 @@ export default {
}
//验证只能输入整数【负数:isMinus传true】
Vue
.
prototype
.
checkInteger
=
function
(
item
,
filed
,
isMinus
)
{
Vue
.
prototype
.
checkInteger
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
this
.
$commonUtils
.
Regex
.
isInteger
,
""
);
...
...
@@ -701,7 +693,8 @@ export default {
}
item
[
filed
]
=
value
;
}
Vue
.
prototype
.
checkTime
=
function
(
item
,
filed
)
{
//时间验证
Vue
.
prototype
.
checkTime
=
function
(
item
,
filed
)
{
var
date
=
item
[
filed
];
if
(
date
.
length
==
1
)
{
var
v1
=
date
.
substring
(
0
,
1
);
...
...
@@ -746,7 +739,7 @@ export default {
}
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue
.
prototype
.
moneyFormat
=
function
(
value
)
{
Vue
.
prototype
.
moneyFormat
=
function
(
value
)
{
let
nStr
=
Number
(
value
).
toFixed
(
2
)
nStr
+=
''
;
let
x
=
nStr
.
split
(
'.'
);
...
...
@@ -758,8 +751,8 @@ export default {
}
return
x1
+
x2
;
},
Vue
.
prototype
.
loadFileICON
=
function
(
suffix
)
{
//文件图标
Vue
.
prototype
.
loadFileICON
=
function
(
suffix
)
{
let
icons
=
[{
"name"
:
"
\
u7f51
\
u76d8BT
\
u79bb
\
u7ebf
\
u4e0b
\
u8f7d"
,
...
...
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