首页前端开发HTMLHTML+VUE分页实现炫酷物联网大屏功能

HTML+VUE分页实现炫酷物联网大屏功能

时间2024-01-26 22:24:03发布访客分类HTML浏览314
导读:收集整理的这篇文章主要介绍了HTML+VUE分页实现炫酷物联网大屏功能,觉得挺不错的,现在分享给大家,也给大家做个参考。 效果demo.htML<html> <head> <meta charset...
收集整理的这篇文章主要介绍了HTML+VUE分页实现炫酷物联网大屏功能,觉得挺不错的,现在分享给大家,也给大家做个参考。

效果

demo.htML

html>
    	head>
    		meta charset="UTF-8">
    		tITle>
    数据大屏/title>
    		link rel="stylesheet" href="css/style.css" />
    		script tyPE="text/javascript" src="js/jquery-1.8.0.min.js">
    /script>
    		script type="text/javascript" src="js/axios.min.js">
    /script>
    		script type="text/javascript" src="js/babel.min.js">
    /script>
    		script src="https://cdn.bootcss.COM/vue-router/3.0.1/vue-router.js">
    /script>
    	/head>
    	body>
    		header>
    			物联网平台数据统计page			span id=localtime style=" font-Size:14px;
     position: absolute;
     right: 30px;
     top:-20px;
     ">
    /span>
    		/header>
    		div id="page">
    			div class="center_bot">
    				table class="panel-table" bordercolor="#0d48e0" border="1">
    					thead bgcolor="#0e4ae0" align="center">
    						tr height="40">
    							th colspan="6">
    img src="images/icon04.png" />
     监控列表/th>
    						/tr>
    					/thead>
    					tbody>
    						tr class="aaa" align="center">
    							td v-for="item in factoryHeader" style="color: #00fcff;
     font-size: 18px;
     padding: 5px 0;
    ">
{
{
 item.categories }
}
    /td>
    						/tr>
    						div  height="168px">
    						tr v-for="point in factory" :key="point.pointId" class="aaa" style="font-size: 16px;
    " align="center">
    							td>
{
{
point.EnterpriseName}
}
    /td>
    							td>
{
{
point.pointName}
}
    /td>
    							td>
    								div v-if="point.isErrorType==0">
    无/div>
    								div v-if="point.isErrorType==1">
    a style="color: #FF6F05;
    ">
    断线/div>
    								div v-if="point.isErrorType==2">
    a style="color:#FF0000 ;
    ">
    超标/div>
    								div v-if="point.isErrorType==3">
    a style="color:#FF6F05 ;
    ">
    异常/div>
    								div v-if="point.isErrorType==4">
    a style="color: #00F6FF;
    ">
    正常/a>
    /div>
    							/td>
    							td width="250">
    								button class="b1 click_pop" @click="goWarnData(point.pointId)">
    超标数据/button>
    								button class="b2 click_pop2" @click="goExceptionData(point.pointId)">
    异常数据/button>
    								button class="b3 click_pop3" @click="goDataDetail(point.pointId)">
    历史数据/button>
    							/td>
    						/tr>
    			/div>
    								/tbody>
    							/table>
    				!-- div class="box">
    					div id="pagination" class="page fl">
    /div>
    				/div>
     -->
    				div style="margin:0 auto;
    text-align:center">
    				      a @click="prevPage()">
    上一页/a>
    				      div style="display: inline-block;
    margin-left: 10px" v-for="index of  pagelist" :key="index">
				        button :class="{
active: currentPage == activatePage + index - 1}
    "    @click="selectPage($event,index)">
{
{
activatePage + index -1}
}
    /button>
    				      /div>
    				      span >
