datav轮播图的的花样用法

<!-- 插针线看板 -->
<template>
	<div class="home_body">
		<div class="home_container">
			<div class="home_content">
				<div class="home_title" style="margin-left: 1rem;">
					<div>空闲中<span>{{freeDeviceQty}}台</span></div>
					<div>已备料<span>{{predDeviceQty}}台</span></div>
					<div>待备料物料<span>{{waitQty}}pcs</span></div>
					<div>已备料物料<span>{{predQty}}pcs</span></div>
				</div>
				<el-row :gutter="20" v-resize='monResize'>
					<el-col :span="12">
						<div class="contentLeft">
							<div class="title">真空炉生产情况</div>
							<dv-scroll-board :config="config" class='scrollHeight' />
						</div>
					</el-col>
					<el-col :span="12">
						<div class="contentRt">
							<div class="title">待真空物料情况</div>
							<dv-scroll-board :config="config2" class='scrollHeight' />
						</div>
					</el-col>
				</el-row>
			</div>
		</div>
	</div>
</template>

<script>
	import {
		GetVacuumPreList,
		GetOverview,
		GetWaitSilkList
	} from '@/api/board.js'
	export default {
		beforeCreate() {
			this.$store.commit('onBorad', true);
		},
		data() {
			return {
				formSearch: {
					pageIndex: 1,
					pageSize: 1000
				},
				lineList: [],
				lineInfo: [],
				aaa: true,
				tableData: [],
				freeDeviceQty: 0,
				predDeviceQty: 0,
				waitQty: 0,
				predQty: 0,
				timeValue: 0,
				loading: false,
				timer: null,
				timer2: null,
				orgListRowNum: 5,
				config: { //消息中心数据所有
					header: ['真空炉', '所在车间', '状态', '备料时间', '数量', '备料人'],
					indexHeader: '序号',
					rowNum: 14, // 表行数
					headerBGC: 'rgb(25, 129, 246);', // 表头背景色
					oddRowBGC: 'rgb(9 48 79);', // 奇数行背景色
					evenRowBGC: 'rgba(1, 84, 120, 0.266666666666667)', // 偶数行背景色
					waitTime: 30000, // 轮播时间间隔(ms)
					align: 'center',
					index: false,
					carousel: 'page',
					// columnWidth: [60], // 剩下两列宽度将自动计算
					headerHeight: 50,
					data: [
						['无', '无', '无', '无', '无', '无'],
						// ['行1列1', '行1列2', '行1列3', '行1列1', '行1列2', '行1列3'],
						// ['行2列1', '行2列2', '行2列3', '行1列1', '行1列2', '行1列3'],
						// ['行3列1', '行3列2', '行3列3', '行1列1', '行1列2', '行1列3'],
						// ['行4列1', '行4列2', '行4列3', '行1列1', '行1列2', '行1列3'],
						// ['行5列1', '行5列2', '行5列3', '行1列1', '行1列2', '行1列3'],
						// ['行6列1', '行6列2', '行6列3', '行1列1', '行1列2', '行1列3'],
						// ['行7列1', '行7列2', '行7列3', '行1列1', '行1列2', '行1列3'],
						// ['行8列1', '行8列2', '行8列3', '行1列1', '行1列2', '行1列3'],
						// ['行9列1', '行9列2', '行9列3', '行1列1', '行1列2', '行1列3'],
						// ['行10列1', '行10列2', '行10列3', '行1列1', '行1列2', '行1列3'],
					]
				},
				config2: { //消息中心数据所有
					header: ['工单号', '丝印批次', '生产线体', '所在车间', '状态', '数量', '完成时间'],
					indexHeader: '序号',
					rowNum: 14, // 表行数
					headerBGC: 'rgb(25, 129, 246);', // 表头背景色
					oddRowBGC: 'rgb(9 48 79)', // 奇数行背景色
					evenRowBGC: 'rgba(1, 84, 120, 0.266666666666667)', // 偶数行背景色
					waitTime: 30000000, // 轮播时间间隔(ms)
					align: 'center',
					index: false,
					carousel: 'page',
					// columnWidth: [60,60], // 剩下两列宽度将自动计算
					headerHeight: 50,
					data: [
						['无', '无', '无', '无', '无', '无'],

					]
				},
			}
		},
		mounted() {
			this.GetOverview()
			this.GetVacuumPreList()
			this.GetWaitSilkList()
			this.timer = setInterval(() => {
				this.GetOverview()
			}, 30000) //30s刷新一次
			this.timer2 = setInterval(() => {
				this.GetVacuumPreList()
				this.GetWaitSilkList()
			}, 300000) //5min刷新一次
		},
		methods: {
			monResize() {
				const offsetHeight = window.innerHeight;
				const ratio = parseInt(offsetHeight / 60);
				let nowData = this.config
				nowData.rowNum = ratio //动态改变行数
				// 这个地方必须这样写
				this.config = {
					...nowData
				}
				console.log(offsetHeight, this.config.rowNum, 4444)
			},
			//查询顶部数据
			GetOverview() {
				this.$data.loading = true;
				GetOverview().then(res => {
					if (res.data.state == 0) {
						// this.aaa = true
						this.$data.freeDeviceQty = res.data.data.freeDeviceQty;
						this.$data.predDeviceQty = res.data.data.predDeviceQty;
						this.$data.waitQty = res.data.data.waitQty;
						this.$data.predQty = res.data.data.predQty;
					}
					this.$data.loading = false;
				});
			},
			//查询列表数据
			GetVacuumPreList() {
				this.$data.loading = true;
				GetVacuumPreList({
					pageIndex: this.formSearch.pageIndex,
					pageSize: this.formSearch.pageSize,
				}).then(res => {
					if (res.data.state == 0) {
						let val = res.data.data.listData;
						let arr = []
						for (let i in val) {
							let deviceSN = val[i].deviceSN
							let idWorkshopArea = val[i].idWorkshopArea == '' ? '无' : val[i].idWorkshopArea
							let productStatusStr = val[i].productStatusStr == '' ? '无' : val[i].productStatusStr
							let createDate = val[i].createDate == null ? '无' : val[i].createDate
							let qty = val[i].qty == null ? '无' : val[i].qty
							let employeeName = val[i].employeeName == '' ? '无' : val[i].employeeName
							arr.push([deviceSN, idWorkshopArea, productStatusStr, createDate, qty, employeeName])
						}
						let nowData = this.config
						nowData.data = arr
						// 这个地方必须这样写
						this.config = {
							...nowData
						}
					}
					this.$data.loading = false;
				});
			},
			GetWaitSilkList() { //右侧数据
				this.$data.loading = true;
				GetWaitSilkList().then(res => {
					if (res.data.state == 0) {
						let val = res.data.data;
						let arr = []
						for (let i in val) {
							let workOrderNum = val[i].workOrderNum
							let batchNumber = val[i].batchNumber == '' ? '无' : val[i].batchNumber
							let deviceSN = val[i].deviceSN == '' ? '无' : val[i].deviceSN
							let workshop = val[i].workshop == null ? '无' : val[i].workshop
							let productionStautsStr = val[i].productionStautsStr == null ? '无' : val[i]
								.productionStautsStr
							let qty = val[i].qty == null ? '无' : val[i].qty
							let finishTime = val[i].finishTime == null ? '无' : val[i].finishTime
							if (val[i].isWarning) {
								workOrderNum = '<span style="color:#ff0000">' + workOrderNum + '</span>'
								batchNumber = '<span style="color:#ff0000">' + batchNumber + '</span>'
								deviceSN = '<span style="color:#ff0000">' + deviceSN + '</span>'
								workshop = '<span style="color:#ff0000">' + workshop + '</span>'
								productionStautsStr = '<span style="color:#ff0000">' + productionStautsStr +
									'</span>'
								qty = '<span style="color:#ff0000">' + qty + '</span>'
								finishTime = '<span style="color:#ff0000">' + finishTime + '</span>'
							}
							arr.push([workOrderNum, batchNumber, deviceSN, workshop, productionStautsStr, qty,
								finishTime
							])
						}
						let nowData = this.config2
						nowData.data = arr
						// 这个地方必须这样写
						this.config2 = {
							...nowData
						}
					}
					this.$data.loading = false;
				});
			},
		},
		beforeDestroy() {
			clearInterval(this.timer);
			clearInterval(this.timer2);
		}
	}
