Commit b48c70c8 by nningxx

大屏菜单调整

parent 4d4e63aa
...@@ -65,12 +65,16 @@ class ResMesBigScreen(http.Controller): ...@@ -65,12 +65,16 @@ 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",'')
# 构建查询条件 # 构建查询条件
if device_code_list:
equipment_list = device_code_list
else:
equipment_list = self.search_equipments(plant_name=plant_name, category_name=category_name) 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
......
...@@ -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.requestDwsApi('/public/device/get_yanxunlu_data', { await this.requestSelfApi('/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.requestDwsApi('/public/device/big_screen_today', { await this.requestSelfApi('/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(() => {
......
...@@ -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,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</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>
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
</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',
...@@ -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);
} }
} }
......
...@@ -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"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment