From e58bfa85f175d789445f479f55c87619c43fd7c0 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期三, 24 四月 2024 21:12:07 +0800 Subject: [PATCH] 过程参数 --- src/views/mdc/status-record.vue | 189 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 166 insertions(+), 23 deletions(-) diff --git a/src/views/mdc/status-record.vue b/src/views/mdc/status-record.vue index 0c4a9ac..fe5d41b 100644 --- a/src/views/mdc/status-record.vue +++ b/src/views/mdc/status-record.vue @@ -20,7 +20,6 @@ <el-button @click="btnListActive = item.id" :type="btnListActive == item.id ? 'primary' : ''" v-for="item in btnList" :key="item.id" size="small">{{item.title }}</el-button> </el-button-group> <div class="status"> - <div class="feed-button" @click="table_edit">鐘舵�佸弽棣�</div> <div class="status-wrap align-left"> <div class="collect-status">閲囬泦鐘舵��</div> <div class="status-box" v-for="item in achievements"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div> @@ -32,7 +31,12 @@ </div> </div> </div> - <el-pagination layout="prev, pager, next" :total="total" :page-count="size" :default-page-size="size"/> + <div> + <div id="record" style="width: 100%;height:500px;"></div> + </div> + <div class="pagination"> + <el-pagination layout="prev, pager, next" :total="total" :default-page-size="6"/> + </div> </el-tab-pane> <el-tab-pane label="鎸夊伐浣嶆煡鐪�" name="time"> 鎸夊伐浣嶆煡鐪� @@ -43,10 +47,16 @@ </template> <script> +// 妯℃嫙鏁版嵁锛岃〃绀烘瘡涓皬鏃剁殑鍗犵敤鎯呭喌 +var data = []; +for (var i = 0; i < 24; i++) { + data.push(Math.random() * 100); // 闅忔満鐢熸垚鍗犵敤鎸囨暟 +} import moment from 'moment'; import MYTree from './MYTree.vue' import Shift from './components/Shift.vue' import Time from './components/Time.vue' +import * as echarts from 'echarts'; export default { components: { time: "", @@ -75,6 +85,7 @@ }, data() { return { + workstationInfoList: [], checked1: true, btnListActive: '', btnList: [], @@ -115,14 +126,108 @@ collectionstatus: [], current: "1", size: "6", - total: 0 + total: 0, + recordOptionLog: { + tooltip: { + trigger: 'axis', + axisPointer: { // 鍧愭爣杞存寚绀哄櫒锛屽潗鏍囪酱瑙﹀彂鏈夋晥 + type: 'shadow' // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow' + }, + formatter: function (params) { + var tar; + if (params[1].value != '-') { + tar = params[1]; + } + else { + tar = params[0]; + } + return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value; + } + }, + grid: { + top: 10 + }, + yAxis: { + type: 'category', + axisLabel: { + formatter: function (value) { + return value + "\n" + '{a|鐘舵�佸弽棣坿'; + }, + rich: { + a: { + color: '#409eff', + cursor: 'pointer', + fontSize: '12px' + } + } + }, + //data: ['461', '462', '516', '517', '512', '513'] + data: ['461', '462', '516'] + }, + xAxis: { + type: 'value', + min: 0, + max: 1440, // 鍗曚綅鍒嗛挓 + interval: 1440/6, //姣忛殧澶氬皯鍒嗛挓鏄剧ず涓�涓埢搴� + axisLabel: { + formatter: (value)=> { + if(value == 0) { + return "00:00:00"; + }else if(value == 240) { + return "04:00:00"; + }else if(value == 480) { + return "08:00:00"; + }else if(value == 720) { + return "12:00:00"; + }else if(value == 960) { + return "16:00:00"; + }else if(value == 1200) { + return "18:00:00"; + }else if(value == 1440) { + return "00:00:00"; + } + } + } + }, + series: [ + { + name: '杈呭姪', + type: 'bar', + stack: '鎬婚噺', + itemStyle: { + borderColor: 'transparent', + color: 'transparent' + }, + emphasis: { + itemStyle: { + borderColor: 'transparent', + color: 'transparent' + } + }, + data: [0, 0, 0, 240, 360, 540] //浠庝粈涔堟椂鍊欏紑濮嬬殑 + }, + { + name: '鏃堕棿', + type: 'bar', + stack: '鎬婚噺', + label: { + normal: { + show: true, + position: 'top' + } + }, + data: ['-', '-', '-', 1200, 240, 900] //鏁板�兼槸鍑狅紝濡�(20锛屽氨鏄粠4寮�濮嬶紝20鏍兼暟鎹�) + } + ] + } } }, created() { }, mounted() { - this.init(); + this.getCharts(); + //this.init(); }, methods: { getachievements() { //鐝鐘舵�佽褰曢噰闆嗙姸鎬� @@ -148,21 +253,52 @@ ...data }).then(res => { if (res.code === 200) { - this.btnList = res.data + var today = moment().format('YYYY-MM-DD'); + var yesterday = moment().subtract(1, 'days').format('YYYY-MM-DD'); + res.data.forEach(item=> { + if(item.title == today) { + item.title = "浠婂ぉ"; + } + if(item.title == yesterday) { + item.title = "鏄ㄥぉ"; + } + }) + this.btnList = res.data.reverse(); this.btnListActive = res?.data?.[0]?.id } }) }, getCharts() { var obj = { - date: this.time[0], + //date: this.time[1], + date: "2024-04-16", humanFeedback: true, machineFeedback: true, - workstationInfoList: [] + workstationInfoList: this.workstationInfoList } + var recordDom = document.getElementById('record'); + var myChart = echarts.init(recordDom); + myChart.setOption(this.recordOptionLog); + //娣诲姞dom锛屽畾浣� + var parentNodeDom = document.createElement('div'); + recordDom.appendChild(parentNodeDom); + for(var i=0;i<this.recordOptionLog.yAxis.data.length;i++) { + var dom = document.createElement('span'); + dom.className = "domSpan spanIndex" + i; + dom.style.top = i*70 + 40 + "px"; + parentNodeDom.appendChild(dom); + } + //鍒犻櫎dom + //parentNodeDom.remove(); + return; this.$HTTP.post(`/api/blade-mdc/status-record/status-record-by-date?current=${this.current}&size=${this.size}`,obj).then(res => { if (res.code === 200) { - console.log(res.data.records) + //this.recordOptionLog.series[0].data = res.data.records.statusRecordList; + // var yAxis = []; + // res.data.records.forEach(item=> { + // item.value = item.workstationInfo.name; + // }) + // this.recordOptionLog.yAxis.data = res.data.records; this.total = res.data.total; } }) @@ -177,13 +313,9 @@ }, query() { - this.getTime({endDate: this.time[1],startDate: this.time[0],statisticalMethod: 'SHIFT'}) - // this.$refs[this.activeName].init({ - // endDate: this.time[1], - // startDate: this.time[0], - // shiftIndexList: [1, 2], - // workStationIdList: [...this.treeChecked] - // }) + this.getTime({endDate: this.time[1],startDate: this.time[0],statisticalMethod: 'SHIFT'}); + //this.getCharts(); + console.log(this.treeChecked,2) } } } @@ -194,6 +326,7 @@ display: flex; min-height: 100%; height: 100%; + overflow: hidden; margin: 8px; } .aposcope-left { @@ -259,13 +392,6 @@ font-size: 16px; cursor: pointer; } -.feed-button { - position: absolute; - right: 10px; - top: -2px; - color: #3b8e8e; - cursor: pointer; -} .status-wrap.align-left, .status-wrap:first-child { padding-left: 24px; } @@ -275,7 +401,7 @@ justify-content: start; } .collect-status { - color: #3b8e8e; + color: #409eff; margin-right: 16px; font-size: 14px; } @@ -299,4 +425,21 @@ .status-wrap /deep/ .el-checkbox.el-checkbox--large { color: #3b8e8e; } +.pagination { + text-align: right; + display: flex; + justify-content: end; +} +#record { + background: red; + position: re lative; +} +#record /deep/ .domSpan { + display: inline-block; + width: 60px; + height: 20px; + background: green; + position: absolute; + left: 55px; +} </style> \ No newline at end of file -- Gitblit v1.9.3