</script>

<style lang="less" scoped>
	.title {
		font-size: 1.2rem;
		text-align: left;
		margin: 5px;
	}

	.contentLeft,
	.contentRt {
		height: calc(100% - 3.5rem);
		// border: 1px solid black;
		// height: 100%;
	}

	.el-row {
		box-sizing: border-box;
		height: calc(100% - 3.5rem);
	}

	.el-col-12 {
		width: 49%;
		height: 100%;
		// border: 1px solid red;
	}

	.scrollHeight {
		width: 100%;
		height: 100%;
		// height: 800px;
		// height: calc(100% - 20px)
	}

	.home_body {
		width: calc(100% - 200px);
		height: 100%;
		// background: url(http://10.115.120.20:8081/img/bcg5.af0eb97f.png);
		background: url(../../assets/img/home_bg3.png);
		background-size: 100% 100%;
		background-position: center center;
		height: 100%;
		background-size: 100% 100%;
		position: fixed;
	}

	.home_container {
		width: 100%;
		background: url(../../assets/img/bcg3.png);
		height: 100%;
		background-size: 100% 100%;
		background-position: center center;
		display: flex;
		color: #fff;
	}

	.home_content {
		width: 100%;
	}

	.home_title {
		width: 100%;
		height: 2.5rem;
		line-height: 2.5rem;
		vertical-align: middle;
		text-align: left;
		font-size: 1.5rem;
		overflow: hidden;
	}

	.home_title div {
		display: inline;
		font-size: 1em;
		font-family: '华文新魏';
		color: #81D3F8;
		margin-left: 8px;
	}

	.home_title div>span {
		color: #03D58B;
	}
</style>

posted @ 2022-05-12 08:50  FancyAnnaYL  阅读(1572)  评论(2编辑  收藏  举报