Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dwsproject
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dws
dwsproject
Commits
b48c70c8
Commit
b48c70c8
authored
Jun 19, 2025
by
nningxx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
大屏菜单调整
parent
4d4e63aa
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
467 additions
and
361 deletions
+467
-361
tht_project/controllers/big_screen.py
+10
-6
tht_project/static/html/big_screen/view/cook_process.html
+45
-5
tht_project/static/html/big_screen/view/expected_process.html
+407
-345
tht_project/views/big_screen.xml
+5
-5
No files found.
tht_project/controllers/big_screen.py
View file @
b48c70c8
...
@@ -65,13 +65,17 @@ class ResMesBigScreen(http.Controller):
...
@@ -65,13 +65,17 @@ class ResMesBigScreen(http.Controller):
def
common_dws_interface
(
self
,
body
=
None
,
url
=
''
,
cate
=
''
):
def
common_dws_interface
(
self
,
body
=
None
,
url
=
''
,
cate
=
''
):
"""获取大屏数据"""
"""获取大屏数据"""
plant_name
=
body
.
get
(
"plant_name"
,
False
)
plant_name
=
body
.
get
(
"plant_name"
,
''
)
today
=
body
.
get
(
"today"
,
False
)
today
=
body
.
get
(
"today"
,
''
)
if
not
today
:
device_code_list
=
body
.
get
(
"device_code_list"
,
[])
today
=
fields
.
Date
.
today
()
.
strftime
(
'
%
Y-
%
m-
%
d'
)
# if not today:
category_name
=
body
.
get
(
"category_name"
,
False
)
# today = fields.Date.today().strftime('%Y-%m-%d')
category_name
=
body
.
get
(
"category_name"
,
''
)
# 构建查询条件
# 构建查询条件
equipment_list
=
self
.
search_equipments
(
plant_name
=
plant_name
,
category_name
=
category_name
)
if
device_code_list
:
equipment_list
=
device_code_list
else
:
equipment_list
=
self
.
search_equipments
(
plant_name
=
plant_name
,
category_name
=
category_name
)
try
:
try
:
api_path
=
dws_platform_url
+
url
api_path
=
dws_platform_url
+
url
payload
=
{
payload
=
{
...
...
tht_project/static/html/big_screen/view/cook_process.html
View file @
b48c70c8
...
@@ -364,6 +364,44 @@
...
@@ -364,6 +364,44 @@
})
})
})
})
},
},
requestSelfApi
(
url
,
config
=
{},
errorMessage
=
"操作失败,请稍后重试"
,
contentType
=
"application/json"
,
baseurl
=
"https://tht.dws.rokecloud.com"
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
url
)
reject
(
null
)
axios
({
method
:
"POST"
,
url
:
baseurl
+
url
,
data
:
config
,
headers
:
{
"Content-Type"
:
contentType
},
}).
then
((
result
)
=>
{
if
(
result
?.
data
?.
result
?.
success
||
result
?.
data
?.
result
?.
code
==
0
||
result
?.
data
?.
result
?.
state
==
"success"
||
result
?.
data
?.
code
==
0
)
{
resolve
(
result
.
data
)
}
else
if
(
result
?.
data
?.
result
?.
code
==
1
)
{
reject
(
result
.
data
.
result
.
message
)
}
else
if
(
result
?.
data
?.
result
?.
state
==
"error"
)
{
reject
(
result
.
data
.
result
.
megs
)
}
else
if
(
result
?.
data
?.
code
==
1
)
{
reject
(
result
.
data
.
message
)
}
else
if
(
!
result
?.
data
?.
result
?.
success
)
{
reject
(
result
.
data
.
result
.
msg
)
}
else
if
(
result
?.
data
?.
error
)
{
reject
(
result
.
data
.
error
.
message
)
}
}).
catch
((
error
)
=>
{
reject
(
errorMessage
)
})
})
},
// 接口请求Dws系统方法封装
// 接口请求Dws系统方法封装
requestDwsApi
(
requestDwsApi
(
url
,
url
,
...
@@ -403,11 +441,12 @@
...
@@ -403,11 +441,12 @@
useRatio
:
[]
// 设备资源利用率
useRatio
:
[]
// 设备资源利用率
}
}
// 查询烟熏机数据
// 查询烟熏机数据
await
this
.
request
DwsApi
(
'/public/device
/get_yanxunlu_data'
,
{
await
this
.
request
SelfApi
(
'
/get_yanxunlu_data'
,
{
"plant_name"
:
"蒸煮车间"
,
"plant_name"
:
"蒸煮车间"
,
"category_name"
:
"烟熏炉"
"category_name"
:
"烟熏炉"
,
'today'
:
''
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
result
.
data
.
forEach
(
item
=>
{
result
.
result
.
data
.
forEach
(
item
=>
{
smudgingChance
.
xAxisData
.
push
(
item
.
device_name
)
smudgingChance
.
xAxisData
.
push
(
item
.
device_name
)
smudgingChance
.
processTime
.
push
(
item
.
process
)
smudgingChance
.
processTime
.
push
(
item
.
process
)
smudgingChance
.
temperatureX
.
push
(
item
.
temperatureX
)
smudgingChance
.
temperatureX
.
push
(
item
.
temperatureX
)
...
@@ -415,9 +454,10 @@
...
@@ -415,9 +454,10 @@
})
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询烟熏机设备资源利用率
// 查询烟熏机设备资源利用率
await
this
.
request
DwsApi
(
'/public/device
/big_screen_today'
,
{
await
this
.
request
SelfApi
(
'
/big_screen_today'
,
{
"plant_name"
:
"蒸煮车间"
,
"plant_name"
:
"蒸煮车间"
,
"category_name"
:
"烟熏炉"
"category_name"
:
"烟熏炉"
,
'today'
:
''
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
...
tht_project/static/html/big_screen/view/expected_process.html
View file @
b48c70c8
...
@@ -2,10 +2,10 @@
...
@@ -2,10 +2,10 @@
<html
lang=
"zh-CN"
>
<html
lang=
"zh-CN"
>
<head>
<head>
<meta
charset=
"UTF-8"
/>
<meta
charset=
"UTF-8"
/>
<title>
预料工序
</title>
<title>
预料工序
</title>
<meta
content=
"width=device-width,initial-scale=1.0, maximum-scale=1.0,user-scalable=0"
name=
"viewport"
/>
<meta
content=
"width=device-width,initial-scale=1.0, maximum-scale=1.0,user-scalable=0"
name=
"viewport"
/>
<link
rel=
"stylesheet"
href=
"/tht_project/static/html/big_screen/element-ui/index.css"
/>
<link
rel=
"stylesheet"
href=
"/tht_project/static/html/big_screen/element-ui/index.css"
/>
<script
src=
"/tht_project/static/html/big_screen/js/echarts.min.js"
></script>
<script
src=
"/tht_project/static/html/big_screen/js/echarts.min.js"
></script>
<script
src=
"/tht_project/static/html/big_screen/js/moment.min.js"
></script>
<script
src=
"/tht_project/static/html/big_screen/js/moment.min.js"
></script>
<script
src=
"/tht_project/static/html/big_screen/js/vue.js"
></script>
<script
src=
"/tht_project/static/html/big_screen/js/vue.js"
></script>
...
@@ -14,156 +14,156 @@
...
@@ -14,156 +14,156 @@
</head>
</head>
<body
id=
"bodyId"
style=
"display: none"
>
<body
id=
"bodyId"
style=
"display: none"
>
<div
id=
"app"
v-loading
.
body
.
fullscreen
.
lock=
"loading"
ref=
"fullScreenElement"
>
<div
id=
"app"
v-loading
.
body
.
fullscreen
.
lock=
"loading"
ref=
"fullScreenElement"
>
<div
class=
"pageHeaderBox"
>
<div
class=
"pageHeaderBox"
>
<div
class=
"weatherInfo"
>
<div
class=
"weatherInfo"
>
<span
class=
"location"
>
预料工序
</span>
<span
class=
"location"
>
预料工序
</span>
</div>
</div>
<img
class=
"logo"
src=
"/tht_project/static/html/big_screen/image/logo.png"
>
<img
class=
"logo"
src=
"/tht_project/static/html/big_screen/image/logo.png"
>
<div
class=
"title"
>
天合堂数据指挥中心可视化大屏
</div>
<div
class=
"title"
>
天合堂数据指挥中心可视化大屏
</div>
<div
class=
"dateTimeBox"
>
<div
class=
"dateTimeBox"
>
<i
style=
"font-size: 30px;margin-right: 10px;"
@
click=
"toggleFullscreen"
<i
style=
"font-size: 30px;margin-right: 10px;"
@
click=
"toggleFullscreen"
:class=
"isFullscreen ? 'el-icon-close' : 'el-icon-full-screen'"
></i>
:class=
"isFullscreen ? 'el-icon-close' : 'el-icon-full-screen'"
></i>
<div
class=
"time"
>
[[currentTime]]
</div>
<div
class=
"time"
>
[[currentTime]]
</div>
<div
class=
"dateBox"
>
<div
class=
"dateBox"
>
<span>
[[ currentDate ]]
</span>
<span>
[[ currentDate ]]
</span>
<span>
[[ currentWeek ]]
</span>
<span>
[[ currentWeek ]]
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pageContentBox"
>
</div>
<div
class=
"pageContentBackgroundBox"
>
<div
class=
"pageContentBox"
>
<img
class=
"badgeIcon"
src=
"/tht_project/static/html/big_screen/image/777.png"
alt=
""
v-for=
"item in 4"
<div
class=
"pageContentBackgroundBox"
>
:key=
"item"
>
<img
class=
"badgeIcon"
src=
"/tht_project/static/html/big_screen/image/777.png"
alt=
""
v-for=
"item in 4"
:key=
"item"
>
</div>
<div
class=
"pageContentArea"
>
<div
class=
"contentColumnBox one"
>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<span>
今日产量
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"proportionChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<span>
今日投料情况
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"mainMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<span>
设备实时运转情况
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"seasonMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<span>
设备资源利用率
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"rawMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
</div>
<div
class=
"pageContentArea"
>
<div
class=
"contentColumnBox two"
>
<div
class=
"contentColumnBox one"
>
<div
class=
"itemCardBox"
>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<div
class=
"cardHeader"
>
<span>
片冰机
</span>
<span>
今日产量
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"proportionChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardContentBox"
>
<div
class=
"cardHeader"
>
<div
id=
"sliceIceMachineChart"
style=
"width: 100%; height: 100%;"
></div>
<span>
今日投料情况
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"mainMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
</div>
<div
class=
"cardHeader"
>
<div
class=
"itemCardBox"
>
<span>
设备实时运转情况
</span>
<div
class=
"cardHeader"
>
</div>
<span>
解冻机组
</span>
<div
class=
"cardContentBox"
>
<div
id=
"seasonMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardContentBox"
>
<div
class=
"cardHeader"
>
<div
id=
"thawingUnitChart"
style=
"width: 100%; height: 100%;"
></div>
<span>
设备资源利用率
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"rawMaterialChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"contentColumnBox two"
>
<div
class=
"itemCardBox"
>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<div
class=
"cardHeader"
>
<span>
切丁机组
</span>
<span>
片冰机
</span>
</div>
<div
class=
"cardContentBox"
>
<div
id=
"sliceIceMachineChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardContentBox"
>
<div
class=
"cardHeader"
>
<div
style=
"width: 100%; height: 100%; display: flex;"
>
<span>
解冻机组
</span>
<div
id=
"dicingUnitLineChart"
style=
"width: 65%; height: 100%;"
></div>
</div>
<div
id=
"dicingUnitGaugeChart"
style=
"width: 35%; height: 100%;"
></div>
<div
class=
"cardContentBox"
>
<div
id=
"thawingUnitChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
</div>
<div
class=
"cardHeader"
>
<div
class=
"itemCardBox"
>
<span>
切丁机组
</span>
<div
class=
"cardHeader"
>
</div>
<span>
连续切块机
</span>
<div
class=
"cardContentBox"
>
<div
style=
"width: 100%; height: 100%; display: flex;"
>
<div
id=
"dicingUnitLineChart"
style=
"width: 65%; height: 100%;"
></div>
<div
id=
"dicingUnitGaugeChart"
style=
"width: 35%; height: 100%;"
></div>
</div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardContentBox"
>
<div
class=
"cardHeader"
>
<div
style=
"width: 100%; height: 100%; display: flex;"
>
<span>
连续切块机
</span>
<div
id=
"continuouSlabberLeftChart"
style=
"width: 50%; height: 100%;"
></div>
</div>
<div
id=
"continuouSlabberRightChart"
style=
"width: 50%; height: 100%;"
></div>
<div
class=
"cardContentBox"
>
<div
style=
"width: 100%; height: 100%; display: flex;"
>
<div
id=
"continuouSlabberLeftChart"
style=
"width: 50%; height: 100%;"
></div>
<div
id=
"continuouSlabberRightChart"
style=
"width: 50%; height: 100%;"
></div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
style=
"position: relative;"
>
</div
>
<div
class=
"cardHeader"
style=
"position: absolute;top: 5px; width: 100%
;"
>
<div
class=
"itemCardBox"
style=
"position: relative
;"
>
<span>
绞肉机
</span
>
<div
class=
"cardHeader"
style=
"position: absolute;top: 5px; width: 100%;"
>
<
/div
>
<
span>
绞肉机
</span
>
<div
class=
"cardContentBox"
style=
"z-index: 1;"
>
</div
>
<div
id=
"meatGrinderChart"
style=
"width: 100%; height: 100%;"
></div
>
<div
class=
"cardContentBox"
style=
"z-index: 1;"
>
</div>
<
div
id=
"meatGrinderChart"
style=
"width: 100%; height: 100%;"
><
/div>
</div>
</div>
</div>
</div>
<div
class=
"contentColumnBox three"
>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"contentColumnBox three"
>
<div
class=
"cardHeader"
>
<div
class=
"itemCardBox"
>
<span>
斩拌机
</span>
<div
class=
"cardHeader"
>
</div>
<span>
斩拌机
</span>
<div
class=
"cardContentBox"
>
<div
id=
"ZBY550ChopperMixerChart"
style=
"width: 100%; height: 100%;"
></div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
<div
class=
"cardContentBox"
>
<div
class=
"cardHeader"
>
<div
id=
"ZBY550ChopperMixerChart"
style=
"width: 100%; height: 100%;"
></div>
<span>
真空搅拌机
</span>
</div>
<div
class=
"cardContentBox"
>
<div
style=
"width: 100%; height: 100%; display: flex;flex-wrap: wrap;"
>
<div
id=
"vacuumMixerRotateSpeedChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerRunTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerRemainTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerCWVoltageChart"
style=
"width: 50%; height: 50%;"
></div>
</div>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
</div>
<div
class=
"cardHeader"
>
<div
class=
"itemCardBox"
>
<span>
真空滚揉机
</span>
<div
class=
"cardHeader"
>
</div>
<span>
真空搅拌机
</span>
<div
class=
"cardContentBox"
>
</div>
<div
style=
"width: 100%; height: 100%; display: flex;flex-wrap: wrap;"
>
<div
class=
"cardContentBox"
>
<div
id=
"vacuumTumblingRotateSpeedChart"
style=
"width: 50%; height: 50%;"
></div>
<div
style=
"width: 100%; height: 100%; display: flex;flex-wrap: wrap;"
>
<div
id=
"vacuumTumblingRunTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerRotateSpeedChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumTumblingRemainTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerRunTimeChart"
style=
"width: 50%; height: 50%;"
></div>
</div>
<div
id=
"vacuumMixerRemainTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumMixerCWVoltageChart"
style=
"width: 50%; height: 50%;"
></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"contentColumnBox four"
>
<div
class=
"itemCardBox"
>
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<div
class=
"cardHeader"
>
<span>
真空滚揉机
</span>
<span>
报警中心
</span>
</div>
<div
class=
"cardContentBox"
>
<div
style=
"width: 100%; height: 100%; display: flex;flex-wrap: wrap;"
>
<div
id=
"vacuumTumblingRotateSpeedChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumTumblingRunTimeChart"
style=
"width: 50%; height: 50%;"
></div>
<div
id=
"vacuumTumblingRemainTimeChart"
style=
"width: 50%; height: 50%;"
></div>
</div>
</div>
<div
class=
"cardContentBox tableBox"
>
</div>
<el-table
class=
"tableClass"
:data=
"alarmList"
height=
"1"
tooltip-effect=
"light"
</div>
:row-style=
"{height: '30px', backgroundColor: 'transparent'}"
</div>
:cell-style=
"{padding: '5px 0', borderBottom:'none'}"
<div
class=
"contentColumnBox four"
>
:header-row-style=
"{ backgroundColor: 'transparent'}"
:header-cell-style=
"{
<div
class=
"itemCardBox"
>
<div
class=
"cardHeader"
>
<span>
报警中心
</span>
</div>
<div
class=
"cardContentBox tableBox"
>
<el-table
class=
"tableClass"
:data=
"alarmList"
height=
"1"
tooltip-effect=
"light"
:row-style=
"{height: '30px', backgroundColor: 'transparent'}"
:cell-style=
"{padding: '5px 0', borderBottom:'none'}"
:header-row-style=
"{ backgroundColor: 'transparent'}"
:header-cell-style=
"{
backgroundColor: 'transparent',
backgroundColor: 'transparent',
color: '#01c4f9',
color: '#01c4f9',
fontWeight: 'bold',
fontWeight: 'bold',
...
@@ -173,36 +173,36 @@
...
@@ -173,36 +173,36 @@
padding: '5px 0',
padding: '5px 0',
borderBottom:'none'
borderBottom:'none'
}"
>
}"
>
<el-table-column
prop=
"device"
label=
"报警类型"
>
<el-table-column
prop=
"device"
label=
"报警类型"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.device ]]
</span>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.device ]]
</span>
</template>
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"time"
label=
"报警时间"
width=
"80"
>
<el-table-column
prop=
"time"
label=
"报警时间"
width=
"80"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.time ]]
</span>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.time ]]
</span>
</template>
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"detail"
label=
"报警描述"
show-overflow-tooltip
>
<el-table-column
prop=
"detail"
label=
"报警描述"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.detail ]]
</span>
<span
style=
"color: #fff; font-size: 12px;"
>
[[ scope.row.detail ]]
</span>
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
</div>
<div
class=
"itemCardBox"
>
</div
>
<div
class=
"cardHeader
"
>
<div
class=
"itemCardBox
"
>
<span>
今日计划执行情况
</span
>
<div
class=
"cardHeader"
>
<
/div
>
<
span>
今日计划执行情况
</span
>
<div
class=
"cardContentBox"
>
</div
>
<div
id=
"meatGrainAnalysisChart"
style=
"width: 100%; height: 100%;"
></div
>
<div
class=
"cardContentBox"
>
</div>
<
div
id=
"meatGrainAnalysisChart"
style=
"width: 100%; height: 100%;"
><
/div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</body>
<script>
<script>
...
@@ -347,7 +347,7 @@
...
@@ -347,7 +347,7 @@
method
:
"POST"
,
method
:
"POST"
,
url
:
this
.
baseURL
+
url
,
url
:
this
.
baseURL
+
url
,
data
:
config
,
data
:
config
,
headers
:
{
"Content-Type"
:
contentType
},
headers
:
{
"Content-Type"
:
contentType
},
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
if
(
if
(
result
?.
data
?.
result
?.
code
==
0
||
result
?.
data
?.
result
?.
code
==
0
||
...
@@ -369,6 +369,44 @@
...
@@ -369,6 +369,44 @@
})
})
})
})
},
},
requestSelfApi
(
url
,
config
=
{},
errorMessage
=
"操作失败,请稍后重试"
,
contentType
=
"application/json"
,
baseurl
=
"https://tht.dws.rokecloud.com"
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
url
)
reject
(
null
)
axios
({
method
:
"POST"
,
url
:
baseurl
+
url
,
data
:
config
,
headers
:
{
"Content-Type"
:
contentType
},
}).
then
((
result
)
=>
{
if
(
result
?.
data
?.
result
?.
success
||
result
?.
data
?.
result
?.
code
==
0
||
result
?.
data
?.
result
?.
state
==
"success"
||
result
?.
data
?.
code
==
0
)
{
resolve
(
result
.
data
)
}
else
if
(
result
?.
data
?.
result
?.
code
==
1
)
{
reject
(
result
.
data
.
result
.
message
)
}
else
if
(
result
?.
data
?.
result
?.
state
==
"error"
)
{
reject
(
result
.
data
.
result
.
megs
)
}
else
if
(
result
?.
data
?.
code
==
1
)
{
reject
(
result
.
data
.
message
)
}
else
if
(
!
result
?.
data
?.
result
?.
success
)
{
reject
(
result
.
data
.
result
.
msg
)
}
else
if
(
result
?.
data
?.
error
)
{
reject
(
result
.
data
.
error
.
message
)
}
}).
catch
((
error
)
=>
{
reject
(
errorMessage
)
})
})
},
// 接口请求Dws系统方法封装
// 接口请求Dws系统方法封装
requestDwsApi
(
requestDwsApi
(
url
,
url
,
...
@@ -382,7 +420,7 @@
...
@@ -382,7 +420,7 @@
method
:
"POST"
,
method
:
"POST"
,
url
:
this
.
dwsBaseUrl
+
url
,
url
:
this
.
dwsBaseUrl
+
url
,
data
:
config
,
data
:
config
,
headers
:
{
"Content-Type"
:
contentType
},
headers
:
{
"Content-Type"
:
contentType
},
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
if
(
result
?.
data
?.
success
)
{
if
(
result
?.
data
?.
success
)
{
resolve
(
result
.
data
)
resolve
(
result
.
data
)
...
@@ -412,44 +450,68 @@
...
@@ -412,44 +450,68 @@
"today"
:
"2025-03-28"
,
"today"
:
"2025-03-28"
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
proportionData
=
result
.
result
.
data
proportionData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询今日投料情况
// 查询今日投料情况
await
this
.
requestApi
(
'/roke/big_screen_kanban/today_material_input'
,
{
await
this
.
requestApi
(
'/roke/big_screen_kanban/today_material_input'
,
{
"process_code"
:
"001"
,
"process_code"
:
"001"
,
"today"
:
"2025-03-28"
,
"today"
:
"2025-03-28"
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
mainMaterialData
=
result
.
result
.
data
mainMaterialData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询设备实时运转情况
// 查询设备实时运转情况
await
this
.
requestDwsApi
(
'/public/device/big_screen_count'
,
{
await
this
.
requestSelfApi
(
'/big_screen_count'
,
{
"plant_name"
:
"预料车间"
"plant_name"
:
"预料车间"
,
"category_name"
:
''
,
"today"
:
''
}).
then
(
result
=>
{
}).
then
(
result
=>
{
seasonMaterialData
=
result
.
data
seasonMaterialData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询设备资源利用率
// 查询设备资源利用率
await
this
.
requestDwsApi
(
'/public/device/big_screen_today'
,
{
await
this
.
requestSelfApi
(
'/big_screen_today'
,
{
"plant_name"
:
"预料车间"
"plant_name"
:
"预料车间"
,
"category_name"
:
''
,
"today"
:
''
}).
then
(
result
=>
{
}).
then
(
result
=>
{
rawMaterialData
=
result
.
data
rawMaterialData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询解冻机
// 查询解冻机
await
this
.
requestDwsApi
(
'/public/device/get_jiedongji_temperature'
,
{
await
this
.
requestSelfApi
(
'/get_jiedongji_temperature'
,
{
"device_code_list"
:
[
'868892078264059'
]
"device_code_list"
:
[
'868892078264059'
],
"category_name"
:
''
,
"today"
:
''
,
'plant_name'
:
''
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
thawingUnitData
=
result
.
data
thawingUnitData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询连续切块机
// 查询连续切块机
await
this
.
requestDwsApi
(
'/public/device/get_qiekuaiji_data'
,
{
await
this
.
requestSelfApi
(
'/get_qiekuaiji_data'
,
{
"device_code_list"
:
[
'868892078346237'
]
"device_code_list"
:
[
'868892078346237'
],
"category_name"
:
''
,
"today"
:
''
,
'plant_name'
:
''
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
continuouSlabberData
=
result
.
data
continuouSlabberData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
// 查询今日计划执行情况
// 查询今日计划执行情况
await
this
.
requestApi
(
'/roke/big_screen_kanban/today_production_summary'
,
{
await
this
.
requestApi
(
'/roke/big_screen_kanban/today_production_summary'
,
{
"order_department_code"
:
"001"
,
"order_department_code"
:
"001"
,
}).
then
(
result
=>
{
}).
then
(
result
=>
{
meatGrainAnalysisData
=
result
.
result
.
data
meatGrainAnalysisData
=
result
.
result
.
data
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
}).
catch
(
error
=>
{
console
.
error
(
error
)
})
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
initProportionChart
(
proportionData
)
this
.
initProportionChart
(
proportionData
)
this
.
initMainMaterialChart
(
mainMaterialData
)
this
.
initMainMaterialChart
(
mainMaterialData
)
...
@@ -496,7 +558,7 @@
...
@@ -496,7 +558,7 @@
},
},
tooltip
:
{
tooltip
:
{
trigger
:
'axis'
,
trigger
:
'axis'
,
axisPointer
:
{
type
:
'shadow'
},
axisPointer
:
{
type
:
'shadow'
},
formatter
:
(
params
)
=>
{
formatter
:
(
params
)
=>
{
console
.
log
(
params
)
console
.
log
(
params
)
let
tooltipHtml
=
`<div style="font-weight:bold;margin-bottom:5px">
${
params
[
0
].
name
}
</div>`
let
tooltipHtml
=
`<div style="font-weight:bold;margin-bottom:5px">
${
params
[
0
].
name
}
</div>`
...
@@ -526,24 +588,24 @@
...
@@ -526,24 +588,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
seriesData
,
data
:
seriesData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -601,18 +663,18 @@
...
@@ -601,18 +663,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -666,19 +728,19 @@
...
@@ -666,19 +728,19 @@
data
:
[{
data
:
[{
value
:
data
?.
green
||
0
,
value
:
data
?.
green
||
0
,
name
:
'运行'
,
name
:
'运行'
,
itemStyle
:
{
color
:
'#91cc75'
},
itemStyle
:
{
color
:
'#91cc75'
},
},
{
},
{
value
:
data
?.
yellow
||
0
,
value
:
data
?.
yellow
||
0
,
name
:
'等待'
,
name
:
'等待'
,
itemStyle
:
{
color
:
'#ffd700'
},
itemStyle
:
{
color
:
'#ffd700'
},
},
{
},
{
value
:
data
?.
red
||
0
,
value
:
data
?.
red
||
0
,
name
:
'故障'
,
name
:
'故障'
,
itemStyle
:
{
color
:
'#ee6666'
},
itemStyle
:
{
color
:
'#ee6666'
},
},
{
},
{
value
:
data
?.
gray
||
0
,
value
:
data
?.
gray
||
0
,
name
:
'关机'
,
name
:
'关机'
,
itemStyle
:
{
color
:
'#787878'
},
itemStyle
:
{
color
:
'#787878'
},
}]
}]
}]
}]
})
})
...
@@ -726,24 +788,24 @@
...
@@ -726,24 +788,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}%'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}%'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
seriesData
,
data
:
seriesData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -785,24 +847,24 @@
...
@@ -785,24 +847,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}℃'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}℃'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
seriesData
,
data
:
seriesData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -835,22 +897,22 @@
...
@@ -835,22 +897,22 @@
startAngle
:
200
,
startAngle
:
200
,
endAngle
:
-
20
,
endAngle
:
-
20
,
splitNumber
:
5
,
splitNumber
:
5
,
itemStyle
:
{
color
:
'#3a8fff'
},
itemStyle
:
{
color
:
'#3a8fff'
},
progress
:
{
show
:
true
,
width
:
5
},
progress
:
{
show
:
true
,
width
:
5
},
pointer
:
{
show
:
false
},
pointer
:
{
show
:
false
},
axisLine
:
{
lineStyle
:
{
width
:
5
}
},
axisLine
:
{
lineStyle
:
{
width
:
5
}
},
axisTick
:
{
axisTick
:
{
distance
:
-
15
,
distance
:
-
15
,
length
:
5
,
length
:
5
,
splitNumber
:
5
,
splitNumber
:
5
,
lineStyle
:
{
width
:
1
,
color
:
'#999'
}
lineStyle
:
{
width
:
1
,
color
:
'#999'
}
},
},
splitLine
:
{
splitLine
:
{
distance
:
-
15
,
distance
:
-
15
,
length
:
8
,
length
:
8
,
lineStyle
:
{
width
:
1
,
color
:
'#999'
}
lineStyle
:
{
width
:
1
,
color
:
'#999'
}
},
},
axisLabel
:
{
distance
:
-
15
,
color
:
'#999'
,
fontSize
:
10
,
},
axisLabel
:
{
distance
:
-
15
,
color
:
'#999'
,
fontSize
:
10
,
},
detail
:
{
detail
:
{
valueAnimation
:
true
,
valueAnimation
:
true
,
offsetCenter
:
[
0
,
0
],
offsetCenter
:
[
0
,
0
],
...
@@ -877,22 +939,22 @@
...
@@ -877,22 +939,22 @@
seriesData
.
push
(
data
)
seriesData
.
push
(
data
)
}
}
chart
.
setOption
({
chart
.
setOption
({
grid
:
{
left
:
'5%'
,
right
:
'5%'
,
top
:
'8%'
,
bottom
:
'5%'
},
grid
:
{
left
:
'5%'
,
right
:
'5%'
,
top
:
'8%'
,
bottom
:
'5%'
},
graphic
:
[{
graphic
:
[{
type
:
'text'
,
type
:
'text'
,
left
:
'12%'
,
left
:
'12%'
,
top
:
'80%'
,
top
:
'80%'
,
style
:
{
text
:
'当前库内温度'
,
fill
:
'#fff'
,
fontSize
:
10
}
style
:
{
text
:
'当前库内温度'
,
fill
:
'#fff'
,
fontSize
:
10
}
},
{
},
{
type
:
'text'
,
type
:
'text'
,
left
:
'45.5%'
,
left
:
'45.5%'
,
top
:
'80%'
,
top
:
'80%'
,
style
:
{
text
:
'中心温度'
,
fill
:
'#fff'
,
fontSize
:
10
}
style
:
{
text
:
'中心温度'
,
fill
:
'#fff'
,
fontSize
:
10
}
},
{
},
{
type
:
'text'
,
type
:
'text'
,
left
:
'75.5%'
,
left
:
'75.5%'
,
top
:
'80%'
,
top
:
'80%'
,
style
:
{
text
:
'库内湿度'
,
fill
:
'#fff'
,
fontSize
:
10
}
style
:
{
text
:
'库内湿度'
,
fill
:
'#fff'
,
fontSize
:
10
}
}],
}],
series
:
seriesData
series
:
seriesData
})
})
...
@@ -929,24 +991,24 @@
...
@@ -929,24 +991,24 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
data
:
seriesData
,
data
:
seriesData
,
smooth
:
true
,
smooth
:
true
,
lineStyle
:
{
type
:
'dashed'
},
lineStyle
:
{
type
:
'dashed'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -956,8 +1018,8 @@
...
@@ -956,8 +1018,8 @@
},
},
areaStyle
:
{
areaStyle
:
{
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
{
offset
:
0
,
color
:
'rgba(58, 143, 255, 0.8)'
},
{
offset
:
0
,
color
:
'rgba(58, 143, 255, 0.8)'
},
{
offset
:
1
,
color
:
'rgba(58, 143, 255, 0.1)'
}
{
offset
:
1
,
color
:
'rgba(58, 143, 255, 0.1)'
}
])
])
},
},
}]
}]
...
@@ -971,22 +1033,22 @@
...
@@ -971,22 +1033,22 @@
startAngle
:
200
,
startAngle
:
200
,
endAngle
:
-
20
,
endAngle
:
-
20
,
splitNumber
:
5
,
splitNumber
:
5
,
itemStyle
:
{
color
:
'#3a8fff'
},
itemStyle
:
{
color
:
'#3a8fff'
},
progress
:
{
show
:
false
,
width
:
5
},
progress
:
{
show
:
false
,
width
:
5
},
pointer
:
{
itemStyle
:
{
color
:
'#fe827a'
,
},
length
:
"60%"
,
width
:
3
},
pointer
:
{
itemStyle
:
{
color
:
'#fe827a'
,},
length
:
"60%"
,
width
:
3
},
axisLine
:
{
axisLine
:
{
roundCap
:
true
,
roundCap
:
true
,
lineStyle
:
{
lineStyle
:
{
width
:
5
,
width
:
5
,
color
:
[[
1
,
{
color
:
[[
1
,
{
type
:
'linear'
,
x
:
0
,
y
:
0
,
x2
:
1
,
y2
:
0
,
type
:
'linear'
,
x
:
0
,
y
:
0
,
x2
:
1
,
y2
:
0
,
colorStops
:
[{
offset
:
0
,
color
:
'#91cc75'
},
{
offset
:
1
,
color
:
'#ff4b4b'
}]
colorStops
:
[{
offset
:
0
,
color
:
'#91cc75'
},
{
offset
:
1
,
color
:
'#ff4b4b'
}]
}]]
}]]
}
}
},
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
splitLine
:
{
show
:
false
},
splitLine
:
{
show
:
false
},
axisLabel
:
{
show
:
false
},
axisLabel
:
{
show
:
false
},
detail
:
{
detail
:
{
valueAnimation
:
true
,
valueAnimation
:
true
,
width
:
'40%'
,
width
:
'40%'
,
...
@@ -996,8 +1058,8 @@
...
@@ -996,8 +1058,8 @@
fontWeight
:
'bold'
,
fontWeight
:
'bold'
,
offsetCenter
:
[
0
,
'40%'
]
offsetCenter
:
[
0
,
'40%'
]
},
},
data
:
[{
value
:
50
,
name
:
"加速时间"
}],
data
:
[{
value
:
50
,
name
:
"加速时间"
}],
title
:
{
color
:
"#FFF"
,
fontSize
:
10
,
valueAnimation
:
false
,
offsetCenter
:
[
'0'
,
'70%'
]
}
title
:
{
color
:
"#FFF"
,
fontSize
:
10
,
valueAnimation
:
false
,
offsetCenter
:
[
'0'
,
'70%'
]
}
}]
}]
})
})
},
},
...
@@ -1042,24 +1104,24 @@
...
@@ -1042,24 +1104,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
runFrequencyMax
,
max
:
runFrequencyMax
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}Hz'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}Hz'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
runFrequencyData
,
data
:
runFrequencyData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1090,8 +1152,8 @@
...
@@ -1090,8 +1152,8 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
...
@@ -1099,16 +1161,16 @@
...
@@ -1099,16 +1161,16 @@
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
cuttingSpeedMax
,
max
:
cuttingSpeedMax
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
cuttingSpeedData
,
data
:
cuttingSpeedData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1152,31 +1214,31 @@
...
@@ -1152,31 +1214,31 @@
top
:
'0%'
,
top
:
'0%'
,
itemWidth
:
10
,
itemWidth
:
10
,
itemHeight
:
10
,
itemHeight
:
10
,
textStyle
:
{
color
:
"#fff"
,
fontSize
:
10
}
textStyle
:
{
color
:
"#fff"
,
fontSize
:
10
}
},
},
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
},
},
series
:
[{
series
:
[{
name
:
'设备A'
,
name
:
'设备A'
,
type
:
'line'
,
type
:
'line'
,
data
:
deviceA
,
data
:
deviceA
,
smooth
:
true
,
smooth
:
true
,
lineStyle
:
{
type
:
'dashed'
},
lineStyle
:
{
type
:
'dashed'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1186,8 +1248,8 @@
...
@@ -1186,8 +1248,8 @@
},
},
areaStyle
:
{
areaStyle
:
{
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
0
,
0
,
1
,
[
{
offset
:
0
,
color
:
'rgba(58, 143, 255, 0.8)'
},
{
offset
:
0
,
color
:
'rgba(58, 143, 255, 0.8)'
},
{
offset
:
1
,
color
:
'rgba(58, 143, 255, 0.1)'
}
{
offset
:
1
,
color
:
'rgba(58, 143, 255, 0.1)'
}
])
])
},
},
},
{
},
{
...
@@ -1195,7 +1257,7 @@
...
@@ -1195,7 +1257,7 @@
type
:
'line'
,
type
:
'line'
,
data
:
deviceB
,
data
:
deviceB
,
smooth
:
true
,
smooth
:
true
,
lineStyle
:
{
type
:
'dashed'
},
lineStyle
:
{
type
:
'dashed'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1243,18 +1305,18 @@
...
@@ -1243,18 +1305,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
unit
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1312,24 +1374,24 @@
...
@@ -1312,24 +1374,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
seriesData
,
data
:
seriesData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1364,18 +1426,18 @@
...
@@ -1364,18 +1426,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1414,18 +1476,18 @@
...
@@ -1414,18 +1476,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1464,18 +1526,18 @@
...
@@ -1464,18 +1526,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'kpa'
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'kpa'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1531,24 +1593,24 @@
...
@@ -1531,24 +1593,24 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
formatter
:
'{value}ppm'
}
},
},
series
:
[{
series
:
[{
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
seriesData
,
data
:
seriesData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1583,18 +1645,18 @@
...
@@ -1583,18 +1645,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1633,18 +1695,18 @@
...
@@ -1633,18 +1695,18 @@
type
:
'category'
,
type
:
'category'
,
boundaryGap
:
false
,
boundaryGap
:
false
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisTick
:
{
show
:
false
},
axisTick
:
{
show
:
false
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
,
interval
:
0
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
4
,
splitNumber
:
4
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
,
type
:
'dashed'
}
},
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
axisLabel
:
{
color
:
'#ccc'
,
fontSize
:
10
,
formatter
:
'{value}'
+
'min'
}
},
},
series
:
[{
series
:
[{
type
:
'line'
,
type
:
'line'
,
...
@@ -1695,13 +1757,13 @@
...
@@ -1695,13 +1757,13 @@
legend
:
{
legend
:
{
top
:
'-2%'
,
top
:
'-2%'
,
right
:
'5%'
,
right
:
'5%'
,
textStyle
:
{
color
:
'#fff'
,
fontSize
:
10
},
textStyle
:
{
color
:
'#fff'
,
fontSize
:
10
},
itemWidth
:
20
,
itemWidth
:
20
,
itemHeight
:
10
,
itemHeight
:
10
,
},
},
tooltip
:
{
tooltip
:
{
trigger
:
'axis'
,
trigger
:
'axis'
,
axisPointer
:
{
type
:
'shadow'
},
axisPointer
:
{
type
:
'shadow'
},
formatter
:
(
params
)
=>
{
formatter
:
(
params
)
=>
{
let
tooltipHtml
=
`<div style="font-weight:bold;margin-bottom:5px">
${
params
[
0
].
name
}
</div>`
let
tooltipHtml
=
`<div style="font-weight:bold;margin-bottom:5px">
${
params
[
0
].
name
}
</div>`
...
@@ -1740,17 +1802,17 @@
...
@@ -1740,17 +1802,17 @@
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
data
:
xAxisData
,
data
:
xAxisData
,
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
splitNumber
:
5
,
splitNumber
:
5
,
min
:
0
,
min
:
0
,
max
:
max
,
max
:
max
,
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#0a73ff'
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
splitLine
:
{
lineStyle
:
{
color
:
'#0a73ff'
,
width
:
0.5
,
opacity
:
0.3
}
},
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
axisLabel
:
{
color
:
'#fff'
,
fontSize
:
10
}
},
},
series
:
[{
series
:
[{
name
:
'投产数量'
,
name
:
'投产数量'
,
...
@@ -1758,7 +1820,7 @@
...
@@ -1758,7 +1820,7 @@
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
operationData
,
data
:
operationData
,
itemStyle
:
{
color
:
'#5087ec'
},
itemStyle
:
{
color
:
'#5087ec'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1772,7 +1834,7 @@
...
@@ -1772,7 +1834,7 @@
barWidth
:
'40%'
,
barWidth
:
'40%'
,
barGap
:
'0%'
,
barGap
:
'0%'
,
data
:
quantityData
,
data
:
quantityData
,
itemStyle
:
{
color
:
'#68bbc4'
},
itemStyle
:
{
color
:
'#68bbc4'
},
label
:
{
label
:
{
show
:
true
,
show
:
true
,
position
:
'top'
,
position
:
'top'
,
...
@@ -1784,12 +1846,12 @@
...
@@ -1784,12 +1846,12 @@
})
})
},
},
/**
/**
* 计算图表Y轴最大值
* 计算图表Y轴最大值
* @param {Array} dataArrays 需要合并计算的数据数组
* @param {Array} dataArrays 需要合并计算的数据数组
* @param {number} multiplier 放大系数,默认1.2
* @param {number} multiplier 放大系数,默认1.2
* @param {number} defaultValue 默认最大值,当无数据时使用
* @param {number} defaultValue 默认最大值,当无数据时使用
* @returns {number} 计算后的最大值
* @returns {number} 计算后的最大值
*/
*/
calculateMaxValue
(
dataArrays
,
multiplier
=
1.2
,
defaultValue
=
100
)
{
calculateMaxValue
(
dataArrays
,
multiplier
=
1.2
,
defaultValue
=
100
)
{
// 合并所有数组并提取value值
// 合并所有数组并提取value值
const
allValues
=
dataArrays
.
flat
().
map
(
item
=>
item
.
value
);
const
allValues
=
dataArrays
.
flat
().
map
(
item
=>
item
.
value
);
...
@@ -1924,9 +1986,9 @@
...
@@ -1924,9 +1986,9 @@
border-radius
:
10px
;
border-radius
:
10px
;
animation
:
rainbow-glow
5s
linear
infinite
;
animation
:
rainbow-glow
5s
linear
infinite
;
box-shadow
:
-10px
0
10px
-10px
#ff0000
,
box-shadow
:
-10px
0
10px
-10px
#ff0000
,
10px
0
10px
-10px
#ff0000
,
10px
0
10px
-10px
#ff0000
,
inset
-10px
0
10px
-10px
#ff0000
,
inset
-10px
0
10px
-10px
#ff0000
,
inset
10px
0
10px
-10px
#ff0000
;
inset
10px
0
10px
-10px
#ff0000
;
background-color
:
transparent
;
background-color
:
transparent
;
.badgeIcon
{
.badgeIcon
{
...
@@ -2012,7 +2074,7 @@
...
@@ -2012,7 +2074,7 @@
width
:
100%
;
width
:
100%
;
background-color
:
transparent
;
background-color
:
transparent
;
.el-table__body
tr
:
hover
>
td
.
el-table__cell
{
.el-table__body
tr
:
hover
>
td
.
el-table__cell
{
background-color
:
rgba
(
10
,
115
,
255
,
0.3
);
background-color
:
rgba
(
10
,
115
,
255
,
0.3
);
}
}
}
}
...
@@ -2085,63 +2147,63 @@
...
@@ -2085,63 +2147,63 @@
@keyframes
rainbow-glow
{
@keyframes
rainbow-glow
{
0
%
{
0
%
{
box-shadow
:
-10px
0
10px
-10px
#ff0000
,
box-shadow
:
-10px
0
10px
-10px
#ff0000
,
10px
0
10px
-10px
#ff0000
,
10px
0
10px
-10px
#ff0000
,
inset
-10px
0
10px
-10px
#ff0000
,
inset
-10px
0
10px
-10px
#ff0000
,
inset
10px
0
10px
-10px
#ff0000
;
inset
10px
0
10px
-10px
#ff0000
;
border-left-color
:
#ff0000
;
border-left-color
:
#ff0000
;
border-right-color
:
#ff0000
;
border-right-color
:
#ff0000
;
}
}
16
%
{
16
%
{
box-shadow
:
-10px
0
10px
-10px
#ff9900
,
box-shadow
:
-10px
0
10px
-10px
#ff9900
,
10px
0
10px
-10px
#ff9900
,
10px
0
10px
-10px
#ff9900
,
inset
-10px
0
10px
-10px
#ff9900
,
inset
-10px
0
10px
-10px
#ff9900
,
inset
10px
0
10px
-10px
#ff9900
;
inset
10px
0
10px
-10px
#ff9900
;
border-left-color
:
#ff9900
;
border-left-color
:
#ff9900
;
border-right-color
:
#ff9900
;
border-right-color
:
#ff9900
;
}
}
33
%
{
33
%
{
box-shadow
:
-10px
0
10px
-10px
#ffff00
,
box-shadow
:
-10px
0
10px
-10px
#ffff00
,
10px
0
10px
-10px
#ffff00
,
10px
0
10px
-10px
#ffff00
,
inset
-10px
0
10px
-10px
#ffff00
,
inset
-10px
0
10px
-10px
#ffff00
,
inset
10px
0
10px
-10px
#ffff00
;
inset
10px
0
10px
-10px
#ffff00
;
border-left-color
:
#ffff00
;
border-left-color
:
#ffff00
;
border-right-color
:
#ffff00
;
border-right-color
:
#ffff00
;
}
}
50
%
{
50
%
{
box-shadow
:
-10px
0
10px
-10px
#33cc33
,
box-shadow
:
-10px
0
10px
-10px
#33cc33
,
10px
0
10px
-10px
#33cc33
,
10px
0
10px
-10px
#33cc33
,
inset
-10px
0
10px
-10px
#33cc33
,
inset
-10px
0
10px
-10px
#33cc33
,
inset
10px
0
10px
-10px
#33cc33
;
inset
10px
0
10px
-10px
#33cc33
;
border-left-color
:
#33cc33
;
border-left-color
:
#33cc33
;
border-right-color
:
#33cc33
;
border-right-color
:
#33cc33
;
}
}
66
%
{
66
%
{
box-shadow
:
-10px
0
10px
-10px
#0099ff
,
box-shadow
:
-10px
0
10px
-10px
#0099ff
,
10px
0
10px
-10px
#0099ff
,
10px
0
10px
-10px
#0099ff
,
inset
-10px
0
10px
-10px
#0099ff
,
inset
-10px
0
10px
-10px
#0099ff
,
inset
10px
0
10px
-10px
#0099ff
;
inset
10px
0
10px
-10px
#0099ff
;
border-left-color
:
#0099ff
;
border-left-color
:
#0099ff
;
border-right-color
:
#0099ff
;
border-right-color
:
#0099ff
;
}
}
83
%
{
83
%
{
box-shadow
:
-10px
0
10px
-10px
#6633ff
,
box-shadow
:
-10px
0
10px
-10px
#6633ff
,
10px
0
10px
-10px
#6633ff
,
10px
0
10px
-10px
#6633ff
,
inset
-10px
0
10px
-10px
#6633ff
,
inset
-10px
0
10px
-10px
#6633ff
,
inset
10px
0
10px
-10px
#6633ff
;
inset
10px
0
10px
-10px
#6633ff
;
border-left-color
:
#6633ff
;
border-left-color
:
#6633ff
;
border-right-color
:
#6633ff
;
border-right-color
:
#6633ff
;
}
}
100
%
{
100
%
{
box-shadow
:
-10px
0
10px
-10px
#ff0066
,
box-shadow
:
-10px
0
10px
-10px
#ff0066
,
10px
0
10px
-10px
#ff0066
,
10px
0
10px
-10px
#ff0066
,
inset
-10px
0
10px
-10px
#ff0066
,
inset
-10px
0
10px
-10px
#ff0066
,
inset
10px
0
10px
-10px
#ff0066
;
inset
10px
0
10px
-10px
#ff0066
;
border-left-color
:
#ff0066
;
border-left-color
:
#ff0066
;
border-right-color
:
#ff0066
;
border-right-color
:
#ff0066
;
}
}
...
...
tht_project/views/big_screen.xml
View file @
b48c70c8
...
@@ -13,16 +13,16 @@
...
@@ -13,16 +13,16 @@
<field
name=
"target"
>
current
</field>
<field
name=
"target"
>
current
</field>
</record>
</record>
<menuitem
id=
"roke_mes_equipment_kanban"
name=
"设备看板"
sequence=
"31"
<!-- <menuitem id="roke_mes_equipment_kanban" name="设备看板" sequence="31"-->
parent=
"roke_mes_equipment.roke_mes_equipment_main_menu"
<!-- parent="roke_mes_equipment.roke_mes_equipment_main_menu"-->
active=
"1"
/
>
<!-- active="1"/>--
>
<menuitem
id=
"roke_mes_expected_process"
name=
"预料看板"
sequence=
"10"
<menuitem
id=
"roke_mes_expected_process"
name=
"预料看板"
sequence=
"10"
parent=
"tht_project.roke_mes_equipment_kanban"
action=
"action_expected_process"
active=
"1"
/>
action=
"action_expected_process"
active=
"1"
/>
<menuitem
id=
"roke_mes_cook_process"
name=
"成型工序"
sequence=
"20"
<menuitem
id=
"roke_mes_cook_process"
name=
"成型工序"
sequence=
"20"
parent=
"tht_project.roke_mes_equipment_kanban"
action=
"action_cook_process"
active=
"1"
/>
action=
"action_cook_process"
active=
"1"
/>
...
...
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