bodyCenterRight.vue 4.3 KB
<template>
	<div class="dv-content-body-center-list-right">
		<dv-border-box-12>
			<div class="div-center-d">
				<div class="stuts-style" style="padding-top: 2px">
					<span style="padding: 0" class="div-span-title">{{ $gl('running state of stacking machine') }}
					</span>
					<div>
						<div class="yuxing">
							<div class="yuxing-style"></div>
						</div>
						<span>运行</span>
					</div>
					<div>
						<div class="daiji">
							<div class="daiji-style"></div>
						</div>
						<span>待机</span>
					</div>
					<div>
						<div class="guzhang">
							<div class="guzhang-style"></div>
						</div>
						<span>故障</span>
					</div>
				</div>

				<div class="dv-content-body-center-list-barChart">
					<div id="warehouseHealth" style="width: 33%;height: 100%;"></div>
					<div id="warehouseHealth2" style="width: 33%;height: 100%;"></div>
					<div id="warehouseHealth3" style="width: 33%;height: 100%;"></div>
				</div>
			</div>
		</dv-border-box-12>
	</div>
</template>

<script>
export default {
	data() {
		return {
			sysData: {
				getwarehouseHealth: null,
			},

			getwarehouseHealth: null,
			warehouseHealthOption: window.warehouseHealthOption,
			runningPieChartOption: window.runningPieChartOption,
		}
	},
	methods: {
		// 中间柱状图
		bingDataSource(data) {
			let myChart = this.$echarts.init(document.getElementById('warehouseHealth'))
			let myChart2 = this.$echarts.init(document.getElementById('warehouseHealth2'))
			let myChart3 = this.$echarts.init(document.getElementById('warehouseHealth3'))
			// this.warehouseHealthOption.series[0].data = data.running
			// this.warehouseHealthOption.series[1].data = data.free
			// this.warehouseHealthOption.series[2].data = data.error
			// this.warehouseHealthOption.xAxis.data = data.xSeries

			const index = data.xSeries.indexOf('SRM01'); // index = 2

			// 按照业务含义构建饼图数据
			const series1 = [
				{ value: data.running[index], name: '运行中' },
				{ value: data.free[index], name: '待机' },
				{ value: data.error[index], name: '故障' }
			];
			this.runningPieChartOption.series[0].data = series1
			this.runningPieChartOption.title[0].subtext = 'SRM01'

			myChart.clear()
			myChart.setOption(this.runningPieChartOption)

			const index2 = data.xSeries.indexOf('SRM02'); // index = 2

			// 按照业务含义构建饼图数据
			const series2 = [
				{ value: data.running[index2], name: '运行中' },
				{ value: data.free[index2], name: '待机' },
				{ value: data.error[index2], name: '故障' }
			];
			this.runningPieChartOption.series[0].data = series2
			this.runningPieChartOption.title[0].subtext = 'SRM02'

			myChart2.clear()
			myChart2.setOption(this.runningPieChartOption)


			const index3 = data.xSeries.indexOf('SRM03'); // index = 2

			// 按照业务含义构建饼图数据
			const series3 = [
				{ value: data.running[index3], name: '运行中' },
				{ value: data.free[index3], name: '待机' },
				{ value: data.error[index3], name: '故障' }
			];
			this.runningPieChartOption.series[0].data = series3
			this.runningPieChartOption.title[0].subtext = 'SRM03'

			myChart3.clear()
			myChart3.setOption(this.runningPieChartOption)

			// window.onresize = myChart.resize
			window.addEventListener('resize', function () {
				myChart.resize()
				myChart2.resize()
				myChart3.resize()
			})
		},
	},
}
</script>
<style lang="less" scoped>
.dv-content-body-center-list-right {
	width: 49vw;
	height: 95%;
	box-sizing: border-box;

	.stuts-style {
		display: flex;
		height: 20%;
		font-weight: 800;
		font-size: 1.3vw;
		color: aliceblue;
		text-indent: 1vw;
		box-sizing: border-box;

		div {
			display: flex;
			margin-left: 1vw;

			.yuxing {
				position: relative;
			}

			.yuxing-style {
				position: absolute;
				left: -1.7vw;
				top: 0.6vw;
				width: 1vw;
				height: 1vw;
				background-color: #04efcd;
			}

			.daiji {
				position: relative;
			}

			.daiji-style {
				position: absolute;
				left: -1.7vw;
				top: 0.6vw;
				width: 1vw;
				height: 1vw;
				background-color: #fdb300;
			}

			.guzhang {
				position: relative;
			}

			.guzhang-style {
				position: absolute;
				left: -1.7vw;
				top: 0.6vw;
				width: 1vw;
				height: 1vw;
				background-color: #f43d33;
			}
		}
	}

	.dv-content-body-center-list-barChart {
		display: flex;
		width: 100%;
		height: 32vh;
	}
}
</style>