From f8f6aef5508148a784c05e71366796bb0b61164d Mon Sep 17 00:00:00 2001
From: 李喆(开发组) <lzhe@yxqiche.com>
Date: 星期二, 18 十一月 2025 14:04:31 +0800
Subject: [PATCH] Merge branch 'new' of http://122.9.151.159:9090/r/smart-web into new
---
src/views/mdc/processParam/index.vue | 130 +++++++++++++++++++++++++++++++++++++------
1 files changed, 111 insertions(+), 19 deletions(-)
diff --git a/src/views/mdc/processParam/index.vue b/src/views/mdc/processParam/index.vue
index 8f7690f..b42be0b 100644
--- a/src/views/mdc/processParam/index.vue
+++ b/src/views/mdc/processParam/index.vue
@@ -1,7 +1,7 @@
<!--
* @Date: 2024-04-09 22:11:21
- * @LastEditors: gaoshp
- * @LastEditTime: 2024-11-04 19:16:35
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-12-18 15:20:37
* @FilePath: /cps-web/src/views/mdc/processParam/index.vue
瀹炴椂鐪嬫澘
-->
@@ -43,8 +43,14 @@
v-if="(item.paramChartType == 'distribute' && item?.dayCharts?.series?.length > 1) || (item.paramChartType !== 'distribute' && item?.dayCharts?.series?.length > 0) && activeList.indexOf(index) > -1">
<div>
<el-button size="small" @click="viewData(item)">鏌ョ湅鏁版嵁</el-button>
+ <el-switch style="margin-left: 8px;" v-model="item.showPie"
+ v-show="item.paramChartType == 'distribute'" active-text="楗煎浘"
+ inactive-text="" />
</div>
- <scEcharts style="width:100%" :height="item.height" :option="item?.dayCharts">
+ <scEcharts v-if="!item.showPie" style="width:100%" :height="item.height"
+ :option="item?.dayCharts">
+ </scEcharts>
+ <scEcharts v-else style="width:100%" height="300px" :option="item?.pieCharts">
</scEcharts>
</div>
<el-empty v-else description="鏆傛棤鏁版嵁" />
@@ -159,7 +165,7 @@
workstationName: ''
}).then(res => {
if (res.success) {
- window.open(res.data.link)
+ this.$TOOL.downFile(res.data.link,res.data.originalName);
} else {
this.$message.error(res.msg)
}
@@ -172,7 +178,7 @@
this.visible = true
},
init() {
- this.$HTTP.get('/api/mdc/process-parameter').then(res => {
+ this.$HTTP.get('/api/smis/global_wcs/wcs-achievements').then(res => {
if (res.code === 200) {
this.legend = res.data
}
@@ -223,7 +229,7 @@
return {
...v,
name: name,
- height: ['ProcessProgram', 'DeviceStatus'].includes(v.name) ? '100px' : '200px'
+ height: v.paramChartType == 'distribute' ? '300px' : '200px'
}
})
this.queryChart()
@@ -272,6 +278,7 @@
})
},
setLineOptions(data, myname) {
+ console.log('data0',data)
if (!data) return
// console.log(data, myname)
let xAxis = data?.map(item => {
@@ -308,36 +315,49 @@
let index = this.list.findIndex(item => item.dpName === myname)
this.list[index] = Object.assign({
...this.list[index],
- dayCharts: {}
+ dayCharts: {},
+ showPie: false
})
} else {
let index = this.list.findIndex(item => item.dpName === myname)
this.list[index] = Object.assign({
...this.list[index],
- dayCharts
+ dayCharts,
+ showPie: false
})
}
-
},
setDeviceStatusOptions(data, myname) {
+ debugger
+ //console.log('data1',data)
+ //console.log('endtime1',this.timeRange.endTime)
+
let total = Math.abs(moment(this.timeRange.startTime).diff(moment(this.timeRange.endTime)))
let start = this.timeRange.startTime
let len = data?.data?.length
if (len > 0 && moment(data.data[len - 1].time).unix() < moment(this.timeRange.endTime).unix()) {
let addItem = {
time: this.timeRange.endTime,
- value: data.data[len - 1].value
+ value: myname === 'DeviceStatus' ? data.data[len - 1].name : data.data[len - 1].value,
}
data.data.push(addItem)
}
let series = data.data.map((item, i) => {
let current = Math.abs(moment(start).diff(moment(item.time)))
start = item.time
- let name = i === 0 ? '' : data.data[i - 1].name
+ let name = i === 0 ? '' : myname === 'DeviceStatus' ? data.data[i - 1].name : data.data[i - 1].value
// if (myname === 'ProcessProgram') {
- name = item.value
+ try {
+ name = myname === 'DeviceStatus' ? item.name.slice(-50) : item.value.slice(-50)
+ } catch (err) {
+ name = myname === 'DeviceStatus' ? item.name : item.value
+ }
// }
// let color = !name ? 'transparent' : data.data[i - 1].color
+ //name = name+'s'
+ if(name == undefined){
+ name = "鏃犳暟鎹�"
+ }
return {
name,
type: 'bar',
@@ -353,11 +373,9 @@
// return `${name}:寮�濮嬫椂闂�${moment(data.data[i - 1].time).format('HH:mm')}-${moment(item.time).format('HH:mm')}`
// }
// },
- // itemStyle: {
- // // color, // 杩欎竴琛屽浐瀹氱殑棰滆壊鍊奸渶瑕佸垹闄ゆ垨娉ㄩ噴
- // borderColor: '#FFF',
- // borderWidth: 1
- // },
+ itemStyle: {
+ color: item.color, // 杩欎竴琛屽浐瀹氱殑棰滆壊鍊奸渶瑕佸垹闄ゆ垨娉ㄩ噴
+ },
tooltip: {
show: true,
trigger: 'item',
@@ -371,7 +389,7 @@
// return current.format('HH:mm')
// return value
if (i == 0 || current === 0) return ''
- return `${name}:鏃舵${moment(data.data[i - 1].time).format('HH:mm')}-${moment(item.time).format('HH:mm')}`
+ return `${name}:鏃舵${moment(data.data[i - 1].time).format('HH:mm:ss')}-${moment(item.time).format('HH:mm:ss')}`
}
},
}
@@ -411,10 +429,84 @@
},
}
let index = this.list.findIndex(item => item.dpName === myname)
+
this.list[index] = Object.assign({
...this.list[index],
- dayCharts
+ dayCharts,
+ pieCharts: this.getPieCharts(data.data, myname),
+ showPie: false
})
+ // console.log(this.list, '>>>>>>>>>>>>>>>>>>>>>>111')
+ },
+ getPieCharts(data, myname) {
+ let start = this.timeRange.startTime
+ const obj = {
+ }
+ let key = myname === 'DeviceStatus' ? 'name' : 'value'
+ data.forEach(v => {
+ if(v[key] != undefined){
+
+
+ if (obj[v[key]]) {
+ obj[v[key]] += moment(v.time).valueOf() - moment(start).valueOf()
+ } else {
+ obj[v[key]] = moment(v.time).valueOf() - moment(start).valueOf()
+ }
+ start = v.time
+ }
+ })
+ let result = Object.keys(obj).map(key => {
+ return {
+ value: obj[key] / 1000,
+ name: key,//杩愯/鎶ヨ/寰呮満
+ // itemStyle: {
+ // color: item.color, // 杩欎竴琛屽浐瀹氱殑棰滆壊鍊奸渶瑕佸垹闄ゆ垨娉ㄩ噴
+ // },
+ }
+ }).map(v => {
+ if (myname === 'DeviceStatus') {
+ if(v.name != 'undefined') {
+ //锛僁3D3D3 鐏拌壊
+ //let itemFound = this.legend.find(item => item.name === v.name)
+ return {
+ ...v,
+ itemStyle: {
+ color: this.legend.find(item => item.name === v.name).color
+ //color: itemFound?itemFound.color:'锛僁3D3D3'
+ }
+ }
+ }
+ }
+ return v
+
+ })
+ let charts = {
+ tooltip: {
+ trigger: 'item',
+ formatter: function (params) {
+ let d = moment.duration(params.value, 'seconds')
+ let nameVal = params.name
+ if(params.name == undefined){
+ nameVal = '鏃犳暟鎹�'
+ }
+ //return `${params.name}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
+ return `${nameVal}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
+ }
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: result,
+ }
+ ],
+ }
+ return charts
},
change(e) {
this.timeStart = e[0] || moment().format('YYYY-MM-DD')
--
Gitblit v1.9.3