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
9c1af0a3
Commit
9c1af0a3
authored
Jul 29, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
bfa857ff
b8da3c32
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1631 additions
and
627 deletions
+1631
-627
App.vue
src/App.vue
+17
-3
bg.png
src/assets/img/champion/bg.png
+0
-0
bottom.png
src/assets/img/champion/bottom.png
+0
-0
head.png
src/assets/img/champion/head.png
+0
-0
split.png
src/assets/img/champion/split.png
+0
-0
star.png
src/assets/img/champion/star.png
+0
-0
title.png
src/assets/img/champion/title.png
+0
-0
RecPayQuery.vue
src/components/FinancialModule/RecPayQuery.vue
+1
-1
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+15
-1
roomQuery.vue
src/components/Hotel/roomQuery.vue
+0
-1
RestaurantSalesBoard.vue
src/components/Restaurant/RestaurantSalesBoard.vue
+216
-188
bookDinnerStatistics.vue
src/components/Restaurant/bookDinnerStatistics.vue
+27
-1
seatStatistics.vue
src/components/Ticketing/seatStatistics.vue
+417
-414
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+5
-1
dashboard.vue
src/components/champion/dashboard.vue
+157
-0
mycareer.vue
src/components/champion/mycareer.vue
+724
-0
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+52
-17
No files found.
src/App.vue
View file @
9c1af0a3
...
...
@@ -10,7 +10,9 @@
</viewer>
<chosen-open-mode
v-if=
"haveOpenMode"
:settingSys=
"settingSys"
></chosen-open-mode>
<!-- -->
<!--
<div
class=
"showMyCareer"
>
<mycareer></mycareer>
</div>
-->
</div>
</
template
>
...
...
@@ -27,10 +29,12 @@ var sUserAgent = navigator.userAgent;
// document.html.style.minWidth = '1366px'
}
import
chosenOpenMode
from
'./components/commonPage/chosenOpenMode'
import
mycareer
from
'./components/champion/mycareer'
export
default
{
name
:
'App'
,
components
:
{
chosenOpenMode
chosenOpenMode
,
mycareer
},
created
()
{
//注册禁止后退,并且不做卸载
...
...
@@ -124,6 +128,16 @@ export default {
.BMap_cpyCtrl
{
display
:
none
;}
.anchorBL
{
display
:
none
;}
.viewer
{
display
:
none
!important
;}
.showMyCareer
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
right
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
.3
);
align-items
:
center
;
justify-content
:
center
;
z-index
:
999999999999999
;
}
</
style
>
src/assets/img/champion/bg.png
0 → 100644
View file @
9c1af0a3
200 KB
src/assets/img/champion/bottom.png
0 → 100644
View file @
9c1af0a3
5.01 KB
src/assets/img/champion/head.png
0 → 100644
View file @
9c1af0a3
5.01 KB
src/assets/img/champion/split.png
0 → 100644
View file @
9c1af0a3
16 KB
src/assets/img/champion/star.png
0 → 100644
View file @
9c1af0a3
1 KB
src/assets/img/champion/title.png
0 → 100644
View file @
9c1af0a3
13.3 KB
src/components/FinancialModule/RecPayQuery.vue
View file @
9c1af0a3
...
...
@@ -903,7 +903,7 @@ export default {
this
.
msg
.
AccountType
=
15
;
this
.
msg
.
TradeWay
=
4
;
this
.
getAccountList
(
this
.
msg
.
AccountType
,
this
.
msg
.
TradeWay
)
this
.
msg
.
BankID
=
14
;
this
.
msg
.
BankID
=
this
.
$route
.
query
.
BankID
;
this
.
transactionDate
[
0
]
=
this
.
$route
.
query
.
StartDate
;
this
.
transactionDate
[
1
]
=
this
.
$route
.
query
.
StartDate
;
}
...
...
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
9c1af0a3
...
...
@@ -522,8 +522,12 @@ tr._item_list td:last-child {
<el-option
value=
"4"
label=
"国内票务"
></el-option>
<el-option
value=
"5"
v-if=
"isShowType"
label=
"散卖机票"
></el-option>
<el-option
value=
"6"
v-if=
"isShowType"
label=
"日本地接部专户"
></el-option>
<el-option
value=
"12"
v-if=
"isShowType"
label=
"日本地接部专户(人民币)"
></el-option>
<el-option
value=
"7"
v-if=
"isShowType"
label=
"老挝地接部专户"
></el-option>
<el-option
value=
"8"
label=
"票务部专户"
></el-option>
<el-option
value=
"9"
v-if=
"isShowType"
label=
"酒店住宿"
></el-option>
<el-option
value=
"10"
v-if=
"isShowType"
label=
"景点门票"
></el-option>
<el-option
value=
"11"
v-if=
"isShowType"
label=
"餐厅美食"
></el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -649,8 +653,11 @@ Vue.component("TCIDJump", {
<span style="cursor: pointer" v-if="rowData.DataType===2" @click="goUrl('individualTicket',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===3" @click="goUrlVisa('VisaProductOrder',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===4" @click="goUrl('SettlementOrder',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===6">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===6
||rowData.DataType===7||rowData.DataType===12
">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===8">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===9">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===10">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===11">{{rowData.TCID}}</span>
</div>
`
,
...
...
@@ -689,7 +696,11 @@ Vue.component("TCNUMJump", {
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===4" @click="goUrlExtend('SettlementOrder',rowData.TCID)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===6" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===7" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===12" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===8" @click="goAIR('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===9">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===10">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===11">{{rowData.TCNUM}}</span>
</div>`
,
props
:
{
rowData
:
{
...
...
@@ -712,6 +723,9 @@ Vue.component("TCNUMJump", {
if
(
rowData
.
DataType
===
7
){
BankID
=
15
;
}
if
(
rowData
.
DataType
===
12
){
BankID
=
19
;
}
if
(
rowData
.
TCNUM
.
indexOf
(
'JAP'
)
!=-
1
||
rowData
.
TCNUM
.
indexOf
(
'LAO'
)
!=-
1
){
StartDate
=
moment
(
rowData
.
StartDate
).
format
(
"YYYY-MM-DD"
);
}
...
...
src/components/Hotel/roomQuery.vue
View file @
9c1af0a3
...
...
@@ -381,7 +381,6 @@
});
}
this
.
dataList
=
sourceData
;
console
.
log
(
"this.dataList"
,
this
.
dataList
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
...
...
src/components/Restaurant/RestaurantSalesBoard.vue
View file @
9c1af0a3
<
style
>
/* 日期样式开始 */
.RestaurantSalesBoard
.month
ul
{
border-radius
:
4px
4px
0
0
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
background
:
#e95252
;
margin
:
0
;
padding
:
0
;
text-align
:
center
;
}
.RestaurantSalesBoard
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.RestaurantSalesBoard
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.RestaurantSalesBoard
.monthminus
{
position
:
absolute
;
left
:
0px
;
top
:
15px
;
}
.RestaurantSalesBoard
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
15px
;
}
.RestaurantSalesBoard
.month
ul
li
{
font-size
:
18px
;
color
:
#fff
;
position
:
relative
;
display
:
inline-block
;
letter-spacing
:
3px
;
}
.RestaurantSalesBoard
.month
ul
li
i
{
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
}
.RestaurantSalesBoard
.month
ul
li
>
input
{
text-align
:
center
;
}
.RestaurantSalesBoard
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#3fa783
;
display
:
flex
;
width
:
100%
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.weekdays
li
{
display
:
inline-block
;
width
:
14.2857%
;
text-align
:
center
;
}
.RestaurantSalesBoard
.days
{
width
:
100%
;
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
flex-wrap
:
wrap
;
box-sizing
:
border-box
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.days
>
li
{
list-style-type
:
none
;
width
:
14.2857%
;
height
:
140px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
float
:
left
;
color
:
#000
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
}
.RestaurantSalesBoard
.days
li
>
div
{
height
:
112px
;
width
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.RestaurantSalesBoard
.days
li
>
div
>
p
{
border-bottom
:
1px
dashed
#ccc
;
height
:
28px
;
line-height
:
28px
;
width
:
100%
;
text-indent
:
10px
;
}
.RestaurantSalesBoard
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
}
.RestaurantSalesBoard
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.RestaurantSalesBoard
.month
ul
{
border-radius
:
4px
4px
0
0
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
background
:
#e95252
;
margin
:
0
;
padding
:
0
;
text-align
:
center
;
}
.RestaurantSalesBoard
.ckStyle
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
font-weight
:
bold
;
background
:
#ccc
;
color
:
#000
;
}
.RestaurantSalesBoard
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.ckStyleOther
{
background
:
#dddddd
!important
;
font-weight
:
normal
!important
;
color
:
#999
;
}
.RestaurantSalesBoard
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.RestaurantSalesBoard
.Owe_Room
{
color
:
#e95252
;
}
.RestaurantSalesBoard
.Used_room
{
color
:
#13b0ae
;
}
.RestaurantSalesBoard
.otherMoth
{
background
:
#f2f2f2
;
}
.RestaurantSalesBoard
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.RestaurantSalesBoard
.monthminus
{
position
:
absolute
;
left
:
0px
;
top
:
15px
;
}
.RestaurantSalesBoard
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
15px
;
}
.RestaurantSalesBoard
.month
ul
li
{
font-size
:
18px
;
color
:
#fff
;
position
:
relative
;
display
:
inline-block
;
letter-spacing
:
3px
;
}
.RestaurantSalesBoard
.month
ul
li
i
{
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
}
.RestaurantSalesBoard
.month
ul
li
>
input
{
text-align
:
center
;
}
.RestaurantSalesBoard
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#3fa783
;
display
:
flex
;
width
:
100%
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.weekdays
li
{
display
:
inline-block
;
width
:
14.2857%
;
text-align
:
center
;
}
.RestaurantSalesBoard
.days
{
width
:
100%
;
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
flex-wrap
:
wrap
;
box-sizing
:
border-box
;
justify-content
:
space-around
;
}
.RestaurantSalesBoard
.days
>
li
{
list-style-type
:
none
;
width
:
14.2857%
;
height
:
140px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
float
:
left
;
color
:
#000
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
}
.RestaurantSalesBoard
.days
li
>
div
{
height
:
112px
;
width
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.RestaurantSalesBoard
.days
li
>
div
>
p
{
border-bottom
:
1px
dashed
#ccc
;
height
:
28px
;
line-height
:
28px
;
width
:
100%
;
text-indent
:
10px
;
}
.RestaurantSalesBoard
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
}
.RestaurantSalesBoard
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.RestaurantSalesBoard
.ckStyle
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
font-weight
:
bold
;
background
:
#ccc
;
color
:
#000
;
}
.RestaurantSalesBoard
.ckStyleOther
{
background
:
#dddddd
!important
;
font-weight
:
normal
!important
;
color
:
#999
;
}
.RestaurantSalesBoard
.Owe_Room
{
color
:
#e95252
;
}
.RestaurantSalesBoard
.Used_room
{
color
:
#13b0ae
;
}
.RestaurantSalesBoard
.otherMoth
{
background
:
#f2f2f2
;
}
.RestaurantSalesBoard
.title
{
height
:
14px
;
line-height
:
14px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
10px
;
margin
:
20px
0
;
}
.RestaurantSalesBoard
.hasStock_1
{
color
:
#FFFFFF
;
background-color
:
#ff3737
;
}
.RestaurantSalesBoard
.hasStock_2
{
background-color
:
#ff99cc
;
}
.RestaurantSalesBoard
.hasStock_3
{
background-color
:
#bcd6ee
;
}
.RestaurantSalesBoard
.hasStock_4
{
background-color
:
#ffffff
;
}
/* 日期样式结束*/
.RestaurantSalesBoard
.title
{
height
:
14px
;
line-height
:
14px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
10px
;
margin
:
20px
0
;
}
.RestaurantSalesBoard
.hasStock_1
{
color
:
#FFFFFF
;
background-color
:
#ff3737
;
}
.RestaurantSalesBoard
.hasStock_2
{
background-color
:
#ff99cc
;
}
.RestaurantSalesBoard
.hasStock_3
{
background-color
:
#bcd6ee
;
}
.RestaurantSalesBoard
.hasStock_4
{
background-color
:
#ffffff
;
}
/* 日期样式结束*/
</
style
>
<
template
>
<div
class=
"flexOne RestaurantSalesBoard"
>
...
...
@@ -190,6 +212,7 @@
</li>
<li
style=
"margin-right:50px;"
>
<button
class=
"normalBtn"
type=
"button"
@
click=
"GetHoltelInventory()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"DownLoadDinner()"
>
下载
</button>
</li>
</ul>
</div>
...
...
@@ -201,12 +224,14 @@
<ul>
<li>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"currentYear-=1,getDateString(),initCalendar(dateString)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
年
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
年
<i
class=
"el-icon-caret-right monthadd"
@
click=
"currentYear+=1,getDateString(),initCalendar(dateString)"
></i>
</li>
<li>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"pickPre(currentYear,currentMonth)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
月
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
月
<i
class=
"el-icon-caret-right monthadd"
@
click=
"pickNext(currentYear,currentMonth)"
></i>
</li>
</ul>
...
...
@@ -223,8 +248,9 @@
</ul>
<ul
class=
"days clearfix"
v-loading=
"msg.loading"
>
<li
v-for=
"(dayItem,index) in days"
:key=
"dayItem.index"
>
<p
class=
"ckStyle"
:class=
"
{ckStyleOther:dayItem.day.getMonth()+1 != currentMonth}">
{{
dayItem
.
day
.
getDate
()
}}
</p>
<div
@
click=
"goUrl('TicketManager',dayItem,'票务管理')"
>
<p
class=
"ckStyle"
:class=
"
{ckStyleOther:dayItem.day.getMonth()+1 != currentMonth}">
{{
dayItem
.
day
.
getDate
()
}}
</p>
<div>
<p
v-for=
"item in dayItem.dayValue"
>
<span
class=
"text_underLine"
>
{{
item
.
DinnerName
}}
(
{{
item
.
DiningNum
}}
)
</span>
</p>
...
...
@@ -270,17 +296,6 @@
}
else
if
(
type
===
4
)
{
return
'hasStock_4'
}
},
goUrl
(
path
,
obj
,
name
)
{
// this.$router.push({
// path: path,
// query: {
// id: obj.AirLineTicketId,
// blank: "y",
// tab: name
// }
// });
},
//格式化日期
getDateString
:
function
()
{
...
...
@@ -329,7 +344,7 @@
//点击获取酒店库存数据
GetHoltelInventory
()
{
this
.
msg
.
loading
=
true
;
var
that
=
this
;
var
that
=
this
;
this
.
apipost
(
"order_post_GetDinnerMonthStatistics"
,
this
.
msg
,
...
...
@@ -348,8 +363,8 @@
for
(
var
j
=
0
;
j
<
this
.
DayData
.
length
;
j
++
)
{
if
(
this
.
DayData
[
j
].
Day
==
myDate
)
{
dayItem
.
dayValue
=
this
.
DayData
[
j
].
SubList
;
this
.
DayData
[
j
].
SubList
.
forEach
(
sunItem
=>
{
that
.
TotalInventory
=
parseFloat
(
this
.
TotalInventory
)
+
parseFloat
(
sunItem
.
DiningNum
)
this
.
DayData
[
j
].
SubList
.
forEach
(
sunItem
=>
{
that
.
TotalInventory
=
parseFloat
(
this
.
TotalInventory
)
+
parseFloat
(
sunItem
.
DiningNum
)
});
}
}
...
...
@@ -370,6 +385,19 @@
},
err
=>
{}
);
},
//餐厅下载
DownLoadDinner
()
{
this
.
msg
.
loading
=
true
;
let
qMsg
=
{
queryMsg
:
this
.
msg
,
uid
:
this
.
getLocalStorage
().
EmployeeId
};
let
fileName
=
"餐厅下载"
+
this
.
$commonUtils
.
getCurrentDate
()
+
".xls"
;
this
.
GetLocalFile
(
"dinner_get_downloadDinner"
,
qMsg
,
fileName
,
res
=>
{
this
.
msg
.
loading
=
false
;
});
}
},
mounted
()
{
...
...
src/components/Restaurant/bookDinnerStatistics.vue
View file @
9c1af0a3
...
...
@@ -22,6 +22,14 @@
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li><span><em>
餐厅
</em>
<el-select
v-model=
"msg.QDiningID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
'0'
></el-option>
<el-option
v-for=
"item in DiningList"
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
</li>
...
...
@@ -175,7 +183,10 @@
EndDate
:
''
,
currentPage
:
1
,
total
:
0
,
QDiningID
:
0
,
//餐厅编号
},
//餐厅列表
DiningList
:
[],
LineList
:
[],
LineTeamList
:
[],
thLengthTitle
:
[],
...
...
@@ -292,6 +303,20 @@
}
},
err
=>
{})
},
//获取餐厅列表
GetDinnerList
()
{
this
.
DiningList
=
[];
this
.
apipost
(
"dining_post_GetList"
,
{
QCountry
:
651
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DiningList
=
res
.
data
.
data
;
}
}
);
}
},
mounted
()
{
let
myDate
=
new
Date
();
...
...
@@ -306,7 +331,8 @@
let
height
=
window
.
innerHeight
-
65
-
164
;
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
;
this
.
getList
()
this
.
GetDinnerList
();
this
.
getList
();
},
}
...
...
src/components/Ticketing/seatStatistics.vue
View file @
9c1af0a3
<
style
>
/* 日期样式开始 */
.seatStatistics
.month
ul
{
border-radius
:
4px
4px
0
0
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
background
:
#e95252
;
margin
:
0
;
padding
:
0
;
text-align
:
center
;
}
.seatStatistics
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.seatStatistics
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.seatStatistics
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.seatStatistics
.monthminus
{
position
:
absolute
;
left
:
0px
;
top
:
15px
;
}
.seatStatistics
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
15px
;
}
.seatStatistics
.month
ul
li
{
font-size
:
18px
;
color
:
#fff
;
position
:
relative
;
display
:
inline-block
;
letter-spacing
:
3px
;
}
.seatStatistics
.month
ul
li
i
{
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
}
.seatStatistics
.month
ul
li
>
input
{
text-align
:
center
;
}
.seatStatistics
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#3fa783
;
display
:
flex
;
width
:
100%
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.seatStatistics
.weekdays
li
{
display
:
inline-block
;
width
:
14.2857%
;
text-align
:
center
;
}
.seatStatistics
.days
li
:nth-child
(
7n-1
)
p
{
color
:
#e95252
!important
;
}
.seatStatistics
.days
li
:nth-child
(
7n
)
p
{
color
:
#e95252
!important
;
}
.seatStatistics
.days
{
width
:
100%
;
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
flex-wrap
:
wrap
;
box-sizing
:
border-box
;
justify-content
:
space-around
;
}
.seatStatistics
.days
>
li
{
list-style-type
:
none
;
width
:
14.2857%
;
height
:
140px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
float
:
left
;
color
:
#000
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
}
.seatStatistics
.days
li
>
div
{
height
:
112px
;
width
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.seatStatistics
.days
li
>
div
>
p
{
border-bottom
:
1px
dashed
#ccc
;
height
:
28px
;
line-height
:
28px
;
width
:
100%
;
text-indent
:
10px
;
background
:
#fff
;
}
.seatStatistics
.days
li
>
div
>
p
:nth-child
(
2n
)
{
background
:
#f5f5f5
;
}
.seatStatistics
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
}
.seatStatistics
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.seatStatistics
.addCompany
{
width
:
700px
;
}
.seatStatistics
.ckStyle
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
font-weight
:
bold
;
background
:
#ccc
;
color
:
#000
;
}
.seatStatistics
.ckStyleOther
{
background
:
#dddddd
!important
;
font-weight
:
normal
!important
;
color
:
#999
;
}
.seatStatistics
.el-dialog--center
.el-dialog__body
{
padding-top
:
0
;
}
.HB_Inventor
{
display
:
block
;
text-align
:
left
;
padding-top
:
8px
;
}
.HB_Inventor
>
span
{
display
:
block
;
padding-left
:
10px
;
font-size
:
12px
;
height
:
18px
;
margin-bottom
:
3px
;
}
.seatStatistics
.Owe_Room
{
color
:
#e95252
;
}
.seatStatistics
.Used_room
{
color
:
#13b0ae
;
}
.seatStatistics
.otherMoth
{
background
:
#f2f2f2
;
}
.seatStatistics
.weekendDay
{
color
:
#e95252
;
}
.seatStatistics
.title
{
height
:
14px
;
line-height
:
14px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
10px
;
margin
:
20px
0
;
}
/* 日期样式结束*/
/* 日期样式开始 */
.seatStatistics
.month
ul
{
border-radius
:
4px
4px
0
0
;
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
background
:
#e95252
;
margin
:
0
;
padding
:
0
;
text-align
:
center
;
}
.seatStatistics
.year-month
{
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
}
.seatStatistics
.year-month
>
input
{
width
:
100px
;
float
:
left
;
}
.seatStatistics
.arrow
{
padding
:
10px
;
font-style
:
normal
;
cursor
:
pointer
;
}
.seatStatistics
.monthminus
{
position
:
absolute
;
left
:
0px
;
top
:
15px
;
}
.seatStatistics
.monthadd
{
position
:
absolute
;
right
:
21px
;
top
:
15px
;
}
.seatStatistics
.month
ul
li
{
font-size
:
18px
;
color
:
#fff
;
position
:
relative
;
display
:
inline-block
;
letter-spacing
:
3px
;
}
.seatStatistics
.month
ul
li
i
{
font-size
:
22px
;
color
:
#ff7e7e
;
cursor
:
pointer
;
}
.seatStatistics
.month
ul
li
>
input
{
text-align
:
center
;
}
.seatStatistics
.weekdays
{
margin
:
0
;
padding
:
3px
0
;
background-color
:
#3fa783
;
display
:
flex
;
width
:
100%
;
flex-wrap
:
wrap
;
color
:
#fff
;
justify-content
:
space-around
;
}
.seatStatistics
.weekdays
li
{
display
:
inline-block
;
width
:
14.2857%
;
text-align
:
center
;
}
.seatStatistics
.days
li
:nth-child
(
7n-1
)
p
{
color
:
#e95252
!important
;
}
.seatStatistics
.days
li
:nth-child
(
7n
)
p
{
color
:
#e95252
!important
;
}
.seatStatistics
.days
{
width
:
100%
;
padding
:
0
;
margin
:
0
;
border-left
:
1px
solid
#dddddd
;
flex-wrap
:
wrap
;
box-sizing
:
border-box
;
justify-content
:
space-around
;
}
.seatStatistics
.days
>
li
{
list-style-type
:
none
;
width
:
14.2857%
;
height
:
140px
;
text-align
:
center
;
position
:
relative
;
font-size
:
12px
;
float
:
left
;
color
:
#000
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ddd
;
border-bottom
:
1px
solid
#ddd
;
}
.seatStatistics
.days
li
>
div
{
height
:
112px
;
width
:
100%
;
overflow-y
:
auto
;
text-align
:
left
;
}
.seatStatistics
.days
li
>
div
>
p
{
border-bottom
:
1px
dashed
#ccc
;
height
:
28px
;
line-height
:
28px
;
width
:
100%
;
text-indent
:
10px
;
background
:
#fff
;
}
.seatStatistics
.days
li
>
div
>
p
:nth-child
(
2n
)
{
background
:
#f5f5f5
;
}
.seatStatistics
.currentInput
{
width
:
120px
;
height
:
30px
;
border-radius
:
17px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
background
:
transparent
;
font-size
:
18px
;
}
.seatStatistics
.days
li
.other-month
{
display
:
inline-block
;
position
:
absolute
;
right
:
0
;
bottom
:
0
;
width
:
24px
;
height
:
17px
;
font-size
:
12px
;
line-height
:
17px
;
background-color
:
#cccccc
;
color
:
#fff
;
}
.seatStatistics
.addCompany
{
width
:
700px
;
}
.seatStatistics
.ckStyle
{
width
:
100%
;
height
:
28px
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
14px
;
font-weight
:
bold
;
background
:
#ccc
;
color
:
#000
;
}
.seatStatistics
.ckStyleOther
{
background
:
#dddddd
!important
;
font-weight
:
normal
!important
;
color
:
#999
;
}
.seatStatistics
.el-dialog--center
.el-dialog__body
{
padding-top
:
0
;
}
.HB_Inventor
{
display
:
block
;
text-align
:
left
;
padding-top
:
8px
;
}
.HB_Inventor
>
span
{
display
:
block
;
padding-left
:
10px
;
font-size
:
12px
;
height
:
18px
;
margin-bottom
:
3px
;
}
.seatStatistics
.Owe_Room
{
color
:
#e95252
;
}
.seatStatistics
.Used_room
{
color
:
#13b0ae
;
}
.seatStatistics
.otherMoth
{
background
:
#f2f2f2
;
}
.seatStatistics
.weekendDay
{
color
:
#e95252
;
}
.seatStatistics
.title
{
height
:
14px
;
line-height
:
14px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
10px
;
margin
:
20px
0
;
}
/* 日期样式结束*/
</
style
>
<
template
>
<div
class=
"flexOne seatStatistics"
>
...
...
@@ -196,12 +228,8 @@
<em>
{{
$t
(
'advmanager.v_line'
)
}}
</em>
<el-select
v-model=
"msg.QLineId"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"defaultSelectValue"
></el-option>
<el-option
v-for=
"item in LineList"
:key=
"item.LineID"
:label=
"item.LineName"
:value=
"item.LineID"
></el-option>
<el-option
v-for=
"item in LineList"
:key=
"item.LineID"
:label=
"item.LineName"
:value=
"item.LineID"
>
</el-option>
</el-select>
</span>
</li>
...
...
@@ -210,40 +238,23 @@
<em>
{{
$t
(
'system.table_goCity'
)
}}
</em>
<el-select
v-model=
"msg.QCityId"
:placeholder=
"$t('system.ph_in')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"defaultSelectValue"
></el-option>
<el-option
v-for=
"item in cityList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
<el-option
v-for=
"item in cityList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'admin.admin_czPerson'
)
}}
</em>
<el-select
v-model=
"msg.QCreateBy"
filterable
:placeholder=
"$t('system.ph_in')"
class=
"w120"
>
<el-select
v-model=
"msg.QCreateBy"
filterable
:placeholder=
"$t('system.ph_in')"
class=
"w120"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"defaultSelectValue"
></el-option>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
</el-select>
</span>
</li>
<li
style=
"margin-right:50px;"
>
<button
class=
"normalBtn"
type=
"button"
@
click=
"GetHoltelInventory()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"GetHoltelInventory()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"DownLoadAirticket()"
>
下载
</button>
</li>
</ul>
</div>
...
...
@@ -255,31 +266,15 @@
<div
class=
"month"
>
<ul>
<li>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"currentYear-=1,getDateString(),initCalendar(dateString)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
年
<i
class=
"el-icon-caret-right monthadd"
@
click=
"currentYear+=1,getDateString(),initCalendar(dateString)"
></i>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"currentYear-=1,getDateString(),initCalendar(dateString)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentYear"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
年
<i
class=
"el-icon-caret-right monthadd"
@
click=
"currentYear+=1,getDateString(),initCalendar(dateString)"
></i>
</li>
<li>
<i
class=
"el-icon-caret-left monthminus"
@
click=
"pickPre(currentYear,currentMonth)"
></i>
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
月
<input
type=
"text"
disabled=
"disabled"
v-model=
"currentMonth"
class=
"currentInput"
@
input=
"getDateString(),initCalendar(dateString)"
>
月
<i
class=
"el-icon-caret-right monthadd"
@
click=
"pickNext(currentYear,currentMonth)"
></i>
</li>
</ul>
...
...
@@ -294,18 +289,12 @@
<li
class=
"weekendDay"
>
{{
$t
(
'hotel.hotel_Saturday'
)
}}
</li>
<li
class=
"weekendDay"
>
{{
$t
(
'hotel.hotel_Sunday'
)
}}
</li>
</ul>
<ul
class=
"days clearfix"
>
<ul
class=
"days clearfix"
v-loading=
"loading"
>
<li
v-for=
"(dayobject,index) in days"
:key=
"dayobject.index"
>
<p
class=
"ckStyle"
:class=
"
{ckStyleOther:dayobject.day.getMonth()+1 != currentMonth}"
>
{{
dayobject
.
day
.
getDate
()
}}
(
{{
dayobject
.
TotalCount
}}
)
</p>
<p
class=
"ckStyle"
:class=
"
{ckStyleOther:dayobject.day.getMonth()+1 != currentMonth}">
{{
dayobject
.
day
.
getDate
()
}}
(
{{
dayobject
.
TotalCount
}}
)
</p>
<div
class=
"ownScrollbarStyle"
>
<p
class=
"over_ellipsis"
v-for=
"item in dayobject.listArr"
@
click=
"goUrl('TicketManager',item,'票务管理')"
>
<p
class=
"over_ellipsis"
v-for=
"item in dayobject.listArr"
@
click=
"goUrl('TicketManager',item,'票务管理')"
>
{{
item
.
AirLineTicketId
}}
{{
item
.
DepartureName
}}
-
...
...
@@ -319,178 +308,192 @@
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
Year
:
new
Date
().
Format
(
"yyyy"
),
Month
:
new
Date
().
Format
(
"MM"
),
//线路编号
QLineId
:
0
,
//出发城市
QCityId
:
0
,
//操作人
QCreateBy
:
""
,
FlightDate
:
""
},
//线路列表
LineList
:
[],
defaultSelectValue
:
0
,
//城市列表
cityList
:
[],
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
//每天的机位库存
DayData
:
[],
//员工列表
EmployeeList
:
[],
TotalCount
:
0
,
TotalSeat
:
0
};
},
methods
:
{
//获取线路列表
GetLineList
()
{
this
.
apipost
(
"line_post_GetAllList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
export
default
{
data
()
{
return
{
msg
:
{
Year
:
new
Date
().
Format
(
"yyyy"
),
Month
:
new
Date
().
Format
(
"MM"
),
//线路编号
QLineId
:
0
,
//出发城市
QCityId
:
0
,
//操作人
QCreateBy
:
""
,
FlightDate
:
""
},
err
=>
{}
);
//线路列表
LineList
:
[],
defaultSelectValue
:
0
,
//城市列表
cityList
:
[],
currentDay
:
1
,
currentMonth
:
1
,
currentYear
:
1970
,
currentWeek
:
1
,
days
:
[],
//每天的机位库存
DayData
:
[],
//员工列表
EmployeeList
:
[],
TotalCount
:
0
,
TotalSeat
:
0
,
loading
:
false
};
},
goUrl
(
path
,
obj
,
name
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
obj
.
AirLineTicketId
,
blank
:
"y"
,
tab
:
name
methods
:
{
//获取线路列表
GetLineList
()
{
this
.
apipost
(
"line_post_GetAllList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
goUrl
(
path
,
obj
,
name
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
obj
.
AirLineTicketId
,
blank
:
"y"
,
tab
:
name
}
});
},
//格式化日期
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
this
.
GetHoltelInventory
();
},
initCalendar
:
function
(
cur
)
{
var
newDays
=
this
.
$calendarUtils
.
createCalendar
(
cur
);
this
.
currentDay
=
newDays
.
CurrentDay
;
this
.
currentYear
=
newDays
.
CurrentYear
;
this
.
currentMonth
=
newDays
.
CurrentMonth
;
this
.
currentWeek
=
newDays
.
CurrentWeek
;
this
.
days
.
length
=
0
;
var
dateArray
=
newDays
.
DayArray
;
for
(
var
i
=
0
;
i
<
dateArray
.
length
;
i
++
)
{
var
d
=
dateArray
[
i
].
day
;
var
dayobject
=
{};
dayobject
.
day
=
d
;
this
.
days
.
push
(
dayobject
);
}
});
},
//格式化日期
getDateString
:
function
()
{
this
.
dateString
=
this
.
$calendarUtils
.
formatDate
(
this
.
currentYear
,
this
.
currentMonth
,
1
);
this
.
GetHoltelInventory
();
},
initCalendar
:
function
(
cur
)
{
var
newDays
=
this
.
$calendarUtils
.
createCalendar
(
cur
);
this
.
currentDay
=
newDays
.
CurrentDay
;
this
.
currentYear
=
newDays
.
CurrentYear
;
this
.
currentMonth
=
newDays
.
CurrentMonth
;
this
.
currentWeek
=
newDays
.
CurrentWeek
;
this
.
days
.
length
=
0
;
var
dateArray
=
newDays
.
DayArray
;
for
(
var
i
=
0
;
i
<
dateArray
.
length
;
i
++
)
{
var
d
=
dateArray
[
i
].
day
;
var
dayobject
=
{};
dayobject
.
day
=
d
;
this
.
days
.
push
(
dayobject
);
}
},
//点击左箭头切换年月
pickPre
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
0
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击右箭头切换年月
pickNext
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
35
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击获取酒店库存数据
GetHoltelInventory
()
{
this
.
msg
.
FlightDate
=
this
.
currentYear
+
"-"
+
this
.
currentMonth
+
"-01"
;
this
.
apipost
(
"AirTicket_get_GetMonthAirticketFlight"
,
this
.
msg
,
res
=>
{
this
.
DayData
=
res
.
data
.
data
;
this
.
TotalCount
=
0
;
this
.
TotalSeat
=
0
;
this
.
days
.
forEach
(
dayItem
=>
{
let
d
=
dayItem
.
day
;
let
myDate
=
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
d
.
getDate
()
);
for
(
var
j
=
0
;
j
<
this
.
DayData
.
length
;
j
++
)
{
if
(
this
.
DayData
[
j
].
DayStr
==
myDate
)
{
dayItem
.
listArr
=
this
.
DayData
[
j
].
SubList
;
dayItem
.
TotalCount
=
dayItem
.
listArr
.
length
;
dayItem
.
listArr
.
forEach
(
subItem
=>
{
this
.
TotalSeat
+=
subItem
.
TicketNum
;
});
this
.
TotalCount
+=
dayItem
.
TotalCount
;
},
//点击左箭头切换年月
pickPre
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
0
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击右箭头切换年月
pickNext
:
function
(
year
,
month
)
{
var
d
=
new
Date
(
this
.
$calendarUtils
.
formatDate
(
year
,
month
,
1
));
d
.
setDate
(
35
);
this
.
nowDate
=
d
.
getFullYear
()
+
"-"
+
(
d
.
getMonth
()
+
1
)
+
"-1"
;
this
.
initCalendar
(
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
1
)
);
this
.
GetHoltelInventory
();
},
//点击获取机票库存数据
GetHoltelInventory
()
{
this
.
loading
=
true
;
this
.
msg
.
FlightDate
=
this
.
currentYear
+
"-"
+
this
.
currentMonth
+
"-01"
;
this
.
apipost
(
"AirTicket_get_GetMonthAirticketFlight"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
this
.
DayData
=
res
.
data
.
data
;
this
.
TotalCount
=
0
;
this
.
TotalSeat
=
0
;
this
.
days
.
forEach
(
dayItem
=>
{
let
d
=
dayItem
.
day
;
let
myDate
=
this
.
$calendarUtils
.
formatDate
(
d
.
getFullYear
(),
d
.
getMonth
()
+
1
,
d
.
getDate
()
);
for
(
var
j
=
0
;
j
<
this
.
DayData
.
length
;
j
++
)
{
if
(
this
.
DayData
[
j
].
DayStr
==
myDate
)
{
dayItem
.
listArr
=
this
.
DayData
[
j
].
SubList
;
dayItem
.
TotalCount
=
dayItem
.
listArr
.
length
;
dayItem
.
listArr
.
forEach
(
subItem
=>
{
this
.
TotalSeat
+=
subItem
.
TicketNum
;
});
this
.
TotalCount
+=
dayItem
.
TotalCount
;
}
}
});
this
.
$forceUpdate
();
},
err
=>
{}
);
},
//获取中国下面的城市列表
getCityList
()
{
this
.
apipost
(
"Destination_get_GetCityListByCountryId"
,
{
Id
:
2
},
res
=>
{
this
.
cityList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
let
UserInfo
=
this
.
getLocalStorage
();
var
msg
=
{
GroupId
:
UserInfo
.
RB_Group_id
};
this
.
apipost
(
"admin_get_EmployeeGetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//机票导出
DownLoadAirticket
()
{
this
.
loading
=
true
;
var
fileName
=
"机票下载"
+
this
.
msg
.
Month
+
".xls"
;
this
.
GetLocalFile
(
"airticket_get_DownLoadAirticket"
,
this
.
msg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
});
this
.
$forceUpdate
();
},
err
=>
{}
);
},
//获取中国下面的城市列表
getCityList
()
{
this
.
apipost
(
"Destination_get_GetCityListByCountryId"
,
{
Id
:
2
},
res
=>
{
this
.
cityList
=
res
.
data
.
data
;
},
err
=>
{}
);
},
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
let
UserInfo
=
this
.
getLocalStorage
();
var
msg
=
{
GroupId
:
UserInfo
.
RB_Group_id
};
this
.
apipost
(
"admin_get_EmployeeGetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
mounted
()
{
//初始化日历
let
myDate
=
new
Date
();
this
.
currentYear
=
myDate
.
getFullYear
();
this
.
currentMonth
=
myDate
.
getMonth
()
+
1
;
this
.
getEmployeeList
();
this
.
getCityList
();
this
.
GetLineList
();
this
.
initCalendar
();
this
.
GetHoltelInventory
();
}
},
mounted
()
{
//初始化日历
let
myDate
=
new
Date
();
this
.
currentYear
=
myDate
.
getFullYear
();
this
.
currentMonth
=
myDate
.
getMonth
()
+
1
;
this
.
getEmployeeList
();
this
.
getCityList
();
this
.
GetLineList
();
this
.
initCalendar
();
this
.
GetHoltelInventory
();
}
};
};
</
script
>
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
9c1af0a3
...
...
@@ -489,9 +489,13 @@
:href=
"domainManager().ViittoFileUrl+item.WordPath"
>
{{$t('Operation.Op_downLoadword')}}
</a>
</p>
<p
class=
"travelnowrap"
v-if=
"item.ClearOrderHour>0"
>
<span>
已设定清位
</span>
<span>
同行清位时间
</span>
<span
class=
"TCL-greenType"
>
{{item.ClearOrderHour}}小时
</span>
</p>
<p
class=
"travelnowrap"
v-if=
"item.SaleClearOrderHour>0"
>
<span>
销售清位时间
</span>
<span
class=
"TCL-greenType"
>
{{item.SaleClearOrderHour}}小时
</span>
</p>
<p
v-if=
"item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "
>
<el-popover
width=
"980"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<commonHotelInfo
:HotelObj=
"item.HotelOrderListReports"
:showHotelObj=
"showHotelObj"
...
...
src/components/champion/dashboard.vue
0 → 100644
View file @
9c1af0a3
<
template
>
<div
class=
"inerank-container"
>
<div
:style=
"
{height:'100%',width:'100%'}" ref="myLineRank">
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:{
score
:{
type
:
Number
,
default
:
0
},
title
:{
type
:
String
,
default
:
''
}
},
data
()
{
return
{};
},
mounted
()
{
this
.
init
();
},
methods
:
{
init
()
{
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
myLineRank
);
let
option
=
{
series
:
[
{
name
:
"ze"
,
type
:
"gauge"
,
radius
:
"99%"
,
//仪表大小
// startAngle: 200, //开始角度
// endAngle: -20, //结束角度
min
:
0
,
max
:
100
,
splitNumber
:
5
,
data
:
[{
value
:
this
.
score
,
name
:
"ze"
}],
axisLine
:
{
show
:
false
,
lineStyle
:
{
color
:
[
[
(
this
.
score
/
100
),
new
this
.
$echarts
.
graphic
.
LinearGradient
(
1
,
0
,
0
,
0
,
[
{
offset
:
0
,
color
:
"#F7BF4Caa"
},
{
offset
:
1
,
color
:
"#F7BF4C00"
}
])
],
[
1
,
"#00000000"
]
],
width
:
25
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
show
:
false
},
pointer
:
{
//指针样式
length
:
"95%"
,
color
:
"#fff"
,
width
:
0
},
title
:
{
show
:
false
},
detail
:
{
show
:
false
}
},
{
name
:
this
.
title
,
type
:
"gauge"
,
radius
:
"100%"
,
//仪表大小
// startAngle: 200, //开始角度
// endAngle: -20, //结束角度
min
:
0
,
max
:
100
,
splitNumber
:
5
,
data
:
[{
value
:
this
.
score
,
name
:
this
.
title
}],
axisLine
:
{
show
:
false
,
lineStyle
:
{
// 属性lineStyle控制线条样式
color
:
[[
0.5
,
"#F7BF4C"
],
[
0.8
,
"#F7BF4C"
],
[
1
,
"#F7BF4C"
]],
// shadowColor: "#F7BF4C",
// shadowBlur: 250,
width
:
2
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
true
,
lineStyle
:
{
// 属性lineStyle控制线条样式
color
:
"#F7BF4C66"
,
width
:
1
}
},
axisLabel
:
{
show
:
false
},
pointer
:
{
//指针样式
length
:
"95%"
,
color
:
"#fff"
,
width
:
3
},
title
:
{
show
:
true
,
offsetCenter
:
[
0
,
"80%"
],
color
:
"#FFF"
,
fontSize
:
14
,
padding
:
5
,
fontFamily
:
"pingfangR"
},
detail
:
{
formatter
:
"{score|{value}}"
,
offsetCenter
:
[
0
,
0
],
backgroundColor
:
"#000000"
,
shadowColor
:
"#F7BF4C88"
,
shadowBlur
:
5
,
borderRadius
:
22
,
width
:
20
,
rich
:
{
score
:
{
color
:
"#FFF"
,
fontSize
:
22
,
padding
:
5
,
fontFamily
:
"pingfangR"
}
}
}
}
]
};
myChart
.
setOption
(
option
);
}
}
};
</
script
>
<
style
scoped
>
.inerank-container
{
height
:
100%
;
width
:
100%
;
}
</
style
>
src/components/champion/mycareer.vue
0 → 100644
View file @
9c1af0a3
<
template
>
<div
class=
"mycareer"
>
<div
class=
"title"
>
<div
class=
"star"
></div>
<div
class=
"company-name"
>
成都印象
</div>
<div
class=
"uerf"
>
<div
class=
"dept-name"
>
总部业务一组
</div>
<div
class=
"uer-name"
>
唐萍
</div>
</div>
<div
class=
"post-name"
>
销售经理
</div>
</div>
<div
class=
"uer-box"
>
<div
class=
"photo"
>
<img
src=
"http://imgfile.oytour.com/Upload/User/tangping.png"
/>
<div
class=
"zezhao"
></div>
<div
class=
"bottom"
></div>
</div>
<div
class=
"my-score"
>
<div
class=
"item"
>
<div
class=
"k"
>
综合能力
</div>
<div
class=
"v"
>
95
</div>
</div>
<div
class=
"item"
>
<div
class=
"k"
>
周冠
</div>
<div
class=
"v"
>
2
</div>
</div>
<div
class=
"item"
>
<div
class=
"k"
>
销售额排名
</div>
<div
class=
"v white"
>
#13
</div>
</div>
</div>
<div
class=
"dashboards"
>
<div
class=
"item"
>
<dashboard
:score=
"67"
title=
"名单开发"
></dashboard>
</div>
<div
class=
"item"
>
<dashboard
:score=
"20"
title=
"约访"
></dashboard>
</div>
<div
class=
"item"
>
<dashboard
:score=
"40"
title=
"探询需求"
></dashboard>
</div>
<div
class=
"item"
>
<dashboard
:score=
"41"
title=
"解决需求"
></dashboard>
</div>
<div
class=
"item"
>
<dashboard
:score=
"80"
title=
"说明成交"
></dashboard>
</div>
<div
class=
"item"
>
<dashboard
:score=
"19"
title=
"售后服务"
></dashboard>
</div>
</div>
</div>
<div
class=
"split"
></div>
<div
class=
"change-box"
>
<div
class=
"btn dis"
>
<i
class=
"el-icon-caret-left"
></i>
</div>
<div
class=
"option"
>
每日数据
</div>
<div
class=
"btn"
>
<i
class=
"el-icon-caret-right"
></i>
</div>
</div>
<div
class=
"data-box-before"
></div>
<div
class=
"data-box"
>
<div
class=
"tab-head"
ref=
"mycareerHead"
>
<table>
<thead>
<tr>
<th>
日期
</th>
<th>
新增同行
</th>
<th>
IM广告
</th>
<th>
IM互动
</th>
<th>
IM时长
</th>
<th>
同行PV
</th>
<th>
外出时长
</th>
<th>
完成计划
</th>
<th>
拜访计划
</th>
<th>
拜访同行
</th>
<th>
拜访同行2
</th>
<th>
拜访同行3
</th>
<th>
拜访同行4
</th>
<th>
拜访同行5
</th>
</tr>
</thead>
</table>
</div>
<div
class=
"lft-head"
>
<table>
<thead>
<tr>
<th>
时间
</th>
</tr>
</thead>
</table>
</div>
<div
class=
"lft-body"
ref=
"mycareerLeft"
>
<table>
<tbody>
<tr>
<td
class=
"odd"
>
7月1日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月2日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月3日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月4日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月5日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月6日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月7日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月8日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月9日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月10日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月11日
</td>
</tr>
<tr>
<td
class=
"odd"
>
7月12日
</td>
</tr>
</tbody>
</table>
</div>
<div
class=
"content-body"
ref=
"mycareerContent"
>
<table>
<tbody>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
<tr>
<td>
</td>
<td>
1
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
8
</td>
<td>
9
</td>
<td>
10
</td>
<td>
11
</td>
<td>
12
</td>
<td>
13
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</
template
>
<
script
>
import
dashboard
from
"./dashboard"
;
export
default
{
components
:
{
dashboard
},
mounted
()
{
this
.
$refs
.
mycareerContent
.
addEventListener
(
"scroll"
,
this
.
handleScroll
,
true
);
},
methods
:
{
handleScroll
()
{
this
.
$refs
.
mycareerLeft
.
scrollTop
=
this
.
$refs
.
mycareerContent
.
scrollTop
;
this
.
$refs
.
mycareerHead
.
scrollLeft
=
this
.
$refs
.
mycareerContent
.
scrollLeft
;
}
}
};
</
script
>
<
style
scoped
>
.mycareer
{
height
:
740px
;
width
:
1027px
;
background
:
url("../../assets/img/champion/bg.png")
;
position
:
relative
;
user-select
:
none
;
cursor
:
default
;
}
.mycareer
.title
{
width
:
554px
;
height
:
69px
;
background
:
url("../../assets/img/champion/title.png")
;
position
:
relative
;
z-index
:
2
;
margin
:
0
auto
;
display
:
flex
;
}
.mycareer
.title
.star
{
position
:
absolute
;
top
:
21px
;
left
:
154px
;
width
:
244px
;
height
:
16px
;
background
:
url("../../assets/img/champion/star.png")
;
}
.mycareer
.title
.company-name
{
font-size
:
18px
;
color
:
rgba
(
255
,
255
,
255
,
1
);
background
:
linear-gradient
(
0deg
,
rgba
(
246
,
134
,
15
,
1
)
0%
,
rgba
(
253
,
207
,
52
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
font-family
:
pingfangR
;
margin-top
:
17px
;
width
:
154px
;
text-align
:
center
;
}
.mycareer
.title
.uerf
{
flex
:
1
;
margin-top
:
12px
;
}
.mycareer
.title
.uerf
.dept-name
{
height
:
12px
;
font-size
:
12px
;
color
:
#ffffff
;
text-align
:
center
;
margin-bottom
:
4px
;
}
.mycareer
.title
.uerf
.uer-name
{
background
:
linear-gradient
(
0deg
,
rgba
(
246
,
134
,
15
,
1
)
0%
,
rgba
(
253
,
207
,
52
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
font-size
:
24px
;
font-family
:
pingfangR
;
font-weight
:
400
;
color
:
rgba
(
255
,
255
,
255
,
1
);
text-align
:
center
;
}
.mycareer
.title
.post-name
{
width
:
156px
;
text-align
:
center
;
margin-top
:
17px
;
font-family
:
pingfangR
;
font-size
:
18px
;
color
:
rgba
(
255
,
255
,
255
,
1
);
background
:
linear-gradient
(
0deg
,
rgba
(
163
,
169
,
164
,
1
)
0%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
.mycareer
.uer-box
{
margin-top
:
13px
;
display
:
flex
;
}
.mycareer
.uer-box
.photo
{
margin-left
:
81px
;
width
:
240px
;
height
:
240px
;
border-radius
:
50%
;
position
:
relative
;
}
.mycareer
.uer-box
.photo
img
{
width
:
240px
;
height
:
240px
;
border-radius
:
50%
;
position
:
absolute
;
/* top: 5px;
left: 5px; */
z-index
:
2
;
}
.mycareer
.uer-box
.photo
.zezhao
{
background
:
radial-gradient
(
circle
,
rgba
(
91
,
52
,
9
,
0
)
0%
,
rgba
(
0
,
0
,
0
,
1
)
74%
);
width
:
230px
;
height
:
230px
;
z-index
:
1
;
position
:
absolute
;
top
:
5px
;
left
:
5px
;
border-radius
:
50%
;
z-index
:
3
;
}
.mycareer
.uer-box
.photo
.bottom
{
width
:
177px
;
height
:
63px
;
left
:
33px
;
bottom
:
-29px
;
position
:
absolute
;
background
:
url("../../assets/img/champion/bottom.png")
;
z-index
:
1
;
}
.mycareer
.uer-box
.my-score
{
margin-left
:
38px
;
}
.mycareer
.uer-box
.my-score
.item
{
margin-top
:
27px
;
}
.mycareer
.uer-box
.my-score
.item
.k
{
font-family
:
pingfangR
;
font-size
:
14px
;
color
:
rgba
(
255
,
255
,
255
,
1
);
background
:
linear-gradient
(
0deg
,
rgba
(
163
,
169
,
164
,
1
)
0%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
.mycareer
.uer-box
.my-score
.item
.v
{
font-family
:
pingfangR
;
font-size
:
32px
;
color
:
rgba
(
255
,
255
,
255
,
1
);
background
:
linear-gradient
(
0deg
,
rgba
(
246
,
134
,
15
,
1
)
0%
,
rgba
(
253
,
207
,
52
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
.mycareer
.uer-box
.my-score
.item
.v.white
{
background
:
linear-gradient
(
0deg
,
rgba
(
163
,
169
,
164
,
1
)
0%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
.mycareer
.uer-box
.dashboards
{
margin-right
:
50px
;
flex
:
1
;
display
:
flex
;
margin-left
:
60px
;
flex-wrap
:
wrap
;
}
.mycareer
.uer-box
.dashboards
.item
{
width
:
120px
;
height
:
120px
;
margin-right
:
40px
;
margin-top
:
25px
;
}
.mycareer
.split
{
margin
:
10px
33px
0
32px
;
height
:
27px
;
background
:
url("../../assets/img/champion/split.png")
;
}
.mycareer
.change-box
{
width
:
250px
;
margin
:
5px
auto
;
display
:
flex
;
margin-bottom
:
0px
;
}
.mycareer
.change-box
.btn
{
width
:
35px
;
height
:
22px
;
background
:
rgba
(
255
,
179
,
57
,
1
);
opacity
:
0.8
;
border-radius
:
2px
;
color
:
#fff
;
cursor
:
pointer
;
font-size
:
12px
;
line-height
:
22px
;
text-align
:
center
;
box-shadow
:
0
0
5px
rgba
(
255
,
179
,
57
,
0.8
);
}
.mycareer
.change-box
.btn.dis
{
background
:
#333
;
cursor
:
no-drop
;
color
:
#ddd
;
box-shadow
:
0
0
5px
#333c
;
}
.mycareer
.change-box
.option
{
flex
:
1
;
text-align
:
center
;
color
:
#ffffff
;
font-size
:
14px
;
font-family
:
pingfangR
;
height
:
22px
;
line-height
:
22px
;
}
.mycareer
.data-box
{
overflow
:
hidden
;
position
:
absolute
;
bottom
:
39px
;
top
:
433px
;
left
:
33px
;
right
:
33px
;
z-index
:
2
;
}
.mycareer
.data-box
.tab-head
{
height
:
43px
;
overflow
:
hidden
;
}
.mycareer
.data-box
.lft-head
{
left
:
-1px
;
top
:
0
;
width
:
100px
;
overflow
:
hidden
;
right
:
unset
;
height
:
43px
;
position
:
absolute
;
background
:
url("../../assets/img/champion/head.png")
no-repeat
;
}
.mycareer
.data-box
.lft-body
{
left
:
-1px
;
top
:
43px
;
width
:
100px
;
bottom
:
6px
;
right
:
unset
;
position
:
absolute
;
overflow
:
hidden
;
z-index
:
3
;
}
.mycareer
.data-box
.content-body
{
left
:
-1px
;
top
:
43px
;
right
:
0
;
bottom
:
0px
;
position
:
absolute
;
overflow
:
auto
;
z-index
:
2
;
margin
:
0
2px
;
}
.mycareer
.data-box-before
{
display
:
block
;
position
:
absolute
;
z-index
:
1
;
background
:
url("../../assets/img/champion/head.png")
no-repeat
;
height
:
43px
;
content
:
" "
;
top
:
433px
;
left
:
33px
;
right
:
33px
;
}
.mycareer
.data-box
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
table-layout
:
fixed
;
}
.mycareer
.data-box
table
thead
th
{
height
:
43px
;
padding-top
:
10px
;
box-sizing
:
border-box
;
text-align
:
left
;
padding-left
:
10px
;
font-size
:
14px
;
font-family
:
pingfangR
;
color
:
rgba
(
255
,
168
,
53
,
1
);
min-width
:
80px
;
background
:
linear-gradient
(
0deg
,
rgba
(
163
,
169
,
164
,
1
)
0%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
}
.mycareer
.data-box
table
thead
th
{
min-width
:
100px
;
max-width
:
100px
;
}
.mycareer
.data-box
table
tbody
td
{
height
:
30px
;
line-height
:
30px
;
font-size
:
12px
;
color
:
rgba
(
255
,
168
,
53
,
1
);
background
:
linear-gradient
(
0deg
,
rgba
(
163
,
169
,
164
,
1
)
0%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
-webkit-background-clip
:
text
;
-webkit-text-fill-color
:
transparent
;
text-align
:
left
;
padding-left
:
10px
;
min-width
:
100px
;
max-width
:
100px
;
}
.mycareer
.data-box
table
tbody
td
.odd
{
background
:
#1d160b
;
color
:
#fff
;
-webkit-background-clip
:
unset
;
-webkit-text-fill-color
:
unset
;
}
.mycareer
.data-box
.content-body
::-webkit-scrollbar
{
/*滚动条整体样式*/
width
:
5px
;
/*高宽分别对应横竖滚动条的尺寸*/
height
:
5px
;
border
:
1px
solid
rgba
(
161
,
154
,
147
,
1
);
border-radius
:
5px
;
background
:
transparent
;
padding
:
2px
}
.mycareer
.data-box
.content-body
::-webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
height
:
4px
;
width
:
4px
;
background
:
rgba
(
222
,
186
,
102
,
1
);
border-radius
:
5px
;
}
.mycareer
.data-box
.content-body
::-webkit-scrollbar-track
{
/*滚动条里面轨道*/
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
5px
;
background
:
transparent
;
}
.mycareer
.data-box
.content-body
::-webkit-scrollbar-corner
{
color
:
transparent
;
}
</
style
>
src/components/dmc/manager/dmcTotalTable.vue
View file @
9c1af0a3
...
...
@@ -151,7 +151,7 @@
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"dmcTotalTable"
v-loading=
"loading"
>
<tr>
<th
colspan=
"11"
>
公司通用信息
</th>
<th
colspan=
"
5
"
>
团队需求表
</th>
<th
colspan=
"
6
"
>
团队需求表
</th>
<th
colspan=
"10"
>
地接op操作
</th>
</tr>
<tr>
...
...
@@ -168,6 +168,7 @@
<th
width=
"60"
>
导游
</th>
<th
width=
"60"
>
已开票
</th>
<th
width=
"60"
>
分房表
</th>
<th
width=
"60"
>
旅客名单
</th>
<th
width=
"60"
>
出团
<br
/>
通知书
</th>
<th
width=
"60"
>
导游
<br
/>
计划表
</th>
<th
width=
"60"
>
领队
<br
/>
交接表
</th>
...
...
@@ -277,6 +278,9 @@
<span
class=
"colorE95252"
v-else
>
{{
item
.
HouseResult
==
'-1'
?
"x"
:
"O"
}}
</span>
</div>
</td>
<td>
<a
style=
"text-decoration:underline;cursor:pointer;"
title=
"点击下载旅客名单"
@
click=
"DownLoadGuestList(item)"
>
旅客名单
</a>
</td>
<td>
<div
class=
"fz16 fbold linkspan"
>
<span
@
click=
"toTrip(item)"
style=
"color: #4BCA81;"
v-if=
"item.OutNotice==1"
>
√
</span>
...
...
@@ -329,9 +333,10 @@
</td>
<td>
<div
class=
"fz16 fbold linkspan"
@
click=
"goUrlBus('BusInfo',item,outItem,'车配信息')"
>
<span
style=
"color: #4BCA81;"
v-if=
"item.BusResult==1"
>
√
</span>
<span
class=
"colorE95252"
v-else
>
{{
item
.
BusResult
==
'-1'
?
"x"
:
"O"
}}
</span>
<div
class=
"fz16 fbold linkspan"
>
<span
style=
"color: #4BCA81;"
@
click=
"goUrlBus('BusInfo',item,outItem,'车配信息')"
v-if=
"item.BusResult==1"
>
√
</span>
<span
class=
"colorE95252"
@
click=
"goUrlBus('BusInfo',item,outItem,'车配信息')"
v-else
>
{{
item
.
BusResult
==
'-1'
?
"x"
:
"O"
}}
</span>
<span
@
click=
"GoShoupei(item)"
style=
"cursor:pointer;text-decoration:underline;display:block;color:#666;font-size:12px;"
>
车辆信息
</span>
</div>
</td>
<td>
...
...
@@ -340,8 +345,10 @@
<span
class=
"colorE95252"
v-else
>
{{
item
.
LeaderIsApply
==
'0'
?
"x"
:
"O"
}}
</span>
</div>
</td>
<td
:rowspan=
"2*outItem.PriceCommonList.length"
v-if=
'index==0'
>
<div
class=
"fz16 fbold linkspan"
@
click=
"goUrlLeaderIsApply('TravelPassengerList3',item,outItem,'合团分房表')"
v-if=
"outItem.PriceCommonList.length > 1"
>
<td
:rowspan=
"2*outItem.PriceCommonList.length"
v-if=
'index==0'
>
<div
class=
"fz16 fbold linkspan"
@
click=
"goUrlLeaderIsApply('TravelPassengerList3',item,outItem,'合团分房表')"
v-if=
"outItem.PriceCommonList.length > 1"
>
<span
style=
"color: #4BCA81;"
v-if=
"item.LeaderIsApply==2"
>
√
</span>
<span
class=
"colorE95252"
v-else
>
{{
item
.
LeaderIsApply
==
'0'
?
"x"
:
"O"
}}
</span>
</div>
...
...
@@ -476,23 +483,23 @@
<tr>
<th>
团号/时间
</th>
<template
v-for=
"(hItem,hIndex) in TeamHotelList"
>
<th>
{{
hItem
.
TCNUM
}}
<br
/>
(
{{
hItem
.
TCID
}}
)
</th>
<th>
{{
hItem
.
TCNUM
}}
<br
/>
(
{{
hItem
.
TCID
}}
)
</th>
</
template
>
</tr>
</template>
<
template
v-for=
"(hItem,hIndex) in TeamHotelList"
>
<template
v-for=
"(hSubItem,hSubIndex) in hItem.dayList"
>
<tr>
<td>
{{
hSubItem
.
UseTime
}}
</td>
<template
v-for=
"(hSubItem,hSubIndex) in hItem.dayList"
>
<tr>
<td>
{{
hSubItem
.
UseTime
}}
</td>
<td>
<template
v-if=
"hSubItem.subList&&hSubItem.subList.length>0"
>
{{
hSubItem
.
subList
[
0
].
NewHotelName
}}
</
template
>
</td>
</tr>
</template>
</tr>
</template>
</template>
</table>
<el-button
@
click=
"GetTeamHotelList(outItem.TCIDS)"
slot=
"reference"
...
...
@@ -505,7 +512,7 @@
</td>
</tr>
<tr>
<td
colspan=
"2
1
"
style=
"text-align: left!important;padding:0 20px;"
>
<td
colspan=
"2
2
"
style=
"text-align: left!important;padding:0 20px;"
>
<div
class=
"link"
>
<p
@
click=
"getJourney(item.ConfigID,item.Title)"
style=
"padding-top:4px;"
>
{{item.Title}}
</p>
<div
v-if=
"outItem.PriceCommonList[index].DMCNum && outItem.PriceCommonList[index].DMCNum!=''"
...
...
@@ -843,8 +850,8 @@
'NewCombinationNum'
:
outItem
.
NewCombinationNum
,
'LeaderName'
:
obj
.
LeaderName
,
'GuideName'
:
obj
.
GuideName
,
'IsCombine'
:
outItem
.
PriceCommonList
.
length
>
1
,
'NewTCIDs'
:
outItem
.
TCIDS
,
'IsCombine'
:
outItem
.
PriceCommonList
.
length
>
1
,
'NewTCIDs'
:
outItem
.
TCIDS
,
blank
:
'y'
,
tab
:
title
}
...
...
@@ -1017,6 +1024,34 @@
}
},
err
=>
{})
},
//下载旅客名单
DownLoadGuestList
(
item
)
{
this
.
loading
=
true
;
//导出报表
let
msg
=
{
TCID
:
item
.
TCID
};
var
fileName
=
"旅客名单.xls"
;
if
(
item
.
TCNUMS
!=
null
)
{
fileName
=
"【"
+
item
.
TCNUMS
+
"】旅客名单.xls"
;
}
this
.
GetLocalFile
(
"travel_get_GetTravelGuestExport_V2"
,
msg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
});
},
//跳转手配书
GoShoupei
(
item
)
{
this
.
$router
.
push
({
name
:
"busHandBook"
,
query
:
{
"TCID"
:
item
.
TCIDS
,
blank
:
'y'
,
tab
:
"手配依赖书"
}
})
}
},
mounted
()
{
let
myDate
=
new
Date
();
...
...
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