7e47ce238b
添加了管理后台所需的图片资源、Excel文件、安装程序以及设计相关的图片文件
1226 lines
60 KiB
HTML
1226 lines
60 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="renderer" content="webkit">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<link rel="stylesheet" href="layuiadmin/layui/css/layui.css" media="all">
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<script src="js/jquery.min.js"></script>
|
|
<style>
|
|
body{
|
|
background-color: rgb(250, 250, 250);
|
|
}
|
|
.dataBlock{
|
|
margin: 5px;
|
|
width:95%;
|
|
min-width: 342px;
|
|
max-width: 500px;
|
|
display: none;
|
|
vertical-align: top;
|
|
}
|
|
.layui-col-xs3 > div{
|
|
line-height: 20px;
|
|
}
|
|
.layui-table-cell {
|
|
height: auto;
|
|
text-align: center;
|
|
padding: 0;
|
|
width: 100%;
|
|
max-width: 200px;
|
|
}
|
|
.numDataTable{
|
|
border-width:0;
|
|
text-align:center;
|
|
width: 100%;
|
|
color: #666;
|
|
height: 40px;
|
|
font: 14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif;
|
|
}
|
|
.imgDiv{
|
|
/* width:50px; */
|
|
height:80px;
|
|
}
|
|
.colImg{
|
|
width: auto;
|
|
height: auto;
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
.viewer-container{
|
|
background-color: rgba(255,255,255,0.8);
|
|
}
|
|
/* .layui-form-checkbox{
|
|
width: 150px;
|
|
} */
|
|
</style>
|
|
</head>
|
|
<body style="text-align: center;">
|
|
<!--[if lt IE 9]>
|
|
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
|
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
|
<![endif]-->
|
|
<div class="dataBlock" style="min-width: 342px;max-width: 1010px;" id="qstDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="qstLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('qst')">趋势图</span>
|
|
<div id="qstSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('qst')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div id="chart" style="height: 300px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="ddslglDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="ddslglLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('ddslgl')">订单数量概览</span>
|
|
<div id="ddslglSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('ddslgl')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<table class="numDataTable">
|
|
<tr>
|
|
<td id="ddslgl_yd">--</td>
|
|
<td id="ddslgl_zb">--</td>
|
|
<td id="ddslgl_wcl">--%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>已订件数</td>
|
|
<td>指标</td>
|
|
<td>完成率</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dataBlock" id="ddjeglDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="ddjeglLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('ddjegl')">订单金额概览</span>
|
|
<div id="ddjeglSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('ddjegl')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<table class="numDataTable">
|
|
<tr>
|
|
<td id="ddjegl_yd">--</td>
|
|
<td id="ddjegl_zb">--</td>
|
|
<td id="ddjegl_wcl">--%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>已订金额</td>
|
|
<td>指标</td>
|
|
<td>完成率</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dataBlock" id="spglDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="spglLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('spgl')">商品概览</span>
|
|
<div id="spglSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('spgl')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<table class="numDataTable">
|
|
<tr>
|
|
<td id="spgl_chk">-- (--)</td>
|
|
<td id="spgl_sck">-- (--)</td>
|
|
<td id="spgl_wxd">--</td>
|
|
</tr>
|
|
<tr>
|
|
<td>参会款数 (到色)</td>
|
|
<td>删除款数 (到色)</td>
|
|
<td>未订款数</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dataBlock" id="khglDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="khglLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('khgl')">客户概览</span>
|
|
<div id="khglSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('khgl')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<table class="numDataTable">
|
|
<tr>
|
|
<td id="khgl_chmd">--</td>
|
|
<td id="khgl_xdmd">--</td>
|
|
<td id="khgl_zxmd">--</td>
|
|
</tr>
|
|
<tr>
|
|
<td>参会门店数(未下单)</td>
|
|
<td>下单门店数(已交单)</td>
|
|
<td>在线门店数</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="dqphDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="dqphLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('dqph')">大区排行榜</span>
|
|
<div id="dqphSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('dqph')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 15%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 25%;">
|
|
<div class="layui-table-cell">
|
|
<span>名称</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>件数</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>金额(万)</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="dqph_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="dlphDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="dlphLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('dlph')">总代排行榜</span>
|
|
<div id="dlphSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('dlph')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 15%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 25%;">
|
|
<div class="layui-table-cell">
|
|
<span>名称</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>件数</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>金额(万)</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="dlph_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="mdphDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="mdphLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('mdph')">门店排行榜</span>
|
|
<div id="mdphSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('mdph')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 15%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 25%;">
|
|
<div class="layui-table-cell">
|
|
<span>名称</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>件数</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 30%;">
|
|
<div class="layui-table-cell">
|
|
<span>金额(万)</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="mdph_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="dkphDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="dkphLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('dkph')">单款排行榜</span>
|
|
<div id="dkphSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('dkph')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 16%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 40%;">
|
|
<div class="layui-table-cell">
|
|
<span>商品</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 22%;">
|
|
<div class="layui-table-cell">
|
|
<span>件数</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 22%;">
|
|
<div class="layui-table-cell">
|
|
<span>金额(万)</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="dkph_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="ksphDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="ksphLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('ksph')">款色排行榜</span>
|
|
<div id="ksphSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('ksph')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 16%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 40%;">
|
|
<div class="layui-table-cell">
|
|
<span>商品</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 22%;">
|
|
<div class="layui-table-cell">
|
|
<span>件数</span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 22%;">
|
|
<div class="layui-table-cell">
|
|
<span>金额(万)</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="ksph_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="dataBlock" id="ddzzDiv">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header">
|
|
<i id="ddzzLockIco" style="display: none;" class="layui-icon layui-icon-link"></i>
|
|
<span style="cursor: pointer;" onclick="headBtnShow('ddzz')">大单追踪</span>
|
|
<div id="ddzzSettingBtn" style="display: none;float: right;cursor: pointer;" onclick="headBtnclick('ddzz')">···</div>
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-form layui-border-box layui-table-view" style="width: 100%;">
|
|
<div class="layui-table-box">
|
|
<div class="layui-table-header">
|
|
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" style="width: 100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 15%;">
|
|
<div class="layui-table-cell">
|
|
<span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 45%;">
|
|
<div class="layui-table-cell">
|
|
<span>大单</span></span>
|
|
</div>
|
|
</th>
|
|
<th style="width: 40%;">
|
|
<div class="layui-table-cell">
|
|
<span>商品</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="ddzz_data"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="position:fixed;bottom: 12px;right: 12px;cursor: pointer;" type="button" class="layui-btn-ms" onclick="settingClick()"><i id="settingIco" class="layui-icon layui-icon-set"></i></div>
|
|
<div id="settingPad" style="position: fixed; z-index: 2;bottom: 30px;right: 30px;display: none;background-color: #eee;border-radius: 5px;width: 150px;text-align: left;box-shadow: 3px 3px 5px #888888;" class="layui-anim-up">
|
|
<div id="blockConfigs" class="layui-form" lay-filter="checkboxs">
|
|
<!-- <div id="enableBlock" style="border: 1px solid #fff;text-align: center;">
|
|
|
|
</div>
|
|
<div id="disableBlock" style="border: 1px solid #fff;text-align: center;">
|
|
|
|
</div> -->
|
|
</div>
|
|
<div class="footer">
|
|
<button class="layui-btn layui-btn-sm" onclick="blockSettingOKClick()">确定</button>
|
|
<button class="layui-btn layui-btn-sm layui-btn-primary" onclick="blockSettingResetClick()">重置</button>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
|
|
<script src="layuiadmin/layui/layui.js" charset="utf-8"></script>
|
|
<script src="js/viewer/viewer.min.js"></script>
|
|
<script src="js/echarts.common.min.js"></script>
|
|
<link href="js/viewer/viewer.min.css" rel="stylesheet">
|
|
<script>
|
|
$(document).ready(function(){
|
|
var blocksList=["qst","ddslgl","ddjegl","spgl","khgl","dqph","dlph","mdph","dkph","ksph","ddzz"];
|
|
var blockNamesList=["趋势图","订单数量概览","订单金额概览","商品概览","客户概览","大区排行榜","总代排行榜","门店排行榜","单款排行榜","款色排行榜","大单追踪"];
|
|
var updateInterval=1000;
|
|
var qstUpdateInterval=5000;
|
|
var blockSortList=[];
|
|
var tempBlockList=[];
|
|
var intervalList={};
|
|
var enableBlockCount=0;
|
|
var addEmptyBlock=0;
|
|
|
|
Viewer.setDefaults({toolbar: false,title: false,rotatable: false,backdrop: false});
|
|
|
|
var dkph_viewer=new Viewer(document.getElementById('dkph_data'), {
|
|
url: 'data-original',
|
|
shown(){
|
|
stopAutoUpdate('dkph');
|
|
},
|
|
hidden(){
|
|
startAutoUpdate('dkph');
|
|
}
|
|
});
|
|
var ksph_viewer=new Viewer(document.getElementById('ksph_data'), {
|
|
url: 'data-original',
|
|
shown(){
|
|
stopAutoUpdate('ksph');
|
|
},
|
|
hidden(){
|
|
startAutoUpdate('ksph');
|
|
}
|
|
});
|
|
var ddzz_viewer=new Viewer(document.getElementById('ddzz_data'), {
|
|
url: 'data-original',
|
|
shown(){
|
|
stopAutoUpdate('ddzz');
|
|
},
|
|
hidden(){
|
|
startAutoUpdate('ddzz');
|
|
}
|
|
});
|
|
|
|
|
|
if(blocksList.length!=blockNamesList.length){
|
|
alert("模块数据错误");
|
|
return;
|
|
}
|
|
$.get("./?_m=bigscreen&_a=get_config")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
if(res["code"]==0){
|
|
// const blockShow=res.set;
|
|
var strBlockSortList = res.set != '2047' ? res.set.split(',') : [];
|
|
if(strBlockSortList.length==1 && strBlockSortList[0]==""){
|
|
blockSortList=[];
|
|
for(var i=0;i < blocksList.length;i++){
|
|
blockSortList.push(i);
|
|
}
|
|
}else{
|
|
blockSortList=[];
|
|
for(var i=0;i < strBlockSortList.length;i++){
|
|
blockSortList.push(parseInt(strBlockSortList[i]));
|
|
}
|
|
}
|
|
blockSort();
|
|
tempBlockList=blockSortList.slice(0);
|
|
settingButtonReflash();
|
|
}
|
|
|
|
}).error(function(res){
|
|
alert(res.responseText);
|
|
})
|
|
function settingButtonReflash(){
|
|
layui.use('form', function() {
|
|
$("#blockConfigs").html('')
|
|
for (var i = 0; i < tempBlockList.length; i++) {
|
|
var name = blockNamesList[tempBlockList[i]]
|
|
$("#blockConfigs").append('<div class="row">\
|
|
<div class="entity'+(name === '趋势图' ? ' disabled' : '')+'">\
|
|
<span data-index="'+i+'" class="layui-icon checkbox checked"></span>\
|
|
<span class="text">'+name+'</span>\
|
|
</div>\
|
|
</div>')
|
|
}
|
|
for (var i = 0; i < blockNamesList.length; i++) {
|
|
if (tempBlockList.indexOf(i) === -1) {
|
|
var name = blockNamesList[i]
|
|
$("#blockConfigs").append('<div class="row">\
|
|
<div class="entity'+(name === '趋势图' ? ' disabled' : '')+'">\
|
|
<span data-index="'+i+'" class="layui-icon checkbox"></span>\
|
|
<span class="text">'+name+'</span>\
|
|
</div>\
|
|
</div>')
|
|
}
|
|
}
|
|
|
|
// checkbox
|
|
var checkboxDown = function(elem) {
|
|
if (elem.hasClass('checked')) {
|
|
elem.removeClass('checked')
|
|
} else {
|
|
elem.addClass('checked')
|
|
}
|
|
tempBlockList = []
|
|
$('#blockConfigs .row .entity .checkbox.checked').each(function() {
|
|
var index = parseInt($(this).attr('data-index'))
|
|
tempBlockList.push(index)
|
|
})
|
|
// console.log(tempBlockList)
|
|
}
|
|
$(document).on('mousedown', '#blockConfigs .row .entity .checkbox', function(event) {
|
|
event.stopPropagation()
|
|
checkboxDown($(this))
|
|
})
|
|
$(document).on('touchstart', '#blockConfigs .row .entity .checkbox', function(event) {
|
|
// 此处比较怪异,
|
|
// .checkbox在pc端与移动端都能触发mouse系列方法与touch系列方法,
|
|
// 但.row在移动端则不能触发mouse系列方法
|
|
event.stopPropagation()
|
|
})
|
|
// end checkbox
|
|
// drag
|
|
var dragOriginalPage = {
|
|
x: 0,
|
|
y: 0
|
|
}
|
|
var dragOriginalOffset = {
|
|
top: 0,
|
|
left: 0
|
|
}
|
|
var dragMove = function(elem, event) {
|
|
var diffOffsetX = event.originalEvent.pageX - dragOriginalPage.x,
|
|
diffOffsetY = event.originalEvent.pageY - dragOriginalPage.y
|
|
|
|
// console.log('touch move', event.originalEvent.pageX, event.originalEvent.pageY, diffOffsetX, diffOffsetY)
|
|
var top = dragOriginalOffset.top + diffOffsetY,
|
|
left = dragOriginalOffset.left + diffOffsetX
|
|
elem.css({
|
|
top: top,
|
|
left: left
|
|
})
|
|
$('#blockConfigs .instruction').css('top', top < -14 ? -14 : (top > $('#blockConfigs').height() - 16 ? $('#blockConfigs').height() - 16 : top))
|
|
}
|
|
var dragEnd = function(elem, event) {
|
|
var instructionTop = parseInt($('#blockConfigs .instruction').css('top')) + 14
|
|
var currIndex = instructionTop / 30
|
|
var toIndex = Math.floor(currIndex)
|
|
// 创建新元素
|
|
var newElem = $('<div class="row"></div>').html(elem.clone().removeClass('moving'))
|
|
// 判断在toIndex对应的元素前半还是后半
|
|
if (currIndex <= 1) {
|
|
$('#blockConfigs .row').eq(0).after(newElem)
|
|
} else if (currIndex > toIndex + 0.5) { // toIndex后
|
|
$('#blockConfigs .row').eq(toIndex).after(newElem)
|
|
} else { // toIndex前
|
|
$('#blockConfigs .row').eq(toIndex).before(newElem)
|
|
}
|
|
$(document).off('mousemove')
|
|
elem.off('touchmove').remove()
|
|
|
|
$('#blockConfigs .instruction').remove()
|
|
$('#blockConfigs .row.selected').remove()
|
|
|
|
tempBlockList = []
|
|
$('#blockConfigs .row .entity .checkbox.checked').each(function() {
|
|
var index = parseInt($(this).attr('data-index'))
|
|
tempBlockList.push(index)
|
|
})
|
|
// console.log(tempBlockList)
|
|
}
|
|
var dragStart = function(elem, event) {
|
|
var selectedRow = elem.parent()
|
|
var index = selectedRow.index()
|
|
elem.addClass('moving').css({
|
|
top: 30 * index,
|
|
left: 0
|
|
})
|
|
$('#blockConfigs').append($('<div class="instruction"></div>').css({
|
|
top: elem.css('top'),
|
|
left: 0
|
|
}))
|
|
|
|
dragOriginalPage = {
|
|
x: event.originalEvent.pageX,
|
|
y: event.originalEvent.pageY
|
|
}
|
|
dragOriginalOffset = {
|
|
top: 30 * index,
|
|
left: 0
|
|
}
|
|
selectedRow.addClass('selected')
|
|
// console.log('drag start', dragOriginalPage)
|
|
|
|
$(document).on({
|
|
mousemove: function(event) {
|
|
event.preventDefault()
|
|
// console.log('drag move', event.originalEvent)
|
|
|
|
dragMove(elem, event)
|
|
},
|
|
// mouseup: function(event) {
|
|
// dragEnd(elem, event)
|
|
// },
|
|
})
|
|
elem.on({
|
|
touchmove: function(event) {
|
|
event.preventDefault()
|
|
// console.log('drag move', event.originalEvent)
|
|
|
|
dragMove(elem, event)
|
|
},
|
|
touchend: function(event) {
|
|
dragEnd(elem, event)
|
|
}
|
|
})
|
|
}
|
|
var isDragStart = false
|
|
$(document).on('mousedown', '#blockConfigs .row .entity:not(.disabled)', function(event) {
|
|
event.stopPropagation()
|
|
isDragStart = true
|
|
dragStart($(this), event)
|
|
})
|
|
$(document).on('mouseup', function(event) {
|
|
if (isDragStart) {
|
|
dragEnd($('#blockConfigs .row .entity.moving'), event)
|
|
isDragStart = false
|
|
}
|
|
})
|
|
$(document).on('touchstart', '#blockConfigs .row .entity:not(.disabled)', function(event) {
|
|
event.stopPropagation()
|
|
dragStart($(this), event)
|
|
})
|
|
})
|
|
}
|
|
|
|
function blockReload(index){
|
|
var blockName = blocksList[index];
|
|
if(blockName=='qst') qstReload();
|
|
if(blockName=='ddslgl') ddslglReload();
|
|
if(blockName=='ddjegl') ddjeglReload();
|
|
if(blockName=='spgl') spglReload();
|
|
if(blockName=='khgl') khglReload();
|
|
if(blockName=='dqph') dqphReload();
|
|
if(blockName=='dlph') dlphReload();
|
|
if(blockName=='mdph') mdphReload();
|
|
if(blockName=='dkph') dkphReload();
|
|
if(blockName=='ksph') ksphReload();
|
|
if(blockName=='ddzz') ddzzReload();
|
|
}
|
|
function ddjeglReload(){
|
|
$.get("./?_m=bigscreen&_a=ddgl")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
$("#ddjegl_yd").text(res["ydje"]+"万");
|
|
$("#ddjegl_zb").text(res["zb"]+"万");
|
|
$("#ddjegl_wcl").text(res["wcl_je"]);
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function ddslglReload(){
|
|
$.get("./?_m=bigscreen&_a=ddgl")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
$("#ddslgl_yd").text(res["ydjs"]);
|
|
$("#ddslgl_zb").text(res["zbjs"]);
|
|
$("#ddslgl_wcl").text(res["wcl_js"]);
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function spglReload(){
|
|
$.get("./?_m=bigscreen&_a=spgl")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
$("#spgl_chk").text(res["sku"]+" ("+res["skc"]+")");
|
|
$("#spgl_sck").text(res["sck"]+" ("+res["scks"]+")");
|
|
$("#spgl_wxd").text(res["wdk"]);
|
|
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function khglReload(){
|
|
$.get("./?_m=bigscreen&_a=khgl")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
$("#khgl_chmd").text(res["chdps"]+"("+(res["chdps"]-res["xddps"])+")");
|
|
$("#khgl_xdmd").text(res["xddps"]+"("+res["jddps"]+")");
|
|
$("#khgl_zxmd").text(res["zxdps"]);
|
|
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function tdmake(text){
|
|
return '<td><div class="layui-table-cell">'+text+'</div></td>';
|
|
}
|
|
function picmake(no,pic,pic_big,color){
|
|
if(color==undefined) color="";
|
|
return '<td><div class="layui-table-cell"><div><div class="imgDiv"><img class="colImg" src="'+pic+'" data-original="'+pic_big+'"></div><span style="width:100%" onclick="khDetailClick(''+no+'',''+color+'')">'+no+((color=="")?'':('_'+color))+'</span></div></div></td>';
|
|
}
|
|
function dqphReload(){
|
|
$.get("./?_m=bigscreen&_a=dqph")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+tdmake(res.data[i]["title"]);
|
|
table_body=table_body+tdmake(res.data[i]["js"]);
|
|
table_body=table_body+tdmake(res.data[i]["je"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
|
|
$("#dqph_data").html(table_body);
|
|
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function dlphReload(){
|
|
$.get("./?_m=bigscreen&_a=dlph")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+tdmake(res.data[i]["title"]);
|
|
table_body=table_body+tdmake(res.data[i]["js"]);
|
|
table_body=table_body+tdmake(res.data[i]["je"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
|
|
$("#dlph_data").html(table_body);
|
|
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function mdphReload(){
|
|
$.get("./?_m=bigscreen&_a=mdph")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+tdmake(res.data[i]["title"]);
|
|
table_body=table_body+tdmake(res.data[i]["js"]);
|
|
table_body=table_body+tdmake(res.data[i]["je"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
|
|
$("#mdph_data").html(table_body);
|
|
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function dkphReload(){
|
|
$.get("./?_m=bigscreen&_a=dkph")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+picmake(res.data[i]["no"],res.data[i]["pic"],res.data[i]["pic_big"],"");
|
|
table_body=table_body+tdmake(res.data[i]["js"]);
|
|
table_body=table_body+tdmake(res.data[i]["je"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
$("#dkph_data").html(table_body);
|
|
dkph_viewer.update();
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function ksphReload(){
|
|
$.get("./?_m=bigscreen&_a=ksph")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+picmake(res.data[i]["no"],res.data[i]["pic"],res.data[i]["pic_big"],res.data[i]["color"]);
|
|
table_body=table_body+tdmake(res.data[i]["js"]);
|
|
table_body=table_body+tdmake(res.data[i]["je"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
|
|
$("#ksph_data").html(table_body);
|
|
ksph_viewer.update();
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function ddzzReload(){
|
|
$.get("./?_m=bigscreen&_a=ddzz")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var table_body='';
|
|
for(var i=0;i<res.data.length;i++){
|
|
table_body=table_body+'<tr>';
|
|
table_body=table_body+tdmake(res.data[i]["px"]);
|
|
table_body=table_body+tdmake('<div><span>'+res.data[i]["time"]+'<br></span>'+res.data[i]["dp"]+'<br/></span>增加'+res.data[i]["js"]+'件</span></div>')
|
|
table_body=table_body+picmake(res.data[i]["no"],res.data[i]["pic"],res.data[i]["pic_big"],res.data[i]["color"]);
|
|
table_body=table_body+'</tr>';
|
|
}
|
|
|
|
$("#ddzz_data").html(table_body);
|
|
ddzz_viewer.update();
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function qstReload(){
|
|
$.get("./?_m=bigscreen&_a=qst")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var myChart = echarts.init(document.getElementById('chart'));
|
|
var title="订单趋势图";
|
|
var data_legend=[""];
|
|
var option = {
|
|
title: {text: title},
|
|
tooltip : {trigger: 'axis'},
|
|
legend: {data:data_legend},
|
|
xAxis: [{name:'时间',type: 'category',axisTick:{interval:29,alignWithLabel: true},axisLabel:{interval:29},data:res.title}],
|
|
yAxis: [{name:'订单量',type: 'value',scale:true}],
|
|
series: [{data:res.js,type:'line'}]
|
|
};
|
|
myChart.setOption(option);
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
|
|
}
|
|
function qstInit(){
|
|
$.get("./?_m=bigscreen&_a=qst")
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
var myChart = echarts.init(document.getElementById('chart'));
|
|
var title="订单趋势图";
|
|
// var data_x=['13日','26日','28日','03日','04日','07日','08日','27日','28日','07日','09日','31日','05日','06日','26日','10日','31日','01日','19日','08日','21日','22日','28日','31日'];
|
|
// var data_y=[22,51,236,278,328,350,358,372,477,487,883,897,940,1009,1038,1037,1117,1119,1128,1201,1601,1616,1934,2264];
|
|
var data_legend=[""];
|
|
var option = {
|
|
title: {text: title},
|
|
tooltip : {trigger: 'axis'},
|
|
legend: {data:data_legend},
|
|
xAxis: [{name:'时间',type: 'category',axisTick:{interval:29,alignWithLabel: true},axisLabel:{interval:29},data:res.title}],
|
|
yAxis: [{name:'订单量',type: 'value',scale:true}],
|
|
series: [{data:res.js,type:'line'}]
|
|
};
|
|
myChart.setOption(option);
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
}
|
|
function blockSort(){
|
|
for(var i =0;i<blocksList.length;i++){
|
|
stopAutoUpdate(blocksList[i]);
|
|
document.getElementById(blocksList[i]+"Div").style.display="none";
|
|
}
|
|
for(var i =0;i<blocksList.length;i++){
|
|
if(i<blockSortList.length){
|
|
startAutoUpdate(blocksList[blockSortList[i]]);
|
|
// if(blockSortList[i]!=i){
|
|
if(i==0){
|
|
document.getElementById(blocksList[i]+"Div").style.display="none";
|
|
if(document.getElementById(blocksList[blockSortList[i]]+"Div").style.display!="inline-block"){
|
|
document.getElementById(blocksList[blockSortList[i]]+"Div").style.display="inline-block";
|
|
}
|
|
continue;
|
|
}
|
|
$("#"+blocksList[blockSortList[i-1]]+"Div").after($("#"+blocksList[blockSortList[i]]+"Div"));
|
|
if(document.getElementById(blocksList[blockSortList[i]]+"Div").style.display!="inline-block"){
|
|
document.getElementById(blocksList[blockSortList[i]]+"Div").style.display="inline-block";
|
|
}
|
|
// }else{
|
|
// if(document.getElementById(blocksList[i]+"Div").style.display!="inline-block"){
|
|
// document.getElementById(blocksList[i]+"Div").style.display="inline-block";
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
enableBlockCount=blockSortList.length;
|
|
if(blockSortList[0]==0){
|
|
enableBlockCount++;
|
|
}
|
|
emptyBlockAdd();
|
|
}
|
|
|
|
settingClick=function(){
|
|
if(document.getElementById("settingPad").style.display=="none"){
|
|
|
|
document.getElementById("settingPad").style.display="inline-block";
|
|
document.getElementById("settingIco").className="layui-icon layui-icon-close-fill";
|
|
}else{
|
|
document.getElementById("settingPad").style.display="none";
|
|
document.getElementById("settingIco").className="layui-icon layui-icon-set";
|
|
}
|
|
|
|
}
|
|
khDetailClick=function(kh,color){
|
|
const url="order_report_openDetail2.htm?kh="+kh+"&color="+color;
|
|
var index = layui.layer.open({
|
|
title : kh,
|
|
type : 2,
|
|
offset: '',
|
|
anim: 2,
|
|
isOutAnim: false,
|
|
area: ['100%', '600px'],
|
|
content : url,
|
|
success : function(layero, index){}
|
|
})
|
|
}
|
|
emptyBlockAdd=function(){
|
|
if(document.documentElement.clientWidth<1000){
|
|
if(addEmptyBlock!=0){
|
|
$('.emptyBlock').remove();
|
|
}
|
|
return;
|
|
}
|
|
|
|
const blockLineCount=Math.floor(document.documentElement.clientWidth / 500);
|
|
// if((blockLineCount-(enableBlockCount % blockLineCount))==addEmptyBlock) return;
|
|
$('.emptyBlock').remove();
|
|
// if(enableBlockCount % blockLineCount==0) return;
|
|
addEmptyBlock=blockLineCount;
|
|
for (var i = 0; i < blockLineCount; i++) {
|
|
$('body').append('<div class="dataBlock emptyBlock" style="display:inline-block"> </div>');
|
|
}
|
|
}
|
|
headBtnShow=function(blockName){
|
|
if(document.getElementById(blockName+'SettingBtn').style.display=='inline-block'){
|
|
document.getElementById(blockName+'SettingBtn').style.display='none';
|
|
document.getElementById(blockName+'LockIco').style.display='none';
|
|
startAutoUpdate(blockName);
|
|
return;
|
|
}
|
|
for (var index = 0; index < blocksList.length; index++) {
|
|
if(blocksList[index]!=blockName){
|
|
//单模块锁定模式,要取消该模式注解下面整个IF
|
|
if(document.getElementById(blocksList[index]+'SettingBtn').style.display=='inline-block'){
|
|
document.getElementById(blocksList[index]+'LockIco').style.display='none';
|
|
document.getElementById(blocksList[index]+'SettingBtn').style.display='none';
|
|
startAutoUpdate(blocksList[index]);
|
|
}
|
|
}else{
|
|
document.getElementById(blockName+'SettingBtn').style.display='inline-block';
|
|
document.getElementById(blockName+'LockIco').style.display='inline-block';
|
|
stopAutoUpdate(blockName);
|
|
}
|
|
}
|
|
}
|
|
headBtnclick=function(blockName){
|
|
// const url="order_report_openDetail2.htm?kh="+kh+"&color="+color;
|
|
// var index = layui.layer.open({
|
|
// title : kh,
|
|
// type : 2,
|
|
// offset: '',
|
|
// anim: 2,
|
|
// isOutAnim: false,
|
|
// area: ['100%', '600px'],
|
|
// content : url,
|
|
// success : function(layero, index){}
|
|
// })
|
|
}
|
|
startAutoUpdate=function(blockName){
|
|
if(intervalList[blockName]==undefined || intervalList[blockName]==-1){
|
|
blockReload(blocksList.indexOf(blockName));
|
|
if(blockName=="qst"){
|
|
|
|
intervalList[blockName]=setInterval(function(){
|
|
blockReload(blocksList.indexOf(blockName));
|
|
}, qstUpdateInterval);
|
|
return;
|
|
}
|
|
intervalList[blockName]=setInterval(function(){
|
|
blockReload(blocksList.indexOf(blockName));
|
|
}, updateInterval);
|
|
}
|
|
}
|
|
stopAutoUpdate=function(blockName){
|
|
if(intervalList[blockName]){
|
|
window.clearInterval(intervalList[blockName]);
|
|
intervalList[blockName]=-1;
|
|
}
|
|
}
|
|
enableBlockItemClick=function(index){
|
|
if(index==0){
|
|
tempBlockList.unshift(index);
|
|
}else{
|
|
tempBlockList.push(index);
|
|
}
|
|
settingButtonReflash();
|
|
}
|
|
disableBlockItemClick=function(index){
|
|
tempBlockList.splice(tempBlockList.indexOf(index),1);
|
|
settingButtonReflash();
|
|
}
|
|
blockSettingOKClick=function(){
|
|
$.get("./?_m=bigscreen&_a=set_config&bigsrceen_set="+tempBlockList.toString())
|
|
.success(function(res) {
|
|
var res = $.parseJSON(res);
|
|
if(res.code==2){
|
|
window.location.href="./login.htm";
|
|
return;
|
|
}
|
|
}).error(function(res){
|
|
console.log(res.responseText);
|
|
})
|
|
// blockEnableOptionsChange(options);
|
|
blockSortList=tempBlockList.slice(0);
|
|
blockSort();
|
|
document.getElementById("settingPad").style.display="none";
|
|
document.getElementById("settingIco").className="layui-icon layui-icon-set";
|
|
}
|
|
blockSettingResetClick=function(){
|
|
// console.log(tempBlockList.length);
|
|
tempBlockList=blockSortList.slice(0);
|
|
$("#blockConfigs").html('')
|
|
for (var i = 0; i < tempBlockList.length; i++) {
|
|
var name = blockNamesList[tempBlockList[i]]
|
|
$("#blockConfigs").append('<div class="row">\
|
|
<div class="entity'+(name === '趋势图' ? ' disabled' : '')+'">\
|
|
<span data-index="'+i+'" class="layui-icon checkbox checked"></span>\
|
|
<span class="text">'+name+'</span>\
|
|
</div>\
|
|
</div>')
|
|
}
|
|
for (var i = 0; i < blockNamesList.length; i++) {
|
|
if (tempBlockList.indexOf(i) === -1) {
|
|
var name = blockNamesList[i]
|
|
$("#blockConfigs").append('<div class="row">\
|
|
<div class="entity'+(name === '趋势图' ? ' disabled' : '')+'">\
|
|
<span data-index="'+i+'" class="layui-icon checkbox"></span>\
|
|
<span class="text">'+name+'</span>\
|
|
</div>\
|
|
</div>')
|
|
}
|
|
}
|
|
}
|
|
window.onresize = function(){
|
|
emptyBlockAdd();
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<style>
|
|
#settingPad .footer {
|
|
display: flex;
|
|
}
|
|
#settingPad .footer button {
|
|
width: 50%;
|
|
margin: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
#blockConfigs {
|
|
text-align: center;
|
|
-webkit-user-select: none; /* 禁止 DIV 中的文本被鼠标选中 */
|
|
-moz-user-select: none; /* 禁止 DIV 中的文本被鼠标选中 */
|
|
-ms-user-select: none; /* 禁止 DIV 中的文本被鼠标选中 */
|
|
user-select: none; /* 禁止 DIV 中的文本被鼠标选中 */
|
|
}
|
|
#blockConfigs .row {
|
|
height: 30px;
|
|
line-height: 30px;
|
|
text-align: left;
|
|
color: black;
|
|
background-color: rgb(238, 238, 238);
|
|
}
|
|
#blockConfigs .row .entity {
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
#blockConfigs .row .entity:not(.disabled) {
|
|
cursor: pointer;
|
|
}
|
|
#blockConfigs .row .entity .checkbox {
|
|
width: 16px;
|
|
height: 16px;
|
|
line-height: 16px;
|
|
border: 1px solid #ccc;
|
|
cursor: pointer;
|
|
margin-left: 20px;
|
|
}
|
|
#blockConfigs .row .entity .checkbox:hover {
|
|
border-color: #009688;
|
|
}
|
|
#blockConfigs .row .entity .checkbox.checked {
|
|
border-color: #009688;
|
|
background-color: #009688;
|
|
color: #fff;
|
|
}
|
|
#blockConfigs .row .entity .checkbox.checked::before {
|
|
content: "\e605";
|
|
}
|
|
#blockConfigs .row .entity .text {
|
|
margin-left: 8px;
|
|
}
|
|
#blockConfigs .row .entity.selected {
|
|
color: rgba(0, 0, 0, 0.3);
|
|
}
|
|
#blockConfigs .row .entity.moving {
|
|
position: absolute;
|
|
z-index: 1;
|
|
}
|
|
#blockConfigs .instruction {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 0;
|
|
border: 2px dotted #009688;
|
|
margin: 14px 0;
|
|
}
|
|
</style>
|
|
</html> |