Parcourir la source

20250331 驾驶舱页面

贾小兵 il y a 4 semaines
Parent
commit
e5d8815c48

+ 39 - 0
application/admin/controller/Screen.php

@@ -0,0 +1,39 @@
+<?php
+namespace app\admin\controller;
+use app\common\controller\Backend;
+use think\Config;
+use think\Db;
+use think\Request;
+/**
+ * 数字大屏接口
+ *
+ * @icon fa fa-dashboard
+ */
+
+class Screen extends Backend
+{
+    protected $model = null;
+    protected $qc_model = null;
+    protected $qr_model = null;
+    protected $zjfl_model = null;
+    protected $layout = '';
+
+    protected $noNeedRight = ['index'];
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $groupIds = $this->auth->getGroupIds();
+    }
+
+    /**
+     * 数字大屏接口
+     */
+    public function index()
+    {
+        return $this->view->fetch();
+    }
+
+
+
+}

+ 4 - 0
application/admin/view/common/header.html

@@ -28,6 +28,10 @@
 <!--                    <a href="__PUBLIC__" target="_blank"><i class="fa fa-home" style="font-size:14px;"></i> {:__('Home')}</a>-->
 <!--                </li>-->
 
+                <li class="hidden-xs">
+                    <a {if $groupIds neq 8} style="display: block" {else} style="display: none"  {/if} href="/admin/screen/index" target="_blank"><i class="fa fa-bar-chart fa-fw" style="font-size:14px;"></i> {:__('驾驶舱')}</a>
+                </li>
+
                 <!-- 清除缓存 -->
                 <li class="hidden-xs">
                     <a href="javascript:;" data-toggle="dropdown" title="{:__('Wipe cache')}">

+ 170 - 0
application/admin/view/screen/index.html

@@ -0,0 +1,170 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<script type="text/javascript" src="/assets/screen/js/jquery.js"></script>
+<script type="text/javascript" src="/assets/screen/js/echarts.min.js"></script>
+<script type="text/javascript" src="/assets/screen/js/js.js"></script>
+<script type="text/javascript" src="/assets/screen/js/jquery.limarquee.js"></script>
+<script type="text/javascript" src="/assets/screen/js/jquery.cxselect.min.js"></script>
+<link rel="stylesheet" href="/assets/screen/css/comon0.css">
+<style>
+  select option{
+    color: #ccc;
+  }
+</style>
+</head>
+<body>
+<div style="background:#000d4a url(/assets/screen/images/bg.jpg) center top;">
+  <div class="loading">
+    <div class="loadbox"> <img src="/assets/screen/picture/loading.gif"> 页面加载中... </div>
+  </div>
+  <div class="back"></div>
+  <div class="head">
+    <div class="weather1">
+      <select style="width: 200px;margin-top: 15px;background-color:#01114c;color:white;height: 30px;border-radius: 6px">
+        <option>请选择</option>
+        <option>模拟考试1</option>
+        <option>模拟考试2</option>
+        <option>模拟考试3</option>
+      </select>
+    </div>
+    <h1>维修模拟训练平台大数据驾驶舱</h1>
+    <div class="weather"><span id="showTime"></span></div>
+  </div>
+    <script>
+      var t = null;
+    t = setTimeout(time,1000);//開始运行
+    function time()
+    {
+       clearTimeout(t);//清除定时器
+       dt = new Date();
+		var y=dt.getFullYear();
+		var mt=dt.getMonth()+1;
+		var day=dt.getDate();
+       var h=dt.getHours();//获取时
+       var m=dt.getMinutes();//获取分
+       var s=dt.getSeconds();//获取秒
+       document.getElementById("showTime").innerHTML = y+"年"+mt+"月"+day+"日"+h+"时"+m+"分"+s+"秒";
+       t = setTimeout(time,1000); //设定定时器,循环运行
+    }
+</script>
+  <div class="mainbox">
+    <ul class="clearfix">
+      <li>
+        <div class="boxall" style="height:545px;">
+          <div class="navboxall" >
+			<div class="sycm">
+              <ul class="clearfix">
+                <li>
+                  <h2>22864</h2>
+                  <span>区队总数</span></li>
+                <li>
+                  <h2>1572</h2>
+                  <span>学员总数</span></li>
+              </ul>
+            </div>
+
+			  <ul class="jindu clearfix">
+                  <div>1000</div>
+				  <div>2000</div>
+			  <li id="zb1"></li>
+			  <li id="zb2"></li>
+			  <li id="zb3"></li>
+			  <li id="zb4"></li>
+			  </ul>
+			</div>
+        </div>
+      </li>
+      <li>
+        <div class="boxall" style="height:545px">
+          <div class="alltitle">各区队平均分分析</div>
+          <div class="navboxall" id="echart4"></div>
+        </div>
+      </li>
+      <li>
+        <div class="boxall" style="height:260px">
+          <div class="alltitle">FZD048型侦毒器维修难点统计</div>
+          <div class="navboxall" id="echart1"> </div>
+        </div>
+        <div class="boxall" style="height:270px">
+          <div class="alltitle">FZB006型毒剂报警器维修难点统计</div>
+          <div class="navboxall"  id="echart2"> </div>
+        </div>
+      </li>
+    </ul>
+    <ul class="clearfix">
+      <li>
+        <div class="boxall" style="height:390px;">
+          <div class="alltitle">学员成绩统计</div>
+          <div class="navboxall" >
+            <div class="wraptit">
+              <span>学号</span>
+              <span>姓名</span>
+              <span>模拟器类型</span>
+              <span>成绩</span>
+            </div>
+            <div class="wrap">
+              <ul>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+
+				</ul>
+            </div>
+          </div>
+        </div>
+      </li>
+      <li style="width:52%">
+        <div class="boxall" style="height:390px">
+          <div class="alltitle">本年度考试成绩平均分统计</div>
+          <div class="navboxall" id="echart3"></div>
+        </div>
+      </li>
+      <li style="width:24%">
+        <div class="boxall" style="height:390px">
+          <div class="alltitle">防化兵用毒剂报警器维修难点统计</div>
+          <div class="navboxall" id="echart6"> </div>
+        </div>
+<!--        <div class="boxall" style="height:390px">-->
+<!--          <div class="alltitle">标题样式</div>-->
+<!--          <div class="navboxall" id="echart5"></div>-->
+<!--        </div>-->
+      </li>
+    </ul>
+  </div>
+</div>
+<!--青岛 研 锦 网 络 科技有限公司   版权所有-->
+<script>
+
+$(function(){
+	$('.wrap').liMarquee({
+		direction: 'up',//身上滚动
+		//runshort: false,//内容不足时不滚动
+		scrollamount: 20//速度
+	});
+});
+</script>
+</body>
+</html>

+ 3 - 0
application/common/controller/Backend.php

@@ -228,6 +228,9 @@ class Backend extends Controller
         $this->assign('auth', $this->auth);
         //渲染管理员对象
         $this->assign('admin', Session::get('admin'));