第{
{
pageIndex}
}
页/共{
{
totalPage}
}
页   共{
{
total}
}
    条/span>
    				      a @click="nextPage($event)">
    下一页/a>
    				/div>
    			/div>
    		/div>
    			script>
			$(document).ready(function() {
				$('.pop-close').click(function() {
    					$('.bgPoP3,.pop3').hide();
				}
    );
				// $('.click_pop3').click(function() {
    				// 	$('.bgPop3,.pop3').show();
				// }
    );
			}
    )		/script>
    		script type="text/javascript" src="js/jquery.min.js">
    /script>
    		script type="text/javascript" src="js/echarts.min.js">
    /script>
    		script type="text/javascript" src="js/china.js">
    /script>
    		script type="text/javascript" src="js/vue.min.js">
    /script>
    		script type="text/javascript" src="js/map.js">
    /script>
    		script type="text/javascript" src="js/times.js">
    /script>
    		script type="text/javascript" src="js/DTU.js">
    /script>
    		script type="text/javascript" src="js/PLC.js">
    /script>
    		script type="text/javascript" src="js/online.js">
    /script>
    		script type="text/javascript" src="js/industry.js">
    /script>
    		script type="text/javascript" src="js/data.js">
    /script>
    !-- 		script type="text/javascript" src="js/index.js">
    /script>
     -->
    		script type="text/javascript" src="js/history.js">
    /script>
    		script type="text/javascript" src="js/warn.js">
    /script>
    	    script type="text/javascript" src="js/page.js">
    /script>
    	/body>
    /html>
    

page. js

VAR page_data = {
	key: null,	pointId: null,	limit: 6,	total: 0, //总条数	pageIndex: 1, //第x页	totalPage: 0, // 总共页数,	activatePage: 1, //激活页 默认为1	currentPage: 1, //当前页数 ,默认为1	pagelist: 7, //分页按钮个数	pageSize: 10, // 每页显示数量	mid: 3, //点击按钮 分页按钮重新渲染时的位置 一般 是 pagelist /2 居中	factoryHeader: [{
			"categories": "站点名"		}
,		{
			"categories": "企业名"		}
,		{
			"categories": "状态"		}
,		{
			"categories": "操作"		}
	],	factory: [],	timer: null //定时器}
    ;
var page_vue = new Vue({
    	el: '#page',	data: page_data,	beforeCreate: () =>
 {
    		// this.send();
		console.LOG("创建前page_data")	}
    ,	created: () =>
 {
    		// this.dtu();
		console.log("创建完成page_data")	}
    ,	beforemount: () =>
 {
	}
,	mounted() {
    		this.timer = setInterval(() =>
 {
			setTimeout(this.getCurrentPageData(), 0)		}
    , 1000 * 10)		console.log("挂载完成page_data:");
	}
,	beforeUpdate() {
    		console.log('=即将更新渲染page_data=');
	}
,	destroyed() {
    		clearInterval(this.timer);
    		this.timer = null;
	}
,	watch: {
}
,	methods: {
		/* 监测列表 */		getCurrentPageData: function() {
			axios({
					headers: {
						'Content-Type': 'application/json'					}
,					async: true,					method: 'post',					url: 'https://www.shbykj.top/bi/monitor/data',					data: {
						'page': page_vue.$data.currentPage,						'limit': page_vue.$data.limit,					}
				}
)				.then(function(res) {
    					console.log(res.data.data);
					if (res.data.data) {
    						page_vue.$data.factory = res.data.data.data						page_vue.$data.total = res.data.data.total						console.log(".this.total" + page_vue.$data.total)						let begin = (page_vue.$data.currentPage - 1) * page_vue.$data.pageSize;
    						let end = page_vue.$data.currentPage * page_vue.$data.pageSize;
    						this.mid = Math.floor(page_vue.$data.pagelist / 2);
						//这里自己DIY请求数据						console.log("dataListLength总条数::::::" + page_vue.$data.total)						console.log("pageSize每页条数::::::" + page_vue.$data.limit)						//总页数						page_vue.$data.totalPage = page_vue.$data.total % page_vue.$data.limit == 0 ? page_vue.$data.total / page_vue							.$data.limit : Math.floor(page_vue.$data.total /								page_vue.$data.limit) + 1						console.log("totalPage总页数:" + page_vue.$data.totalPage)					}
				}
)				.catch(function(error) {
    					console.log("大屏监控列表查询异常" + error);
				}
    );
		}
,		// 设置当前页面数据,对数组操作的截取规则为[0~9],[10~20]...,		// 当currentPage为1时,我们显示(0*pageSize+1)-1*pageSize,当currentPage为2时,我们显示(1*pageSize+1)-2*pageSize...		//上一页		PRevPage() {
    			console.log(this.currentPage);
			if (this.currentPage === 1) {
    				return false;
			}
 else {
    				this.currentPage--;
				if (this.activatePage !== 1) {
					if (this.currentPage = (this.totalPage - this.pagelist + this.mid)) {
    						this.activatePage = this.currentPage - this.mid;
					}
				}
    				this.getCurrentPageData();
			}
		}
,		// 下一页		nextPage() {
			if (this.currentPage === this.totalPage) {
    				return false;
			}
 else {
				if (this.activatePage !== this.totalPage - this.pagelist + 1) {
    					if (this.currentPage >
= (this.pagelist - this.mid)) {
    						this.activatePage = this.currentPage - this.mid + 1;
					}
				}
    				this.currentPage++;
    				this.getCurrentPageData();
			}
		}
,		selectPage(event, msg) {
    			//计算 是往前还是往后移动			let gap = (this.activatePage + msg - 1) - this.currentPage;
    			//把 当前页更新			this.currentPage = this.activatePage + msg - 1;
    			if (this.currentPage >
 this.totalPage) {
    				this.currentPage = this.totalPage;
			}
			if (this.currentPage  1) {
    				this.currentPage = 1;
			}
    			//如果是 往前移动 需要 判断两种情况 第一种 如果移动到的下一步 加上 显示的页码按钮数 超出了 总页码数			//那么 我们就 把 页码按钮的起始更新为 页码数 - 页码按钮显示数 + 1			//如果小于等于 那么把 页码按钮更新为点击的页码按钮			if (gap >
     0 &
    &
     (this.currentPage + this.pagelist - 1) >
 this.totalPage) {
    				this.activatePage = this.totalPage - this.pagelist + 1;
			}
     else if (gap >
     0 &
    &
 (this.currentPage + this.pagelist - 1) = this.totalPage) {
    				//对 最小需要调整按钮的边界进行判断				if (this.currentPage >
= (this.pagelist - this.mid)) {
    					this.activatePage = this.currentPage - this.mid;
				}
			}
    			//和上面 一样 我们需要判断 点击分页按钮的 索引  如果点击按钮的数 - 分页按钮的个数  小于0了 那我们 把 分页按钮其实位置改成0			//否则的 话 就直接 更新成 点击按钮的索引			if (gap  0 &
    &
 (this.currentPage - this.pagelist + 1) = 1) {
    				this.activatePage = 1;
			}
     else if (gap  0 &
    &
     (this.currentPage - this.pagelist + 1) >
 1) {
				//对 最大需要调整按钮的边界进行判断				if (this.currentPage = (this.totalPage - this.pagelist + this.mid)) {
    					this.activatePage = this.currentPage - this.mid;
				}
			}
    			var el = event.currentTarget;
    			this.getCurrentPageData();
		}
	}
}
    )

结构

以上就是HTML+VUE分页实现炫酷物联网大屏功能的详细内容,更多关于html分页大屏的资料请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 提交表单后转到另一个文件下一篇:html2 canvas svg不能识别的解决...猜你在找的HTML/Xhtml相关文章 了解HTTP Headers的方方面面 图文说明2022-04-12Html分层的box-shadow效果的示例代码2022-04-12html+css实现血轮眼轮回眼特效代码2022-04-12html实现随机点名器的示例代码2022-04-12HTML中table表格拆分合并(colspanrowspan)2022-04-12HTML页面滚动时部分内容位置固定不滚动的实现2022-04-12HTML+css盒子模型案例(圆半圆等)“border-radius” 简单易上手2022-04-12HTML通过表单实现酒店筛选功能2022-04-12HTML中的表单Form实现居中效果2022-04-12HTML+CSS制作心跳特效的实现2022-04-12 其他相关热搜词更多phpjavapython程序员

若转载请注明出处: HTML+VUE分页实现炫酷物联网大屏功能
本文地址: https://pptw.com/jishu/587356.html
HTML表格标记教程(1):制作表格 标记语言——锚点

游客 回复需填写必要信息