Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bill-manager-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
bill-manager-ui
Commits
21364fc1
Commit
21364fc1
authored
Jul 04, 2024
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: 优化
parent
daebc9b5
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1070 additions
and
231 deletions
+1070
-231
admin_2/package.json
admin_2/package.json
+1
-1
admin_2/src/components/autoRegister/YTable.vue
admin_2/src/components/autoRegister/YTable.vue
+1
-0
admin_2/src/layouts/Layouts.vue
admin_2/src/layouts/Layouts.vue
+9
-2
admin_2/src/pages/engine/Engine.vue
admin_2/src/pages/engine/Engine.vue
+10
-3
admin_2/src/pages/engine/EvaluateSystem.vue
admin_2/src/pages/engine/EvaluateSystem.vue
+429
-50
admin_2/src/pages/engine/QueueUpSystem.vue
admin_2/src/pages/engine/QueueUpSystem.vue
+356
-103
admin_2/src/pages/engine/components/DoubleTable.vue
admin_2/src/pages/engine/components/DoubleTable.vue
+138
-20
admin_2/src/pages/home/Home.vue
admin_2/src/pages/home/Home.vue
+37
-24
admin_2/src/pages/home/components/LineEchart.vue
admin_2/src/pages/home/components/LineEchart.vue
+28
-14
admin_2/src/router/index.js
admin_2/src/router/index.js
+1
-0
admin_2/src/store/modules/user.js
admin_2/src/store/modules/user.js
+51
-5
admin_2/yarn.lock
admin_2/yarn.lock
+9
-9
No files found.
admin_2/package.json
View file @
21364fc1
...
...
@@ -13,7 +13,7 @@
"axios"
:
"^1.4.0"
,
"core-js"
:
"^3.8.3"
,
"crypto-js"
:
"^4.1.1"
,
"echarts"
:
"^5.
4.3
"
,
"echarts"
:
"^5.
5.1
"
,
"element-ui"
:
"^2.15.14"
,
"js-export-excel"
:
"^1.1.4"
,
"lodash-es"
:
"^4.17.21"
,
...
...
admin_2/src/components/autoRegister/YTable.vue
View file @
21364fc1
...
...
@@ -23,6 +23,7 @@
:fixed=
"v.fixed"
:formatter=
"v.formatter"
:min-width=
"v.minWidth"
:show-overflow-tooltip=
"v.showOverflowTooltip"
>
</el-table-column>
</el-table>
...
...
admin_2/src/layouts/Layouts.vue
View file @
21364fc1
...
...
@@ -22,21 +22,28 @@
</
template
>
<
script
>
import
{
mapMutations
}
from
"
vuex
"
;
import
{
mapMutations
,
mapActions
}
from
"
vuex
"
;
import
Header
from
"
./components/Header.vue
"
;
import
{
getSiteTree
}
from
"
@/api/site
"
;
import
storage
from
"
@/utils/storage
"
;
export
default
{
components
:
{
Header
,
},
data
()
{
return
{};
return
{
siteId
:
storage
.
get
(
2
,
"
siteId
"
),
};
},
created
()
{
this
.
getSiteTree
();
this
.
getBusiness
(
this
.
siteId
);
this
.
getDeptList
(
this
.
siteId
);
this
.
getWindowList
(
this
.
siteId
);
},
methods
:
{
...
mapMutations
(
"
user
"
,
[
"
SET_areaTree
"
]),
...
mapActions
(
"
user
"
,
[
"
getBusiness
"
,
"
getDeptList
"
,
"
getWindowList
"
]),
// 获取个人站点树
async
getSiteTree
()
{
let
res
=
await
getSiteTree
({
...
...
admin_2/src/pages/engine/Engine.vue
View file @
21364fc1
...
...
@@ -57,6 +57,13 @@ export default {
],
};
},
watch
:
{
"
$route.path
"
()
{
this
.
$nextTick
(()
=>
{
this
.
handleDate
();
});
},
},
methods
:
{
handleDate
()
{
this
.
$refs
.
Page
.
getDate
(
this
.
time
);
...
...
@@ -72,11 +79,11 @@ export default {
}
95% {
transform: rotate(
2
0turn);
transform: rotate(
3
0turn);
}
100% {
transform: rotate(
2
0turn);
transform: rotate(
3
0turn);
}
}
.engine {
...
...
@@ -138,6 +145,6 @@ export default {
}
.engine-img {
// cubic-bezier(1, 0.05, 0.1, 1)
animation: rotate 5s cubic-bezier(1, -0.01, 0, 0.
85
) infinite;
animation: rotate 5s cubic-bezier(1, -0.01, 0, 0.
97
) infinite;
}
</
style
>
admin_2/src/pages/engine/EvaluateSystem.vue
View file @
21364fc1
<
template
>
<div
class=
"grid h-full w-full grid-cols-2 gap-[20px]"
>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"大厅评价
量统计"
title=
"大厅取号
量统计"
border
:column=
"column"
:data=
"tableData"
:column=
"hallColumn"
:data=
"hallTableData"
:size=
"hallSearch.size"
:current=
"hallSearch.page"
:loading=
"hallLoading"
type=
"hall"
@
export=
"exportHallQueue"
></DoubleTable>
</div>
<Pagination
:total=
"hallSearch.total"
:current.sync=
"hallSearch.page"
:size.sync=
"hallSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getHallQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"业务评价
量统计"
title=
"业务取号
量统计"
border
:column=
"column"
:data=
"tableData"
:column=
"businessColumn"
:data=
"businessTableData"
:size=
"businessSearch.size"
:current=
"businessSearch.page"
:loading=
"businessLoading"
type=
"business"
@
export=
"exportbusinessQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"businessSearch.total"
:current.sync=
"businessSearch.page"
:size.sync=
"businessSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getBusinessQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"部门评价
量统计"
title=
"部门取号
量统计"
border
:column=
"column"
:data=
"tableData"
:column=
"deptColumn"
:data=
"deptTableData"
:size=
"deptSearch.size"
:current=
"deptSearch.page"
:loading=
"deptLoading"
type=
"dept"
@
export=
"exportDeptQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"deptSearch.total"
:current.sync=
"deptSearch.page"
:size.sync=
"deptSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getDeptQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"个人评价
量统计"
title=
"窗口取号
量统计"
border
:column=
"column"
:data=
"tableData"
:column=
"windowColumn"
:data=
"windowTableData"
:size=
"windowSearch.size"
:current=
"windowSearch.page"
:loading=
"windowLoading"
type=
"window"
@
export=
"exportWindowQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"windowSearch.total"
:current.sync=
"windowSearch.page"
:size.sync=
"windowSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getWindowQueue"
></Pagination>
</div>
</div>
</
template
>
<
script
>
import
DoubleTable
from
"
./components/DoubleTable.vue
"
;
import
{
getQueueSystemList
}
from
"
@/api/engine
"
;
import
{
export2Excel
}
from
"
@/utils/exportExcel
"
;
import
{
dataSection
}
from
"
@/utils
"
;
import
storage
from
"
@/utils/storage
"
;
export
default
{
components
:
{
DoubleTable
,
},
data
()
{
return
{
column
:
[
dateForm
:
{
timeStart
:
this
.
$moment
().
format
(
"
YYYY-MM-DD
"
),
timeEnd
:
this
.
$moment
().
format
(
"
YYYY-MM-DD
"
),
},
siteId
:
storage
.
get
(
2
,
"
siteId
"
),
hallLoading
:
false
,
businessLoading
:
false
,
deptLoading
:
false
,
windowLoading
:
false
,
hallSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
hallNameNotList
:
[
""
],
},
businessSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
businessNotList
:
[
""
],
businessList
:
[],
},
deptSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
sectionNameNotList
:
[
""
],
sectionNameList
:
[],
},
windowSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
windowFromnumNotList
:
[
""
],
windowFromnumList
:
[],
},
hallColumn
:
[
{
label
:
"
大厅名称
"
,
prop
:
"
hallName
"
,
align
:
"
center
"
,
showOverflowTooltip
:
true
,
},
{
label
:
"
排
序
"
,
type
:
"
index
"
,
label
:
"
排
队数量
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
class
=
"
table-num
"
>
{
cellValue
}
<
/span>
;
}
},
},
],
businessColumn
:
[
{
label
:
"
业务名称
"
,
prop
:
"
yewu
"
,
prop
:
"
business
"
,
align
:
"
center
"
,
showOverflowTooltip
:
true
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
>
{
cellValue
}
<
/span>
;
...
...
@@ -61,7 +174,7 @@ export default {
},
{
label
:
"
排队数量
"
,
prop
:
"
total
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
...
...
@@ -70,37 +183,303 @@ export default {
},
},
],
tableData
:
[
{
yewu
:
"
评价系统
"
,
total
:
100
,
},
deptColumn
:
[
{
yewu
:
"
评价系统
"
,
total
:
100
,
label
:
"
部门名称
"
,
prop
:
"
sectionName
"
,
showOverflowTooltip
:
true
,
align
:
"
center
"
,
},
{
yewu
:
"
评价系统
"
,
total
:
100
,
label
:
"
排队数量
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
class
=
"
table-num
"
>
{
cellValue
}
<
/span>
;
}
},
{
yewu
:
"
评价系统
"
,
total
:
100
,
},
],
windowColumn
:
[
{
yewu
:
"
评价系统
"
,
total
:
100
,
label
:
"
窗口编号
"
,
prop
:
"
windowFromnum
"
,
showOverflowTooltip
:
true
,
align
:
"
center
"
,
},
{
yewu
:
"
评价系统
"
,
total
:
100
,
label
:
"
排队数量
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
class
=
"
table-num
"
>
{
cellValue
}
<
/span>
;
}
},
{
yewu
:
"
评价系统
"
,
total
:
100
,
},
],
hallTableData
:
[],
businessTableData
:
[],
deptTableData
:
[],
windowTableData
:
[],
};
},
created
()
{
// this.getHallQueue();
// this.getBusinessQueue();
// this.getDeptQueue();
// this.getWindowQueue();
},
methods
:
{
// 获取日期
getDate
(
dateArr
)
{
this
.
dateForm
.
timeStart
=
dateArr
[
0
];
this
.
dateForm
.
timeEnd
=
dateArr
[
1
];
this
.
hallSearch
.
page
=
1
;
this
.
businessSearch
.
page
=
1
;
this
.
deptSearch
.
page
=
1
;
this
.
windowSearch
.
page
=
1
;
this
.
getHallQueue
();
this
.
getBusinessQueue
();
this
.
getDeptQueue
();
this
.
getWindowQueue
();
},
async
hallQueueFn
(
form
)
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
hallSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
:
data
,
total
:
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取大厅取号数据
async
getHallQueue
()
{
this
.
hallLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
hallQueueFn
();
this
.
hallTableData
=
data
;
this
.
hallSearch
.
total
=
total
;
this
.
hallLoading
=
false
;
},
async
businessQueue
(
form
=
{})
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
businessSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取业务取号数据
async
getBusinessQueue
()
{
this
.
businessLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
businessQueue
();
this
.
businessTableData
=
data
;
this
.
businessSearch
.
total
=
total
;
this
.
businessLoading
=
false
;
},
async
deptQueue
(
form
=
{})
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
deptSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取部门取号数据
async
getDeptQueue
()
{
this
.
deptLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
deptQueue
();
this
.
deptTableData
=
data
;
this
.
deptSearch
.
total
=
total
;
this
.
deptLoading
=
false
;
},
async
windowQueue
(
form
)
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
windowSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取窗口取号数据
async
getWindowQueue
()
{
this
.
windowLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
windowQueue
();
this
.
windowTableData
=
data
;
this
.
windowSearch
.
total
=
total
;
this
.
windowLoading
=
false
;
},
// 导出大厅取号量
exportHallQueue
()
{
let
tHeader
=
this
.
hallColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
hallColumn
.
map
((
v
)
=>
v
.
prop
);
dataSection
(
this
.
hallQueueFn
,
{},
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
大厅取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出业务取号
exportbusinessQueue
(
type
,
form
)
{
let
tHeader
=
this
.
businessColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
businessColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
businessName
}
=
form
;
let
searchForm
=
{};
if
(
businessName
)
{
searchForm
.
businessList
=
[
businessName
];
}
dataSection
(
this
.
businessQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
业务取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出部门取号
exportDeptQueue
(
type
,
form
)
{
let
tHeader
=
this
.
deptColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
deptColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
deptName
}
=
form
;
let
searchForm
=
{};
if
(
deptName
)
{
searchForm
.
sectionNameList
=
[
deptName
];
}
dataSection
(
this
.
deptQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
部门取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出窗口取号
exportWindowQueue
(
type
,
form
)
{
let
tHeader
=
this
.
windowColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
windowColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
windowNum
}
=
form
;
let
searchForm
=
{};
if
(
windowNum
)
{
searchForm
.
windowFromnumList
=
[
windowNum
];
}
dataSection
(
this
.
windowQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
窗口取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 业务搜索
handleSearch
(
type
,
form
)
{
if
(
type
==
"
business
"
)
{
let
{
businessName
}
=
form
;
if
(
businessName
)
{
this
.
businessSearch
.
page
=
1
;
this
.
businessSearch
.
businessList
=
[
businessName
];
}
else
{
this
.
businessSearch
.
businessList
=
[];
}
this
.
getBusinessQueue
();
}
else
if
(
type
==
"
dept
"
)
{
let
{
deptName
}
=
form
;
if
(
deptName
)
{
this
.
deptSearch
.
page
=
1
;
this
.
deptSearch
.
sectionNameList
=
[
deptName
];
}
else
{
this
.
deptSearch
.
sectionNameList
=
[];
}
this
.
getDeptQueue
();
}
else
if
(
type
==
"
window
"
)
{
let
{
windowNum
}
=
form
;
if
(
windowNum
)
{
this
.
windowSearch
.
page
=
1
;
this
.
windowSearch
.
windowFromnumList
=
[
windowNum
];
}
else
{
this
.
windowSearch
.
windowFromnumList
=
[];
}
this
.
getWindowQueue
();
}
},
},
};
</
script
>
...
...
admin_2/src/pages/engine/QueueUpSystem.vue
View file @
21364fc1
...
...
@@ -6,46 +6,99 @@
title=
"大厅取号量统计"
border
:column=
"hallColumn"
:data=
"tableData"
:data=
"hallTableData"
:size=
"hallSearch.size"
:current=
"hallSearch.page"
:loading=
"hallLoading"
type=
"hall"
@
export=
"exportHallQueue"
></DoubleTable>
</div>
<Pagination
:total=
"hallSearch.total"
:current.sync=
"hallSearch.
current
"
:current.sync=
"hallSearch.
page
"
:size.sync=
"hallSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getHallQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"业务取号量统计"
border
:column=
"businessColumn"
:data=
"tableData"
:data=
"businessTableData"
:size=
"businessSearch.size"
:current=
"businessSearch.page"
:loading=
"businessLoading"
type=
"business"
@
export=
"exportbusinessQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"businessSearch.total"
:current.sync=
"businessSearch.page"
:size.sync=
"businessSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getBusinessQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"部门取号量统计"
border
:column=
"deptColumn"
:data=
"tableData"
:data=
"deptTableData"
:size=
"deptSearch.size"
:current=
"deptSearch.page"
:loading=
"deptLoading"
type=
"dept"
@
export=
"exportDeptQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"deptSearch.total"
:current.sync=
"deptSearch.page"
:size.sync=
"deptSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getDeptQueue"
></Pagination>
</div>
<div
class=
"table-item"
>
<div>
<DoubleTable
title=
"个人
取号量统计"
title=
"窗口
取号量统计"
border
:column=
"peopleColumn"
:data=
"tableData"
:column=
"windowColumn"
:data=
"windowTableData"
:size=
"windowSearch.size"
:current=
"windowSearch.page"
:loading=
"windowLoading"
type=
"window"
@
export=
"exportWindowQueue"
@
search=
"handleSearch"
></DoubleTable>
</div>
<Pagination
:total=
"windowSearch.total"
:current.sync=
"windowSearch.page"
:size.sync=
"windowSearch.size"
layout=
"total,prev,pager,next,jumper"
@
get=
"getWindowQueue"
></Pagination>
</div>
</div>
</
template
>
<
script
>
import
DoubleTable
from
"
./components/DoubleTable.vue
"
;
import
{
getQueueSystemList
}
from
"
@/api/engine
"
;
import
{
export2Excel
}
from
"
@/utils/exportExcel
"
;
import
{
dataSection
}
from
"
@/utils
"
;
import
storage
from
"
@/utils/storage
"
;
export
default
{
components
:
{
...
...
@@ -58,31 +111,47 @@ export default {
timeEnd
:
this
.
$moment
().
format
(
"
YYYY-MM-DD
"
),
},
siteId
:
storage
.
get
(
2
,
"
siteId
"
),
hallLoading
:
false
,
businessLoading
:
false
,
deptLoading
:
false
,
windowLoading
:
false
,
hallSearch
:
{
total
:
10
0
,
current
:
1
,
total
:
0
,
page
:
1
,
size
:
10
,
keyword
:
""
,
hallNameNotList
:
[
""
]
,
},
hallColumn
:
[
{
label
:
"
排序
"
,
type
:
"
index
"
,
align
:
"
center
"
,
businessSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
businessNotList
:
[
""
],
businessList
:
[],
},
deptSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
sectionNameNotList
:
[
""
],
sectionNameList
:
[],
},
windowSearch
:
{
total
:
0
,
page
:
1
,
size
:
10
,
windowFromnumNotList
:
[
""
],
windowFromnumList
:
[],
},
hallColumn
:
[
{
label
:
"
大厅名称
"
,
prop
:
"
hallName
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
>
{
cellValue
}
<
/span>
;
}
},
showOverflowTooltip
:
true
,
},
{
label
:
"
排队数量
"
,
prop
:
"
total
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
...
...
@@ -92,15 +161,11 @@ export default {
},
],
businessColumn
:
[
{
label
:
"
排序
"
,
type
:
"
index
"
,
align
:
"
center
"
,
},
{
label
:
"
业务名称
"
,
prop
:
"
business
"
,
align
:
"
center
"
,
showOverflowTooltip
:
true
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
>
{
cellValue
}
<
/span>
;
...
...
@@ -109,7 +174,7 @@ export default {
},
{
label
:
"
排队数量
"
,
prop
:
"
total
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
...
...
@@ -119,24 +184,15 @@ export default {
},
],
deptColumn
:
[
{
label
:
"
排序
"
,
type
:
"
index
"
,
align
:
"
center
"
,
},
{
label
:
"
部门名称
"
,
prop
:
"
sectionName
"
,
showOverflowTooltip
:
true
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
>
{
cellValue
}
<
/span>
;
}
},
},
{
label
:
"
排队数量
"
,
prop
:
"
total
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
...
...
@@ -145,25 +201,16 @@ export default {
},
},
],
people
Column
:
[
window
Column
:
[
{
label
:
"
排序
"
,
type
:
"
index
"
,
label
:
"
窗口编号
"
,
prop
:
"
windowFromnum
"
,
showOverflowTooltip
:
true
,
align
:
"
center
"
,
},
{
label
:
"
个人姓名
"
,
prop
:
"
peopleName
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
return
<
span
>
{
cellValue
}
<
/span>
;
}
},
},
{
label
:
"
排队数量
"
,
prop
:
"
total
"
,
prop
:
"
phCount
"
,
align
:
"
center
"
,
formatter
:
(
row
,
column
,
cellValue
)
=>
{
if
(
cellValue
)
{
...
...
@@ -173,59 +220,265 @@ export default {
},
],
tableData
:
[
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
{
yewu
:
"
评价系统
"
,
total
:
100
,
},
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
{
yewu
:
"
排队系统
"
,
total
:
100
,
},
],
hallTableData
:
[],
businessTableData
:
[],
deptTableData
:
[],
windowTableData
:
[],
};
},
created
()
{
this
.
getQueueSystemList
();
// this.getHallQueue();
// this.getBusinessQueue();
// this.getDeptQueue();
// this.getWindowQueue();
},
methods
:
{
// 获取日期
getDate
(
dateArr
)
{
this
.
dateForm
.
timeStart
=
dateArr
[
0
];
this
.
dateForm
.
timeEnd
=
dateArr
[
1
];
this
.
getQueueSystemList
();
},
// 获取数据
async
getQueueSystemList
()
{
this
.
hallSearch
.
page
=
1
;
this
.
businessSearch
.
page
=
1
;
this
.
deptSearch
.
page
=
1
;
this
.
windowSearch
.
page
=
1
;
this
.
getHallQueue
();
this
.
getBusinessQueue
();
this
.
getDeptQueue
();
this
.
getWindowQueue
();
},
async
hallQueueFn
(
form
)
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
hallSearch
,
...
this
.
dateForm
,
sectionNameNotList
:
[
""
],
groupList
:
[
"
year
"
,
"
month
"
,
"
day
"
],
...
form
,
});
console
.
log
(
res
.
data
);
// this.hallSearch.total = res.data.total
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
:
data
,
total
:
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取大厅取号数据
async
getHallQueue
()
{
this
.
hallLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
hallQueueFn
();
this
.
hallTableData
=
data
;
this
.
hallSearch
.
total
=
total
;
this
.
hallLoading
=
false
;
},
async
businessQueue
(
form
=
{})
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
businessSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取业务取号数据
async
getBusinessQueue
()
{
this
.
businessLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
businessQueue
();
this
.
businessTableData
=
data
;
this
.
businessSearch
.
total
=
total
;
this
.
businessLoading
=
false
;
},
async
deptQueue
(
form
=
{})
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
deptSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取部门取号数据
async
getDeptQueue
()
{
this
.
deptLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
deptQueue
();
this
.
deptTableData
=
data
;
this
.
deptSearch
.
total
=
total
;
this
.
deptLoading
=
false
;
},
async
windowQueue
(
form
)
{
const
res
=
await
getQueueSystemList
({
siteId
:
this
.
siteId
,
...
this
.
windowSearch
,
...
this
.
dateForm
,
...
form
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
return
{
data
,
total
,
};
}
else
{
return
{
data
:
[],
total
:
0
,
};
}
},
// 获取窗口取号数据
async
getWindowQueue
()
{
this
.
windowLoading
=
true
;
let
{
data
,
total
}
=
await
this
.
windowQueue
();
this
.
windowTableData
=
data
;
this
.
windowSearch
.
total
=
total
;
this
.
windowLoading
=
false
;
},
// 导出大厅取号量
exportHallQueue
()
{
let
tHeader
=
this
.
hallColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
hallColumn
.
map
((
v
)
=>
v
.
prop
);
dataSection
(
this
.
hallQueueFn
,
{},
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
大厅取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出业务取号
exportbusinessQueue
(
type
,
form
)
{
let
tHeader
=
this
.
businessColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
businessColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
businessName
}
=
form
;
let
searchForm
=
{};
if
(
businessName
)
{
searchForm
.
businessList
=
[
businessName
];
}
dataSection
(
this
.
businessQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
业务取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出部门取号
exportDeptQueue
(
type
,
form
)
{
let
tHeader
=
this
.
deptColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
deptColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
deptName
}
=
form
;
let
searchForm
=
{};
if
(
deptName
)
{
searchForm
.
sectionNameList
=
[
deptName
];
}
dataSection
(
this
.
deptQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
部门取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 导出窗口取号
exportWindowQueue
(
type
,
form
)
{
let
tHeader
=
this
.
windowColumn
.
map
((
v
)
=>
v
.
label
);
let
filterVal
=
this
.
windowColumn
.
map
((
v
)
=>
v
.
prop
);
let
{
windowNum
}
=
form
;
let
searchForm
=
{};
if
(
windowNum
)
{
searchForm
.
windowFromnumList
=
[
windowNum
];
}
dataSection
(
this
.
windowQueue
,
searchForm
,
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
窗口取号量统计报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
});
},
// 业务搜索
handleSearch
(
type
,
form
)
{
if
(
type
==
"
business
"
)
{
let
{
businessName
}
=
form
;
if
(
businessName
)
{
this
.
businessSearch
.
page
=
1
;
this
.
businessSearch
.
businessList
=
[
businessName
];
}
else
{
this
.
businessSearch
.
businessList
=
[];
}
this
.
getBusinessQueue
();
}
else
if
(
type
==
"
dept
"
)
{
let
{
deptName
}
=
form
;
if
(
deptName
)
{
this
.
deptSearch
.
page
=
1
;
this
.
deptSearch
.
sectionNameList
=
[
deptName
];
}
else
{
this
.
deptSearch
.
sectionNameList
=
[];
}
this
.
getDeptQueue
();
}
else
if
(
type
==
"
window
"
)
{
let
{
windowNum
}
=
form
;
if
(
windowNum
)
{
this
.
windowSearch
.
page
=
1
;
this
.
windowSearch
.
windowFromnumList
=
[
windowNum
];
}
else
{
this
.
windowSearch
.
windowFromnumList
=
[];
}
this
.
getWindowQueue
();
}
},
},
};
...
...
admin_2/src/pages/engine/components/DoubleTable.vue
View file @
21364fc1
<
template
>
<div
class=
"flex h-full w-full flex-col gap-2"
>
<div
class=
"flex h-full w-full flex-col gap-2"
v-loading=
"loading"
>
<div
class=
"flex w-full items-center justify-between"
>
<div
class=
"title"
>
{{
title
}}
</div>
<div
class=
"flex gap-4"
>
<el-button
type=
"primary"
size=
"small"
>
导出
</el-button>
<el-input
<el-button
type=
"primary"
size=
"small"
@
click=
"handleExport"
>
导出
</el-button
>
<el-select
v-if=
"type == 'business'"
size=
"small"
filterable
v-model=
"form.businessName"
placeholder=
"请选择业务"
clearable
>
<el-option
v-for=
"v in businessList"
:key=
"v.id"
:label=
"v.businessName"
:value=
"v.businessName"
>
</el-option>
</el-select>
<el-select
v-else-if=
"type == 'dept'"
size=
"small"
filterable
v-model=
"form.deptName"
placeholder=
"请选择部门"
clearable
>
<el-option
v-for=
"v in deptList"
:key=
"v.id"
:label=
"v.name"
:value=
"v.name"
>
</el-option>
</el-select>
<el-select
v-else-if=
"type == 'window'"
size=
"small"
style=
"width: 250px"
:placeholder=
"placeholder"
v-model=
"searchVal"
></el-input>
<el-button
type=
"primary"
size=
"small"
>
搜索
</el-button>
filterable
v-model=
"form.windowNum"
placeholder=
"请选择窗口"
clearable
>
<el-option
v-for=
"v in windowList"
:key=
"v.id"
:label=
"v.name + '-' + v.fromnum"
:value=
"v.fromnum"
>
</el-option>
</el-select>
<el-button
type=
"primary"
size=
"small"
v-if=
"type != 'hall'"
@
click=
"handleSearch"
>
搜索
</el-button
>
</div>
</div>
<div
class=
"grid w-full grid-cols-2"
>
<div
:class=
"[
'w-full',
'grid',
data.length > 5 ? 'grid-cols-2' : 'grid-cols-1',
]"
>
<y-table
size=
"small"
border
:column=
"
c
olumn"
:column=
"
leftC
olumn"
:data=
"letTableData"
></y-table>
<y-table
v-
if
=
"data.length > 5"
v-
show
=
"data.length > 5"
size=
"small"
border
:column=
"
c
olumn"
:column=
"
rightC
olumn"
:data=
"rightTableData"
></y-table>
</div>
...
...
@@ -35,24 +91,44 @@
</
template
>
<
script
>
import
{
mapState
}
from
"
vuex
"
;
import
storage
from
"
@/utils/storage
"
;
export
default
{
props
:
{
data
:
{
required
:
true
,
type
:
Array
,
default
:
()
=>
[],
},
type
:
{
required
:
true
,
type
:
String
,
default
:
""
,
},
loading
:
{
type
:
Boolean
,
default
:
false
,
},
current
:
{
required
:
true
,
type
:
Number
,
default
:
1
,
},
size
:
{
required
:
true
,
type
:
Number
,
default
:
10
,
},
column
:
{
required
:
true
,
type
:
Array
,
default
:
()
=>
[],
},
title
:
{
required
:
true
,
type
:
String
,
default
:
""
,
},
placeholder
:
{
type
:
String
,
default
:
"
请输入业务名称关键字搜索
"
,
},
border
:
{
type
:
Boolean
,
default
:
true
,
...
...
@@ -61,24 +137,66 @@ export default {
data
()
{
return
{
searchVal
:
""
,
siteId
:
storage
.
get
(
2
,
"
siteId
"
),
form
:
{
businessName
:
""
,
deptName
:
""
,
windowNum
:
""
,
},
};
},
computed
:
{
...
mapState
(
"
user
"
,
[
"
businessList
"
,
"
deptList
"
,
"
windowList
"
]),
leftColumn
()
{
let
index
=
{
label
:
"
排序
"
,
type
:
"
index
"
,
lign
:
"
center
"
,
index
:
(
index
)
=>
{
return
(
this
.
current
-
1
)
*
this
.
size
+
index
+
1
;
},
};
return
[
index
,
...
this
.
column
];
},
rightColumn
()
{
let
index
=
{
label
:
"
排序
"
,
type
:
"
index
"
,
lign
:
"
center
"
,
index
:
(
index
)
=>
{
return
(
this
.
current
-
1
)
*
this
.
size
+
index
+
6
;
},
};
return
[
index
,
...
this
.
column
];
},
letTableData
()
{
let
arr
=
this
.
data
.
slice
(
0
,
5
);
if
(
arr
.
length
)
{
while
(
arr
.
length
<
5
)
{
arr
.
push
(
null
);
}
}
return
arr
;
},
rightTableData
()
{
let
arr
=
this
.
data
.
slice
(
5
,
10
);
if
(
arr
.
length
)
{
while
(
arr
.
length
<
5
)
{
arr
.
push
(
null
);
}
}
return
arr
;
},
},
created
()
{},
methods
:
{
handleSearch
()
{
this
.
$emit
(
"
search
"
,
this
.
type
,
this
.
form
);
},
handleExport
()
{
this
.
$emit
(
"
export
"
,
this
.
type
,
this
.
form
);
},
},
};
</
script
>
...
...
admin_2/src/pages/home/Home.vue
View file @
21364fc1
...
...
@@ -17,7 +17,7 @@
:value=
"homeData.totalCount"
></el-statistic>
<div
class=
"text-[14px] text-[#424E65]"
>
数仓最近汇聚时间:
2024-06-26 23:59:59
数仓最近汇聚时间:
{{
newTime
}}
</div>
</div>
</div>
...
...
@@ -37,7 +37,7 @@
近30日数据总量趋势
</div>
<div
class=
"echarts-box"
>
<LineEchart
:dataset=
"
d
ataset"
></LineEchart>
<LineEchart
:dataset=
"
totalD
ataset"
></LineEchart>
</div>
</div>
<div
class=
"flex h-full w-full flex-col"
>
...
...
@@ -45,7 +45,7 @@
近30日排队数据总量趋势
</div>
<div
class=
"echarts-box"
>
<LineEchart
:dataset=
"
d
ataset"
color=
"#1DCFB4"
></LineEchart>
<LineEchart
:dataset=
"
phD
ataset"
color=
"#1DCFB4"
></LineEchart>
</div>
</div>
<div
class=
"flex h-full w-full flex-col"
>
...
...
@@ -53,7 +53,7 @@
近30日评价数据总量趋势
</div>
<div
class=
"echarts-box"
>
<LineEchart
:dataset=
"
d
ataset"
color=
"#F57520"
></LineEchart>
<LineEchart
:dataset=
"
pjD
ataset"
color=
"#F57520"
></LineEchart>
</div>
</div>
</div>
...
...
@@ -84,26 +84,17 @@ export default {
},
data
()
{
return
{
d
ataset
:
{
totalD
ataset
:
{
dimensions
:
[
"
name
"
,
"
value
"
],
source
:
[
{
name
:
"
06-1
"
,
value
:
900000
,
},
{
name
:
"
06-2
"
,
value
:
800000
,
},
{
name
:
"
06-3
"
,
value
:
700000
,
source
:
[],
},
{
name
:
"
06-4
"
,
value
:
900000
,
phDataset
:
{
dimensions
:
[
"
name
"
,
"
value
"
]
,
source
:
[]
,
},
],
pjDataset
:
{
dimensions
:
[
"
name
"
,
"
value
"
],
source
:
[],
},
areaList
:
[
{
...
...
@@ -186,16 +177,38 @@ export default {
},
],
homeData
:
{},
newTime
:
this
.
$moment
().
format
(
"
YYYY-MM-DD HH:mm:ss
"
),
};
},
created
()
{
this
.
getHomeData
();
},
mounted
()
{},
methods
:
{
async
getHomeData
()
{
let
res
=
await
getHomeData
();
if
(
res
.
data
.
code
==
1
)
{
this
.
homeData
=
res
.
data
.
data
;
let
{
data
}
=
res
.
data
;
let
{
thirtyPhStatList
,
thirtyPjStatList
,
thirtyStatList
}
=
data
;
this
.
homeData
=
data
;
this
.
totalDataset
.
source
=
thirtyStatList
.
map
((
item
)
=>
{
return
{
name
:
`
${
item
.
month
}
-
${
item
.
day
}
`
,
value
:
item
.
count
,
};
});
this
.
phDataset
.
source
=
thirtyPhStatList
.
map
((
item
)
=>
{
return
{
name
:
`
${
item
.
month
}
-
${
item
.
day
}
`
,
value
:
item
.
phCount
,
};
});
this
.
pjDataset
.
source
=
thirtyPjStatList
.
map
((
item
)
=>
{
return
{
name
:
`
${
item
.
month
}
-
${
item
.
day
}
`
,
value
:
item
.
pjCount
,
};
});
}
},
},
...
...
admin_2/src/pages/home/components/LineEchart.vue
View file @
21364fc1
...
...
@@ -44,7 +44,12 @@ export default {
initChart
(
dataset
)
{
let
data
=
dataset
.
source
||
[];
let
dom
=
this
.
$refs
.
MyEchart
;
// 获取或者初始化 ECharts 实例
this
.
myChart
=
this
.
$echarts
.
getInstanceByDom
(
dom
);
if
(
!
this
.
myChart
)
{
this
.
myChart
=
this
.
$echarts
.
init
(
dom
);
}
let
option
=
{
grid
:
{
top
:
"
15%
"
,
...
...
@@ -52,7 +57,6 @@ export default {
right
:
"
5%
"
,
bottom
:
"
12%
"
,
},
// 鼠标移入信息查看
tooltip
:
{
trigger
:
"
axis
"
,
borderWidth
:
0
,
...
...
@@ -62,16 +66,17 @@ export default {
}
<br/><div style='margin-top:4px;padding:4px 8px;background:
${
this
.
hexToRgba
(
this
.
color
,
0.1
)}
;color:
${
this
.
color
}
';border-radius:10px>
<span style='margin-right:10px'>
${
params
[
0
].
seriesName
}
</span>
${
params
[
0
].
value
.
value
}
</div>`
;
)}
;color:
${
this
.
color
}
;border-radius:4px'><span style='margin-right:20px'>
${
params
[
0
].
seriesName
}
</span>
${
params
[
0
].
value
.
value
}
</div>`
;
},
},
dataZoom
:
[
{
// 开启数据平移
type
:
"
inside
"
,
show
:
tru
e
,
show
:
fals
e
,
startValue
:
0
,
endValue
:
this
.
endValue
-
1
,
},
...
...
@@ -106,7 +111,7 @@ export default {
},
yAxis
:
{
type
:
"
value
"
,
splitNumber
:
3
,
// 配置 Y 轴数值间隔
splitNumber
:
3
,
axisLabel
:
{
color
:
"
#666
"
,
},
...
...
@@ -168,10 +173,16 @@ export default {
],
dataset
,
};
this
.
myChart
.
setOption
(
option
);
// 适配
window
.
addEventListener
(
"
resize
"
,
this
.
adapterEcharts
);
// 清除现有定时器,防止多次调用
clearInterval
(
this
.
timer
);
// 定义并启动定时器
this
.
timer
=
setInterval
(()
=>
{
if
(
option
.
dataZoom
[
0
].
endValue
>=
data
.
length
-
1
)
{
option
.
dataZoom
[
0
].
endValue
=
this
.
endValue
-
1
;
...
...
@@ -180,15 +191,17 @@ export default {
option
.
dataZoom
[
0
].
endValue
+=
1
;
option
.
dataZoom
[
0
].
startValue
+=
1
;
}
option
&&
this
.
myChart
.
setOption
(
option
);
this
.
myChart
.
setOption
(
option
);
},
2000
);
//鼠标移入组件时停止轮播
// 绑定鼠标移入事件
this
.
myChart
.
on
(
"
mousemove
"
,
()
=>
{
clearInterval
(
this
.
timer
);
//
清除循环
clearInterval
(
this
.
timer
);
//
清除定时器
});
//鼠标移出组件时恢复轮播
// 绑定鼠标移出事件
this
.
myChart
.
on
(
"
mouseout
"
,
()
=>
{
clearInterval
(
this
.
timer
);
//
清除循环
clearInterval
(
this
.
timer
);
//
清除定时器
this
.
timer
=
setInterval
(()
=>
{
if
(
option
.
dataZoom
[
0
].
endValue
>=
data
.
length
-
1
)
{
option
.
dataZoom
[
0
].
endValue
=
this
.
endValue
-
1
;
...
...
@@ -197,10 +210,11 @@ export default {
option
.
dataZoom
[
0
].
endValue
+=
1
;
option
.
dataZoom
[
0
].
startValue
+=
1
;
}
option
&&
this
.
myChart
.
setOption
(
option
);
this
.
myChart
.
setOption
(
option
);
},
2000
);
});
},
hexToRgba
(
hex
,
opacity
)
{
let
rgbaColor
=
""
;
let
reg
=
/^#
[\d
a-f
]{6}
$/i
;
...
...
admin_2/src/router/index.js
View file @
21364fc1
...
...
@@ -119,6 +119,7 @@ const routes = [
},
{
path
:
"
/market/evaluatereport
"
,
name
:
"
evaluatereport
"
,
hideChildrenInMenu
:
true
,
component
:
()
=>
import
(
"
@/pages/market/EvaluateReport
"
),
meta
:
{
...
...
admin_2/src/store/modules/user.js
View file @
21364fc1
import
{
getSiteBusiness
,
getDepartment
,
getWindow
}
from
"
@/api/site
"
;
export
default
{
namespaced
:
true
,
state
:
{
menus
:
[],
// 菜单
token
:
""
,
siteId
:
""
,
// 站点id
deptList
:
[],
// 部门列表
userInfo
:
{},
// 用户信息
sysName
:
""
,
// 系统名称
sysLogo
:
""
,
// 系统logo
path
:
""
,
// 门户跳转过来的路由
areaTree
:
[],
// 个人区域树
businessList
:
[],
// 站点业务列表
deptList
:
[],
// 站点部门列表
windowList
:
[],
// 站点窗口列表
},
getters
:
{
siteId
(
state
)
{
...
...
@@ -38,9 +41,6 @@ export default {
SET_siteId
(
state
,
siteId
)
{
state
.
siteId
=
siteId
;
},
SET_deptList
(
state
,
deptList
)
{
state
.
deptList
=
deptList
;
},
SET_userInfo
(
state
,
userInfo
)
{
state
.
userInfo
=
userInfo
;
},
...
...
@@ -56,9 +56,55 @@ export default {
SET_areaTree
(
state
,
areaTree
)
{
state
.
areaTree
=
areaTree
;
},
SET_businessList
(
state
,
businessList
)
{
state
.
businessList
=
businessList
;
},
SET_deptList
(
state
,
deptList
)
{
state
.
deptList
=
deptList
;
},
SET_windowList
(
state
,
windowList
)
{
state
.
windowList
=
windowList
;
},
// 重置所有仓库状态
reset
:
()
=>
{},
},
actions
:
{},
actions
:
{
// 获取站点业务列表
getBusiness
:
async
(
context
,
siteId
)
=>
{
let
res
=
await
getSiteBusiness
({
page
:
1
,
size
:
-
1
,
siteId
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
}
=
res
.
data
.
data
;
context
.
commit
(
"
SET_businessList
"
,
data
);
}
},
// 获取站点部门列表
getDeptList
:
async
(
context
,
siteId
)
=>
{
let
res
=
await
getDepartment
({
page
:
1
,
size
:
-
1
,
siteId
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
}
=
res
.
data
.
data
;
context
.
commit
(
"
SET_deptList
"
,
data
);
}
},
// 获取站点窗口列表
getWindowList
:
async
(
context
,
siteId
)
=>
{
let
res
=
await
getWindow
({
page
:
1
,
size
:
-
1
,
siteId
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
}
=
res
.
data
.
data
;
context
.
commit
(
"
SET_windowList
"
,
data
);
}
},
},
};
admin_2/yarn.lock
View file @
21364fc1
...
...
@@ -3109,13 +3109,13 @@ easy-stack@1.0.1:
resolved "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz"
integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==
echarts@^5.
4.3
:
version "5.
4.3
"
resolved "https://registry.npmmirror.com/echarts/-/echarts-5.
4.3.tgz
"
integrity sha512-
mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZ
A==
echarts@^5.
5.1
:
version "5.
5.1
"
resolved "https://registry.npmmirror.com/echarts/-/echarts-5.
5.1.tgz#8dc9c68d0c548934bedcb5f633db07ed1dd2101c
"
integrity sha512-
Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1ic
A==
dependencies:
tslib "2.3.0"
zrender "5.
4.4
"
zrender "5.
6.0
"
ee-first@1.1.1:
version "1.1.1"
...
...
@@ -7000,9 +7000,9 @@ yorkie@^2.0.0:
normalize-path "^1.0.0"
strip-indent "^2.0.0"
zrender@5.
4.4
:
version "5.
4.4
"
resolved "https://registry.npmmirror.com/zrender/-/zrender-5.
4.4.tgz
"
integrity sha512-
0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw
==
zrender@5.
6.0
:
version "5.
6.0
"
resolved "https://registry.npmmirror.com/zrender/-/zrender-5.
6.0.tgz#01325b0bb38332dd5e87a8dbee7336cafc0f4a5b
"
integrity sha512-
uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg
==
dependencies:
tslib "2.3.0"
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