Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
李君
/
carrefour
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 618ff734
authored
Nov 28, 2022
by
李君
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
优化
1 parent
1e23bdb9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
24 deletions
src/views/queueManagement/dataPlayback/index.vue
src/views/queueManagement/queueDetail/index.vue
src/views/queueManagement/queueLive/index.vue
src/views/queueManagement/dataPlayback/index.vue
View file @
618ff73
...
...
@@ -24,8 +24,11 @@
</el-date-picker>
<!--
<el-date-picker
type=
"date"
:placeholder=
"$t('pholder.date')"
v-model=
"searchForm.countDate"
></el-date-picker>
-->
</el-form-item>
<el-form-item>
<!--
<el-time-picker
is-range
v-model=
"searchForm.time"
:range-separator=
"$t('dialog.to')"
:start-placeholder=
"$t('pholder.startDate')"
:end-placeholder=
"$t('pholder.endDate')"
placeholder=
"选择时间范围"
>
</el-time-picker>
-->
<el-form-item
:label=
"$t('Lane Type')"
>
<el-select
v-model=
"searchForm.counterType"
class=
"laneType"
clearable
:placeholder=
"$t('pholder.selectLane')"
>
<el-option
:label=
"$t('pholder.all')"
value=
""
/>
<el-option
v-for=
"item in counterTypeData"
:key=
"item.key"
:label=
"item.value"
:value=
"item.key"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('table.granularity')"
>
<el-select
v-model=
"searchForm.granularity"
:placeholder=
"$t('pholder.select')"
>
...
...
@@ -145,20 +148,20 @@
</div>
</div>
<el-table
:data=
"tableData"
ref=
"laneTable"
style=
"width: 100%"
:row-class-name=
"tableRowClassName"
height=
'calc(100% - 30px)'
highlight-current-row
@
row-click=
"handleCurrentChange"
row-key=
'laneId'
>
<el-table-column
prop=
"laneName"
show-overflow-tooltip
label=
'Lane'
align=
"center"
width=
"1
0
0"
>
<el-table-column
prop=
"laneName"
show-overflow-tooltip
label=
'Lane'
align=
"center"
width=
"1
5
0"
>
<template
slot-scope=
"
{row}">
<span
v-if=
"row.isOpen==1"
><img
src=
"../../../assets/open.png"
style=
"width: 15px;vertical-align: middle;"
/></span>
<span
v-else
><img
src=
"../../../assets/close.png"
style=
"width: 15px;vertical-align: middle;"
/></span>
<span>
{{
row
.
laneName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"customersInQueue"
align=
"center"
label=
"Customers in Queue"
width=
"
8
0"
>
<el-table-column
prop=
"customersInQueue"
align=
"center"
label=
"Customers in Queue"
width=
"
9
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers
</p>
<p
class=
"cell_title"
>
in Queue
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"averageWaitingTime"
align=
"center"
label=
"AVG.Waiting Time"
width=
"
9
0"
>
<el-table-column
prop=
"averageWaitingTime"
align=
"center"
label=
"AVG.Waiting Time"
width=
"
10
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
AVG.Waiting
</p>
<p
class=
"cell_title"
>
Time
</p>
...
...
@@ -167,7 +170,7 @@
<span>
{{
Math
.
floor
(
row
.
averageWaitingTime
/
60
)
}}
min
{{
row
.
averageWaitingTime
%
60
}}
s
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"predictedWaiting"
align=
"center"
label=
"Predicted Waiting Time"
width=
"1
1
0"
>
<el-table-column
prop=
"predictedWaiting"
align=
"center"
label=
"Predicted Waiting Time"
width=
"1
2
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Estimated
</p>
<p
class=
"cell_title"
>
Waiting Time
</p>
...
...
@@ -176,27 +179,27 @@
<span>
{{
Math
.
floor
(
row
.
predictedWaiting
/
60
)
}}
min
{{
row
.
predictedWaiting
%
60
}}
s
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"customersServedTillNow"
align=
"center"
label=
"Customers Served"
width=
"
8
0"
>
<el-table-column
prop=
"customersServedTillNow"
align=
"center"
label=
"Customers Served"
width=
"
10
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers
</p>
<p
class=
"cell_title"
>
Served
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"throughput"
align=
"center"
width=
"1
6
0"
label=
"Throughput"
>
<el-table-column
prop=
"throughput"
align=
"center"
width=
"1
7
0"
label=
"Throughput"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers Served
</p>
<p
class=
"cell_title"
>
Per Hour
</p>
<!--
<p
class=
"cell_unit"
>
Customers/hour
</p>
-->
</
template
>
</el-table-column>
<el-table-column
prop=
"abandonQueue"
align=
"center"
width=
"1
8
0"
>
<el-table-column
prop=
"abandonQueue"
align=
"center"
width=
"1
9
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers Abandoned
</p>
<p
class=
"cell_title"
>
the Queue
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"counterType"
show-overflow-tooltip
align=
"center"
width=
"120"
label=
"Lane Type"
:formatter=
"formatCounterType"
:filters=
"counterTypeData"
:filter-method=
"filterTag"
></el-table-column>
<
!-- <
el-table-column prop="counterType" show-overflow-tooltip align="center" width="120" label="Lane Type" :formatter="formatCounterType" :filters="counterTypeData"
:filter-method="filterTag"></el-table-column>
-->
</el-table>
</div>
<div
class=
"chart"
v-loading=
'isloading'
>
...
...
@@ -317,7 +320,8 @@
cashierAreaId
:
''
,
countDate
:
[
''
,
''
],
time
:[
new
Date
(),
new
Date
()],
granularity
:
5
granularity
:
5
,
counterType
:
''
},
canvas
:
null
,
//canvas实例
ctx
:
null
,
//ctx画笔
...
...
@@ -567,6 +571,7 @@
mallId
:
this
.
searchForm
.
mallId
,
cashierAreaId
:
this
.
searchForm
.
cashierAreaId
,
countDate
:
moment
(
this
.
searchForm
.
countDate
[
0
]).
format
(
'YYYY-MM-DD'
),
counterType
:
this
.
searchForm
.
counterType
,
startCountTime
:
time
?
moment
(
this
.
progressTime
).
format
(
'YYYY-MM-DD HH:mm:ss'
):
moment
(
this
.
searchForm
.
countDate
[
0
]).
format
(
'YYYY-MM-DD HH:mm:ss'
)
}).
then
(
res
=>
{
let
result
=
res
.
data
;
...
...
@@ -588,6 +593,7 @@
cashierAreaId
:
this
.
searchForm
.
cashierAreaId
,
mallId
:
this
.
searchForm
.
mallId
,
chartType
:
"line"
,
counterType
:
this
.
searchForm
.
counterType
,
countDate
:
moment
(
this
.
searchForm
.
countDate
[
0
]).
format
(
'YYYY-MM-DD'
),
cashierChannelId
:
this
.
laneId
,
});
...
...
@@ -614,6 +620,7 @@
this
.
$api
.
queueManagementApi
.
getCustomersOverview
({
mallId
:
this
.
searchForm
.
mallId
,
chartType
:
"line"
,
counterType
:
this
.
searchForm
.
counterType
,
countDate
:
moment
(
this
.
searchForm
.
countDate
[
0
]).
format
(
'YYYY-MM-DD'
),
}).
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
){
...
...
@@ -781,6 +788,7 @@
async
getDistribution
(
time
)
{
let
parmas
=
{
cashierAreaId
:
this
.
searchForm
.
cashierAreaId
,
counterType
:
this
.
searchForm
.
counterType
,
countDate
:
time
?
moment
(
this
.
progressTime
).
format
(
'YYYY-MM-DD HH:mm:ss'
):
moment
(
this
.
searchForm
.
countDate
[
0
]).
format
(
'YYYY-MM-DD HH:mm:ss'
),
}
let
res
=
await
this
.
$api
.
queueManagementApi
.
getdistribution
(
parmas
);
...
...
@@ -1015,9 +1023,8 @@
}
.aiot_title_item
{}
/
deep
/
.el-select
{
width
:
1
8
0px
;
width
:
1
6
0px
;
}
/
deep
/
.el-date-editor
{
//
width
:
180px
;
...
...
src/views/queueManagement/queueDetail/index.vue
View file @
618ff73
...
...
@@ -89,7 +89,7 @@
</
template
>
</el-table-column>
<el-table-column
label=
"Lane"
align=
"center"
prop=
"cashierChannelId"
show-overflow-tooltip
:formatter=
"landFormat"
></el-table-column>
<el-table-column
label=
"Lane Type"
align=
"center"
prop=
"counterType"
show-overflow-tooltip
:formatter=
"counterTypeFormat"
></el-table-column>
<el-table-column
label=
"Lane Type"
align=
"center"
prop=
"counterType"
width=
"100"
show-overflow-tooltip
:formatter=
"counterTypeFormat"
></el-table-column>
<el-table-column
label=
"Average Customers in Queue"
align=
"center"
prop=
"queueLength"
width=
"170"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Average Customers
</p>
...
...
@@ -434,7 +434,7 @@
granularityMinute
:
this
.
searchForm
.
granularityMinute
,
}
let
Url
=
window
.
_vionConfig
.
queuingUrl
+
'/d-cashier-channel-minute-count-data/page/export?'
let
dowloadUrl
=
Url
+
language
+
`&granularityMinute=
${
parmas
.
granularityMinute
}
&counterType=
${
parmas
.
counterType
}
&mallId=
${
parmas
.
mallId
}
&startDate=
${
parmas
.
startDate
}
&endDate=
${
parmas
.
endDate
}
&cashierAreaId
cashierAreaId
=
${
parmas
.
cashierAreaId
}
&channelIds=
${
parmas
.
channelIds
}
&authorization=
${
this
.
$cookie
.
get
(
"atoken"
)}
`
;
let
dowloadUrl
=
Url
+
language
+
`&granularityMinute=
${
parmas
.
granularityMinute
}
&counterType=
${
parmas
.
counterType
}
&mallId=
${
parmas
.
mallId
}
&startDate=
${
parmas
.
startDate
}
&endDate=
${
parmas
.
endDate
}
&cashierAreaId=
${
parmas
.
cashierAreaId
}
&channelIds=
${
parmas
.
channelIds
}
&authorization=
${
this
.
$cookie
.
get
(
"atoken"
)}
`
;
window
.
open
(
dowloadUrl
)
}
}
...
...
src/views/queueManagement/queueLive/index.vue
View file @
618ff73
...
...
@@ -114,20 +114,20 @@
</div>
</div>
<el-table
:data=
"tableData"
ref=
"laneTable"
style=
"width: 100%"
:row-class-name=
"tableRowClassName"
height=
'calc(100% - 30px)'
highlight-current-row
@
row-click=
"handleCurrentChange"
row-key=
'laneId'
>
<el-table-column
prop=
"laneName"
show-overflow-tooltip
label=
'Lane'
align=
"center"
width=
"1
0
0"
>
<el-table-column
prop=
"laneName"
show-overflow-tooltip
label=
'Lane'
align=
"center"
width=
"1
5
0"
>
<template
slot-scope=
"
{row}">
<span
v-if=
"row.isOpen==1"
><img
src=
"../../../assets/open.png"
style=
"width: 15px;vertical-align: middle;"
/></span>
<span
v-else
><img
src=
"../../../assets/close.png"
style=
"width: 15px;vertical-align: middle;"
/></span>
<span>
{{
row
.
laneName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"customersInQueue"
align=
"center"
label=
"Customers in Queue"
width=
"
8
0"
>
<el-table-column
prop=
"customersInQueue"
align=
"center"
label=
"Customers in Queue"
width=
"
9
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers
</p>
<p
class=
"cell_title"
>
in Queue
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"averageWaitingTime"
align=
"center"
label=
"AVG.Waiting Time"
width=
"
9
0"
>
<el-table-column
prop=
"averageWaitingTime"
align=
"center"
label=
"AVG.Waiting Time"
width=
"
10
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
AVG.Waiting
</p>
<p
class=
"cell_title"
>
Time
</p>
...
...
@@ -136,7 +136,7 @@
<span>
{{
Math
.
floor
(
row
.
averageWaitingTime
/
60
)
}}
min
{{
row
.
averageWaitingTime
%
60
}}
s
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"predictedWaiting"
align=
"center"
label=
"Predicted Waiting Time"
width=
"1
1
0"
>
<el-table-column
prop=
"predictedWaiting"
align=
"center"
label=
"Predicted Waiting Time"
width=
"1
2
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Estimated
</p>
<p
class=
"cell_title"
>
Waiting Time
</p>
...
...
@@ -145,26 +145,26 @@
<span>
{{
Math
.
floor
(
row
.
predictedWaiting
/
60
)
}}
min
{{
row
.
predictedWaiting
%
60
}}
s
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"customersServedTillNow"
align=
"center"
label=
"Customers Served"
width=
"
8
0"
>
<el-table-column
prop=
"customersServedTillNow"
align=
"center"
label=
"Customers Served"
width=
"
10
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers
</p>
<p
class=
"cell_title"
>
Served
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"throughput"
align=
"center"
width=
"1
6
0"
label=
"Throughput"
>
<el-table-column
prop=
"throughput"
align=
"center"
width=
"1
7
0"
label=
"Throughput"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers Served
</p>
<p
class=
"cell_title"
>
Per Hour
</p>
<!--
<p
class=
"cell_unit"
>
Customers/hour
</p>
-->
</
template
>
</el-table-column>
<el-table-column
prop=
"abandonQueue"
align=
"center"
width=
"1
8
0"
>
<el-table-column
prop=
"abandonQueue"
align=
"center"
width=
"1
9
0"
>
<
template
slot=
"header"
>
<p
class=
"cell_title"
>
Customers Abandoned
</p>
<p
class=
"cell_title"
>
the Queue
</p>
</
template
>
</el-table-column>
<
el-table-column
prop=
"counterType"
show-overflow-tooltip
align=
"center"
width=
"120"
label=
"Lane Type"
:formatter=
"formatCounterType"
></el-table-column
>
<
!-- <el-table-column prop="counterType" show-overflow-tooltip align="center" width="120" label="Lane Type" :formatter="formatCounterType"></el-table-column> --
>
<!-- <el-table-column prop="counterType" show-overflow-tooltip align="center" width="120" label="Lane Type" :formatter="formatCounterType" :filters="counterTypeData"
:filter-method="filterTag"></el-table-column> -->
</el-table>
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment