| | |
| | | transform:translate(0,0); |
| | | } |
| | | |
| | | .title-box { |
| | | position:absolute; |
| | | top:40%; |
| | | left:8%; |
| | | transform:translateY(-50%); |
| | | color:#fff; |
| | | z-index:2; |
| | | pointer-events:none; |
| | | } |
| | | .title-box .title { |
| | | font-size:36px; |
| | | perspective:600px; |
| | | -webkit-perspective:600px; |
| | | -moz-perspective:600px; |
| | | } |
| | | .title-box .title i { |
| | | display:inline-block; |
| | | font-style:normal; |
| | | opacity:0; |
| | | transform:rotateY(90deg); |
| | | transition:all 5000ms; |
| | | transform-style:preserve-3d; |
| | | -webkit-transform-style:preserve-3d; |
| | | } |
| | | .title-box.show .title i { |
| | | opacity:1; |
| | | transform:rotateY(0); |
| | | } |
| | | .title-box.show .say { |
| | | opacity:1; |
| | | transform:translateX(0); |
| | | } |
| | | .title-box .say { |
| | | font-size:12px; |
| | | color:#888; |
| | | padding:20px 0 20px 40px; |
| | | opacity:0; |
| | | transform:translateX(20px); |
| | | transition:all 2000ms; |
| | | transition-delay:2000ms; |
| | | } |
| | | .title-box.show .use { |
| | | opacity:1; |
| | | transform:translateY(0); |
| | | } |
| | | .title-box .say p { |
| | | padding:0; |
| | | } |
| | | .title-box .use { |
| | | font-size:14px; |
| | | color:#fff; |
| | | display:flex; |
| | | align-items:center; |
| | | padding-left:40px; |
| | | opacity:0; |
| | | transform:translateY(20px); |
| | | transition:all 2000ms; |
| | | transition-delay:2000ms; |
| | | } |
| | | .title-box .use div { |
| | | height:1px; |
| | | background-color:#fff; |
| | | width:80px; |
| | | margin-right:10px; |
| | | } |
| | | |
| | | |
| | | #container { |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <title></title> |
| | | <meta charset="utf-8"> |
| | | <meta name="generator" content="Three.js Editor"> |
| | | <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> |
| | | <link rel="stylesheet" href="../static/css/main.css"> |
| | | <link rel="stylesheet" href="../static/css/index.css"> |
| | | <link rel="stylesheet" href="../static/css/loader.css" media="all"> |
| | | <script type="text/javascript" src="../static/js/lib/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/echarts.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/utils.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../static/js/data/Asrs.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Cube.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreArea.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Store.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGroup.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGoods.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Route.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/CrnTask.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Floor.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/btnHide.js"></script> |
| | | </head> |
| | | <body style="position: relative"> |
| | | <!--初始化加载层--> |
| | | <div class="layuimini-loader"> |
| | | <div class="layuimini-loader-inner"></div> |
| | | </div> |
| | | <head> |
| | | <title></title> |
| | | <meta charset="utf-8"> |
| | | <meta name="generator" content="Three.js Editor"> |
| | | <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> |
| | | <link rel="stylesheet" href="../static/css/main.css"> |
| | | <link rel="stylesheet" href="../static/css/index.css"> |
| | | <link rel="stylesheet" href="../static/css/loader.css" media="all"> |
| | | <script type="text/javascript" src="../static/js/lib/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/echarts.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/utils.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../static/js/data/Asrs.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Cube.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreArea.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Store.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGroup.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGoods.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Route.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/CrnTask.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Floor.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/btnHide.js"></script> |
| | | <style> |
| | | * { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | html { |
| | | height: 100%; |
| | | } |
| | | body { |
| | | height: 100%; |
| | | } |
| | | |
| | | <div class="sidebar"> |
| | | <img id="fps" class="buttonClass" title="性能调试" src="../static/img/icon/fps.svg"> |
| | | <img id="skyBox" class="buttonClass" title="更改背景" src="../static/img/icon/skyBox.svg"> |
| | | <!-- <img id="store" class="buttonClass" title="显示仓库" src="../static/img/icon/store.svg">--> |
| | | <!-- <img id="group" class="buttonClass" title="显示巷道" src="../static/img/icon/group.svg">--> |
| | | <!-- <img id="shelf" class="buttonClass" title="显示架子" src="../static/img/icon/shelf.svg">--> |
| | | <!-- <img id="reset" class="buttonClass" title="复位场景" src="../static/img/icon/reset.svg">--> |
| | | <img id="tour" class="buttonClass" title="游览厂区 前进:W 后退:S 左:A 右:D 跳跃:Space" src="../static/img/icon/tour.svg"> |
| | | <!-- <img id="temperature" class="buttonClass" title="车间温度" src="../static/img/icon/temperature.svg">--> |
| | | <!-- <img id="roomRate" class="buttonClass" title="库房利用率" src="../static/img/icon/roomRate.svg">--> |
| | | </div> |
| | | <div id="groundglass"></div> |
| | | <div id="sidebar"> |
| | | <p1>中扬-智能立体仓库</p1> |
| | | <p2>ZhongYang Intelligent Three-Dimensional Warehouse</p2> |
| | | <div id="Histogram"></div> |
| | | <div id="baobiao2"></div> |
| | | <div id="btnhide_m"></div> |
| | | <button id="btnhide" onclick="btnHide()">隐藏</button> |
| | | <div class="tablebox"> |
| | | <div class="tbl-header"> |
| | | <table border="0" cellspacing="0" cellpadding="0" > |
| | | <thead> |
| | | <tr> |
| | | <th>排名</th> |
| | | <th>地市</th> |
| | | <th>销售收入(万元)</th> |
| | | <th>同比(%)</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody style="opacity:0;" ></tbody> |
| | | </table> |
| | | </div> |
| | | <div class="tbl-body"> |
| | | <table border="0" cellspacing="0" cellpadding="0"> |
| | | <thead> |
| | | <tr> |
| | | <th>排名</th> |
| | | <th>地市</th> |
| | | <th>销售收入(万元)</th> |
| | | <th>同比(%)</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody></tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="container"></div> |
| | | <script type="module"> |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | | import * as THREE from '../static/js/three.module.js'; |
| | | import { APP } from '../static/js/app.js'; |
| | | |
| | | window.THREE = THREE; |
| | | |
| | | var player = new APP.Player(); |
| | | player.start(); |
| | | |
| | | document.getElementById("fps").addEventListener('click', function () { |
| | | player.changeStats(); |
| | | }, false); |
| | | document.getElementById("skyBox").addEventListener('click', function () { |
| | | player.changeBackGround(); |
| | | }, false); |
| | | document.getElementById("tour").addEventListener('click', function () { |
| | | player.lockControl(); |
| | | }, false) |
| | | |
| | | $('.layuimini-loader').fadeOut(); |
| | | |
| | | </script> |
| | | <script type="text/javascript"> |
| | | var dom1 = document.getElementById("Histogram"); |
| | | var myChart1 = echarts.init(dom1); |
| | | window.addEventListener('resize',function () { |
| | | myChart1.resize(); |
| | | }) |
| | | var app1 = {}; |
| | | |
| | | var dom = document.getElementById("baobiao2"); |
| | | var myChart = echarts.init(dom); |
| | | window.addEventListener('resize',function () { |
| | | myChart.resize(); |
| | | }) |
| | | var app = {}; |
| | | <div id="mask" class="mask"></div> |
| | | <div id="title-box" class="title-box"> |
| | | <div id="title" class="title"><i>A</i><i> </i><i>S</i><i> </i><i>/</i><i> </i><i>R</i><i> </i><i>S</i><i> </i><i>-</i><i> </i><i>W</i><i> </i><i>C</i><i> </i><i>S</i></div> |
| | | <div class="say"> |
| | | <p>自动化仓库控制系统,是介于WMS和PLC之间的一层管理控制系统</p> |
| | | <p>可以协调各种物流设备如输送机、堆垛机、穿梭车以及机器人、自动导引小车等物流设备之间的运行</p> |
| | | <p>"WAREHOUSE CONTROL SYSTEM"</p> |
| | | </div> |
| | | <div class="use"> |
| | | <div></div> |
| | | 《中扬立库》 |
| | | </div> |
| | | </div> |
| | | <img id="logo" class="logo" src="../static/img/logo0.png" alt=""/> |
| | | <div id="ship-info-box" class="ship-info-box"> |
| | | <div class="ship-type pointernone"> |
| | | <ul id="ship-type-ul"> |
| | | <li>初始化</li> |
| | | <li>待机…</li> |
| | | <li>您现在可以自由移动视角</li> |
| | | </ul> |
| | | </div> |
| | | <div class="speed pointernone"><span id="speed">0</span> <i id="speed-unit">%</i></div> |
| | | <div id="ship-info-btn" class="btn" data-type="1"> |
| | | <div id="btn-lock"></div> |
| | | <div class="btn-word">启动</div> |
| | | <div class="line line1"></div> |
| | | <div class="line line2"></div> |
| | | </div> |
| | | <div id="control-remind" class="remind">您现在可以自由移动视角</div> |
| | | </div> |
| | | |
| | | |
| | | var option1; |
| | | <div id="container"></div> |
| | | </body> |
| | | <script type="module"> |
| | | |
| | | option1 = { |
| | | title: { |
| | | text: '年度进/出货量', |
| | | x:'5px', |
| | | y:'15px', |
| | | textStyle:{ |
| | | color:'#ffffff', |
| | | fontWeight:400, |
| | | fontSize: 10, |
| | | }, |
| | | subtext: 'Data', |
| | | subtextStyle:{ |
| | | align:'center', |
| | | color:'#ffffff', |
| | | fontSize: 7, |
| | | }, |
| | | show: true, |
| | | import * as THREE from '../static/js/three.module.js'; |
| | | import { APP } from '../static/js/app.js'; |
| | | |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | textStyle:{ |
| | | color:'#f5f4f4', |
| | | }, |
| | | legend: { |
| | | show:false, |
| | | data: ['进货', '出货'] |
| | | }, |
| | | toolbox: { |
| | | show: false, |
| | | feature: { |
| | | dataView: { show: true, readOnly: false }, |
| | | magicType: { show: true, type: ['line', 'bar'] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { show: true } |
| | | } |
| | | }, |
| | | calculable: true, |
| | | xAxis: [ |
| | | { |
| | | color:'#975a5a', |
| | | type: 'category', |
| | | axisTick:{ |
| | | show:false, |
| | | lineStyle:{ |
| | | color:'#000' |
| | | } |
| | | }, |
| | | axisLabel: { // 如果这个字段不设置,echarts会根据屏宽及横坐标数据自动给出间隔 |
| | | fontSize:9, |
| | | interval: 1, // 间隔长度,可自定义(如果是时间格式,echarts会自动处理) |
| | | rotate: 0 ,// 横坐标上label的倾斜度 |
| | | textStyle: { |
| | | color:'#fff' |
| | | } |
| | | }, |
| | | axisLine:{ |
| | | lineStyle: { |
| | | color: '#e2e1e1',// x轴刻度线的颜色 |
| | | }}, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | offset: -4, |
| | | axisTick:{ |
| | | show:false, |
| | | }, |
| | | axisLabel: { |
| | | fontSize:9, |
| | | }, |
| | | splitLine:{ |
| | | lineStyle:{ |
| | | color:'#cdcdcd'// y轴分割线颜色 |
| | | } |
| | | } |
| | | window.THREE = THREE; |
| | | |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | color:['#88b0e2'], |
| | | name: '进货', |
| | | type: 'bar', |
| | | data: [ |
| | | 204.5, 50.5, 15.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3 |
| | | ], |
| | | }, |
| | | { |
| | | color:['#f8f7f7'], |
| | | name: '出货', |
| | | type: 'bar', |
| | | data: [ |
| | | 100, 75.2, 33.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3 |
| | | ], |
| | | } |
| | | ], |
| | | var player = new APP.Player(); |
| | | player.start(); |
| | | |
| | | }; |
| | | document.getElementById("btn-lock").addEventListener('click', function () { |
| | | player.lockControl(); |
| | | removeClass(document.getElementById("ship-info-btn"), "show"); |
| | | document.getElementById("ship-type-ul").style.transform = 'translateY(-60px)'; |
| | | }, false); |
| | | |
| | | if (option1 && typeof option1 === 'object') { |
| | | myChart1.setOption(option1); |
| | | } |
| | | </script> |
| | | <script> |
| | | var percent = 0; |
| | | var shipInfoBtn = document.getElementById("ship-info-btn"); |
| | | var speedDom = document.getElementById("speed"); |
| | | var timer = setInterval(function () { |
| | | if (percent < 99.95) { |
| | | percent += 0.05; |
| | | speedDom.innerText = percent.toFixed(2); |
| | | } else { |
| | | if (!hasClass(shipInfoBtn, "show")) { |
| | | addClass(shipInfoBtn, "show") |
| | | clearInterval(timer); |
| | | } |
| | | } |
| | | }, 1); |
| | | |
| | | let base = +new Date(1988, 9, 3); |
| | | let oneDay = 24 * 3600 * 1000; |
| | | let data = [[base, Math.random() * 300]]; |
| | | for (let i = 1; i < 20000; i++) { |
| | | let now = new Date((base += oneDay)); |
| | | data.push([+now, Math.round((Math.random() - 0.5) * 20 + data[i - 1][1])]); |
| | | } |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | position: function (pt) { |
| | | return [pt[0], '10%']; |
| | | } |
| | | }, |
| | | title: { |
| | | x:'5px', |
| | | y:'15px', |
| | | text: '销售件数', |
| | | textStyle:{ |
| | | color:'#ffffff', |
| | | fontWeight:400, |
| | | fontSize: 10, |
| | | }, |
| | | }, |
| | | toolbox: { |
| | | show:false, |
| | | feature: { |
| | | dataZoom: { |
| | | yAxisIndex: 'none' |
| | | }, |
| | | restore: {}, |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | textStyle:{ |
| | | color:'#f5f4f4', |
| | | }, |
| | | xAxis: { |
| | | type: 'time', |
| | | boundaryGap: false, |
| | | axisTick:{ |
| | | show:false, |
| | | }, |
| | | axisLabel: { // 如果这个字段不设置,echarts会根据屏宽及横坐标数据自动给出间隔 |
| | | fontSize:9, |
| | | interval: 1, // 间隔长度,可自定义(如果是时间格式,echarts会自动处理) |
| | | rotate: 0 ,// 横坐标上label的倾斜度 |
| | | textStyle: { |
| | | color:'#fff' |
| | | } |
| | | }, |
| | | axisLine:{ |
| | | lineStyle: { |
| | | color: '#e2e1e1',// x轴刻度线的颜色 |
| | | }}, |
| | | $(document).on('click','.btn-word', function () { |
| | | fullScreen() |
| | | $("#mask").fadeOut(3000, function () { |
| | | setTimeout(function () { |
| | | $("#ship-type-ul").css("transform", "translateY(-40px)"); |
| | | $("#ship-info-btn .btn-word").text("体验调度世界"); |
| | | $("#ship-info-btn").data("type", 2).addClass("show"); |
| | | $("#ship-info-btn #btn-lock").css("z-index", "10"); |
| | | }, 1000); |
| | | setTimeout(function () { |
| | | $("#title-box").removeClass("show"); |
| | | }, 5000); |
| | | }); |
| | | $("#title-box, #logo").addClass("show"); |
| | | $("#ship-info-btn").removeClass("show"); |
| | | $('.speed.pointernone').addClass("hide"); |
| | | $("#ship-type-ul").css("transform", "translateY(-20px)"); |
| | | }); |
| | | |
| | | }, |
| | | |
| | | yAxis: { |
| | | type: 'value', |
| | | boundaryGap: [0, '100%'], |
| | | axisLabel: { |
| | | fontSize:9, |
| | | }, |
| | | splitLine:{ |
| | | lineStyle:{ |
| | | color:'#cdcdcd'// y轴分割线颜色 |
| | | } |
| | | } |
| | | }, |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | start: 0, |
| | | end: 20 |
| | | }, |
| | | { |
| | | start: 0, |
| | | end: 20 |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: 'Fake Data', |
| | | type: 'line', |
| | | smooth: true, |
| | | symbol: 'none', |
| | | areaStyle: { |
| | | normal: { |
| | | color: '#88b0e2' //改变区域颜色 |
| | | } |
| | | }, |
| | | itemStyle : { |
| | | normal : { |
| | | color:'#dddede', //改变折线点的颜色 |
| | | lineStyle:{ |
| | | // color:'#8cd5c2' //改变折线颜色 |
| | | width:0.5, |
| | | } |
| | | } |
| | | }, |
| | | data: data |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | if (option && typeof option === 'object') { |
| | | myChart.setOption(option); |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | var MyMarhq = ''; |
| | | clearInterval(MyMarhq); |
| | | $('.tbl-body tbody').empty(); |
| | | $('.tbl-header tbody').empty(); |
| | | var Items = [{"Ranking":"1","City":"保定","SaleIncome":"2506734.43","An":"53.00",}, |
| | | {"Ranking":"2","City":"沧州","SaleIncome":"1425935.58","An":"65.00",}, |
| | | {"Ranking":"3","City":"秦皇岛","SaleIncome":"1372207.38","An":"34.00",}, |
| | | {"Ranking":"4","City":"衡水","SaleIncome":"972451.15","An":"15.00",}, |
| | | {"Ranking":"5","City":"石家庄","SaleIncome":"939010.52","An":"-57.00",}, |
| | | {"Ranking":"6","City":"邢台","SaleIncome":"774274.70","An":"-20.00",}, |
| | | {"Ranking":"7","City":"唐山","SaleIncome":"680456.79","An":"-29.00",}, |
| | | {"Ranking":"8","City":"张家口","SaleIncome":"613319.87","An":"2.00",}, |
| | | {"Ranking":"9","City":"中油华奥","SaleIncome":"596575.25","An":"35.00",}, |
| | | {"Ranking":"10","City":"承德","SaleIncome":"589048.12","An":"30.00",}, |
| | | {"Ranking":"11","City":"廊坊","SaleIncome":"515448.14","An":"-48.00",}, |
| | | {"Ranking":"12","City":"瑞州","SaleIncome":"399875.26","An":"128.00",}, |
| | | {"Ranking":"13","City":"石家庄中油","SaleIncome":"90543.62","An":"-24.00",}, |
| | | {"Ranking":"14","City":"辛集中油","SaleIncome":"49255.52","An":"19.00",}, |
| | | {"Ranking":"15","City":"井陉中油","SaleIncome":"29682.60","An":"-74.00",}, |
| | | {"Ranking":"16","City":"保定中油","SaleIncome":"11887.73","An":"-64.00",}] |
| | | $.each(Items,function (i, item) { |
| | | str = '<tr>'+ |
| | | '<td>'+item.Ranking+'</td>'+ |
| | | '<td>'+item.City+'</td>'+ |
| | | '<td>'+(+item.SaleIncome/10000).toFixed(2)+'</td>'+ |
| | | '<td>'+(+item.An).toFixed(2)+'</td>' |
| | | // '<td>'+(+item.Mom).toFixed(2)+'</td>'+ |
| | | // '<td>'+(item.SalePlan/10000).toFixed(2)+'</td>'+ |
| | | // '<td>'+(+item.PlanFinish).toFixed(2)+'</td>'+ |
| | | '</tr>' |
| | | |
| | | $('.tbl-body tbody').append(str); |
| | | $('.tbl-header tbody').append(str); |
| | | }); |
| | | if(Items.length > 10){ |
| | | $('.tbl-body tbody').html($('.tbl-body tbody').html()+$('.tbl-body tbody').html()); |
| | | $('.tbl-body').css('top', '0'); |
| | | var tblTop = 0; |
| | | var speedhq = 50; // 数值越大越慢 |
| | | var outerHeight = $('.tbl-body tbody').find("tr").outerHeight(); |
| | | function Marqueehq(){ |
| | | if(tblTop <= -outerHeight*Items.length){ |
| | | tblTop = 0; |
| | | } else { |
| | | tblTop -= 1; |
| | | } |
| | | $('.tbl-body').css('top', tblTop+'px'); |
| | | } |
| | | |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | |
| | | // 鼠标移上去取消事件 |
| | | $(".tbl-header tbody").hover(function (){ |
| | | clearInterval(MyMarhq); |
| | | },function (){ |
| | | clearInterval(MyMarhq); |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | }) |
| | | |
| | | } |
| | | $.each(Items,function (i, item) { |
| | | str = '<tr>'+ |
| | | '<td>'+item.Ranking+'</td>'+ |
| | | '<td>'+item.City+'</td>'+ |
| | | '<td>'+(+item.SaleIncome/10000).toFixed(2)+'</td>'+ |
| | | '<td>'+(+item.An).toFixed(2)+'</td>'+ |
| | | '</tr>' |
| | | |
| | | $('.tbl-body tbody').append(str); |
| | | $('.tbl-header tbody').append(str); |
| | | }); |
| | | if(Items.length > 10){ |
| | | $('.tbl-body tbody').html($('.tbl-body tbody').html()+$('.tbl-body tbody').html()); |
| | | $('.tbl-body').css('top', '0'); |
| | | var tblTop = 0; |
| | | var speedhq = 50; // 数值越大越慢 |
| | | var outerHeight = $('.tbl-body tbody').find("tr").outerHeight(); |
| | | function Marqueehq(){ |
| | | if(tblTop <= -outerHeight*Items.length){ |
| | | tblTop = 0; |
| | | } else { |
| | | tblTop -= 1; |
| | | } |
| | | $('.tbl-body').css('top', tblTop+'px'); |
| | | } |
| | | |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </body> |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <title></title> |
| | | <meta charset="utf-8"> |
| | | <meta name="generator" content="Three.js Editor"> |
| | | <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> |
| | | <link rel="stylesheet" href="../static/css/main.css"> |
| | | <link rel="stylesheet" href="../static/css/index.css"> |
| | | <link rel="stylesheet" href="../static/css/loader.css" media="all"> |
| | | <script type="text/javascript" src="../static/js/lib/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/echarts.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/utils.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../static/js/data/Asrs.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Cube.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreArea.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Store.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGroup.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/StoreGoods.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Route.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/CrnTask.js"></script> |
| | | <script type="text/javascript" src="../static/js/object/Floor.js"></script> |
| | | <script type="text/javascript" src="../static/js/lib/btnHide.js"></script> |
| | | </head> |
| | | <body style="position: relative"> |
| | | <!--初始化加载层--> |
| | | <div class="layuimini-loader"> |
| | | <div class="layuimini-loader-inner"></div> |
| | | </div> |
| | | |
| | | <div class="sidebar"> |
| | | <img id="fps" class="buttonClass" title="性能调试" src="../static/img/icon/fps.svg"> |
| | | <img id="skyBox" class="buttonClass" title="更改背景" src="../static/img/icon/skyBox.svg"> |
| | | <!-- <img id="store" class="buttonClass" title="显示仓库" src="../static/img/icon/store.svg">--> |
| | | <!-- <img id="group" class="buttonClass" title="显示巷道" src="../static/img/icon/group.svg">--> |
| | | <!-- <img id="shelf" class="buttonClass" title="显示架子" src="../static/img/icon/shelf.svg">--> |
| | | <!-- <img id="reset" class="buttonClass" title="复位场景" src="../static/img/icon/reset.svg">--> |
| | | <img id="tour" class="buttonClass" title="游览厂区 前进:W 后退:S 左:A 右:D 跳跃:Space" src="../static/img/icon/tour.svg"> |
| | | <!-- <img id="temperature" class="buttonClass" title="车间温度" src="../static/img/icon/temperature.svg">--> |
| | | <!-- <img id="roomRate" class="buttonClass" title="库房利用率" src="../static/img/icon/roomRate.svg">--> |
| | | </div> |
| | | <div id="groundglass"></div> |
| | | <div id="sidebar"> |
| | | <p1>中扬-智能立体仓库</p1> |
| | | <p2>ZhongYang Intelligent Three-Dimensional Warehouse</p2> |
| | | <div id="Histogram"></div> |
| | | <div id="baobiao2"></div> |
| | | <div id="btnhide_m"></div> |
| | | <button id="btnhide" onclick="btnHide()">隐藏</button> |
| | | <div class="tablebox"> |
| | | <div class="tbl-header"> |
| | | <table border="0" cellspacing="0" cellpadding="0" > |
| | | <thead> |
| | | <tr> |
| | | <th>排名</th> |
| | | <th>地市</th> |
| | | <th>销售收入(万元)</th> |
| | | <th>同比(%)</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody style="opacity:0;" ></tbody> |
| | | </table> |
| | | </div> |
| | | <div class="tbl-body"> |
| | | <table border="0" cellspacing="0" cellpadding="0"> |
| | | <thead> |
| | | <tr> |
| | | <th>排名</th> |
| | | <th>地市</th> |
| | | <th>销售收入(万元)</th> |
| | | <th>同比(%)</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody></tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="container"></div> |
| | | <script type="module"> |
| | | |
| | | import * as THREE from '../static/js/three.module.js'; |
| | | import { APP } from '../static/js/app.js'; |
| | | |
| | | window.THREE = THREE; |
| | | |
| | | var player = new APP.Player(); |
| | | player.start(); |
| | | |
| | | document.getElementById("fps").addEventListener('click', function () { |
| | | player.changeStats(); |
| | | }, false); |
| | | document.getElementById("skyBox").addEventListener('click', function () { |
| | | player.changeBackGround(); |
| | | }, false); |
| | | document.getElementById("tour").addEventListener('click', function () { |
| | | player.lockControl(); |
| | | }, false) |
| | | |
| | | $('.layuimini-loader').fadeOut(); |
| | | |
| | | </script> |
| | | <script type="text/javascript"> |
| | | var dom1 = document.getElementById("Histogram"); |
| | | var myChart1 = echarts.init(dom1); |
| | | window.addEventListener('resize',function () { |
| | | myChart1.resize(); |
| | | }) |
| | | var app1 = {}; |
| | | |
| | | var dom = document.getElementById("baobiao2"); |
| | | var myChart = echarts.init(dom); |
| | | window.addEventListener('resize',function () { |
| | | myChart.resize(); |
| | | }) |
| | | var app = {}; |
| | | |
| | | |
| | | var option1; |
| | | |
| | | option1 = { |
| | | title: { |
| | | text: '年度进/出货量', |
| | | x:'5px', |
| | | y:'15px', |
| | | textStyle:{ |
| | | color:'#ffffff', |
| | | fontWeight:400, |
| | | fontSize: 10, |
| | | }, |
| | | subtext: 'Data', |
| | | subtextStyle:{ |
| | | align:'center', |
| | | color:'#ffffff', |
| | | fontSize: 7, |
| | | }, |
| | | show: true, |
| | | |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | textStyle:{ |
| | | color:'#f5f4f4', |
| | | }, |
| | | legend: { |
| | | show:false, |
| | | data: ['进货', '出货'] |
| | | }, |
| | | toolbox: { |
| | | show: false, |
| | | feature: { |
| | | dataView: { show: true, readOnly: false }, |
| | | magicType: { show: true, type: ['line', 'bar'] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { show: true } |
| | | } |
| | | }, |
| | | calculable: true, |
| | | xAxis: [ |
| | | { |
| | | color:'#975a5a', |
| | | type: 'category', |
| | | axisTick:{ |
| | | show:false, |
| | | lineStyle:{ |
| | | color:'#000' |
| | | } |
| | | }, |
| | | axisLabel: { // 如果这个字段不设置,echarts会根据屏宽及横坐标数据自动给出间隔 |
| | | fontSize:9, |
| | | interval: 1, // 间隔长度,可自定义(如果是时间格式,echarts会自动处理) |
| | | rotate: 0 ,// 横坐标上label的倾斜度 |
| | | textStyle: { |
| | | color:'#fff' |
| | | } |
| | | }, |
| | | axisLine:{ |
| | | lineStyle: { |
| | | color: '#e2e1e1',// x轴刻度线的颜色 |
| | | }}, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | offset: -4, |
| | | axisTick:{ |
| | | show:false, |
| | | }, |
| | | axisLabel: { |
| | | fontSize:9, |
| | | }, |
| | | splitLine:{ |
| | | lineStyle:{ |
| | | color:'#cdcdcd'// y轴分割线颜色 |
| | | } |
| | | } |
| | | |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | color:['#88b0e2'], |
| | | name: '进货', |
| | | type: 'bar', |
| | | data: [ |
| | | 204.5, 50.5, 15.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3 |
| | | ], |
| | | }, |
| | | { |
| | | color:['#f8f7f7'], |
| | | name: '出货', |
| | | type: 'bar', |
| | | data: [ |
| | | 100, 75.2, 33.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3 |
| | | ], |
| | | } |
| | | ], |
| | | |
| | | }; |
| | | |
| | | if (option1 && typeof option1 === 'object') { |
| | | myChart1.setOption(option1); |
| | | } |
| | | |
| | | let base = +new Date(1988, 9, 3); |
| | | let oneDay = 24 * 3600 * 1000; |
| | | let data = [[base, Math.random() * 300]]; |
| | | for (let i = 1; i < 20000; i++) { |
| | | let now = new Date((base += oneDay)); |
| | | data.push([+now, Math.round((Math.random() - 0.5) * 20 + data[i - 1][1])]); |
| | | } |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | position: function (pt) { |
| | | return [pt[0], '10%']; |
| | | } |
| | | }, |
| | | title: { |
| | | x:'5px', |
| | | y:'15px', |
| | | text: '销售件数', |
| | | textStyle:{ |
| | | color:'#ffffff', |
| | | fontWeight:400, |
| | | fontSize: 10, |
| | | }, |
| | | }, |
| | | toolbox: { |
| | | show:false, |
| | | feature: { |
| | | dataZoom: { |
| | | yAxisIndex: 'none' |
| | | }, |
| | | restore: {}, |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | textStyle:{ |
| | | color:'#f5f4f4', |
| | | }, |
| | | xAxis: { |
| | | type: 'time', |
| | | boundaryGap: false, |
| | | axisTick:{ |
| | | show:false, |
| | | }, |
| | | axisLabel: { // 如果这个字段不设置,echarts会根据屏宽及横坐标数据自动给出间隔 |
| | | fontSize:9, |
| | | interval: 1, // 间隔长度,可自定义(如果是时间格式,echarts会自动处理) |
| | | rotate: 0 ,// 横坐标上label的倾斜度 |
| | | textStyle: { |
| | | color:'#fff' |
| | | } |
| | | }, |
| | | axisLine:{ |
| | | lineStyle: { |
| | | color: '#e2e1e1',// x轴刻度线的颜色 |
| | | }}, |
| | | |
| | | }, |
| | | |
| | | yAxis: { |
| | | type: 'value', |
| | | boundaryGap: [0, '100%'], |
| | | axisLabel: { |
| | | fontSize:9, |
| | | }, |
| | | splitLine:{ |
| | | lineStyle:{ |
| | | color:'#cdcdcd'// y轴分割线颜色 |
| | | } |
| | | } |
| | | }, |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | start: 0, |
| | | end: 20 |
| | | }, |
| | | { |
| | | start: 0, |
| | | end: 20 |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: 'Fake Data', |
| | | type: 'line', |
| | | smooth: true, |
| | | symbol: 'none', |
| | | areaStyle: { |
| | | normal: { |
| | | color: '#88b0e2' //改变区域颜色 |
| | | } |
| | | }, |
| | | itemStyle : { |
| | | normal : { |
| | | color:'#dddede', //改变折线点的颜色 |
| | | lineStyle:{ |
| | | // color:'#8cd5c2' //改变折线颜色 |
| | | width:0.5, |
| | | } |
| | | } |
| | | }, |
| | | data: data |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | if (option && typeof option === 'object') { |
| | | myChart.setOption(option); |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | var MyMarhq = ''; |
| | | clearInterval(MyMarhq); |
| | | $('.tbl-body tbody').empty(); |
| | | $('.tbl-header tbody').empty(); |
| | | var Items = [{"Ranking":"1","City":"保定","SaleIncome":"2506734.43","An":"53.00",}, |
| | | {"Ranking":"2","City":"沧州","SaleIncome":"1425935.58","An":"65.00",}, |
| | | {"Ranking":"3","City":"秦皇岛","SaleIncome":"1372207.38","An":"34.00",}, |
| | | {"Ranking":"4","City":"衡水","SaleIncome":"972451.15","An":"15.00",}, |
| | | {"Ranking":"5","City":"石家庄","SaleIncome":"939010.52","An":"-57.00",}, |
| | | {"Ranking":"6","City":"邢台","SaleIncome":"774274.70","An":"-20.00",}, |
| | | {"Ranking":"7","City":"唐山","SaleIncome":"680456.79","An":"-29.00",}, |
| | | {"Ranking":"8","City":"张家口","SaleIncome":"613319.87","An":"2.00",}, |
| | | {"Ranking":"9","City":"中油华奥","SaleIncome":"596575.25","An":"35.00",}, |
| | | {"Ranking":"10","City":"承德","SaleIncome":"589048.12","An":"30.00",}, |
| | | {"Ranking":"11","City":"廊坊","SaleIncome":"515448.14","An":"-48.00",}, |
| | | {"Ranking":"12","City":"瑞州","SaleIncome":"399875.26","An":"128.00",}, |
| | | {"Ranking":"13","City":"石家庄中油","SaleIncome":"90543.62","An":"-24.00",}, |
| | | {"Ranking":"14","City":"辛集中油","SaleIncome":"49255.52","An":"19.00",}, |
| | | {"Ranking":"15","City":"井陉中油","SaleIncome":"29682.60","An":"-74.00",}, |
| | | {"Ranking":"16","City":"保定中油","SaleIncome":"11887.73","An":"-64.00",}] |
| | | $.each(Items,function (i, item) { |
| | | str = '<tr>'+ |
| | | '<td>'+item.Ranking+'</td>'+ |
| | | '<td>'+item.City+'</td>'+ |
| | | '<td>'+(+item.SaleIncome/10000).toFixed(2)+'</td>'+ |
| | | '<td>'+(+item.An).toFixed(2)+'</td>' |
| | | // '<td>'+(+item.Mom).toFixed(2)+'</td>'+ |
| | | // '<td>'+(item.SalePlan/10000).toFixed(2)+'</td>'+ |
| | | // '<td>'+(+item.PlanFinish).toFixed(2)+'</td>'+ |
| | | '</tr>' |
| | | |
| | | $('.tbl-body tbody').append(str); |
| | | $('.tbl-header tbody').append(str); |
| | | }); |
| | | if(Items.length > 10){ |
| | | $('.tbl-body tbody').html($('.tbl-body tbody').html()+$('.tbl-body tbody').html()); |
| | | $('.tbl-body').css('top', '0'); |
| | | var tblTop = 0; |
| | | var speedhq = 50; // 数值越大越慢 |
| | | var outerHeight = $('.tbl-body tbody').find("tr").outerHeight(); |
| | | function Marqueehq(){ |
| | | if(tblTop <= -outerHeight*Items.length){ |
| | | tblTop = 0; |
| | | } else { |
| | | tblTop -= 1; |
| | | } |
| | | $('.tbl-body').css('top', tblTop+'px'); |
| | | } |
| | | |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | |
| | | // 鼠标移上去取消事件 |
| | | $(".tbl-header tbody").hover(function (){ |
| | | clearInterval(MyMarhq); |
| | | },function (){ |
| | | clearInterval(MyMarhq); |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | }) |
| | | |
| | | } |
| | | $.each(Items,function (i, item) { |
| | | str = '<tr>'+ |
| | | '<td>'+item.Ranking+'</td>'+ |
| | | '<td>'+item.City+'</td>'+ |
| | | '<td>'+(+item.SaleIncome/10000).toFixed(2)+'</td>'+ |
| | | '<td>'+(+item.An).toFixed(2)+'</td>'+ |
| | | '</tr>' |
| | | |
| | | $('.tbl-body tbody').append(str); |
| | | $('.tbl-header tbody').append(str); |
| | | }); |
| | | if(Items.length > 10){ |
| | | $('.tbl-body tbody').html($('.tbl-body tbody').html()+$('.tbl-body tbody').html()); |
| | | $('.tbl-body').css('top', '0'); |
| | | var tblTop = 0; |
| | | var speedhq = 50; // 数值越大越慢 |
| | | var outerHeight = $('.tbl-body tbody').find("tr").outerHeight(); |
| | | function Marqueehq(){ |
| | | if(tblTop <= -outerHeight*Items.length){ |
| | | tblTop = 0; |
| | | } else { |
| | | tblTop -= 1; |
| | | } |
| | | $('.tbl-body').css('top', tblTop+'px'); |
| | | } |
| | | |
| | | MyMarhq = setInterval(Marqueehq,speedhq); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </body> |
| | | </html> |