+
+        $groupIds = $this->auth->getGroupIds();
+        $this->assign("groupIds", $groupIds[0]??0);
     }
 
     /**

+ 10 - 0
public/assets/js/backend/screen.js

@@ -0,0 +1,10 @@
+define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {
+
+    var Controller = {
+        index: function () {
+
+        }
+    };
+
+    return Controller;
+});

+ 132 - 0
public/assets/screen/css/comon0.css

@@ -0,0 +1,132 @@
+@charset "utf-8";
+/* CSS Document */
+/* 青岛研锦网络科技有限公司   版权所有*/
+*{
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box}
+*,body{padding:0px;	margin:0px;color: #222;font-family: "微软雅黑";}
+body{color:#666;font-size: 16px;}
+li{ list-style-type:none;}
+table{}
+i{ margin:0px; padding:0px; text-indent:0px;}
+img{ border:none; max-width: 100%;}
+a{ text-decoration:none; color:#399bff;}
+a.active,a:focus{ outline:none!important; text-decoration:none;}
+ol,ul,p,h1,h2,h3,h4,h5,h6{ padding:0; margin:0}
+a:hover{ color:#06c; text-decoration: none!important}
+
+
+.clearfix:after, .clearfix:before {
+	display: table;
+	content: " "
+}
+ .clearfix:after {
+	clear: both
+}
+.pulll_left{float:left;}
+.pulll_right{float:right;}
+
+
+.loading{position:fixed; left:0; top:0; font-size:16px; z-index:100000000;width:100%; height:100%; background:#1a1a1c; text-align:center;}
+.loadbox{position:absolute; width:160px;height:150px; color:rgba(255,255,255,.6); left:50%; top:50%; margin-top:-100px; margin-left:-75px;}
+.loadbox img{ margin:10px auto; display:block; width:40px;}
+ 
+.head{ height:105px; background: url(../images/head_bg.png) no-repeat center center; position: relative}
+.head h1{ color:#fff; text-align: center; font-size:42px; line-height:90px;;}
+.head h1 img{ width:1.5rem; display: inline-block; vertical-align: middle; margin-right: .2rem}
+.weather{ position:absolute; right:30px; top:0; line-height: 70px;}
+.weather span{color:rgba(255,255,255,.9)!important; font-size: 24px;}
+
+.weather1{ position:absolute; left:30px; top:0; line-height: 70px;}
+
+.mainbox{ padding:10px 20px 0px 20px;}
+.mainbox>ul{ margin-left:-.4rem; margin-right:-.4rem;}
+.mainbox>ul>li{ float: left; padding: 0 .4rem}
+.mainbox>ul>li{ width: 24%}
+.mainbox>ul>li:nth-child(2){ width: 52%}
+
+.boxall{ padding:15px;  background: rgba(0,0,0,.2); position: relative; margin-bottom:15px;; z-index: 10;}
+.alltitle{ font-size:18px; color:#fff; position: relative; padding-left: 12px;margin-bottom: 10px;}
+.alltitle:before{ width: 5px; height: 20px; top:2px; position: absolute; content: ""; background: #49bcf7; border-radius:20px; left: 0; }
+
+.navboxall{height: calc(100% - 30px);}
+/* 青岛研锦网络科技有限公司   版权所有*/
+/*Plugin CSS*/
+.wrap{ height:82%; overflow: hidden;}
+.wrap li{  line-height:40px; height:40px; }
+.wrap li p,.wraptit{ font-size: 0; }
+.wrap li span,.wraptit span{ display: inline-block; font-size: 18px;color: rgba(255,255,255,.6); text-align: center;}
+.wraptit { border-bottom: 1px dotted rgba(255,255,255,.15); padding:0 0 10px 0; margin-bottom: 10px;}
+.wraptit span{font-size: 20px;color: rgba(255,255,255,.8); }
+.wrap li span:nth-child(1),.wraptit span:nth-child(1){ width: 30%}
+.wrap li span:nth-child(2),.wraptit span:nth-child(2){ width: 25%}
+.wrap li span:nth-child(3),.wraptit span:nth-child(3){ width: 25%}
+.wrap li span:nth-child(4),.wraptit span:nth-child(4){ width: 20%}
+
+.str_wrap {
+	overflow:hidden;
+	width:100%;
+	position:relative;
+	-moz-user-select: none;
+	-khtml-user-select: none;
+	user-select: none;  
+	white-space:nowrap;
+}
+
+
+.str_move { 
+	white-space:nowrap;
+	position:absolute; 
+	top:0; 
+	left:0;
+	cursor:move;
+}
+.str_move_clone {
+	display:inline-block;
+	vertical-align:top;
+	position:absolute; 
+	left:100%;
+	top:0;
+}
+.str_vertical .str_move_clone {
+	left:0;
+	top:100%;
+}
+.str_down .str_move_clone {
+	left:0;
+	bottom:100%;
+}
+.str_vertical .str_move,
+.str_down .str_move {
+	white-space:normal;
+	width:100%;
+}
+.str_static .str_move,
+.no_drag .str_move,
+.noStop .str_move{
+	cursor:inherit;
+}
+.str_wrap img {
+	max-width:none !important;	
+}
+
+
+/* 青岛研锦网络科技有限公司   版权所有*/
+
+.sycm ul{ margin-left:-.5rem;margin-right:-.5rem;  padding: .16rem 0;}
+.sycm li{ float: left; width:50%; text-align: center; position: relative}
+.sycm li:before{ position:absolute; content: ""; height:80%; width: 1px; background: rgba(255,255,255,.1); right: 0; top: 15%;}
+.sycm li:last-child:before{ width: 0;}
+
+.sycm li h2{ font-size:46px; padding-top: 10px; color: #c7cd4f; font-weight: 700; font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";}
+.sycm li span{ font-size:20px; color: #fff; opacity: .5;}
+
+
+.jindu li{ width: 50%; float: left; height: 170px;;}
+.jindu li:nth-child(odd),.jindu div:nth-child(odd){border-right:1px dotted rgba(255,255,255,.1);}
+.jindu div{ width: 50%; float: left; color: #fff; text-align: center; border-top: 1px dotted rgba(255,255,255,.15); padding: 20px 0 0 0; margin: 20px 0 0 0; font-size: 24px;}
+
+
+
+

BIN
public/assets/screen/images/bg.jpg


BIN
public/assets/screen/images/head_bg.png


+ 158 - 0
public/assets/screen/index.html

@@ -0,0 +1,158 @@
+<!--
+本资源来源于云码资源淘宝店铺
+访问地址:https://shop188702750.taobao.com
+更多超优质资源欢迎访问
+ -->
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+
+<script type="text/javascript" src="js/jquery.js"></script>
+<script type="text/javascript" src="js/echarts.min.js"></script>
+<script type="text/javascript" src="js/js.js"></script>
+<script type="text/javascript" src="js/jquery.limarquee.js"></script>
+<script type="text/javascript" src="js/jquery.cxselect.min.js"></script>
+<link rel="stylesheet" href="css/comon0.css">
+</head>
+<body>
+<div style="background:#000d4a url(images/bg.jpg) center top;">
+  <div class="loading">
+    <div class="loadbox"> <img src="picture/loading.gif"> 页面加载中... </div>
+  </div>
+  <div class="back"></div>
+  <div class="head">
+    <h1>大数据可视化展示平台通用模板</h1>
+    <div class="weather"><span id="showTime"></span></div>
+	    </div>
+    <script>
+var t = null;
+    t = setTimeout(time,1000);//開始运行
+    function time()
+    {
+       clearTimeout(t);//清除定时器
+       dt = new Date();
+		var y=dt.getFullYear();
+		var mt=dt.getMonth()+1;
+		var day=dt.getDate();
+       var h=dt.getHours();//获取时
+       var m=dt.getMinutes();//获取分
+       var s=dt.getSeconds();//获取秒
+       document.getElementById("showTime").innerHTML = y+"年"+mt+"月"+day+"日"+h+"时"+m+"分"+s+"秒";
+       t = setTimeout(time,1000); //设定定时器,循环运行
+    }
+</script>
+  <div class="mainbox">
+    <ul class="clearfix">
+      <li>
+        <div class="boxall" style="height:545px;">
+
+          <div class="navboxall" >
+			<div class="sycm">
+          <ul class="clearfix">
+            <li>
+              <h2>22864</h2>
+              <span>总金额</span></li>
+            <li>
+              <h2>1572</h2>
+              <span>数量</span></li>
+
+          </ul>
+
+        </div>
+
+			  <ul class="jindu clearfix">
+				  <div>1000</div>
+				  <div>2000</div>
+			  <li id="zb1"></li>
+			  <li id="zb2"></li>
+			  <li id="zb3"></li>
+			  <li id="zb4"></li>
+			  </ul>
+			</div>
+        </div>
+      </li>
+      <li>
+        <div class="boxall" style="height:545px">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall" id="echart4"></div>
+        </div>
+      </li>
+      <li>
+        <div class="boxall" style="height:260px">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall" id="echart1"> </div>
+        </div>
+        <div class="boxall" style="height:270px">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall"  id="echart2"> </div>
+        </div>
+      </li>
+    </ul>
+    <ul class="clearfix">
+      <li>
+        <div class="boxall" style="height:390px;">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall" >
+            <div class="wraptit"> <span>订单号</span><span>订单金额</span><span>计划时间</span><span>当前状态</span> </div>
+            <div class="wrap">
+              <ul>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+                <li>
+                  <p><span>100021415</span><span>199</span><span>手机</span><span>18小时</span></p>
+                </li>
+
+				</ul>
+            </div>
+          </div>
+        </div>
+      </li>
+      <li style="width:38%">
+        <div class="boxall" style="height:390px">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall" id="echart3"></div>
+        </div>
+      </li>
+      <li style="width:38%">
+        <div class="boxall" style="height:390px">
+          <div class="alltitle">标题样式</div>
+          <div class="navboxall" id="echart5"></div>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div>
+<!--青岛 研 锦 网 络 科技有限公司   版权所有-->
+<script>
+
+$(function(){
+	$('.wrap').liMarquee({
+		direction: 'up',//身上滚动
+		//runshort: false,//内容不足时不滚动
+		scrollamount: 20//速度
+	});
+});
+</script>
+
+</body>
+</html>

Fichier diff supprimé car celui-ci est trop grand
+ 21 - 0
public/assets/screen/js/echarts.min.js


Fichier diff supprimé car celui-ci est trop grand
+ 10 - 0
public/assets/screen/js/jquery.cxselect.min.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
public/assets/screen/js/jquery.js


+ 1309 - 0
public/assets/screen/js/jquery.limarquee.js

@@ -0,0 +1,1309 @@
+/*
+ * jQuery liMarquee v 4.6
+ *
+ * Copyright 2013, Linnik Yura | LI MASS CODE | http://masscode.ru
+ * http://masscode.ru/index.php/k2/item/44-limarquee
+ * Free to use
+ *
+ * Last Update 20.11.2014
+ */
+(function ($) {
+	var methods = {
+		init: function (options) {
+			var p = {
+				direction: 'left', //Указывает направление движения содержимого контейнера (left | right | up | down)
+				loop: -1, //Задает, сколько раз будет прокручиваться содержимое. "-1" для бесконечного воспроизведения движения
+				scrolldelay: 0, //Величина задержки в миллисекундах между движениями
+				scrollamount: 50, //Скорость движения контента (px/sec)
+				circular: true, //Если "true" - строка непрерывная 
+				drag: true, //Если "true" - включено перетаскивание строки
+				runshort: true, //Если "true" - короткая строка тоже "бегает", "false" - стоит на месте
+				hoverstop: true, //true - строка останавливается при наведении курсора мыши, false - строка не останавливается
+				inverthover: false, //false - стандартное поведение. Если "true" - строка начинает движение только при наведении курсора
+				xml: false //Путь к xml файлу с нужным текстом
+			};
+			if (options) {
+				$.extend(p, options);
+			}
+
+			return this.each(function () {
+				var enterEvent = 'mouseenter';
+				var leaveEvent = 'mouseleave';
+				if(p.inverthover){
+					enterEvent = 'mouseleave';
+					leaveEvent = 'mouseenter';	
+				}
+				
+								
+				var
+					loop = p.loop,
+					strWrap = $(this).addClass('str_wrap').data({scrollamount:p.scrollamount}),
+					fMove = false;
+					
+				
+				
+				var strWrapStyle = strWrap.attr('style'); 
+				
+				if(strWrapStyle){
+					var wrapStyleArr = strWrapStyle.split(';');
+					var startHeight = false;
+					for(var i=0; i < wrapStyleArr.length; i++){
+						var str = $.trim(wrapStyleArr[i]);					
+						var tested =  str.search(/^height/g);
+						if(tested != -1){
+							startHeight = parseFloat(strWrap.css('height'));
+						}
+					}
+				}
+
+				var code = function () {
+					
+					strWrap.off('mouseleave');
+					strWrap.off('mouseenter');
+					strWrap.off('mousemove');
+					strWrap.off('mousedown');
+					strWrap.off('mouseup');
+
+					
+					if(!$('.str_move',strWrap).length){
+						strWrap.wrapInner($('<div>').addClass('str_move'));
+					}
+					
+					var
+					strMove = $('.str_move', strWrap).addClass('str_origin'),
+					strMoveClone = strMove.clone().removeClass('str_origin').addClass('str_move_clone'),
+					time = 0;
+
+					if (!p.hoverstop) {
+						strWrap.addClass('noStop');
+					}
+
+					var circCloneHor = function(){
+						strMoveClone.clone().css({
+							left:'100%',
+							right:'auto',							
+							width: strMove.width()
+						}).appendTo(strMove);
+						strMoveClone.css({
+							right: '100%',
+							left:'auto',
+							width: strMove.width()
+						}).appendTo(strMove);
+					}
+					
+					var circCloneVert = function(){
+						strMoveClone.clone().css({
+							top: '100%',
+							bottom:'auto',
+							height: strMove.height()
+						}).appendTo(strMove);
+						strMoveClone.css({
+							bottom: '100%',
+							top:'auto',
+							height:strMove.height()
+						}).appendTo(strMove);
+					}
+					
+					
+					
+					if (p.direction == 'left') {
+						strWrap.height(strMove.outerHeight())
+						if (strMove.width() > strWrap.width()) {
+							var leftPos = -strMove.width();
+							
+							if (p.circular) {
+								
+								if (!p.xml) {
+									circCloneHor()
+									leftPos = -(strMove.width() + (strMove.width() - strWrap.width()));
+								}
+							}
+							if (p.xml) {
+								strMove.css({
+									left:strWrap.width()	
+								})
+							}
+							var
+							strMoveLeft = strWrap.width(),
+								k1 = 0,
+								timeFunc1 = function () {
+									var
+									fullS = Math.abs(leftPos),
+										time = (fullS / strWrap.data('scrollamount')) * 1000;
+									if (parseFloat(strMove.css('left')) != 0) {
+										fullS = (fullS + strWrap.width());
+										time = (fullS - (strWrap.width() - parseFloat(strMove.css('left')))) / strWrap.data('scrollamount') * 1000;
+									}
+									return time;
+								},
+								moveFuncId1 = false,
+								moveFunc1 = function () {
+									if (loop != 0) {
+										strMove.stop(true).animate({
+											left: leftPos
+										}, timeFunc1(), 'linear', function () {
+											$(this).css({
+												left: strWrap.width()
+											});
+											if (loop == -1) {
+												moveFuncId1 = setTimeout(moveFunc1, p.scrolldelay);
+											} else {
+												loop--;
+												moveFuncId1 = setTimeout(moveFunc1, p.scrolldelay);
+											}
+										});
+									}
+								};
+								strWrap.data({
+									moveId: moveFuncId1	,
+									moveF : moveFunc1
+								})
+								if(!p.inverthover){
+									moveFunc1();
+								}
+							
+							if (p.hoverstop) {
+								strWrap.on(enterEvent, function () {
+									$(this).addClass('str_active');
+									clearTimeout(moveFuncId1);
+									strMove.stop(true);
+								}).on(leaveEvent, function () {
+									$(this).removeClass('str_active');
+									$(this).off('mousemove');
+									moveFunc1();
+								});
+
+								if (p.drag) {
+									strWrap.on('mousedown', function (e) {
+										if(p.inverthover){
+											strMove.stop(true);
+										}
+										//drag
+										var dragLeft;
+										var dir = 1;
+										var newX;
+										var oldX = e.clientX;
+										//drag
+										
+										strMoveLeft = strMove.position().left;
+										k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+										
+										
+										
+										$(this).on('mousemove', function (e) {
+											fMove = true;
+											
+											//drag
+											newX = e.clientX;
+											if(newX > oldX){
+												dir = 1
+											}else{
+												dir = -1
+											}
+											oldX = newX	
+											dragLeft = k1 + (e.clientX - strWrap.offset().left);
+											
+											if (!p.circular) {
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = strWrap.width();
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > strWrap.width() && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+											}else{
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = 0;
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > 0 && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+	
+											}
+											
+											
+											strMove.stop(true).css({
+												left: dragLeft
+											});
+											//drag
+											
+										
+											
+										}).on('mouseup', function () {
+											$(this).off('mousemove');
+											if(p.inverthover){
+												strMove.trigger('mouseenter')
+											}
+											setTimeout(function () {                             
+												fMove = false
+											}, 50)
+											
+										});
+										return false;
+									})
+									.on('click', function () {
+										if (fMove) {
+											return false
+										}
+									});
+								} else {
+									strWrap.addClass('no_drag');
+								};
+							}
+						} else {
+							if (p.runshort) {
+								strMove.css({
+									left: strWrap.width()
+								});
+								var
+								strMoveLeft = strWrap.width(),
+									k1 = 0,
+									timeFunc = function () {
+										time = (strMove.width() + strMove.position().left) / strWrap.data('scrollamount') * 1000;
+										return time;
+									};
+								var moveFunc = function () {
+									var leftPos = -strMove.width();
+									strMove.animate({
+										left: leftPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											left: strWrap.width()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										}
+									});
+								};
+								strWrap.data({
+									moveF : moveFunc
+								})
+								if(!p.inverthover){
+									moveFunc();
+								}
+								if (p.hoverstop) {
+									strWrap.on(enterEvent, function () {
+										$(this).addClass('str_active');
+										strMove.stop(true);
+									}).on(leaveEvent, function () {
+										$(this).removeClass('str_active');
+										$(this).off('mousemove');
+										moveFunc();
+									});
+
+									if (p.drag) {
+										strWrap.on('mousedown', function (e) {
+											if(p.inverthover){
+												strMove.stop(true);
+											}
+											
+											//drag
+											var dragLeft;
+											var dir = 1;
+											var newX;
+											var oldX = e.clientX;
+											//drag
+											
+											strMoveLeft = strMove.position().left;
+											k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+											$(this).on('mousemove', function (e) {
+												fMove = true;
+												
+												
+												//drag
+												newX = e.clientX;
+												if(newX > oldX){
+													dir = 1
+												}else{
+													dir = -1
+												}
+												oldX = newX	
+												dragLeft = k1 + (e.clientX - strWrap.offset().left);
+												
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = strWrap.width();
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > strWrap.width() && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k1 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												
+												
+												strMove.stop(true).css({
+													left: dragLeft
+												});
+												
+												
+												
+											}).on('mouseup', function () {
+												if(p.inverthover){
+													strMove.trigger('mouseenter')
+												}
+												$(this).off('mousemove');
+												setTimeout(function () {                             
+													fMove = false
+												}, 50)
+											});
+											return false;
+										})
+										.on('click', function () {
+											if (fMove) {
+												return false
+											}
+										});
+									} else {
+										strWrap.addClass('no_drag');
+									};
+								}
+							} else {
+								strWrap.addClass('str_static');
+							}
+						};
+					};
+					if (p.direction == 'right') {
+						strWrap.height(strMove.outerHeight())
+						strWrap.addClass('str_right');
+						strMove.css({
+							left: -strMove.width(),
+							right: 'auto'
+						})
+						
+						if (strMove.width() > strWrap.width()) {
+							var leftPos = strWrap.width();
+							strMove.css({
+								left: 0
+							})
+							if (p.circular) {
+								if (!p.xml) {
+									circCloneHor()
+									//Определяем крайнюю точку
+									leftPos = strMove.width();
+								}
+							}
+							
+							var
+							k2 = 0;
+							timeFunc = function () {
+								var
+								fullS = strWrap.width(), //крайняя точка
+									time = (fullS / strWrap.data('scrollamount')) * 1000; //время
+								if (parseFloat(strMove.css('left')) != 0) {
+									fullS = (strMove.width() + strWrap.width());
+									time = (fullS - (strMove.width() + parseFloat(strMove.css('left')))) / strWrap.data('scrollamount') * 1000;
+								}
+								return time;
+							};
+							var moveFunc = function () {
+
+								if (loop != 0) {
+									strMove.animate({
+										left: leftPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											left: -strMove.width()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+							};
+							strWrap.data({
+								moveF : moveFunc
+							})
+					
+							if(!p.inverthover){
+								moveFunc();
+							}
+							if (p.hoverstop) {
+								strWrap.on(enterEvent, function () {
+									$(this).addClass('str_active');
+									strMove.stop(true);
+								}).on(leaveEvent, function () {
+									$(this).removeClass('str_active');
+									$(this).off('mousemove');
+									moveFunc();
+								});
+
+								if (p.drag) {
+									
+									strWrap.on('mousedown', function (e) {
+										if(p.inverthover){
+											strMove.stop(true);
+										}
+										
+										
+										//drag
+										var dragLeft;
+										var dir = 1;
+										var newX;
+										var oldX = e.clientX;
+										//drag
+										
+										strMoveLeft = strMove.position().left;
+										k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+										$(this).on('mousemove', function (e) {
+											
+											fMove = true;
+											
+											//drag
+											newX = e.clientX;
+											if(newX > oldX){
+												dir = 1
+											}else{
+												dir = -1
+											}
+											oldX = newX	
+											dragLeft = k2 + (e.clientX - strWrap.offset().left);
+
+
+											if (!p.circular) {
+
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = strWrap.width();
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > strWrap.width() && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+											}else{
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = 0;
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > 0 && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+	
+											}
+											
+											strMove.stop(true).css({
+												left: dragLeft
+											});
+											
+
+										}).on('mouseup', function () {
+											if(p.inverthover){
+												strMove.trigger('mouseenter')
+											}
+											$(this).off('mousemove');
+											setTimeout(function () {                             
+												fMove = false
+											}, 50)
+										});
+										return false;
+									})
+									.on('click', function () {
+										if (fMove) {
+											return false
+										}
+									});
+								} else {
+									strWrap.addClass('no_drag');
+								};
+							}
+						} else {
+														
+							if (p.runshort) {
+								
+								var k2 = 0;
+								var timeFunc = function () {
+									time = (strWrap.width() - strMove.position().left) / strWrap.data('scrollamount') * 1000;
+									return time;
+								};
+								var moveFunc = function () {
+									var leftPos = strWrap.width();
+									strMove.animate({
+										left: leftPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											left: -strMove.width()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+
+								strWrap.data({
+									moveF : moveFunc
+								})
+
+								if(!p.inverthover){
+									moveFunc();
+								}
+								if (p.hoverstop) {
+									strWrap.on(enterEvent, function () {
+										$(this).addClass('str_active');
+										strMove.stop(true);
+									}).on(leaveEvent, function () {
+										$(this).removeClass('str_active');
+										$(this).off('mousemove');
+										moveFunc();
+									});
+
+									if (p.drag) {
+										strWrap.on('mousedown', function (e) {
+											if(p.inverthover){
+												strMove.stop(true);
+											}
+											
+											//drag
+											var dragLeft;
+											var dir = 1;
+											var newX;
+											var oldX = e.clientX;
+											//drag
+											
+											strMoveLeft = strMove.position().left;
+											k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+											$(this).on('mousemove', function (e) {
+												fMove = true;
+												
+												
+												
+												//drag
+												newX = e.clientX;
+												if(newX > oldX){
+													dir = 1
+												}else{
+													dir = -1
+												}
+												oldX = newX	
+												dragLeft = k2 + (e.clientX - strWrap.offset().left);
+												
+												if(dragLeft < -strMove.width() && dir < 0){
+													dragLeft = strWrap.width();
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+												if(dragLeft > strWrap.width() && dir > 0){
+													dragLeft = -strMove.width();
+													strMoveLeft = strMove.position().left;
+													k2 = strMoveLeft - (e.clientX - strWrap.offset().left);
+												}
+
+												strMove.stop(true).css({
+													left:dragLeft
+												});
+												
+											}).on('mouseup', function () {
+												if(p.inverthover){
+													strMove.trigger('mouseenter')
+												}
+												$(this).off('mousemove');
+												setTimeout(function () {                             
+													fMove = false
+												}, 50)
+											});
+											return false;
+										})
+										.on('click', function () {
+											if (fMove) {
+												return false
+											}
+										});
+									} else {
+										strWrap.addClass('no_drag');
+									};
+								}
+							} else {
+								strWrap.addClass('str_static');
+							}
+						};
+					};
+					if (p.direction == 'up') {
+						strWrap.addClass('str_vertical');
+						
+						if (strMove.height() > strWrap.height()) {
+							var topPos = -strMove.height();
+							if (p.circular) {
+								if (!p.xml) {
+									circCloneVert();									
+									topPos = -(strMove.height() + (strMove.height() - strWrap.height()));
+								}
+							}
+							if (p.xml) {
+								strMove.css({
+									top:strWrap.height()	
+								})
+							}
+							var
+							k2 = 0;
+							timeFunc = function () {
+								var
+								fullS = Math.abs(topPos),
+									time = (fullS / strWrap.data('scrollamount')) * 1000;
+								if (parseFloat(strMove.css('top')) != 0) {
+									fullS = (fullS + strWrap.height());
+									time = (fullS - (strWrap.height() - parseFloat(strMove.css('top')))) / strWrap.data('scrollamount') * 1000;
+								}
+								
+								return time;
+							};
+							var moveFunc = function () {
+								if (loop != 0) {
+									strMove.animate({
+										top: topPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											top: strWrap.height()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+							};
+							
+							strWrap.data({
+								moveF : moveFunc
+							})
+							
+							if(!p.inverthover){
+								moveFunc();
+							}
+							if (p.hoverstop) {
+								strWrap.on(enterEvent, function () {
+									$(this).addClass('str_active');
+									strMove.stop(true);
+								}).on(leaveEvent, function () {
+									$(this).removeClass('str_active');
+									$(this).off('mousemove');
+									moveFunc();
+								});
+
+								if (p.drag) {
+									strWrap.on('mousedown', function (e) {
+										if(p.inverthover){
+											strMove.stop(true);
+										}
+										
+										//drag
+										var dragTop;
+										var dir = 1;
+										var newY;
+										var oldY = e.clientY;
+										//drag
+										
+										
+										strMoveTop = strMove.position().top;
+										k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+										$(this).on('mousemove', function (e) {
+											
+											fMove = true;
+
+											//drag
+											newY = e.clientY;
+											if(newY > oldY){
+												dir = 1
+											}else{
+												if(newY < oldY){
+													dir = -1
+												}
+											}
+											oldY = newY	
+											dragTop = k2 + e.clientY - strWrap.offset().top;
+
+
+											if (!p.circular){
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = strWrap.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > strWrap.height() && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}	
+											}else{
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = 0;
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > 0 && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+											}
+
+
+											strMove.stop(true).css({
+												top: dragTop
+											});
+											//drag
+											
+											
+											
+											
+											
+											
+											
+											
+											
+											
+											
+											
+										}).on('mouseup', function () {
+											if(p.inverthover){
+												strMove.trigger('mouseenter')
+											}
+											$(this).off('mousemove');
+											setTimeout(function () {                             
+												fMove = false
+											}, 50)
+										});
+										return false;
+									})
+									.on('click', function () {
+										if (fMove) {
+											return false
+										}
+									});
+								} else {
+									strWrap.addClass('no_drag');
+								};
+							}
+						} else {
+							if (p.runshort) {
+								strMove.css({
+									top: strWrap.height()
+								});
+								var k2 = 0;
+								var timeFunc = function () {
+									
+									time = (strMove.height() + strMove.position().top) / strWrap.data('scrollamount') * 1000;
+									
+									return time;
+								};
+								var moveFunc = function () {
+									var topPos = -strMove.height();
+									strMove.animate({
+										top: topPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											top: strWrap.height()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+								strWrap.data({
+									moveF : moveFunc
+								})
+								if(!p.inverthover){
+									moveFunc();
+								}
+								if (p.hoverstop) {
+									strWrap.on(enterEvent, function () {
+										$(this).addClass('str_active');
+										strMove.stop(true);
+									}).on(leaveEvent, function () {
+										$(this).removeClass('str_active');
+										$(this).off('mousemove');
+										moveFunc();
+									});
+
+									if (p.drag) {
+										strWrap.on('mousedown', function (e) {
+											if(p.inverthover){
+												strMove.stop(true);
+											}
+											
+											//drag
+											var dragTop;
+											var dir = 1;
+											var newY;
+											var oldY = e.clientY;
+											//drag
+											
+											strMoveTop = strMove.position().top;
+											k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+											$(this).on('mousemove', function (e) {
+												
+												
+												fMove = true;
+
+												//drag
+												newY = e.clientY;
+												if(newY > oldY){
+													dir = 1
+												}else{
+													if(newY < oldY){
+														dir = -1
+													}
+												}
+												oldY = newY	
+												dragTop = k2 + e.clientY - strWrap.offset().top;
+												
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = strWrap.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > strWrap.height() && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}	
+												//*drag
+												
+												strMove.stop(true).css({
+													top: dragTop
+												});
+												
+												
+											}).on('mouseup', function () {
+												if(p.inverthover){
+													strMove.trigger('mouseenter')
+												}
+												$(this).off('mousemove');
+												setTimeout(function () {                             
+													fMove = false
+												}, 50)
+											});
+											return false;
+										})
+										.on('click', function () {
+											if (fMove) {
+												return false
+											}
+										});
+									} else {
+										strWrap.addClass('no_drag');
+									};
+								}
+							} else {
+								strWrap.addClass('str_static');
+							}
+						};
+					};
+					if (p.direction == 'down') {
+
+						strWrap.addClass('str_vertical').addClass('str_down');
+						strMove.css({
+							top: -strMove.height(),
+							bottom: 'auto'
+						})
+						if (strMove.height() > strWrap.height()) {
+							var topPos = strWrap.height();
+							if (p.circular) {
+								if (!p.xml) {
+									circCloneVert();									
+									topPos = strMove.height();
+								}
+							}
+							if (p.xml) {
+								strMove.css({
+									top:-strMove.height()
+								})
+							}
+							var
+							k2 = 0;
+							timeFunc = function () {
+								var
+								fullS = strWrap.height(), //крайняя точка
+									time = (fullS / strWrap.data('scrollamount')) * 1000; //время
+
+								if (parseFloat(strMove.css('top')) != 0) {
+									fullS = (strMove.height() + strWrap.height());
+									time = (fullS - (strMove.height() + parseFloat(strMove.css('top')))) / strWrap.data('scrollamount') * 1000;
+								}
+								return time;
+							};
+							var moveFunc = function () {
+
+								if (loop != 0) {
+									strMove.animate({
+										top: topPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											top: -strMove.height()
+										});
+										if (loop == -1) {
+
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+							};
+							strWrap.data({
+								moveF : moveFunc
+							})
+							if(!p.inverthover){
+								moveFunc();
+							}
+							if (p.hoverstop) {
+								strWrap.on(enterEvent, function () {
+									$(this).addClass('str_active');
+									strMove.stop(true);
+								}).on(leaveEvent, function () {
+									$(this).removeClass('str_active');
+									$(this).off('mousemove');
+									moveFunc();
+								});
+
+								if (p.drag) {
+									strWrap.on('mousedown', function (e) {
+										if(p.inverthover){
+											strMove.stop(true);
+										}
+										
+										//drag
+										var dragTop;
+										var dir = 1;
+										var newY;
+										var oldY = e.clientY;
+										//drag
+										
+										
+										strMoveTop = strMove.position().top;
+										k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+										$(this).on('mousemove', function (e) {
+											
+											fMove = true;
+											
+											//drag
+											newY = e.clientY;
+											if(newY > oldY){
+												dir = 1
+											}else{
+												if(newY < oldY){
+													dir = -1
+												}
+											}
+											oldY = newY	
+											dragTop = k2 + e.clientY - strWrap.offset().top;
+
+
+											if (!p.circular){
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = strWrap.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > strWrap.height() && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}	
+											}else{
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = 0;
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > 0 && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+											}
+
+
+											strMove.stop(true).css({
+												top: dragTop
+											});
+											//drag
+
+
+
+										}).on('mouseup', function () {
+											if(p.inverthover){
+												strMove.trigger('mouseenter')
+											}
+											$(this).off('mousemove');
+											setTimeout(function () {                             
+												fMove = false
+											}, 50)
+										});
+										return false;
+									})
+									.on('click', function () {
+										if (fMove) {
+											return false
+										}
+									});
+								} else {
+									strWrap.addClass('no_drag');
+								};
+							}
+						} else {
+							if (p.runshort) {
+								var k2 = 0;
+								var timeFunc = function () {
+									time = (strWrap.height() - strMove.position().top) / strWrap.data('scrollamount') * 1000;
+									return time;
+								};
+								var moveFunc = function () {
+									var topPos = strWrap.height();
+									strMove.animate({
+										top: topPos
+									}, timeFunc(), 'linear', function () {
+										$(this).css({
+											top: -strMove.height()
+										});
+										if (loop == -1) {
+											setTimeout(moveFunc, p.scrolldelay);
+										} else {
+											loop--;
+											setTimeout(moveFunc, p.scrolldelay);
+										};
+									});
+								};
+								strWrap.data({
+									moveF : moveFunc
+								})
+								if(!p.inverthover){
+									moveFunc();
+								}
+								if (p.hoverstop) {
+									strWrap.on(enterEvent, function () {
+										$(this).addClass('str_active');
+										strMove.stop(true);
+									}).on(leaveEvent, function () {
+										$(this).removeClass('str_active');
+										$(this).off('mousemove');
+										moveFunc();
+									});
+
+									if (p.drag) {
+										strWrap.on('mousedown', function (e) {
+											if(p.inverthover){
+												strMove.stop(true);
+											}
+											
+											//drag
+											var dragTop;
+											var dir = 1;
+											var newY;
+											var oldY = e.clientY;
+											//drag
+											
+											strMoveTop = strMove.position().top;
+											k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+											$(this).on('mousemove', function (e) {
+												fMove = true;
+
+												//drag
+												newY = e.clientY;
+												if(newY > oldY){
+													dir = 1
+												}else{
+													if(newY < oldY){
+														dir = -1
+													}
+												}
+												oldY = newY	
+												dragTop = k2 + e.clientY - strWrap.offset().top;
+	
+	
+												if(dragTop < -strMove.height() && dir < 0){
+													dragTop = strWrap.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}
+												if(dragTop > strWrap.height() && dir > 0){
+													dragTop = -strMove.height();
+													strMoveTop = strMove.position().top;
+													k2 = strMoveTop - (e.clientY - strWrap.offset().top);
+												}	
+												//*drag
+												
+												strMove.stop(true).css({
+													top: dragTop
+												});
+												
+												
+												
+												
+												
+												
+												
+												
+											}).on('mouseup', function () {
+												if(p.inverthover){
+													strMove.trigger('mouseenter')
+												}
+												$(this).off('mousemove');
+												setTimeout(function () {                             
+													fMove = false
+												}, 50)
+											})
+											return false;
+										})
+										.on('click', function () {
+											if (fMove) {
+												return false
+											}
+										});
+									} else {
+										strWrap.addClass('no_drag');
+									};
+								}
+							} else {
+								strWrap.addClass('str_static');
+							}
+						};
+					};
+					
+					
+					
+					
+				}
+				if (p.xml) {
+					$.ajax({
+						url: p.xml,
+						dataType: "xml",
+						success: function (xml) {
+							var xmlTextEl = $(xml).find('text');
+							var xmlTextLength = xmlTextEl.length;
+							for(var i = 0; i < xmlTextLength; i++){
+								var xmlElActive = xmlTextEl.eq(i);
+								var xmlElContent = xmlElActive.text();
+								var xmlItemEl = $('<span>').text(xmlElContent).appendTo(strWrap);
+								
+								if(p.direction == 'left' || p.direction == 'right'){
+									xmlItemEl.css({display:'inline-block',textAlign:'right'});	
+									if(i > 0){
+										xmlItemEl.css({width:strWrap.width()+xmlItemEl.width()});	
+									}
+								}
+								if(p.direction == 'down' || p.direction == 'up'){
+									xmlItemEl.css({display:'block',textAlign:'left'});	
+										if(i > 0){
+											xmlItemEl.css({paddingTop:strWrap.height()});
+										}
+								}
+								
+							}
+							code();
+						}
+					});
+				} else {
+					code();
+				}
+				strWrap.data({
+					ini:code,
+					startheight: startHeight	
+				})
+				
+				
+				
+				
+			});
+		},
+		update: function () {
+			var el = $(this);
+			var str_origin = $('.str_origin',el);
+			var str_move_clone = $('.str_move_clone',el);
+			str_origin.stop(true);
+			str_move_clone.remove();
+			el.data('ini')();
+		},
+		destroy: function () {
+			
+			var el = $(this);
+			var elMove = $('.str_move',el);
+			var startHeight = el.data('startheight');
+			
+			$('.str_move_clone',el).remove();
+			el.off('mouseenter');
+			el.off('mousedown');
+			el.off('mouseup');
+			el.off('mouseleave');
+			el.off('mousemove');
+			el.removeClass('noStop').removeClass('str_vertical').removeClass('str_active').removeClass('no_drag').removeClass('str_static').removeClass('str_right').removeClass('str_down');
+			
+			var elStyle = el.attr('style'); 
+			if(elStyle){
+				var styleArr = elStyle.split(';');
+				for(var i=0; i < styleArr.length; i++){
+					var str = $.trim(styleArr[i]);
+					var tested =  str.search(/^height/g);
+					if(tested != -1){
+						styleArr[i] = '';	
+					}
+				}
+				var newArr = styleArr.join(';');
+				var newStyle =  newArr.replace(/;+/g,';')
+			
+				if(newStyle == ';'){
+					el.removeAttr('style');	
+				}else{
+					el.attr('style',newStyle);	
+				}
+				
+				if(startHeight){
+					el.css({height:startHeight})	
+				}
+			}
+			elMove.stop(true);
+
+			if(elMove.length){
+				var context = elMove.html();
+				elMove.remove();
+				el.html(context);
+			}
+	
+		},
+		pause: function(){	
+			var el = $(this);
+			var elMove = $('.str_move',el);
+			elMove.stop(true);
+		}, 
+		play: function(){
+			var el = $(this);
+			$(this).off('mousemove');
+			el.data('moveF')();	
+		}
+		
+	};
+	$.fn.liMarquee = function (method) {
+		if (methods[method]) {
+			return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
+		} else if (typeof method === 'object' || !method) {
+			return methods.init.apply(this, arguments);
+		} else {
+			$.error('Метод ' + method + ' в jQuery.liMarquee не существует');
+		}
+	};
+})(jQuery);

+ 824 - 0
public/assets/screen/js/js.js

@@ -0,0 +1,824 @@
+ $(window).load(function(){$(".loading").fadeOut()})  
+$(function () {
+    echarts_1();
+	echarts_2();
+	echarts_3();
+	echarts_4();
+	// echarts_5();
+	echarts_6();
+	zb1();
+	zb2();
+	zb3();
+	zb4();
+function echarts_1() {
+        /* 青 岛 研 锦 网 络 科 技 有限公司   版权所有*/
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('echart1'));
+        option = {
+                    tooltip : {
+                        trigger: 'item',
+                        formatter: "{b} : {c} ({d}%)"
+                    },
+                    legend: {
+                        right:10,
+                        top:30,
+                        height:140,
+                        itemWidth:10,
+                        itemHeight:10,
+                        itemGap:10,
+                        textStyle:{
+                            color: 'rgba(255,255,255,.6)',
+                            fontSize:12
+                        },
+                        orient:'vertical',
+                        data:['图例1','图例2','图例3','图例4']
+                    },
+                   calculable : true,
+                    series : [
+                        {
+                            name:' ',
+							color: ['#62c98d', '#2f89cf', '#4cb9cf', '#53b666', '#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],	
+                            type:'pie',
+                            radius : [30, 70],
+                            center : ['35%', '50%'],
+                            roseType : 'radius',
+                            label: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+
+                            lableLine: {
+                                normal: {
+                                    show: false
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+
+                            data:[
+                                {value:10, name:'图例1'},
+                                {value:15, name:'图例2'},
+                                {value:25, name:'图例3'},
+                                {value:30, name:'图例4'}
+                            ]
+                        },
+                    ]
+                };
+
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function echarts_2() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('echart2'));
+
+        option = {
+                    tooltip : {
+                        trigger: 'item',
+                        formatter: "{b} : {c} ({d}%)"
+                    },
+                    legend: {
+                        right:10,
+                        top:30,
+                        height:140,
+                        itemWidth:10,
+                        itemHeight:10,
+                        itemGap:10,
+                        textStyle:{
+                            color: 'rgba(255,255,255,.6)',
+                            fontSize:12
+                        },
+                        orient:'vertical',
+                        data:['图例1','图例2','图例3','图例4']
+                    },
+                   calculable : true,
+                    series : [
+                        {
+                            name:' ',
+							color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],	
+                            type:'pie',
+                            radius : [30, 70],
+                            center : ['35%', '50%'],
+                            roseType : 'radius',
+                            label: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+
+                            lableLine: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+
+                            data:[
+                                {value:50, name:'图例1'},
+                                {value:45, name:'图例2'},
+                                {value:35, name:'图例3'},
+                                {value:30, name:'图例4'}
+                            ]
+                        },
+                    ]
+                };
+
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function echarts_3() {
+         /* 青岛研锦网络科技有限公司   版权所有*/
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('echart3'));
+
+       option = {
+	    tooltip: {
+        trigger: 'axis',
+        axisPointer: {
+            lineStyle: {
+                color: '#dddc6b'
+            }
+        }
+    },
+    grid: {
+        left: '10',
+		top: '20',
+        right: '30',
+        bottom: '10',
+        containLabel: true
+    },
+
+    xAxis: [{
+        type: 'category',
+        boundaryGap: false,
+axisLabel:  {
+                textStyle: {
+ 					color: "rgba(255,255,255,.6)",
+					fontSize:16,
+                },
+            },
+        axisLine: {
+			lineStyle: { 
+				color: 'rgba(255,255,255,.1)'
+			}
+
+        },
+
+   data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
+
+    }, {
+
+        axisPointer: {show: false},
+        axisLine: {  show: false},
+        position: 'bottom',
+        offset: 20,
+
+       
+
+    }],
+
+    yAxis: [{
+        type: 'value',
+        axisTick: {show: false},
+        axisLine: {
+            lineStyle: {
+                color: 'rgba(255,255,255,.1)'
+            }
+        },
+       axisLabel:  {
+                textStyle: {
+ 					color: "rgba(255,255,255,.6)",
+					fontSize:16,
+                },
+            },
+
+        splitLine: {
+            lineStyle: {
+                 color: 'rgba(255,255,255,.1)'
+            }
+        }
+    }],
+    series: [
+		{
+        name: '结算率',
+        type: 'line',
+        smooth: true,
+        symbol: 'circle',
+        symbolSize: 5,
+        showSymbol: false,
+        lineStyle: {
+			
+            normal: {
+				color: '#dddc6b',
+                width: 4
+            }
+        },
+        areaStyle: {
+            normal: {
+                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+                    offset: 0,
+                    color: 'rgba(221, 220, 107, 0.4)'
+                }, {
+                    offset: 0.8,
+                    color: 'rgba(221, 220, 107, 0.1)'
+                }], false),
+                shadowColor: 'rgba(0, 0, 0, 0.1)',
+            }
+        },
+			itemStyle: {
+			normal: {
+				color: '#dddc6b',
+				borderColor: 'rgba(221, 220, 107, .1)',
+				borderWidth: 12
+			}
+		},
+        data: [3, 4, 3, 4, 3, 4, 3, 6, 2, 4, 2, 4]
+
+    }, 
+
+		 ]
+
+};
+
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function echarts_4() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('echart4'));
+option = {
+    tooltip: {
+        trigger: 'axis',
+        axisPointer: {
+            type: 'shadow'
+        }
+    },
+    legend: {
+        data: ['2017年', '2018年'],
+        align: 'right',
+        right: '40%',
+		top:'0%',
+        textStyle: {
+            color: "#fff",
+		    fontSize: '16',
+
+        },
+        itemWidth: 16,
+        itemHeight: 16,
+        itemGap: 35
+    },
+    grid: {
+        left: '0%',
+		top:'40px',
+        right: '0%',
+        bottom: '2%',
+       containLabel: true
+    },
+    xAxis: [{
+        type: 'category',
+      		data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+        axisLine: {
+            show: true,
+         lineStyle: {
+                color: "rgba(255,255,255,.1)",
+                width: 1,
+                type: "solid"
+            },
+        },
+		
+        axisTick: {
+            show: false,
+        },
+		axisLabel:  {
+                interval: 0,
+               // rotate:50,
+                show: true,
+                splitNumber: 15,
+                textStyle: {
+ 					color: "rgba(255,255,255,.6)",
+                    fontSize: '16',
+                },
+            },
+    }],
+    yAxis: [{
+        type: 'value',
+        axisLabel: {
+           //formatter: '{value} %'
+			show:true,
+			 textStyle: {
+ 					color: "rgba(255,255,255,.6)",
+                    fontSize: '16',
+                },
+        },
+        axisTick: {
+            show: false,
+        },
+        axisLine: {
+            show: true,
+            lineStyle: {
+                color: "rgba(255,255,255,.1	)",
+                width: 1,
+                type: "solid"
+            },
+        },
+        splitLine: {
+            lineStyle: {
+               color: "rgba(255,255,255,.1)",
+            }
+        }
+    }],
+    series: [{
+        name: '2017年',
+        type: 'bar',
+        data: [2, 3, 3, 9, 15, 12, 6, 4, 6, 7, 4, 10],
+        barWidth:'15', //柱子宽度
+       // barGap: 1, //柱子之间间距
+        itemStyle: {
+            normal: {
+                color:'#2f89cf',
+                opacity: 1,
+				barBorderRadius: 5,
+            }
+        }
+    }, {
+        name: '2018年',
+        type: 'bar',
+		data: [1, 4, 5, 11, 12, 9, 5, 6, 5, 6, 3, 9],
+		barWidth:'15',
+       // barGap: 1,
+        itemStyle: {
+            normal: {
+                color:'#62c98d',
+                opacity: 1,
+				barBorderRadius: 5,
+            }
+        }
+    },
+	]
+};
+
+        /* 青岛研锦网络科技有限公司   版权所有*/
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+// function echarts_5() {
+//         // 基于准备好的dom,初始化echarts实例
+//         var myChart = echarts.init(document.getElementById('echart5'));
+// option = {
+//   //  backgroundColor: '#00265f',
+//     tooltip: {
+//         trigger: 'axis',
+//         axisPointer: {
+//             type: 'shadow'
+//         }
+//     },
+//     legend: {
+//         data: ['2017年', '2018年'],
+//         align: 'right',
+//         right: '40%',
+// 		top:'0%',
+//         textStyle: {
+//             color: "#fff",
+// 		    fontSize: '16',
+//
+//         },
+//
+//         itemGap: 35
+//     },
+//     grid: {
+//         left: '0%',
+// 		top:'40px',
+//         right: '0%',
+//         bottom: '2%',
+//        containLabel: true
+//     },
+//     xAxis: [{
+//         type: 'category',
+//       		data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+//         axisLine: {
+//             show: true,
+//          lineStyle: {
+//                 color: "rgba(255,255,255,.1)",
+//                 width: 1,
+//                 type: "solid"
+//             },
+//         },
+//         axisTick: {
+//             show: false,
+//         },
+// 		axisLabel:  {
+//                 interval: 0,
+//                // rotate:50,
+//                 show: true,
+//                 splitNumber: 15,
+//                 textStyle: {
+//  					color: "rgba(255,255,255,.6)",
+//                     fontSize: '16',
+//                 },
+//             },
+//     }],
+//     yAxis: [{
+//         type: 'value',
+//         axisLabel: {
+//            //formatter: '{value} %'
+// 			show:true,
+// 			 textStyle: {
+//  					color: "rgba(255,255,255,.6)",
+//                     fontSize: '16',
+//                 },
+//         },
+//         axisTick: {
+//             show: false,
+//         },
+//         axisLine: {
+//             show: true,
+//             lineStyle: {
+//                 color: "rgba(255,255,255,.1	)",
+//                 width: 1,
+//                 type: "solid"
+//             },
+//         },
+//         splitLine: {
+//             lineStyle: {
+//                color: "rgba(255,255,255,.1)",
+//             }
+//         }
+//     }],
+//     series: [{
+//         name: '2017年',
+//         type: 'line',
+//
+//         data: [2, 6, 3, 8, 5, 8, 10, 13, 8, 5, 6, 9],
+//
+//         itemStyle: {
+//             normal: {
+//                 color:'#2f89cf',
+//                 opacity: 1,
+//
+// 				barBorderRadius: 5,
+//             }
+//         }
+//     }, {
+//         name: '2018年',
+//         type: 'line',
+//         data: [5, 2, 6, 4, 5, 12, 5, 17, 9, 2, 6, 3],
+// 		barWidth:'15',
+//        // barGap: 1,
+//         itemStyle: {
+//             normal: {
+//                 color:'#62c98d',
+//                 opacity: 1,
+// 				barBorderRadius: 5,
+//             }
+//         }
+//     },
+// 	]
+// };
+//
+//
+//         // 使用刚指定的配置项和数据显示图表。
+//         myChart.setOption(option);
+//         window.addEventListener("resize",function(){
+//             myChart.resize();
+//         });
+//     }
+function echarts_6() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('echart6'));
+
+        option = {
+            tooltip : {
+                trigger: 'item',
+                formatter: "{b} : {c} ({d}%)"
+            },
+            legend: {
+                right:10,
+                top:30,
+                height:140,
+                itemWidth:10,
+                itemHeight:10,
+                itemGap:10,
+                textStyle:{
+                    color: 'rgba(255,255,255,.6)',
+                    fontSize:12
+                },
+                orient:'vertical',
+                data:['图例1','图例2','图例3','图例4']
+            },
+            calculable : true,
+            series : [
+                {
+                    name:' ',
+                    color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
+                    type:'pie',
+                    radius : [30, 70],
+                    center : ['35%', '50%'],
+                    roseType : 'radius',
+                    label: {
+                        normal: {
+                            show: true
+                        },
+                        emphasis: {
+                            show: true
+                        }
+                    },
+
+                    lableLine: {
+                        normal: {
+                            show: true
+                        },
+                        emphasis: {
+                            show: true
+                        }
+                    },
+
+                    data:[
+                        {value:50, name:'图例1'},
+                        {value:45, name:'图例2'},
+                        {value:35, name:'图例3'},
+                        {value:30, name:'图例4'}
+                    ]
+                },
+            ]
+        };
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+}
+
+function zb1() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('zb1'));
+		var v1=60//结算数
+		var v2=40//未结算数
+		var v3=v1+v2//总订单数
+option = {	
+    series: [{
+        type: 'pie',
+        radius: ['60%', '70%'],
+        color:'#49bcf7',
+        label: {
+            normal: {
+                position: 'center'
+            }
+        },
+        data: [{
+            value: v1,
+            name: '最高分',
+            label: {
+                normal: {
+                    formatter:Math.round( v1/v3*100)+ '%',
+                    textStyle: {
+                        fontSize: 30,
+						color:'#fff',
+                    }
+                }
+            }
+        }, 
+			   {
+            value: v2,
+            label: {
+                normal: {
+                 formatter : function (params){
+                return '最高分';
+            },
+                    textStyle: {
+                        color: '#aaa',
+                        fontSize: 16
+                    }
+                }
+            },
+            itemStyle: {
+                normal: {
+                    color: 'rgba(255,255,255,.2)'
+                },
+                emphasis: {
+                    color: '#fff'
+                }
+            },
+        }]
+    }]
+};
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function zb2() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('zb2'));
+ 		var v1=80//结算数
+		var v2=20//未结算数
+		var v3=v1+v2//总订单数
+      option = {
+	
+//animation: false,
+    series: [{	
+        type: 'pie',
+       radius: ['60%', '70%'],
+        color:'#49bcf7',
+        label: {
+            normal: {
+                position: 'center'
+            }
+        },
+        data: [{
+            value: v1,
+            name: '最低分',
+            label: {
+                normal: {
+                    formatter:Math.round( v1/v3*100)+ '%',
+                    textStyle: {
+                        fontSize: 24,
+						color:'#fff',
+                    }
+                }
+            }
+        }, {
+            value: v2,
+            label: {
+                normal: {
+                 formatter : function (params){
+                return '最低分';
+            },
+                    textStyle: {
+                        color: '#aaa',
+                        fontSize: 16
+                    }
+                }
+            },
+            itemStyle: {
+                normal: {
+                    color: 'rgba(255,255,255,.2)'
+                },
+                emphasis: {
+                    color: '#fff'
+                }
+            },
+        }]
+    }]
+};
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function zb3() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('zb3'));
+		var v1=30//结算金额
+		var v2=70//未结算
+		var v3=v1+v2
+option = {	
+    series: [{
+		
+        type: 'pie',
+       radius: ['60%', '70%'],
+        color:'#62c98d',
+        label: {
+            normal: {
+                position: 'center'
+            }
+        },
+        data: [{
+            value: v1,
+            name: '平均分',
+            label: {
+                normal: {
+                    formatter:Math.round( v1/v3*100)+ '%',
+                    textStyle: {
+                        fontSize: 24,
+						color:'#fff',
+                    }
+                }
+            }
+        }, {
+            value: v2,
+            label: {
+                normal: {
+                 formatter : function (params){
+                return '平均分';
+            },
+                    textStyle: {
+                        color: '#aaa',
+                        fontSize: 16
+                    }
+                }
+            },
+            itemStyle: {
+                normal: {
+                    color: 'rgba(255,255,255,.2)'
+                },
+                emphasis: {
+                    color: '#fff'
+                }
+            },
+        }]
+    }]
+};
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+function zb4() {
+        // 基于准备好的dom,初始化echarts实例
+        var myChart = echarts.init(document.getElementById('zb4'));
+		var v1=90//结算金额
+		var v2=10//未结算
+		var v3=v1+v2
+option = {	
+    series: [{
+		
+        type: 'pie',
+       radius: ['60%', '70%'],
+        color:'#29d08a',
+        label: {
+            normal: {
+                position: 'center'
+            }
+        },
+        data: [{
+            value: v1,
+            name: '平均时长',
+            label: {
+                normal: {
+                    formatter:Math.round( v1/v3*100)+ '%',
+                    textStyle: {
+                        fontSize: 24,
+						color:'#fff',
+                    }
+                }
+            }
+        }, {
+            value: v2,
+            label: {
+                normal: {
+                 formatter : function (params){
+                        return '平均时长';
+                    },
+                    textStyle: {
+                        color: '#aaa',
+                        fontSize: 16
+                    }
+                }
+            },
+            itemStyle: {
+                normal: {
+                    color: 'rgba(255,255,255,.2)'
+                },
+                emphasis: {
+                    color: '#fff'
+                }
+            },
+        }]
+    }]
+};
+        myChart.setOption(option);
+        window.addEventListener("resize",function(){
+            myChart.resize();
+        });
+    }
+})
+
+
+
+		
+		
+		
+
+
+		
+
+
+
+
+
+
+
+
+

BIN
public/assets/screen/picture/loading.gif


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff