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
a28e0d25
Commit
a28e0d25
authored
Jul 16, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
68a9cf6e
8b9a671c
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1447 additions
and
132 deletions
+1447
-132
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+2
-2
leaderReimbursement.vue
src/components/LeaderManagement/leaderReimbursement.vue
+6
-2
Login.vue
src/components/Login.vue
+11
-8
enrollTotal.vue
src/components/SalesModule/enrollTotal.vue
+10
-2
groupTourOrder.vue
src/components/SalesModule/groupTourOrder.vue
+10
-0
groupTourOrderByTuan.vue
src/components/SalesModule/groupTourOrderByTuan.vue
+10
-0
salesHotelOrder.vue
src/components/SalesModule/salesHotelOrder.vue
+217
-0
OpHotelOrder.vue
src/components/TravelManager/TravelList/OpHotelOrder.vue
+217
-0
RegistrationList.vue
src/components/TravelManager/TravelList/RegistrationList.vue
+11
-3
todayOrderTotal.vue
src/components/TravelManager/TravelList/todayOrderTotal.vue
+13
-0
index.vue
src/components/personalCenter/index.vue
+2
-1
admissionStatisticsDetails.vue
src/components/scenicSpot/admissionStatisticsDetails.vue
+1
-0
scenicSpotInfoManage.vue
src/components/scenicSpot/scenicSpotInfoManage.vue
+4
-1
dailyAnalysis.vue
src/components/visualization/dailyAnalysis.vue
+560
-110
nianduduibi.vue
src/components/visualization/nianduduibi.vue
+155
-0
nianduzoushi.vue
src/components/visualization/nianduzoushi.vue
+201
-0
pingtai.vue
src/components/visualization/pingtai.vue
+0
-1
progress.vue
src/components/visualization/progress.vue
+1
-1
config.js
src/router/config.js
+16
-1
No files found.
src/components/Hotel/roomReservationsDetails.vue
View file @
a28e0d25
...
@@ -717,8 +717,8 @@
...
@@ -717,8 +717,8 @@
let
totalPrice
=
0
;
let
totalPrice
=
0
;
obj
.
OrderDetailsList
.
forEach
((
item
,
index
)
=>
{
obj
.
OrderDetailsList
.
forEach
((
item
,
index
)
=>
{
var
tempPrice
=
0
;
var
tempPrice
=
0
;
//税别
//税别
&& item.RebateRatio>0
if
(
obj
.
TaxType
==
2
&&
item
.
RebateRatio
>
0
)
{
if
(
obj
.
TaxType
==
2
)
{
tempPrice
=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
+
0.08
-
item
.
RebateRatio
/
100
);
tempPrice
=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
+
0.08
-
item
.
RebateRatio
/
100
);
}
else
{
}
else
{
tempPrice
=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
-
item
.
RebateRatio
/
100
);
tempPrice
=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
-
item
.
RebateRatio
/
100
);
...
...
src/components/LeaderManagement/leaderReimbursement.vue
View file @
a28e0d25
...
@@ -318,6 +318,7 @@
...
@@ -318,6 +318,7 @@
<th
width=
"100"
>
使用时间
</th>
<th
width=
"100"
>
使用时间
</th>
<th
width=
"180"
>
餐厅名称
</th>
<th
width=
"180"
>
餐厅名称
</th>
<th
width=
"100"
>
类别
</th>
<th
width=
"100"
>
类别
</th>
<th
width=
"100"
>
总人数
</th>
<th
width=
""
>
用餐人数
</th>
<th
width=
""
>
用餐人数
</th>
<th
width=
"80"
>
免费人数
</th>
<th
width=
"80"
>
免费人数
</th>
<th
width=
""
>
单价
</th>
<th
width=
""
>
单价
</th>
...
@@ -337,6 +338,9 @@
...
@@ -337,6 +338,9 @@
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
{{
subItem
.
UseDinnerTypeStr
}}
{{
subItem
.
UseDinnerTypeStr
}}
</td>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
{{
subItem
.
UseAccount
}}
</td>
<td>
<td>
{{
peopleStrToWord
(
childItem
.
PeopleType
)
}}
:
{{
childItem
.
PeopleNum
}}
{{
peopleStrToWord
(
childItem
.
PeopleType
)
}}
:
{{
childItem
.
PeopleNum
}}
</td>
</td>
...
@@ -730,8 +734,8 @@
...
@@ -730,8 +734,8 @@
let
totalPrice
=
0
;
let
totalPrice
=
0
;
obj
.
OrderDetailsList
.
forEach
((
item
,
index
)
=>
{
obj
.
OrderDetailsList
.
forEach
((
item
,
index
)
=>
{
if
(
obj
.
PayStyle
===
1
)
{
if
(
obj
.
PayStyle
===
1
)
{
//税别
//税别
&& item.RebateRatio>0
if
(
obj
.
TaxType
==
2
&&
item
.
RebateRatio
>
0
)
{
if
(
obj
.
TaxType
==
2
)
{
totalPrice
+=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
+
0.08
-
item
.
RebateRatio
/
100
);
totalPrice
+=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
1
+
0.08
-
item
.
RebateRatio
/
100
);
//税入
//税入
}
else
{
}
else
{
...
...
src/components/Login.vue
View file @
a28e0d25
...
@@ -304,14 +304,17 @@ export default {
...
@@ -304,14 +304,17 @@ export default {
this
.
$cookie
.
set
(
"RB_Group_id"
,
userData
.
RB_Group_id
);
this
.
$cookie
.
set
(
"RB_Group_id"
,
userData
.
RB_Group_id
);
localStorage
.
menu
=
JSON
.
stringify
(
firstTire
)
localStorage
.
menu
=
JSON
.
stringify
(
firstTire
)
this
.
loginState
=
0
;
this
.
loginState
=
0
;
let
previousPathInfo
=
localStorage
.
previousPathInfo
?
JSON
.
parse
(
localStorage
.
previousPathInfo
)
:
''
// let previousPathInfo = localStorage.previousPathInfo ? JSON.parse(localStorage.previousPathInfo) : ''
if
(
previousPathInfo
)
{
// if (previousPathInfo) {
let
path
=
previousPathInfo
.
path
.
indexOf
(
'login'
)
===
-
1
?
previousPathInfo
.
path
:
'index'
// let path = previousPathInfo.path.indexOf('login') === -1 ? previousPathInfo.path : 'index'
let
query
=
previousPathInfo
.
query
?
previousPathInfo
.
query
:
{}
// let query = previousPathInfo.query ? previousPathInfo.query : {}
this
.
$router
.
push
({
path
:
"/"
+
path
,
query
:
query
});
// this.$router.push({ path: "/"+ path, query: query });
}
else
{
// }else {
this
.
$router
.
push
({
path
:
"/index"
});
// this.$router.push({ path: "/index" });
}
// }
this
.
$router
.
push
({
path
:
"/personalCenter"
});
//登录成功后跳转页面
//登录成功后跳转页面
// this.$notify.success({
// this.$notify.success({
// title:'提示',
// title:'提示',
...
...
src/components/SalesModule/enrollTotal.vue
View file @
a28e0d25
...
@@ -209,8 +209,16 @@
...
@@ -209,8 +209,16 @@
<p
v-if=
"item.tradeWay ==1"
>
{{
item
.
platformOrder
}}
</p>
<p
v-if=
"item.tradeWay ==1"
>
{{
item
.
platformOrder
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<div
v-if=
"item.extraRewardMoney!=null&&item.extraRewardMoney>0"
>
奖励金额:
<span
style=
"color:#e95252"
>
{{
item
.
extraRewardMoney
}}
</span></div>
<div>
<div
v-if=
"item.extraDeductMoney!=null&&item.extraDeductMoney>0"
>
扣除金额:
<span
style=
"color:#e95252"
>
{{
item
.
extraDeductMoney
}}
</span></div>
<div
style=
"color:green"
v-if=
"item.commissionMoney==''||item.commissionMoney=='-1'"
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
<div
style=
"color:red"
v-else
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
</div>
</td>
</td>
<td>
<td>
<p
class=
"over_ellipsis"
style=
"width: 150px;"
:title=
"item.contactName"
>
{{
item
.
contactName
}}
</p>
<p
class=
"over_ellipsis"
style=
"width: 150px;"
:title=
"item.contactName"
>
{{
item
.
contactName
}}
</p>
...
...
src/components/SalesModule/groupTourOrder.vue
View file @
a28e0d25
...
@@ -1532,6 +1532,16 @@
...
@@ -1532,6 +1532,16 @@
<p
v-if=
"item.tradeWay ==1"
>
{{
item
.
platformOrder
}}
</p>
<p
v-if=
"item.tradeWay ==1"
>
{{
item
.
platformOrder
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<div>
<div
style=
"color:green"
v-if=
"item.commissionMoney==''||item.commissionMoney=='-1'"
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
<div
style=
"color:red"
v-else
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
</div>
</td>
</td>
<td>
<td>
<p
class=
"fz12 over_ellipsis"
style=
"width: 120px;"
:title=
"item.contactName"
>
{{
item
.
contactName
}}
</p>
<p
class=
"fz12 over_ellipsis"
style=
"width: 120px;"
:title=
"item.contactName"
>
{{
item
.
contactName
}}
</p>
...
...
src/components/SalesModule/groupTourOrderByTuan.vue
View file @
a28e0d25
...
@@ -1671,6 +1671,16 @@
...
@@ -1671,6 +1671,16 @@
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<p
v-else-if=
"item.latestCommissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
</
template
>
</
template
>
<div>
<div
style=
"color:green"
v-if=
"item.commissionMoney==''||item.commissionMoney=='-1'"
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:{{item.extraRewardMoney}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:{{item.extraDeductMoney}}
</p>
</div>
<div
style=
"color:red"
v-else
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:{{item.extraRewardMoney}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:{{item.extraDeductMoney}}
</p>
</div>
</div>
</td>
</td>
<td>
<td>
<p
v-if=
'item.isOwn==1||userId==1||userId==5||positionId==168 || isUpdateOrder'
<p
v-if=
'item.isOwn==1||userId==1||userId==5||positionId==168 || isUpdateOrder'
...
...
src/components/SalesModule/salesHotelOrder.vue
0 → 100644
View file @
a28e0d25
<
style
>
.SalesHotelOrder
.SalesHotelOrderTable
{
width
:
100%
;
min-width
:
1500px
;
font-size
:
14px
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
border-collapse
:
collapse
;
}
.SalesHotelOrder
.SalesHotelOrderTable
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tr
td
{
height
:
60px
;
padding
:
10px
;
background-color
:
#fff
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tbody
tr
:last-child
{
border-bottom
:
2px
solid
#333
;
}
.SalesHotelOrder
.SH_beizhu
{
float
:
left
;
}
.SalesHotelOrder
.SH_beizhuInner
{
float
:
left
;
width
:
85%
;
}
.SalesHotelOrder
.SH_OrderDan
>
div
{
display
:
inline-block
;
}
</
style
>
<
template
>
<div
class=
"flexOne SalesHotelOrder"
>
<div
class=
"query-box"
>
<ul>
<li>
<span><em>
酒店订单号
</em>
<el-input
v-model=
'msg.ThirdOrderNo'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
入住开始时间
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"msg.StartTime"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
入住结束时间
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"msg.EndTime"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"resetPageIndex();getList()"
:value=
"$t('pub.searchBtn')"
/>
</li>
</ul>
</div>
<table
class=
"SalesHotelOrderTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
订单号
</th>
<th>
客户信息
</th>
<th>
房间数
</th>
<th>
总价格
</th>
<th>
总收入
</th>
<th>
抵扣金额
</th>
<th>
优惠金额
</th>
<th>
待收金额
</th>
<th>
订单状态
</th>
<th>
创建时间
</th>
<th>
入住时间
</th>
<th>
离店时间
</th>
<th>
取消费用
</th>
<!--
<th>
操作
</th>
-->
</tr>
<tbody
v-for=
"(item,index) in dataList"
>
<tr>
<td
style=
"border-bottom:2px solid #333"
rowspan=
"2"
>
{{
item
.
ThirdOrderNo
}}
</td>
<td>
{{
item
.
Number
}}
</td>
<td>
<div>
{{
item
.
CustomerName
}}
</div>
<div>
{{
item
.
CustomerPhone
}}
</div>
</td>
<td>
{{
item
.
TotalPrice
}}
</td>
<td>
{{
item
.
Income
}}
</td>
<td>
{{
item
.
RedEnvelopeMoney
}}
</td>
<td>
{{
item
.
DiscountMoney
}}
</td>
<td>
{{
item
.
DueinMoney
}}
</td>
<td>
{{
item
.
OrderStatus
}}
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
CheckInStr
}}
</td>
<td>
{{
item
.
CheckOutStr
}}
</td>
<td>
{{
item
.
CancelFee
}}
</td>
<!--
<td>
详情
</td>
-->
</tr>
<tr>
<td
colspan=
"6"
style=
"text-align:left;width:600px"
>
<div
class=
"clearfix"
>
<div
class=
"SH_beizhu"
style=
""
>
备注:
</div>
<div
class=
"SH_beizhuInner"
>
{{
item
.
Remark
}}
</div>
</div>
</td>
<td
colspan=
"6"
style=
"text-align:left;width:600px"
>
<div
class=
"SH_OrderDan"
>
<div>
收款单据:
</div>
<div>
<span
v-for=
"subItem in item.FinanceList"
>
{{
item
.
frID
}}
</span>
<span
v-if=
"item.FinanceList==0"
>
暂无数据
</span>
</div>
</div>
<div
class=
"SH_OrderDan"
>
<div>
付款单据:
</div>
<div>
<span
v-for=
"subItem in item.RefundFinanceList"
>
{{
item
.
frID
}}
</span>
<span
v-if=
"item.RefundFinanceList==0"
>
暂无数据
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<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>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
Source
:
-
1
,
ThirdOrderNo
:
''
,
StartTime
:
''
,
EndTime
:
''
,
GetOrderType
:
0
},
total
:
0
,
currentPage
:
1
,
loading
:
false
,
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
EndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
EndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
StartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
dataList
:
[],
};
},
methods
:
{
getList
()
{
//获取现有线路列表
this
.
loading
=
true
;
this
.
apipost
(
"sellorder_post_GetJapanHotelOrderList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
console
.
log
(
res
,
'resssss'
);
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
},
mounted
()
{
this
.
getList
();
}
};
</
script
>
src/components/TravelManager/TravelList/OpHotelOrder.vue
0 → 100644
View file @
a28e0d25
<
style
>
.SalesHotelOrder
.SalesHotelOrderTable
{
width
:
100%
;
min-width
:
1500px
;
font-size
:
14px
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
border-collapse
:
collapse
;
}
.SalesHotelOrder
.SalesHotelOrderTable
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tr
td
{
height
:
60px
;
padding
:
10px
;
background-color
:
#fff
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tbody
tr
:last-child
{
border-bottom
:
2px
solid
#333
;
}
.SalesHotelOrder
.SH_beizhu
{
float
:
left
;
}
.SalesHotelOrder
.SH_beizhuInner
{
float
:
left
;
width
:
85%
;
}
.SalesHotelOrder
.SH_OrderDan
>
div
{
display
:
inline-block
;
}
</
style
>
<
template
>
<div
class=
"flexOne SalesHotelOrder"
>
<div
class=
"query-box"
>
<ul>
<li>
<span><em>
酒店订单号
</em>
<el-input
v-model=
'msg.ThirdOrderNo'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
入住开始时间
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"msg.StartTime"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
入住结束时间
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"msg.EndTime"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"resetPageIndex();getList()"
:value=
"$t('pub.searchBtn')"
/>
</li>
</ul>
</div>
<table
class=
"SalesHotelOrderTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
订单号
</th>
<th>
客户信息
</th>
<th>
房间数
</th>
<th>
总价格
</th>
<th>
总收入
</th>
<th>
抵扣金额
</th>
<th>
优惠金额
</th>
<th>
待收金额
</th>
<th>
订单状态
</th>
<th>
创建时间
</th>
<th>
入住时间
</th>
<th>
离店时间
</th>
<th>
取消费用
</th>
<!--
<th>
操作
</th>
-->
</tr>
<tbody
v-for=
"(item,index) in dataList"
>
<tr>
<td
style=
"border-bottom:2px solid #333"
rowspan=
"2"
>
{{
item
.
ThirdOrderNo
}}
</td>
<td>
{{
item
.
Number
}}
</td>
<td>
<div>
{{
item
.
CustomerName
}}
</div>
<div>
{{
item
.
CustomerPhone
}}
</div>
</td>
<td>
{{
item
.
TotalPrice
}}
</td>
<td>
{{
item
.
Income
}}
</td>
<td>
{{
item
.
RedEnvelopeMoney
}}
</td>
<td>
{{
item
.
DiscountMoney
}}
</td>
<td>
{{
item
.
DueinMoney
}}
</td>
<td>
{{
item
.
OrderStatus
}}
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
CheckInStr
}}
</td>
<td>
{{
item
.
CheckOutStr
}}
</td>
<td>
{{
item
.
CancelFee
}}
</td>
<!--
<td>
详情
</td>
-->
</tr>
<tr>
<td
colspan=
"6"
style=
"text-align:left;width:600px"
>
<div
class=
"clearfix"
>
<div
class=
"SH_beizhu"
style=
""
>
备注:
</div>
<div
class=
"SH_beizhuInner"
>
{{
item
.
Remark
}}
</div>
</div>
</td>
<td
colspan=
"6"
style=
"text-align:left;width:600px"
>
<div
class=
"SH_OrderDan"
>
<div>
收款单据:
</div>
<div>
<span
v-for=
"subItem in item.FinanceList"
>
{{
item
}}
</span>
<span
v-if=
"item.FinanceList==0"
>
暂无数据
</span>
</div>
</div>
<div
class=
"SH_OrderDan"
>
<div>
付款单据:
</div>
<div>
<span
v-for=
"subItem in item.RefundFinanceList"
>
{{
item
}}
</span>
<span
v-if=
"item.RefundFinanceList==0"
>
暂无数据
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<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>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
Source
:
-
1
,
ThirdOrderNo
:
''
,
StartTime
:
''
,
EndTime
:
''
,
GetOrderType
:
1
},
total
:
0
,
currentPage
:
1
,
loading
:
false
,
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
EndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
EndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
StartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
dataList
:
[],
};
},
methods
:
{
getList
()
{
//获取现有线路列表
this
.
loading
=
true
;
this
.
apipost
(
"sellorder_post_GetJapanHotelOrderList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
console
.
log
(
res
,
'resssss'
);
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
},
mounted
()
{
this
.
getList
();
}
};
</
script
>
src/components/TravelManager/TravelList/RegistrationList.vue
View file @
a28e0d25
...
@@ -1805,6 +1805,17 @@
...
@@ -1805,6 +1805,17 @@
<p
v-if=
'childItem.CommissionMoney'
style=
"color:red"
>
提成:
{{
childItem
.
CommissionMoney
}}
</p>
<p
v-if=
'childItem.CommissionMoney'
style=
"color:red"
>
提成:
{{
childItem
.
CommissionMoney
}}
</p>
<p
v-else-if=
"childItem.LatestCommissionMoney"
style=
"color:red"
>
提成:
{{
childItem
.
LatestCommissionMoney
}}
<p
v-else-if=
"childItem.LatestCommissionMoney"
style=
"color:red"
>
提成:
{{
childItem
.
LatestCommissionMoney
}}
</p>
</p>
<div>
<div
style=
"color:green"
v-if=
"childItem.CommissionMoney==''||childItem.CommissionMoney=='-1'"
>
<p
v-if=
"childItem.ExtraRewardMoney>0"
>
额外奖励金额:
{{
childItem
.
ExtraRewardMoney
}}
</p>
<p
v-if=
"childItem.ExtraDeductMoney>0"
>
额外扣除金额:
{{
childItem
.
ExtraDeductMoney
}}
</p>
</div>
<div
style=
"color:red"
v-else
>
<p
v-if=
"childItem.ExtraRewardMoney>0"
>
额外奖励金额:
{{
childItem
.
ExtraRewardMoney
}}
</p>
<p
v-if=
"childItem.ExtraDeductMoney>0"
>
额外扣除金额:
{{
childItem
.
ExtraDeductMoney
}}
</p>
</div>
</div>
</td>
</td>
<td>
<td>
<p
v-if=
"childItem.IsOwn==1||userId==1||userId==5"
class=
"fz12 over_ellipsis"
style=
"width:90%;"
<p
v-if=
"childItem.IsOwn==1||userId==1||userId==5"
class=
"fz12 over_ellipsis"
style=
"width:90%;"
...
@@ -3155,7 +3166,6 @@
...
@@ -3155,7 +3166,6 @@
});
});
},
},
getRedBag
(
item
){
getRedBag
(
item
){
console
.
log
(
item
);
let
msg
=
{
let
msg
=
{
CustomerId
:
item
.
CustomerId
,
CustomerId
:
item
.
CustomerId
,
pageIndex
:
1
,
pageIndex
:
1
,
...
@@ -3249,7 +3259,6 @@
...
@@ -3249,7 +3259,6 @@
},
},
// 点击弹出下拉框
// 点击弹出下拉框
getDetail
(
obj
)
{
getDetail
(
obj
)
{
console
.
log
(
obj
)
this
.
Ysze
=
false
;
this
.
Ysze
=
false
;
this
.
starTime
=
obj
.
StartDate
;
this
.
starTime
=
obj
.
StartDate
;
this
.
endTime
=
obj
.
BackDate
;
this
.
endTime
=
obj
.
BackDate
;
...
@@ -3847,7 +3856,6 @@
...
@@ -3847,7 +3856,6 @@
}
}
},
},
getTotalPrice
(
t
)
{
getTotalPrice
(
t
)
{
console
.
log
(
t
)
if
(
t
===
3
)
{
if
(
t
===
3
)
{
if
(
parseFloat
(
this
.
addMsg
.
Unit_Price
).
toString
()
===
"NaN"
)
{
if
(
parseFloat
(
this
.
addMsg
.
Unit_Price
).
toString
()
===
"NaN"
)
{
this
.
$message
.
error
(
'请输入正确的价格!'
)
this
.
$message
.
error
(
'请输入正确的价格!'
)
...
...
src/components/TravelManager/TravelList/todayOrderTotal.vue
View file @
a28e0d25
...
@@ -222,6 +222,19 @@
...
@@ -222,6 +222,19 @@
<p
class=
"fz12 over_ellipsis"
>
下单时间:
{{
item
.
createDate
}}
</p>
<p
class=
"fz12 over_ellipsis"
>
下单时间:
{{
item
.
createDate
}}
</p>
<p
class=
"fz12 over_ellipsis"
style=
"width: 100%;"
>
<p
class=
"fz12 over_ellipsis"
style=
"width: 100%;"
>
{{
item
.
commissionSPeopleName
==
'无'
?
''
:
item
.
commissionSPeopleName
}}
</p>
{{
item
.
commissionSPeopleName
==
'无'
?
''
:
item
.
commissionSPeopleName
}}
</p>
<p
v-if=
'item.commissionMoney'
style=
"color:red"
>
提成:
{{
item
.
commissionMoney
}}
</p>
<p
v-else-if=
"item.commissionMoney"
style=
"color:red"
>
提成:
{{
item
.
latestCommissionMoney
}}
</p>
<div>
<div
style=
"color:green"
v-if=
"item.commissionMoney==''||item.commissionMoney=='-1'"
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
<div
style=
"color:red"
v-else
>
<p
v-if=
"item.extraRewardMoney>0"
>
额外奖励金额:
{{
item
.
extraRewardMoney
}}
</p>
<p
v-if=
"item.extraDeductMoney>0"
>
额外扣除金额:
{{
item
.
extraDeductMoney
}}
</p>
</div>
</div>
</td>
</td>
<td>
<td>
<p
class=
"fz12 over_ellipsis"
style=
"width: 100%;"
>
{{
item
.
orderTypeName
}}
</p>
<p
class=
"fz12 over_ellipsis"
style=
"width: 100%;"
>
{{
item
.
orderTypeName
}}
</p>
...
...
src/components/personalCenter/index.vue
View file @
a28e0d25
...
@@ -181,7 +181,8 @@ export default {
...
@@ -181,7 +181,8 @@ export default {
},
},
result
:
null
,
result
:
null
,
orders
:
[],
orders
:
[],
pageLoading
:
false
pageLoading
:
false
,
};
};
},
},
components
:
{
components
:
{
...
...
src/components/scenicSpot/admissionStatisticsDetails.vue
View file @
a28e0d25
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
<ul>
<ul>
<li>
<li>
<input
v-if=
"IsOperation !=1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存"
@
click=
"saveList(1)"
/>
<input
v-if=
"IsOperation !=1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存"
@
click=
"saveList(1)"
/>
<input
style=
"display:none;"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存"
@
click=
"saveList(1)"
/>
<input
v-if=
"IsOperation !=1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存草稿"
@
click=
"saveList(0)"
/>
<input
v-if=
"IsOperation !=1"
type=
"button"
class=
"fr normalBtn mb30"
value=
"保存草稿"
@
click=
"saveList(0)"
/>
</li>
</li>
</ul>
</ul>
...
...
src/components/scenicSpot/scenicSpotInfoManage.vue
View file @
a28e0d25
...
@@ -739,6 +739,9 @@
...
@@ -739,6 +739,9 @@
<el-switch
v-model=
"isBook"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
active-text=
"供应商"
<el-switch
v-model=
"isBook"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
active-text=
"供应商"
inactive-text=
"自订"
></el-switch>
inactive-text=
"自订"
></el-switch>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否包含领队"
>
<el-switch
v-model=
"addMsg.IsIncludeLeader"
:active-value=
"0"
:inactive-value=
"1"
></el-switch>
</el-form-item>
</div>
</div>
<span
class=
"resource-lititle"
>
{{
$t
(
'hotel.hotel_imgintroduce'
)
}}
</span>
<span
class=
"resource-lititle"
>
{{
$t
(
'hotel.hotel_imgintroduce'
)
}}
</span>
<div
class=
"resource-list"
>
<div
class=
"resource-list"
>
...
@@ -893,6 +896,7 @@
...
@@ -893,6 +896,7 @@
PayStyle
:
0
,
PayStyle
:
0
,
PlayTimeHour
:
""
,
//游玩小时
PlayTimeHour
:
""
,
//游玩小时
PlayTimeMinutes
:
""
,
//游玩分钟
PlayTimeMinutes
:
""
,
//游玩分钟
IsIncludeLeader
:
0
,
//是否包含领队:0-包含,1-不包含
},
},
rules
:
{
rules
:
{
//表单必填验证
//表单必填验证
...
@@ -1127,7 +1131,6 @@
...
@@ -1127,7 +1131,6 @@
);
);
},
},
goUrl
(
path
)
{
goUrl
(
path
)
{
// this.$router.push({ path: path });
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
path
,
path
:
path
,
query
:
{
query
:
{
...
...
src/components/visualization/dailyAnalysis.vue
View file @
a28e0d25
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<div
class=
"daliy"
v-loading=
"loading"
v-if=
"result"
:style=
"
{zoom:zoomW}">
<div
class=
"daliy"
v-loading=
"loading"
v-if=
"result"
:style=
"
{zoom:zoomW}">
<div
class=
"head"
>
<div
class=
"head"
>
<div
class=
"name"
>
销售结果分析
</div>
<div
class=
"name"
>
销售结果分析
</div>
<div
class=
"nav-item
active
"
>
日常销售分析
</div>
<div
class=
"nav-item
"
:class=
"
{'active':tab==0}" @click="changeTabHandler(0)
">日常销售分析
</div>
<div
class=
"nav-item"
>
年度数据统计
</div>
<div
class=
"nav-item"
:class=
"
{'active':tab==1}" @click="changeTabHandler(1)"
>年度数据统计
</div>
<!--
<div
class=
"travelData"
>
<!--
<div
class=
"travelData"
>
出团日期:
出团日期:
<span
class=
"ipt"
>
<span
class=
"ipt"
>
...
@@ -16,8 +16,9 @@
...
@@ -16,8 +16,9 @@
<div
class=
"right-bottom-border-samll"
></div>
<div
class=
"right-bottom-border-samll"
></div>
<input
v-model=
"endTime"
readonly
/>
<input
v-model=
"endTime"
readonly
/>
</span>
</span>
</div>
-->
</div>
-->
</div>
</div>
<div
v-if=
"tab==0"
>
<div
class=
"base-box"
>
<div
class=
"base-box"
>
<div
class=
"base-item"
>
<div
class=
"base-item"
>
<div
class=
"rightbox"
></div>
<div
class=
"rightbox"
></div>
...
@@ -92,7 +93,10 @@
...
@@ -92,7 +93,10 @@
<div
class=
"item"
style=
"color:#5D78FF;"
>
<div
class=
"item"
style=
"color:#5D78FF;"
>
<span
class=
"blod"
>
20%
</span>
<span
class=
"blod"
>
20%
</span>
<br
/>
亏损率
<br
/>
亏损率
<div
class=
"progress"
style=
"clip: rect(0px, 100px, 20px, 0px);border-color:#5D78FF;"
></div>
<div
class=
"progress"
style=
"clip: rect(0px, 100px, 20px, 0px);border-color:#5D78FF;"
></div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -101,7 +105,12 @@
...
@@ -101,7 +105,12 @@
<div
class=
"sq-block-left"
></div>
<div
class=
"sq-block-left"
></div>
<div
class=
"t"
>
订单类别销售占比
</div>
<div
class=
"t"
>
订单类别销售占比
</div>
<div
class=
"c lirun"
>
<div
class=
"c lirun"
>
<div
class=
"more-items"
:style=
"
{'margin-right':index==result.OrderB2BTypeList.length?'0px':'20px'}" v-for="(item, index) in result.OrderB2BTypeList" :key="index">
<div
class=
"more-items"
:style=
"
{'margin-right':index==result.OrderB2BTypeList.length?'0px':'20px'}"
v-for="(item, index) in result.OrderB2BTypeList"
:key="index"
>
<progressAny
:percent=
"item.Ratio"
:item=
"item.Name"
:count=
"item.Num"
></progressAny>
<progressAny
:percent=
"item.Ratio"
:item=
"item.Name"
:count=
"item.Num"
></progressAny>
</div>
</div>
</div>
</div>
...
@@ -115,8 +124,21 @@
...
@@ -115,8 +124,21 @@
<div
class=
"sq-block-right"
></div>
<div
class=
"sq-block-right"
></div>
<div
class=
"sq-block-left"
></div>
<div
class=
"sq-block-left"
></div>
<div
class=
"t"
>
产品线路销售占比
</div>
<div
class=
"t"
>
产品线路销售占比
</div>
<div
class=
"more-itms"
:style=
"
{'margin-right':index==result.LineRatioList.length?'0px':'20px'}" v-for="(item, index) in result.LineRatioList" :key="index">
<div
v-for=
"(item, index) in result.LineRatioList"
style=
"height:100%;"
:key=
"index"
>
<progressAny
v-if=
"item.Num>0"
:percent=
"item.Ratio"
:item=
"item.Name"
:count=
"item.Num"
:rank=
'2'
color=
"#5D78FF"
></progressAny>
<div
class=
"more-itms"
style=
"min-width:110px;height:100%;"
:style=
"
{'margin-right':index==result.LineRatioList.length?'0px':'20px'}"
v-if="item.Num>0"
>
<progressAny
:percent=
"item.Ratio"
:item=
"item.Name"
:count=
"item.Num"
:rank=
"2"
color=
"#5D78FF"
></progressAny>
</div>
</div>
</div>
</div>
</div>
<div
class=
"r"
>
<div
class=
"r"
>
...
@@ -129,6 +151,162 @@
...
@@ -129,6 +151,162 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-else
>
<div
class=
"base-box"
v-if=
"yResult"
>
<div
class=
"base-item big"
>
<div
class=
"rightbox"
></div>
<div
class=
"leftbox"
></div>
<div
class=
"top-after"
></div>
<div
class=
"lef-box"
>
<div
class=
"t"
style=
"margin-top: -10px;"
>
<span
class=
"line"
></span>
<span
class=
"n"
>
{{
year
}}
年度业绩统计
</span>
<span
class=
"line last"
></span>
</div>
<div
class=
"table-s"
>
<table>
<thead>
<tr>
<th>
月份
</th>
<th>
销售额
</th>
<th>
销售额环比
</th>
<th>
销售额同比
</th>
<th>
销售额占比
</th>
<th>
收客人数
</th>
<th>
人数环比
</th>
<th>
人数同比
</th>
<th>
待收金额
</th>
<th>
投诉
</th>
</tr>
</thead>
<tbody>
<tr
v-for=
"(item, index) in yResult.YearStatistics"
:key=
"index"
>
<td
class=
"month"
>
{{
item
.
Month
}}
</td>
<td>
{{
item
.
NowSaleMoney
}}
</td>
<td
:class=
"
{'up':item.HSaleProbability>0,'down':item.HSaleProbability
<0
}"
>
<i
:class=
"
{'el-icon-caret-top':item.HSaleProbability>0,'el-icon-caret-bottom':item.HSaleProbability
<0
}"
></i>
{{
item
.
HSaleProbability
}}
%
</td>
<td
:class=
"
{'up':item.TSaleProbability>0,'down':item.TSaleProbability
<0
}"
>
<i
:class=
"
{'el-icon-caret-top':item.TSaleProbability>0,'el-icon-caret-bottom':item.TSaleProbability
<0
}"
></i>
{{
item
.
TSaleProbability
}}
%
</td>
<td>
{{
item
.
SaleMoneyProbability
}}
%
</td>
<td>
{{
item
.
NowSaleGuest
}}
</td>
<td
:class=
"
{'up':item.HGuestProbability>0,'down':item.HGuestProbability
<0
}"
>
<i
:class=
"
{'el-icon-caret-top':item.HGuestProbability>0,'el-icon-caret-bottom':item.HGuestProbability
<0
}"
></i>
{{
item
.
HGuestProbability
}}
%
</td>
<td
:class=
"
{'up':item.TGuestProbability>0,'down':item.TGuestProbability
<0
}"
>
<i
:class=
"
{'el-icon-caret-top':item.TGuestProbability>0,'el-icon-caret-bottom':item.TGuestProbability
<0
}"
></i>
{{
item
.
TGuestProbability
}}
%
</td>
<td
class=
"down"
>
{{
item
.
NowSaleDueIn
}}
</td>
<td
class=
"down"
>
{{
item
.
NowComplainNum
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div
class=
"rig-box"
>
<div
class=
"sq-block-right"
></div>
<div
class=
"sq-block-left"
></div>
<div
class=
"t"
>
去年数据对比
</div>
<div
class=
"c"
>
<div
class=
"item"
>
<div
class=
"len"
>
<div
class=
"ico"
></div>
<div
class=
"txt"
>
<span
class=
"blod"
>
¥
{{
yResult
.
YearComparison
.
NowSaleMoney
}}
</span>
<br
/>
今年
</div>
<div
class=
"ico yellow"
></div>
<div
class=
"txt yellow"
>
<span
class=
"blod"
>
¥
{{
yResult
.
YearComparison
.
BeforSaleMoney
}}
</span>
<br
/>
去年
</div>
</div>
<div
class=
"char"
>
<nddb
:newdata=
"yResult.YearComparison.NowSaleMoney"
:olddata=
"yResult.YearComparison.BeforSaleMoney"
title=
"销售额"
:colors=
"colorArray[0]"
></nddb>
</div>
</div>
<div
class=
"item"
>
<div
class=
"len"
>
<div
class=
"ico"
></div>
<div
class=
"txt"
>
<span
class=
"blod"
>
{{
yResult
.
YearComparison
.
NowGuestNum
}}
人
</span>
<br
/>
今年
</div>
<div
class=
"ico green"
></div>
<div
class=
"txt green"
>
<span
class=
"blod"
>
{{
yResult
.
YearComparison
.
BeforGuestNum
}}
人
</span>
<br
/>
去年
</div>
</div>
<div
class=
"char"
>
<nddb
:newdata=
"yResult.YearComparison.NowGuestNum"
:olddata=
"yResult.YearComparison.BeforGuestNum"
title=
"收客数"
:colors=
"colorArray[1]"
></nddb>
</div>
</div>
<div
class=
"item"
>
<div
class=
"len"
>
<div
class=
"ico"
></div>
<div
class=
"txt"
>
<span
class=
"blod"
>
{{
yResult
.
YearComparison
.
NowComplainNum
}}
起
</span>
<br
/>
今年
</div>
<div
class=
"ico red"
></div>
<div
class=
"txt red"
>
<span
class=
"blod"
>
{{
yResult
.
YearComparison
.
BeforComplainNum
}}
起
</span>
<br
/>
去年
</div>
</div>
<div
class=
"char"
>
<nddb
:newdata=
"yResult.YearComparison.NowComplainNum"
:olddata=
"yResult.YearComparison.BeforComplainNum"
:colors=
"colorArray[2]"
title=
"投诉"
></nddb>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"base-box"
>
<div
class=
"base-item zoushi"
>
<div
class=
"rightbox"
></div>
<div
class=
"leftbox"
></div>
<div
class=
"top-after"
></div>
<div
class=
"big-title"
>
业绩走势
</div>
<div
class=
"big-content"
>
<ndzs
:data=
"yResult.YearTrend"
></ndzs>
</div>
<div
class=
"d"
>
<div
class=
"block"
></div>
<span
class=
"red"
>
交易额
</span>
<div
class=
"block red"
></div>
<span
class=
"red"
>
未收款
</span>
<div
class=
"block yellow"
></div>
<span
class=
"yellow"
>
收客人数
</span>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
shoukequ
from
"./shoukequ"
;
import
shoukequ
from
"./shoukequ"
;
...
@@ -136,15 +314,25 @@ import pricQujian from "./priceQujian";
...
@@ -136,15 +314,25 @@ import pricQujian from "./priceQujian";
import
yeji
from
"./yeji"
;
import
yeji
from
"./yeji"
;
import
pingtai
from
"./pingtai"
;
import
pingtai
from
"./pingtai"
;
import
progressAny
from
"./progress"
;
import
progressAny
from
"./progress"
;
import
teamRatio
from
'./teamRatio'
import
teamRatio
from
"./teamRatio"
;
import
nddb
from
"./nianduduibi"
;
import
ndzs
from
"./nianduzoushi"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
beginTime
:
"2019-07-01"
,
beginTime
:
"2019-07-01"
,
endTime
:
"2019-07-31"
,
endTime
:
"2019-07-31"
,
zoomW
:
0
,
zoomW
:
0
,
loading
:
false
,
loading
:
false
,
result
:
null
result
:
null
,
tab
:
1
,
colorArray
:
[
[
"#EFB017"
,
"#F7E61B"
],
[
"#19B466"
,
"#65DAC2"
],
[
"#FD3C7C"
,
"#FFABC7"
]
],
year
:
0
,
yResult
:
null
};
};
},
},
components
:
{
components
:
{
...
@@ -153,24 +341,39 @@ export default {
...
@@ -153,24 +341,39 @@ export default {
yeji
,
yeji
,
pingtai
,
pingtai
,
progressAny
,
progressAny
,
teamRatio
teamRatio
,
nddb
,
ndzs
},
},
mounted
()
{
mounted
()
{
this
.
year
=
new
Date
().
getFullYear
();
this
.
zoomW
=
(
document
.
documentElement
.
clientWidth
/
1920
).
toFixed
(
2
);
this
.
zoomW
=
(
document
.
documentElement
.
clientWidth
/
1920
).
toFixed
(
2
);
this
.
init
()
this
.
init
();
this
.
initYear
();
},
},
methods
:{
methods
:
{
init
(){
init
()
{
this
.
loading
=
true
this
.
loading
=
true
;
let
query
=
{
let
query
=
{
StartTime
:
'2019-01-01'
,
StartTime
:
"2019-01-01"
,
EndTime
:
'2019-12-30'
,
EndTime
:
"2019-12-30"
,
PriceSection
:
'1000-2999,3000-4999,5000-7999,8000-9999,10000-*'
PriceSection
:
"1000-2999,3000-4999,5000-7999,8000-9999,10000-*"
}
};
this
.
apipost
(
"sellorder_post_GetSellDeepAnalysisForDaily"
,
query
,
r
=>
{
this
.
apipost
(
"sellorder_post_GetSellDeepAnalysisForDaily"
,
query
,
r
=>
{
this
.
result
=
r
.
data
.
data
this
.
result
=
r
.
data
.
data
;
this
.
loading
=
false
this
.
loading
=
false
;
})
});
},
initYear
()
{
let
query
=
{
Year
:
this
.
year
};
this
.
apipost
(
"sellorder_post_GetSellDeepAnalysisForYear"
,
query
,
r
=>
{
this
.
yResult
=
r
.
data
.
data
;
});
},
changeTabHandler
(
index
)
{
this
.
tab
=
index
;
}
}
}
}
};
};
...
@@ -185,7 +388,7 @@ export default {
...
@@ -185,7 +388,7 @@ export default {
overflow-y
:
auto
;
overflow-y
:
auto
;
padding-bottom
:
20px
;
padding-bottom
:
20px
;
padding-right
:
10px
;
padding-right
:
10px
;
overflow-x
:
hidden
overflow-x
:
hidden
;
}
}
.daliy
.head
{
.daliy
.head
{
height
:
64px
;
height
:
64px
;
...
@@ -493,10 +696,12 @@ export default {
...
@@ -493,10 +696,12 @@ export default {
.daliy
.bottom-order-box
{
.daliy
.bottom-order-box
{
height
:
246px
;
height
:
246px
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
,
.daliy
.middle-order-box
.t
{
.daliy
.middle-order-box
.t
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
.line
,
.daliy
.middle-order-box
.t
.line
{
.daliy
.middle-order-box
.t
.line
{
display
:
block
;
display
:
block
;
background
:
url("../../assets/img/persion/split-line.png")
repeat
;
background
:
url("../../assets/img/persion/split-line.png")
repeat
;
...
@@ -506,6 +711,7 @@ export default {
...
@@ -506,6 +711,7 @@ export default {
flex
:
1
;
flex
:
1
;
position
:
relative
;
position
:
relative
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
.line
::after
,
.daliy
.middle-order-box
.t
.line
::after
{
.daliy
.middle-order-box
.t
.line
::after
{
display
:
block
;
display
:
block
;
content
:
" "
;
content
:
" "
;
...
@@ -513,6 +719,7 @@ export default {
...
@@ -513,6 +719,7 @@ export default {
width
:
100%
;
width
:
100%
;
background
:
#075089
;
background
:
#075089
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
.line
::before
,
.daliy
.middle-order-box
.t
.line
::before
{
.daliy
.middle-order-box
.t
.line
::before
{
width
:
3px
;
width
:
3px
;
height
:
3px
;
height
:
3px
;
...
@@ -524,10 +731,12 @@ export default {
...
@@ -524,10 +731,12 @@ export default {
top
:
3px
;
top
:
3px
;
border-radius
:
50%
;
border-radius
:
50%
;
}
}
.daliy
.base-box
.base-item
.lef-box
.t
.line.last
::before
,
.daliy
.middle-order-box
.t
.line.last
::before
{
.daliy
.middle-order-box
.t
.line.last
::before
{
left
:
unset
;
left
:
unset
;
right
:
-6px
;
right
:
-6px
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
.n
,
.daliy
.middle-order-box
.t
.n
{
.daliy
.middle-order-box
.t
.n
{
display
:
block
;
display
:
block
;
font-size
:
20px
;
font-size
:
20px
;
...
@@ -536,6 +745,9 @@ export default {
...
@@ -536,6 +745,9 @@ export default {
color
:
#fff
;
color
:
#fff
;
font-family
:
pingfangR
;
font-family
:
pingfangR
;
}
}
.daliy
.base-box
.base-item.big
.lef-box
.t
.n
{
width
:
168px
;
}
.daliy
.middle-order-box
.content-box
{
.daliy
.middle-order-box
.content-box
{
margin-top
:
15px
;
margin-top
:
15px
;
display
:
flex
;
display
:
flex
;
...
@@ -570,7 +782,6 @@ export default {
...
@@ -570,7 +782,6 @@ export default {
}
}
.daliy
.middle-order-box
.content-box
.item-box
.lirun
{
.daliy
.middle-order-box
.content-box
.item-box
.lirun
{
display
:
flex
;
display
:
flex
;
}
}
.daliy
.middle-order-box
.content-box
.item-box
.lirun
.item
{
.daliy
.middle-order-box
.content-box
.item-box
.lirun
.item
{
width
:
100px
;
width
:
100px
;
...
@@ -606,7 +817,7 @@ export default {
...
@@ -606,7 +817,7 @@ export default {
}
}
.daliy
.middle-order-box
.content-box
.item-box
.lirun
.more-itms
{
.daliy
.middle-order-box
.content-box
.item-box
.lirun
.more-itms
{
height
:
100%
;
height
:
100%
;
flex
:
1
;
flex
:
1
;
margin-right
:
20px
;
margin-right
:
20px
;
}
}
.daliy
.bottom-order-box
{
.daliy
.bottom-order-box
{
...
@@ -624,7 +835,7 @@ export default {
...
@@ -624,7 +835,7 @@ export default {
height
:
215px
;
height
:
215px
;
padding
:
0
18px
;
padding
:
0
18px
;
background
:
rgba
(
3
,
85
,
164
,
0.2
);
background
:
rgba
(
3
,
85
,
164
,
0.2
);
flex-direction
:
row
flex-direction
:
row
;
}
}
.daliy
.bottom-order-box
.r
{
.daliy
.bottom-order-box
.r
{
width
:
346px
;
width
:
346px
;
...
@@ -652,11 +863,11 @@ export default {
...
@@ -652,11 +863,11 @@ export default {
height
:
40px
;
height
:
40px
;
line-height
:
40px
;
line-height
:
40px
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#FFF
;
color
:
#fff
;
font-family
:
pingfangR
;
font-family
:
pingfangR
;
width
:
100%
;
width
:
100%
;
}
}
.daliy
.bottom-order-box
.r
.c
{
.daliy
.bottom-order-box
.r
.c
{
flex
:
1
;
flex
:
1
;
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
50px
);
height
:
calc
(
100%
-
50px
);
...
@@ -666,4 +877,243 @@ export default {
...
@@ -666,4 +877,243 @@ export default {
height
:
100%
;
height
:
100%
;
margin-right
:
20px
;
margin-right
:
20px
;
}
}
.daliy
.base-box
.base-item.big
{
height
:
548px
;
display
:
flex
;
}
.daliy
.base-box
.base-item.big
.rig-box
{
width
:
260px
;
margin-left
:
20px
;
height
:
490px
;
background
:
rgba
(
3
,
85
,
164
,
0.2
);
position
:
relative
;
}
.daliy
.base-box
.base-item.big
.lef-box
{
flex
:
1
;
height
:
100%
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
{
width
:
100%
;
border-collapse
:
collapse
;
border-spacing
:
0
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
thead
{
background
:
rgba
(
39
,
88
,
171
,
0
);
border
:
1px
solid
rgba
(
15
,
92
,
166
,
1
);
border-radius
:
4px
4px
0px
0px
;
box-shadow
:
0
0
13px
rgba
(
15
,
92
,
166
,
0.8
)
inset
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
thead
th
{
height
:
30px
;
text-align
:
left
;
padding-left
:
10px
;
font-size
:
14px
;
font-family
:
pingfangR
;
color
:
#fff
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
tr
:nth-child
(
odd
)
{
background
:
rgba
(
26
,
75
,
157
,
0.26
);
border
:
1px
solid
rgba
(
75
,
188
,
255
,
0
);
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
tr
:nth-child
(
even
)
{
background
:
rgba
(
26
,
75
,
157
,
0.13
);
border
:
1px
solid
rgba
(
75
,
188
,
255
,
0
);
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
td
{
font-size
:
12px
;
color
:
#a2dbff
;
text-align
:
left
;
padding-left
:
10px
;
height
:
36px
;
line-height
:
36px
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
td
.month
{
color
:
#fff
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
td
.up
{
color
:
#00e000
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
td
.down
{
color
:
#ff4c52
;
}
.daliy
.base-box
.base-item.big
.lef-box
.table-s
table
tbody
tr
:hover
{
border
:
1px
solid
rgba
(
75
,
188
,
255
,
1
);
box-shadow
:
0
0
13px
rgba
(
75
,
188
,
255
,
0.8
);
background
:
none
;
}
.daliy
.base-box
.base-item.big
.rig-box
.t
{
margin-top
:
14px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#fff
;
font-family
:
pingfangR
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
{
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
{
margin-top
:
15px
;
padding-left
:
20px
;
display
:
flex
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.char
{
width
:
120px
;
height
:
120px
;
margin-right
:
15px
;
background
:
rgba
(
1
,
156
,
255
,
0.1
);
border-radius
:
50%
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
{
flex
:
1
;
padding-top
:
10px
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.ico
{
width
:
20px
;
height
:
5px
;
margin-bottom
:
5px
;
background
:
linear-gradient
(
135deg
,
rgba
(
0
,
103
,
204
,
0.88
),
rgba
(
0
,
191
,
249
,
0.88
)
);
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.ico.yellow
{
background
:
linear-gradient
(
135deg
,
rgba
(
239
,
176
,
23
,
0.88
),
rgba
(
247
,
230
,
27
,
0.88
)
);
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.ico.green
{
background
:
linear-gradient
(
135deg
,
rgba
(
101
,
218
,
194
,
1
),
rgba
(
25
,
180
,
102
,
1
)
);
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.ico.red
{
background
:
linear-gradient
(
135deg
,
rgba
(
255
,
171
,
199
,
0.88
),
rgba
(
253
,
60
,
124
,
0.88
)
);
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.txt
{
font-size
:
12px
;
color
:
#0067cc
;
margin-bottom
:
10px
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.txt
.blod
{
font-family
:
pingfangR
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.txt.yellow
{
color
:
#efb017
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.txt.green
{
color
:
#19b466
;
}
.daliy
.base-box
.base-item.big
.rig-box
.c
.item
.len
.txt.red
{
color
:
#fd3c7c
;
}
.daliy
.base-box
.base-item.zoushi
{
height
:
357px
;
display
:
flex
;
background
:
rgba
(
39
,
88
,
171
,
0.1
);
}
.daliy
.base-box
.base-item.zoushi
.big-title
{
font-size
:
20px
;
color
:
#fff
;
font-family
:
pingfangR
;
margin-top
:
-10px
;
}
.daliy
.base-box
.base-item.zoushi
.big-content
{
position
:
absolute
;
top
:
50px
;
left
:
0
;
right
:
0
;
bottom
:
0
;
}
.daliy
.base-box
.base-item.zoushi
.d
{
height
:
33px
;
background
:
rgba
(
71
,
165
,
255
,
0
);
border-radius
:
17px
;
line-height
:
28px
;
padding
:
0
20px
;
font-size
:
12px
;
color
:
#4487f0
;
display
:
inline-block
;
box-sizing
:
border-box
;
border
:
1px
solid
#0251889
e
;
box-shadow
:
0
0
10px
#025188
inset
;
position
:
absolute
;
top
:
9px
;
right
:
30px
;
display
:
flex
;
align-items
:
center
;
}
.daliy
.base-box
.base-item.zoushi
.d
span
{
margin-right
:
40px
;
}
.daliy
.base-box
.base-item.zoushi
.d
span
:last-child
{
margin-right
:
0
;
}
.daliy
.base-box
.base-item.zoushi
.d
.yellow
{
color
:
#ffb822
;
}
.daliy
.base-box
.base-item.zoushi
.d
.red
{
color
:
#fd3c7c
;
}
.daliy
.base-box
.base-item.zoushi
.d.right
{
position
:
absolute
;
top
:
-4px
;
right
:
25px
;
}
.daliy
.base-box
.base-item.zoushi
.d
.blod
{
font-size
:
16px
;
color
:
#46c3f1
;
font-family
:
pingfangR
;
margin-left
:
5px
;
}
.daliy
.base-box
.base-item.zoushi
.d
i
{
font-size
:
14px
;
color
:
#3aa0eb
;
}
.daliy
.base-box
.base-item.zoushi
.d
.block
{
width
:
16px
;
height
:
9px
;
margin-right
:
10px
;
background
:
linear-gradient
(
0deg
,
rgba
(
68
,
135
,
240
,
0.88
),
rgba
(
176
,
208
,
248
,
0.88
)
);
}
.daliy
.base-box
.base-item.zoushi
.d
.block.red
{
background
:
linear-gradient
(
0deg
,
rgba
(
255
,
171
,
199
,
0.88
),
rgba
(
253
,
60
,
124
,
0.88
)
);
}
.daliy
.base-box
.base-item.zoushi
.d
.block.yellow
{
background
:
#ffb822
;
width
:
16px
;
height
:
4px
;
}
</
style
>
</
style
>
src/components/visualization/nianduduibi.vue
0 → 100644
View file @
a28e0d25
<
template
>
<div
class=
"inerank-container"
>
<div
:style=
"
{height:'100%',width:'100%'}" ref="myLineRank">
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
newdata
:
{
type
:
Number
,
default
:
0
},
olddata
:
{
type
:
Number
,
default
:
0
},
colors
:{
type
:
Array
,
default
:[]
},
title
:{
type
:
String
,
default
:
""
}
},
data
()
{
return
{
placeHolderStyle
:
{
normal
:
{
color
:
"rgba(0,0,0,0)"
,
label
:
{
show
:
false
},
labelLine
:
{
show
:
false
}
},
emphasis
:
{
color
:
"rgba(0,0,0,0)"
}
}
};
},
mounted
()
{
this
.
init
();
},
methods
:
{
init
()
{
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
myLineRank
);
let
dataAlias
=
[
"今年"
,
"去年"
];
let
data2
=
[{
name
:
"今年"
,
value
:
this
.
newdata
},
{
name
:
"去年"
,
value
:
this
.
olddata
,
itemStyle
:
this
.
placeHolderStyle
}];
let
data3
=
[{
name
:
"去年"
,
value
:
this
.
olddata
},{
name
:
"今年"
,
value
:
this
.
newdata
,
itemStyle
:
this
.
placeHolderStyle
}];
let
option
=
{
tooltip
:
{
show
:
false
},
graphic
:
[
{
type
:
"text"
,
left
:
'center'
,
top
:
"center"
,
style
:
{
text
:
this
.
title
,
textAlign
:
"center"
,
fill
:
this
.
colors
[
0
],
//文字的颜色
fontSize
:
16
,
width
:
120
,
fontFamily
:
"pingfangR"
}
}
],
calculable
:
true
,
series
:
[
{
// center: ["25%", "45%"],
name
:
"订单来源"
,
type
:
"pie"
,
radius
:
[
"80%"
,
"90%"
],
hoverAnimation
:
false
,
legendHoverLink
:
false
,
tooltip
:
false
,
startAngle
:
90
,
itemStyle
:
{
emphasis
:
{
barBorderRadius
:
30
},
normal
:
{
label
:
{
show
:
false
},
labelLine
:
{
show
:
false
},
color
:
new
this
.
$echarts
.
graphic
.
LinearGradient
(
1
,
0
,
0
,
0
,
[
{
offset
:
0
,
color
:
"#00BFF9"
},
{
offset
:
0.35
,
color
:
"#0067CC"
},
{
offset
:
1
,
color
:
"#0067CC"
}
])
}
},
data
:
data2
},
{
// center: ["25%", "45%"],
name
:
"订单来源"
,
type
:
"pie"
,
radius
:
[
"60%"
,
"70%"
],
hoverAnimation
:
false
,
legendHoverLink
:
false
,
tooltip
:
false
,
startAngle
:
90
,
itemStyle
:
{
emphasis
:
{
barBorderRadius
:
30
},
normal
:
{
label
:
{
show
:
false
},
labelLine
:
{
show
:
false
},
color
:
new
this
.
$echarts
.
graphic
.
LinearGradient
(
1
,
0
,
0
,
0
,
[
{
offset
:
0
,
color
:
this
.
colors
[
1
]
},
{
offset
:
0.35
,
color
:
this
.
colors
[
0
]
},
{
offset
:
1
,
color
:
this
.
colors
[
0
]
}
])
}
},
data
:
data3
}
]
};
myChart
.
setOption
(
option
);
}
}
};
</
script
>
<
style
>
.inerank-container
{
height
:
100%
;
width
:
100%
;
}
</
style
>
src/components/visualization/nianduzoushi.vue
0 → 100644
View file @
a28e0d25
<
template
>
<div
class=
"inerank-container"
>
<div
:style=
"
{height:'100%',width:'100%'}" ref="myLineRank">
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
data
:
{
type
:
Array
,
default
:
[]
}
},
data
()
{
return
{};
},
mounted
()
{
this
.
init
();
},
methods
:
{
init
()
{
let
myChart
=
this
.
$echarts
.
init
(
this
.
$refs
.
myLineRank
);
var
dataAxis
=
[];
var
data2
=
[];
var
data4
=
[];
var
data3
=
[];
this
.
data
.
forEach
(
x
=>
{
dataAxis
.
push
(
x
.
Month
+
"月"
);
data2
.
push
(
x
.
NowSaleMoney
);
data4
.
push
(
x
.
NowSaleDueIn
);
data3
.
push
(
x
.
NowSaleGuest
);
});
let
option
=
{
title
:
{
show
:
false
},
xAxis
:
{
data
:
dataAxis
,
axisLabel
:
{
textStyle
:
{
color
:
"#DADADA"
,
fontSize
:
12
},
margin
:
10
,
interval
:
0
,
show
:
true
},
type
:
"category"
,
axisTick
:
{
show
:
true
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
[
"#12397C"
]
}
}
},
yAxis
:
[
{
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
[
"#12397C"
]
}
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
textStyle
:
{
color
:
"#DADADA"
,
fontSize
:
12
},
show
:
true
},
splitLine
:
{
show
:
true
,
lineStyle
:
{
color
:
[
"#12397c4d"
]
}
},
min
:
0
,
name
:
"金额(元)"
,
type
:
"value"
},
{
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
[
"#12397C"
]
}
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
textStyle
:
{
color
:
"#DADADA"
,
fontSize
:
12
},
show
:
true
},
splitLine
:
{
show
:
true
,
lineStyle
:
{
color
:
[
"#12397c4d"
]
}
},
min
:
0
,
name
:
"收客数(人)"
,
type
:
"value"
}
],
grid
:
{
left
:
"68"
,
right
:
"60"
,
top
:
"50"
,
bottom
:
"30"
},
tooltip
:
{
trigger
:
"item"
,
axisPointer
:
{
type
:
"none"
,
snap
:
true
,
label
:
{
backgroundColor
:
"#6a7985"
}
}
},
series
:
[
{
type
:
"bar"
,
itemStyle
:
{
normal
:
{
color
:
new
this
.
$echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
{
offset
:
0
,
color
:
"#4487F0"
},
{
offset
:
0.3
,
color
:
"#4487F0"
},
{
offset
:
1
,
color
:
"#B0D0F8"
}
])
}
},
barWidth
:
24
,
data
:
data2
,
yAxisIndex
:
0
,
animationType
:
"scale"
,
animationEasing
:
"elasticOut"
,
animationDelay
:
function
(
idx
)
{
return
Math
.
random
()
*
200
;
}
},
{
type
:
"bar"
,
itemStyle
:
{
normal
:
{
color
:
new
this
.
$echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
{
offset
:
0
,
color
:
"#FD3C7C"
},
{
offset
:
0.5
,
color
:
"#FD3C7C"
},
{
offset
:
1
,
color
:
"#FFABC7"
}
])
}
},
barWidth
:
24
,
data
:
data4
,
yAxisIndex
:
0
,
animationType
:
"scale"
,
animationEasing
:
"elasticOut"
,
animationDelay
:
function
(
idx
)
{
return
Math
.
random
()
*
200
;
}
},
{
type
:
"line"
,
smooth
:
true
,
symbol
:
'circle'
,
symbolSize
:
5
,
yAxisIndex
:
1
,
// left: "0",
itemStyle
:
{
normal
:
{
lineStyle
:
{
color
:
"#FFB822"
},
color
:
"#FFB822"
}
},
data
:
data3
}
]
};
myChart
.
setOption
(
option
);
}
}
};
</
script
>
<
style
>
.inerank-container
{
height
:
100%
;
width
:
100%
;
}
</
style
>
src/components/visualization/pingtai.vue
View file @
a28e0d25
...
@@ -31,7 +31,6 @@ export default {
...
@@ -31,7 +31,6 @@ export default {
data2
.
push
(
t
)
data2
.
push
(
t
)
}
}
})
})
console
.
log
(
dataAlias
)
let
option
=
{
let
option
=
{
tooltip
:
{
tooltip
:
{
trigger
:
"item"
,
trigger
:
"item"
,
...
...
src/components/visualization/progress.vue
View file @
a28e0d25
...
@@ -157,7 +157,7 @@ export default {
...
@@ -157,7 +157,7 @@ export default {
.inerank-container
.h-title
{
.inerank-container
.h-title
{
position
:
absolute
;
position
:
absolute
;
left
:
0%
;
left
:
0%
;
bottom
:
1
4
px
;
bottom
:
1
0
px
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#46c3f1
;
color
:
#46c3f1
;
text-align
:
center
;
text-align
:
center
;
...
...
src/router/config.js
View file @
a28e0d25
...
@@ -1710,6 +1710,14 @@ export default {
...
@@ -1710,6 +1710,14 @@ export default {
title
:
'团队收支'
title
:
'团队收支'
},
},
},
{
},
{
path
:
'/OpHotelOrder'
,
//操作 散卖酒店订单
name
:
'OpHotelOrder'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/OpHotelOrder'
],
resolve
),
meta
:
{
title
:
'散卖酒店订单'
},
},{
path
:
'/AmoebaDetail'
,
//阿米巴结算详情
path
:
'/AmoebaDetail'
,
//阿米巴结算详情
name
:
'AmoebaDetail'
,
name
:
'AmoebaDetail'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/AmoebaDetail'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelList/AmoebaDetail'
],
resolve
),
...
@@ -2219,7 +2227,14 @@ export default {
...
@@ -2219,7 +2227,14 @@ export default {
title
:
'散卖机票订单'
title
:
'散卖机票订单'
},
},
},
},
{
//销售 散卖酒店订单
path
:
'/salesHotelOrder'
,
name
:
'salesHotelOrder'
,
component
:
resolve
=>
require
([
'@/components/SalesModule/salesHotelOrder'
],
resolve
),
meta
:
{
title
:
'散卖酒店订单'
},
},
{
// 销售 报名统计
{
// 销售 报名统计
path
:
'/enrollTotal'
,
path
:
'/enrollTotal'
,
name
:
'enrollTotal'
,
name
:
'enrollTotal'
,
...
...
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