bodyCenterLeft.vue 2.93 KB
<template>
	<div class="dv-content-body-center-list-left">
		<div id="main"></div>
	</div>
</template>

<script>
export default {
	data() {
		return {
			optionTwoLine: window.inventoryInformation_body,
			myChart: null,
		}
	},
	methods: {
		// 库位使用情况
		getData(data) {
			const dom = document.getElementById('main')
			if (!dom) return
			if (!this.myChart) {
				this.myChart = this.$echarts.init(dom)
			}
			// if (!this.myChart) {
			// 	this.myChart = this.$echarts.init(document.getElementById('main'))  // 或 'mind'
			// }
			if (!data || !Array.isArray(data)) return
			const dates = data.map(item => item.day);
			const quantities = data.map(item => item.count);
			this.optionTwoLine.xAxis.data = this.monthDayDates(dates)
			this.optionTwoLine.series[0].data = quantities
			this.optionTwoLine.title.text = '入库趋势图'
			this.optionTwoLine.series[0].lineStyle.color = 'hsl(36.1deg 100% 49.22%)'
			// myChart.clear()
			this.myChart.setOption(this.optionTwoLine)
			// window.addEventListener('resize', () => {
			// 	myChart.resize();
			// });
		},
		monthDayDates(data) {
			return data.map(date => {
				const [year, month, day] = date.split('-');
				return `${month}-${day}`;
			});
		},
		setWarehouselocation() {
			let listData = []
			this.sysData.forEach((item) => {
				let bgan = `${item.unHaveContainerNum}/${item.haveContainerNum}`
				listData.push([item.roadWay, item.sumNum, bgan, item.usagerate])
			})
			this.initWarehouselocationTable(listData)
		},
		setWarehouselocationDuanzi() {
			let listData = []
			this.sysData.forEach((item) => {
				listData.push([item.roadWay, item.sumNum, item.haveContainerNum, item.usagerate])
			})
			this.initWarehouselocationTable(listData)
		},

		initWarehouselocationTable(s) {
			this.WarehouselocationTable = {
				header: this.optTableWarehouse.header,
				data: s,
				columnWidth: [150, 150, 190, 150],
				align: this.optTableWarehouse.align,
				headerBGC: '#201e1e', //表头
				oddRowBGC: '#021c66',
				evenRowBGC: '#65,105,225',
				rowNum: 4,
				headerHeight: 25,
				carousel: 'page',
				waitTime: 8000,
			}
		},
		ajaxSuccessDataBefore(res, title) {
			if (res.data.result == null || res.data.result.length == 0) {
				''.Log(title + '无数据', 'getData')
				this.initWarehouselocationTable([])
				return false
			}
			return true
		},
	},
	mounted() {
		// this.getData()
		//eslint-disable-next-line no-debugger
		// debugger
		this.resizeHandler = () => {
			this.myChart && this.myChart.resize();
		};
		window.addEventListener('resize', this.resizeHandler);
	},
	beforeDestroy() {
		// 移除事件监听
		window.removeEventListener('resize', this.resizeHandler);
		// 销毁 ECharts 实例
		if (this.myChart) {
			this.myChart.dispose();
			this.myChart = null;
		}
	},
}
</script>

<style lang="less" scoped>
.dv-content-body-center-list-left {
	width: 49%;
	height: 95%;
	border: 1.5px solid hsl(208.57deg 51.22% 40.2%);
}

#main {
	width: 100%;
	height: 100%;
}
</style>