managePlatform.vue 3.6 KB
<template>
	<div class="app-body">
		<Header title="CNC机床中控管理平台" :sysInitTimeNum="sysTimeNum"></Header>
		<div class="dv-content-body">
			<!-- 顶部头表 -->
			<div class="dv-content-body-head-list">
				<headLeft ref="headLeft"></headLeft>
				<headCenter ref="headCenter"></headCenter>
				<headRight ref="headRight"></headRight>
			</div>
			<!-- 中间图表 -->
			<div class="dv-content-body-center-list">
				<bodyCenterLeft ref="bodyCenterLeft"></bodyCenterLeft>
				<bodyCenter ref="bodyCenter"></bodyCenter>
				<bodyCenterRight ref="bodyCenterRight"></bodyCenterRight>
			</div>
			<!-- 底部图表 -->
			<div class="dv-content-body-bottom-list">
				<footerLeft ref="footerLeft"></footerLeft>
				<footerCenter ref="footerCenter"></footerCenter>
				<footerRightTwo ref="footerRightTwo"></footerRightTwo>
			</div>
		</div>
	</div>
</template>

<script>
import Header from '@/layout/appHead'

import headLeft from '@/components/headLeft'
import headCenter from '@/components/headCenter'
import headRight from '@/components/headRight'

import bodyCenterLeft from '@/components/bodyCenterLeft'
import bodyCenter from '@/components/bodyCenter'
import bodyCenterRight from '@/components/bodyCenterRight'

import footerLeft from '@/components/footerLeft'
import footerCenter from '@/components/footerCenter'
import footerRightTwo from '@/components/footerRightTwo'

export default {
	data() {
		return {
			baseUrlOff: 'http://172.16.43.82:6002/api/BulletinBoard/Mes/V1/ReadData2',
			baseUrlOnLine: window.appConfig.baseUrlintThree,

			sysData: {},
			sysInitTimeNum: 20,
			sysTimeNum: 20,
		}
	},
	components: {
		Header,

		headLeft,
		headCenter,
		headRight,

		bodyCenterLeft,
		bodyCenterRight,
		bodyCenter,

		footerLeft,
		footerCenter,
		footerRightTwo,
	},

	methods: {
		getECSData() {
			let opt = {
				urlSuffix: window.baseOnLineOrOff ? this.baseUrlOnLine : this.baseUrlOnLine,
				logTitle: 'CNC实时数据',
				isUrlALL: true,
				headers: false,
				isHanderAjaxSuccessActionLoad: true,
			}
			let callBackFn = (res) => {
				if (!this.ajaxSuccessDataBefore(res, opt.logTitle)) return
				this.$refs.bodyCenter.bingDataSource(res.data.result)

				this.$refs.bodyCenterRight.bingDataSource(res.data.result)

				this.$refs.footerLeft.bingDataSource(res.data.result)
			}
			''.ajax(this, opt, callBackFn)
		},
		ajaxSuccessDataBefore(res, title) {
			if (res.data.result == null || res.data.result.length == 0) {
				''.Log(title + '无数据', 'getData')
				return false
			}
			return true
		},
		getAllWMSData() {
			let flag = window.baseOnLineOrOff ? 'B' : ''
			this.$refs.headLeft.getData(flag, 'B')
			this.$refs.headCenter.getData(flag)
			this.$refs.headRight.getData(flag)

			this.$refs.bodyCenterLeft.getData()
			this.$refs.footerCenter.getData()
		},

		intInterval: function() {
			''.intInterval(this, this.sysInitTimeNum, () => {
				this.getECSData()
				this.getAllWMSData()
			})
		},
	},
	mounted() {
		//eslint-disable-next-line no-debugger
		debugger
		this.getECSData()
		this.getAllWMSData()

		// // 【发布的时候要取消注释】
		this.intInterval()
	},
}
</script>

<style lang="scss" scoped>
.app-body {
	height: 100%;
	width: 100%;
	.dv-content-body {
		height: 90%;
		width: 100%;
		// background: rebeccapurple;
	}
	.dv-content-body-head-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 25%;
	}
	.dv-content-body-center-list {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 35%;
	}
	.dv-content-body-bottom-list {
		display: flex;
		height: 40%;
		justify-content: space-between;
		align-items: center;
	}
}
</style>