This commit is contained in:
罗松柏 2021-05-27 18:44:11 +08:00
parent b2926e9999
commit 87ce5cf59a
350 changed files with 49448 additions and 0 deletions

790
web/index - 副本.html Normal file
View File

@ -0,0 +1,790 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> -->
<title>demo</title>
<script src="./srczip/jquery.min.js"></script>
<script src="./srczip/moment.min.js"></script>
<script src="./srczip/daterangepicker.min.js"></script>
<link rel="stylesheet" href="./layui__/css/layui.css">
<link rel="stylesheet" href="./static/css/style.css">
<link rel="stylesheet" href="./static/css/daterangepicker.css">
</head>
<body>
<!-- 你的HTML代码 -->
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<div class="layui-logo">
<img src="./static/img/logo.png" style="width:40px">
</div>
<ul class="layui-nav layui-project">
<li class="layui-nav-item">
<a href="javascript:;">放置类游戏DEMO</a>
<dl class="layui-nav-child">
<dd><a href="">卡牌游戏DEMO</a></dd>
<dd><a href="">MMO游戏DEMO</a></dd>
<dd><a href="">放置类游戏DEMO</a></dd>
</dl>
</li>
</ul>
<!-- 头部区域可配合layui已有的水平导航 -->
<ul class="layui-nav layui-layout-left qvjiantou">
<li class="layui-nav-item">
<a href="javascript:;">数据看板</a>
</li>
<li class="layui-nav-item">
<a href="javascript:;">行为分析</a>
<dl class="layui-nav-child">
<dd><a href="">事件分析</a></dd>
<dd><a href="">留存分析</a></dd>
<dd><a href="">漏斗分析</a></dd>
<dd><a href="">分布分析</a></dd>
<dd><a href="">路径分析</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;">用户分析</a>
<dl class="layui-nav-child">
<dd><a href="">属性分析</a></dd>
<dd><a href="">用户分群</a></dd>
<dd><a href="">用户标签</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;">数据管理</a>
<dl class="layui-nav-child">
<dd><a href="">事件管理</a></dd>
<dd><a href="">事件属性管理</a></dd>
<dd><a href="">用户属性管理</a></dd>
<dd><a href="">预警管理</a></dd>
</dl>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item souduo" id="search">
<img src="./static/img/fangdaj.png" style="width: 25px;"> <span style="color: rgba(255,255,255,.7);">用户搜索</span>
</li>
<li class="layui-nav-item">
<a href="javascript:;">设置</a>
<dl class="layui-nav-child">
<dd><a href="">个人设置</a></dd>
<dd><a href="">项目管理</a></dd>
<dd><a href="">系统管理</a></dd>
<dd><a href="">退出登录</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
<!-- 左侧导航区域可配合layui已有的垂直导航 -->
<div class="sousuo-box">
<div class="sousuo" id='search'>
<img src="./static/img/fangdaj.png" />
<input type="text" placeholder="搜索看板" />
</div>
<div style="display: flex; align-items: center;">
<img src="./static/img/caidan.png" class="kbgl" title="看板管理" id="kanbanbtn"/>
<div class='chuangjian' title="" id='chuangjian'>+</div>
</div>
</div>
<!-- 看板管理 -->
<div class="ant-drawer-content-wrapper" id='kanban'>
<div class="zhanwei"></div>
<!-- 授课计划分解卡号是的开发哈数据库的 -->
</div>
<!-- 新建文件 -->
<div class="zhezhao_bg" id='zhezhao_bg' onclick="guanbitanchuang()"></div>
<div class="newskanban_box" id="newskanban_box">
<ul class="tant-dropdown">
<li onclick="newkanban()">
<img src="./static/img/tishi.png">
<span>新建看板</span>
</li>
<li onclick="newwenjian()">
<img src="./static/img/tishi.png">
<span>新建文件夹</span>
</li>
<div class="tant-xian"></div>
<li onclick="establishkongjian()">
<img src="./static/img/tishi.png">
<span>创建空间</span>
</li>
<li>
<img src="./static/img/tishi.png">
<span>导出看板</span>
</li>
<div class="tant-xian"></div>
<li>
<img src="./static/img/tishi.png">
<span>导入看板</span>
</li>
</ul>
</div>
<!-- 侧边栏看板 -->
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a class="fontcolor" href="javascript:;">我的看板</a>
<dl class="layui-nav-child" id='mykanban'>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor">项目空间</a>
<dl class="layui-nav-child" id="kongjian">
<!-- <li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban category"> <i class="layui-icon layui-icon-template-1"></i> 测试 <img src="./static/img/renyuan.png"/></a>
<dl class="layui-nav-child">
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban second category"> <i class="layui-icon layui-icon-file-b"></i> 文件 <img src="./static/img/gengduo.png" onclick="TabOperation(this,'wenjian')"/></a>
<dl class="layui-nav-child">
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second3 level">核心数据 <img src="./static/img/gengduo.png" onclick="TabOperation(this,'baobiao')" alt=""></a></dd>
</dl>
</li>
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second level">实时数据 <img src="./static/img/gengduo.png" onclick="TabOperation(this,'baobiao')" alt=""></a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban category"> <i class="layui-icon layui-icon-template-1"></i> DEMO空间 <img src="./static/img/renyuan.png"/></a>
<dl class="layui-nav-child">
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second level">核心数据 <img src="./static/img/gengduo.png" onclick="TabOperation(this,'baobiao')" alt=""></a></dd>
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second level">实时数据 <img src="./static/img/gengduo.png" onclick="TabOperation(this,'baobiao')" alt=""></a></dd>
</dl>
</li> -->
</dl>
</li>
</ul>
</div>
</div>
<div class="layui-body">
<!-- 内容主体区域 -->
<div class="tab-box">
<div class="tab-tit">活跃用户</div>
<div class="tab-right-box">
<div class="img-box" title="时间筛选">
<img src="./static/img/rli.png" />
</div>
<div class="img-box" title="条件筛选">
<img src="./static/img/guolv.png" />
</div>
<div class="img-box" title="最后更新2021-03-26 01:00:00">
<img src="./static/img/gengxin.png" />
</div>
<div class="img-box" title="共享">
<img src="./static/img/fenxiang.png" />
</div>
<div class="img-box" title="设置">
<img src="./static/img/shezhi.png" />
</div>
<div class="baobiao" title="报表">
<img src="./static/img/baobiao.png">
</div>
</div>
</div>
<div style="padding: 15px;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md6" id="data1" onmousemove="moveaction('data1')" onmouseout="outaction('data1')">
<div class="layui-card">
<div class="row-top">
<div class="row-tit">
<p><a href="#">日活跃用户数</a></p>
<div class="tishi" title="活跃用户可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数.">
<img src="./static/img/tishi.png" />
</div>
</div>
<div class="control">
<div class="action-box" >
<div class="tishi" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
</div>
</div>
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去30天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<p class="dqtime">2021-03-23(二)</p>
<div class="data-box">
<div style="display: flex; align-items: center;">
<div class="data-num">351<span></span></div>
<div class="proportion">
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>5.4%</span></div>
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>5.4%</span></div>
</div>
</div>
<div class="thesum">
<div class="thesum-box">
<div class="thesum-data">总和 <span>12074</span></div>
<div class="thesum-data">均值 <span>402.47</span></div>
</div>
</div>
</div>
<div class="echarts-box">
<div id="charts" class="echarts"></div>
</div>
</div>
</div>
<div class="layui-col-md6" id="data2" onmousemove="moveaction('data2')" onmouseout="outaction('data2')">
<div class="layui-card">
<div class="row-top">
<div class="row-tit">
<p><a href="#">日活跃用户数</a></p>
<div class="tishi" title="活跃用户数可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数。">
<img src="./static/img/tishi.png" />
</div>
</div>
<div class="control">
<div class="action-box" >
<div class="tishi" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
</div>
</div>
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去30天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<div class="table-box">
<table class="layui-hide" id="test"></table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-footer">
<!-- 底部固定区域 -->
© layui.com - 底部固定区域
</div>
</div>
<!-- 搜索弹出层 -->
<div class="mask_box" id="mask_box"></div>
<div class="search_pop " id="search_pop">
<div class="search_top">
<div class="search_left">
<div class="zhanghu_box" title="账户ID" id='zhanghu_box'>
<img src="./static/img/zhanghu.png">
<span>账户ID</span>
</div>
<select class="judge_box" name="interest" lay-filter="aihao" id="judge_box">
</select>
<div class="time-box">
<img src="./static/img/rqi.png">
<input class="timechoice" value="2021-03-11 ~ 2021-04-09"></input>
</div>
<input type="text" class="search_txt" id="judge_input"/>
</div>
<div class="searcg_but">搜 索</div>
</div>
<div class="search_data">
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
<div class="search_data_con">
<div style="margin-left: 20px;">163007711</div>
<div style="margin-right: 20px;"> <img src="./static/img/yonghu.png" /> <span>163007711</span> </div>
</div>
</div>
<div class="more_data">
查看用户列表77777
</div>
</div>
<div class="Screen"></div>
<!-- 导航操作弹窗 -->
<div class="TabOperation_box" id="TabOperation_box">
<ul id="TabOperation">
<li>
<img src="./static/img/xiugai.png"/>
<span>重新命名</span>
</li>
<li>
<img src="./static/img/yidong.png"/>
<span>移动至</span>
</li>
<li>
<img src="./static/img/fuzhi.png"/>
<span>复制看板</span>
</li>
<li>
<img src="./static/img/del.png"/>
<span>删除看板</span>
</li>
</ul>
</div>
<!-- 修改看板名称 -->
<div class="modifyname-bg">
<div class="modifyname-box">
<div class="modifyname-top">
<p>看板名称</p>
<img src="./static/img/cha.png" id="modifyname-cha"/>
</div>
<input id="modifynameid" style="display: none;">
<div class="modifyname-txt-box">
<input type="text" class="modifyname-txt" id="modifyname-txt"/>
</div>
<div class="modifyname-but-box">
<div class="modifyname-qx" id="modifyname-qx">取消</div>
<div class="modifyname-qd" id="modifyname-qd">确定</div>
</div>
</div>
</div>
<!-- 移动看板 -->
<div class="yidong-bg">
<div class="yidong-box">
<div class="yidong-top">
<p>移动至</p>
<img src="./static/img/cha.png" id="yidong-cha"/>
</div>
<input id="yidongid" style="display: none;">
<div class="yidong-tab-box">
<div class="yidong-tab">
<div class="tabdata" id='yidongkanban' onclick="tabdata('yidongkanban','yidong')">我的看板</div>
<div id='yidongkongjian' onclick="tabdata('yidongkongjian','yidong')">项目空间</div>
</div>
</div>
<div class="yidong-txt-box">
<input type="text" class="justAnotherInputBox1" placeholder=""/>
<input type="text" class="justAnotherInputBox2" placeholder=""/>
</div>
<div class="yidong-but-box">
<div class="yidong-qx" id="yidong-qx">取消</div>
<div class="yidong-qd" id="yidong-qd">确定</div>
</div>
</div>
</div>
<!-- 复制看板 -->
<div class="copy-bg">
<div class="copy-box">
<div class="copy-top">
<p>复制看板</p>
<img src="./static/img/cha.png" id="copy-cha"/>
</div>
<input id="copyid" style="display: none;">
<div class="copy-name-box">
<div class="copy-title">看板名称</div>
<input type="text" class="copyname-txt" id="copyname-txt"/>
</div>
<div class="copy-tab-box">
<div class="copy-title">添加至</div>
<div class="copy-tab">
<div class="tabdata" id='copykanban' onclick="tabdata('copykanban','copy')">我的看板</div>
<div id='copykongjian' onclick="tabdata('copykongjian','copy')">项目空间</div>
</div>
</div>
<div class="copy-txt-box">
<input type="text" class="justAnotherInputBox1" placeholder=""/>
<input type="text" class="justAnotherInputBox2" placeholder=""/>
</div>
<div class="copy-tishi"> <img src="./static/img/capytishi.png"/> 复制看板将同时复制看板内的报表 </div>
<div class="copy-but-box">
<div class="copy-qx" id="copy-qx">取消</div>
<div class="copy-qd" id="copy-qd">确定</div>
</div>
</div>
</div>
<!-- 删除 -->
<div class="del-bg">
<div class="del-box">
<div class="del-xinxi">
<div class="del-tit"><img src="./static/img/redtishi.png">操作提示</div>
<p class="del-tishi">确认删除【<span id="del-tit"></span>】?该操作不可恢复</p>
</div>
<input id="delid" style="display: none;">
<div class="del-but-box">
<div class="del-qx" id="del-qx">取消</div>
<div class="del-qd" id="del-qd">删除</div>
</div>
</div>
</div>
<!-- 控件设置 -->
<div class="kongjian-bg">
<div class="kongjian-box">
<!-- <div class="kongjian-top">
<p>控件设置</p>
<img src="./static/img/cha.png" id="copy-cha"/>
</div> -->
<div class="chuangjiankongjian-box">
<p class="chuangjiankongjian-tit">创建空间</p>
<p class="chuangjiankongjian-tit2">选择成员创建共享空间,添加看板至空间实现统一共享</p>
</div>
<div class="kongjian-mc-box">
<span>空间名称</span>
<input type="text" placeholder="测试"/>
</div>
<div class="kongjian-mc-box" style="margin-top: 16px;">
<span>空间成员</span>
<div class="kongjian-tianjia">+添加</div>
</div>
<div class="kongjian-renyuan-box">
</div>
<div class="kongjian-but-box">
<ul class="layui-nav kongjian-cz">
<li class="layui-nav-item">
<a href="javascript:;">更多操作</a>
<dl class="layui-nav-child">
<dd><a href="">移交空间</a></dd>
<dd><a href="">删除空间</a></dd>
</dl>
</li>
</ul>
<div class="kongjian-but">
<div class="kongjian-qx" id="kongjian-qx">取消</div>
<div class="kongjian-qd" id="kongjian-qd">完成</div>
</div>
</div>
</div>
</div>
<!-- 新建看板 -->
<div class="new-bg">
<div class="new-box">
<div class="new-top">
<p>新建看板</p>
<img src="./static/img/cha.png" id="new-cha"/>
</div>
<!-- <input id="copyid" style="display: none;"> -->
<div class="new-name-box">
<div class="new-title">看板名称</div>
<input type="text" class="newname-txt" id="newname-txt"/>
</div>
<div class="new-tab-box">
<div class="new-title">添加至</div>
<div class="new-tab">
<div class="tabdata" id='newkanban' onclick="tabdata('newkanban','new')">我的看板</div>
<div id='newkongjian' onclick="tabdata('newkongjian','new')">项目空间</div>
</div>
</div>
<div class="new-txt-box">
<input type="text" class="justAnotherInputBox1" placeholder=""/>
<input type="text" class="justAnotherInputBox2" placeholder=""/>
</div>
<!-- <div class="new-tishi"> <img src="./static/img/capytishi.png"/> 复制看板将同时复制看板内的报表 </div> -->
<div class="new-but-box">
<div class="new-qx" id="new-qx">取消</div>
<div class="new-qd" id="new-qd">确定</div>
</div>
</div>
</div>
<!-- 新建文件夹 -->
<div class="newwenjian-bg">
<div class="newwenjian-box">
<div class="newwenjian-top">
<p>新建文件夹</p>
<img src="./static/img/cha.png" id="newwenjian-cha"/>
</div>
<!-- <input id="copyid" style="display: none;"> -->
<div class="newwenjian-name-box">
<div class="newwenjian-title">文件夹名称</div>
<input type="text" class="newwenjianname-txt" id="newwenjianname-txt"/>
</div>
<div class="newwenjian-tab-box">
<div class="newwenjian-title">添加至</div>
<div class="newwenjian-tab">
<div class="tabdata" id='newwenjiankanban' onclick="tabdata('newwenjiankanban','newwenjian')">我的看板</div>
<div id='newwenjiankongjian' onclick="tabdata('newwenjiankongjian','newwenjian')">项目空间</div>
</div>
</div>
<div class="newwenjian-txt-box">
<input type="text" class="justAnotherInputBox1" placeholder="" style="display: none;"/>
<input type="text" class="justAnotherInputBox2" placeholder=""/>
</div>
<!-- <div class="new-tishi"> <img src="./static/img/capytishi.png"/> 复制看板将同时复制看板内的报表 </div> -->
<div class="newwenjian-but-box">
<div class="newwenjian-qx" id="newwenjian-qx">取消</div>
<div class="newwenjian-qd" id="newwenjian-qd">确定</div>
</div>
</div>
</div>
<!-- <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> -->
<script src="./srczip/echarts.min.js"></script>
<script src="./layui/layui.js"></script>
<script src="./srczip/doT.js"></script>
<script src="./srczip/puble.js"></script>
<script src="./srczip//icontains.js" type="text/javascript"></script>
<script src="./srczip//comboTreePlugin.js" type="text/javascript"></script>
<script type="text/x-dot-template" id="mykanban-dot">
{{ for(var i=0, catlen=it.length; i<catlen; i++) { }}
{{? it[i]['type'] == 'ordinary'}}
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban"> <img src="./static/img/wenjian.png"/>{{= it[i].title}}</a>
{{ for(var j=0, goodslen=it[i]['Category'].length; j<goodslen; j++) { }}
<dl class="layui-nav-child">
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second category">{{= it[i]['Category'][j].title}} <img src="./static/img/gengduo.png" onclick="TabOperation(this,'kanban','{{= it[i]['Category'][j].id}}','{{= it[i]['Category'][j].title}}')" alt=""> </a></dd>
</dl>
{{ } }}
</li>
{{??}}
<li class="layui-nav-item">
<a href="javascript:;" style="display:flex;" class="fontcolor mykanban kanbanwenjian category"> <img class="wenjian" src="./static/img/wenjian.png"/>{{= it[i].title}} <img class='kanbanwenjianimg' src="./static/img/gengduo.png" onclick="TabOperation(this,'wenjian','{{= it[i].id}}','{{= it[i].title}}')"/></a>
{{ for(var j=0, goodslen=it[i]['Category'].length; j<goodslen; j++) { }}
<dl class="layui-nav-child">
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second category">{{= it[i]['Category'][j].title}} <img src="./static/img/gengduo.png" onclick="TabOperation(this,'kanban','{{= it[i]['Category'][j].id}}','{{= it[i]['Category'][j].title}}')" alt=""> </a></dd>
</dl>
{{ } }}
</li>
{{?}}
{{ } }}
</script>
<script type="text/x-dot-template" id="kongjian-dot">
{{ for(var i=0, catlen=it.length; i<catlen; i++) { }}
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban category xiangmukongjian"> <i class="layui-icon layui-icon-template-1"></i> {{= it[i].title}} <img src="./static/img/renyuan.png"/></a>
<dl class="layui-nav-child">
{{ for(var j=0, goodslen=it[i]['Category'].length; j<goodslen; j++) { }}
{{? it[i]['Category'][j]['type'] == 'file'}}
<li class="layui-nav-item">
<a href="javascript:;" class="fontcolor mykanban second category xiangmukongjian"> <i class="layui-icon layui-icon-file-b"></i> {{= it[i]['Category'][j].title}} <img src="./static/img/gengduo.png" onclick="TabOperation(this,'wenjian','{{= it[i]['Category'][j].id}}','{{= it[i]['Category'][j].title}}')"/></a>
<dl class="layui-nav-child">
{{ for(var z=0, menu_list=it[i]['Category'][j]['Category'].length; z<menu_list; z++) { }}
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second3 category">{{= it[i]['Category'][j]['Category'][z]['title'] }} <img src="./static/img/gengduo.png" onclick="TabOperation(this,'kanban','{{= it[i]['Category'][j]['Category'][z]['id']}}','{{= it[i]['Category'][j]['Category'][z]['title'] }}')" alt=""></a></dd>
{{ } }}
</dl>
</li>
{{??}}
<dd class="layui-left-dd"><a href="javascript:;" class="fontcolor second category">{{= it[i]['Category'][j].title}} <img src="./static/img/gengduo.png" onclick="TabOperation(this,'baobiao','{{= it[i]['Category'][j].id}}','{{= it[i]['Category'][j].title}}')" alt=""></a></dd>
{{?}}
{{ } }}
</dl>
</li>
{{ } }}
</script>
<script>
//一般直接写在一个js文件中
layui.use(['element','table','form', 'layedit', 'laydate'], function(){
var element = layui.element,
table = layui.table,
form = layui.form
,layer = layui.layer
,layedit = layui.layedit
,laydate = layui.laydate;
table.render({
elem: '#test'
,url:'http://10.0.0.7:6789/'
,cellMinWidth: 80 //全局定义常规单元格的最小宽度layui 2.2.1 新增
,cols: [[
{field:'id', width:80, title: 'ID', sort: true}
,{field:'username', width:80, title: '用户名'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', title: '签名', width: '30%', minWidth: 100} //minWidth局部定义当前单元格的最小宽度layui 2.2.1 新增
,{field:'experience', title: '积分', sort: true}
,{field:'score', title: '评分', sort: true}
,{field:'classify', title: '职业'}
,{field:'wealth', width:137, title: '财富', sort: true}
]]
});
});
SidebarDataFill();
function SidebarDataFill(){
tmpltxt=doT.template(document.getElementById("mykanban-dot").innerHTML);//生成模板方法
document.getElementById("mykanban").innerHTML=tmpltxt(KanBanData);//数据渲染
tmpltxt=doT.template(document.getElementById("kongjian-dot").innerHTML);//生成模板方法
document.getElementById("kongjian").innerHTML=tmpltxt(ProjectData);//数据渲染
}
// $.ajax({
// type : "GET",
// async : false,
// url : "http://10.0.0.7:6789/?page=1&limit=10",
// //dataType : "jsonp",//数据类型为jsonp
// //jsonp : "jsonpCallback",//服务端用于接收callback调用的function名的参数
// success : function(data) {
// alert(data["userName"]);
// },
// error : function() {
// // alert('fail');
// }
// });
var myChart = echarts.init(document.getElementById('charts'));
var option = {
grid: {
left: '0',
right: '0',
bottom: '0',
top: '3%',
containLabel: true
},
xAxis: {
type: 'category',
data: ['02/22', '02/26', '03/02', '03/06', '03/10', '03/14', '03/18','03/22'],
splitLine: {
show:false
},
axisLabel: {
textStyle:{
color: '#42546d'
},
},
axisLine: {
lineStyle: {
color: '#e8eefd',
width: 1, //这里是为了突出显示加上的
}
},
},
yAxis: {
type: 'value',
axisTick:{ //y轴刻度线
show:false
},
splitLine: {
show:true,
lineStyle:{
color: ['#e8eefd'],
width: 1,
type: 'solid'
}
},
axisLine:{ //y轴
show:false
},
axisLabel: {
show: true,
textStyle: {
color:'#42546d'
}
},
},
series: [{
data: [150, 230, 224, 218, 135, 147, 260,530],
type: 'line',
itemStyle: {
normal: {
color: '#219af2', //改变折线点的颜色
lineStyle: {
color: '#219af2' //改变折线颜色
}
}
},
}]
};
myChart.setOption(option);
</script>
</body>
</html>

60
web/index.php Normal file
View File

@ -0,0 +1,60 @@
<?php
function getFileList($dir){
$list = glob($dir);
return $list;
}
function setFile($filename, $writetext, $openmod='w') {
if(@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
return false;
}
}
function getFile($filename,$clearBOM=1){
$content = '';
if(function_exists('file_get_contents')) {
@$content = file_get_contents($filename);
} else {
if(@$fp = fopen($filename, 'r')) {
@$content = fread($fp, filesize($filename));
@fclose($fp);
}
}
//清除BOM信息
if($clearBOM==1){
$charset[1]=substr($content, 0, 1);
$charset[2]=substr($content, 1, 1);
$charset[3]=substr($content, 2, 1);
if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {
$content=substr($content,3);
}
}
return $content;
}
function main(){
$list = array("srczip/common.js");
$base = getFileList('srczip/base/*.js');
asort($base);
$list = array_merge($list,$base);
$js = getFileList('srczip/logic/*.js');
asort($js);
$list = array_merge($list,$js);
$jsCont = array();
foreach($list as $file){
$jsCont[] = "// {$file}";
$jsCont[] = getFile($file);
}
setFile('src/x.min.js',implode("\n",$jsCont));
echo file_get_contents('main.html');
}
main();
?>

1
web/layui/css/layui.css Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
web/layui/font/iconfont.eot Normal file

Binary file not shown.

554
web/layui/font/iconfont.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 299 KiB

BIN
web/layui/font/iconfont.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

17982
web/layui/layui.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,439 @@
/*!
* jQuery ComboTree Plugin
* Author: Erhan FIRAT
* Mail: erhanfirat@gmail.com
* Licensed under the MIT license
* Version: 1.1
*/
;(function ( $, window, document, undefined ) {
// Create the defaults once
var comboTreePlugin = 'comboTree',
defaults = {
source: [],
isMultiple: false
};
// The actual plugin constructor
function ComboTree( element, options ) {
this.elemInput = element;
this._elemInput = $(element);
this.options = $.extend( {}, defaults, options) ;
this._defaults = defaults;
this._name = comboTreePlugin;
this.init();
}
ComboTree.prototype.init = function () {
// Setting Doms
this.comboTreeId = 'comboTree' + Math.floor(Math.random() * 999999);
this._elemInput.addClass('comboTreeInputBox');
if (this._elemInput.attr('id') === undefined)
this._elemInput.attr('id', this.comboTreeId + 'Input');
this.elemInputId = this._elemInput.attr('id');
this._elemInput.wrap('<div id="'+ this.comboTreeId + 'Wrapper" class="comboTreeWrapper"></div>');
this._elemInput.wrap('<div id="'+ this.comboTreeId + 'InputWrapper" class="comboTreeInputWrapper"></div>');
this._elemWrapper = $('#' + this.comboTreeId + 'Wrapper');
this._elemArrowBtn = $('<button id="' + this.comboTreeId + 'ArrowBtn" class="comboTreeArrowBtn"><span class="comboTreeArrowBtnImg"></span></button>');
this._elemInput.after(this._elemArrowBtn);
this._elemWrapper.append('<div id="' + this.comboTreeId + 'DropDownContainer" class="comboTreeDropDownContainer"><div class="comboTreeDropDownContent"></div>');
// DORP DOWN AREA
this._elemDropDownContainer = $('#' + this.comboTreeId + 'DropDownContainer');
this._elemDropDownContainer.html(this.createSourceHTML());
this._elemItems = this._elemDropDownContainer.find('li');
this._elemItemsTitle = this._elemDropDownContainer.find('span.comboTreeItemTitle');
// VARIABLES
this._selectedItem = {};
this._selectedItems = [];
this.bindings();
};
// *********************************
// SOURCES CODES
// *********************************
ComboTree.prototype.removeSourceHTML = function () {
this._elemDropDownContainer.html('');
};
ComboTree.prototype.createSourceHTML = function () {
var sourceHTML = '';
if (this.options.isMultiple)
sourceHTML = this.createFilterHTMLForMultiSelect();
sourceHTML += this.createSourceSubItemsHTML(this.options.source);
return sourceHTML;
};
ComboTree.prototype.createFilterHTMLForMultiSelect = function (){
return '<input id="' + this.comboTreeId + 'MultiFilter" type="text" class="multiplesFilter" placeholder="Type to filter"/>';
}
ComboTree.prototype.createSourceSubItemsHTML = function (subItems) {
var subItemsHtml = '<UL>';
for (var i=0; i<subItems.length; i++){
subItemsHtml += this.createSourceItemHTML(subItems[i]);
}
subItemsHtml += '</UL>'
return subItemsHtml;
}
ComboTree.prototype.createSourceItemHTML = function (sourceItem) {
var itemHtml = "",
isThereSubs = sourceItem.hasOwnProperty("children");
itemHtml = '<LI class="ComboTreeItem' + (isThereSubs?'Parent':'Chlid') + '"> ';
if (isThereSubs)
itemHtml += '<span class="comboTreeParentPlus">&minus;</span>';
if (this.options.isMultiple)
itemHtml += '<span data-id="' + sourceItem.id + '" class="comboTreeItemTitle"><input type="checkbox">' + sourceItem.title + '</span>';
else
itemHtml += '<span data-id="' + sourceItem.id + '" class="comboTreeItemTitle">' + sourceItem.title + '</span>';
if (isThereSubs)
itemHtml += this.createSourceSubItemsHTML(sourceItem.children);
itemHtml += '</LI>';
return itemHtml;
};
// BINDINGS
// *****************************
ComboTree.prototype.bindings = function () {
var _this = this;
this._elemArrowBtn.on('click', function(e){
e.stopPropagation();
_this.toggleDropDown();
});
this._elemInput.on('click', function(e){
e.stopPropagation();
if (!_this._elemDropDownContainer.is(':visible'))
_this.toggleDropDown();
});
this._elemItems.on('click', function(e){
e.stopPropagation();
if ($(this).hasClass('ComboTreeItemParent')){
_this.toggleSelectionTree(this);
}
});
this._elemItemsTitle.on('click', function(e){
e.stopPropagation();
if (_this.options.isMultiple)
_this.multiItemClick(this);
else
_this.singleItemClick(this);
});
this._elemItemsTitle.on("mousemove", function (e) {
e.stopPropagation();
_this.dropDownMenuHover(this);
});
// KEY BINDINGS
this._elemInput.on('keyup', function(e) {
e.stopPropagation();
switch (e.keyCode) {
case 27:
_this.closeDropDownMenu(); break;
case 13:
case 39: case 37: case 40: case 38:
e.preventDefault();
break;
default:
if (!_this.options.isMultiple)
_this.filterDropDownMenu();
break;
}
});
if (_this.options.isMultiple) {
$("#" + _this.comboTreeId + "MultiFilter").on('keyup', function(e) {
e.stopPropagation();
switch (e.keyCode) {
case 27:
$(this).val(''); _this.filterDropDownMenu(); break;
default:
_this.filterDropDownMenu();
break;
}
});
}
this._elemInput.on('keydown', function(e) {
e.stopPropagation();
switch (e.keyCode) {
case 9:
_this.closeDropDownMenu(); break;
case 40: case 38:
e.preventDefault();
_this.dropDownInputKeyControl(e.keyCode - 39); break;
case 37: case 39:
e.preventDefault();
_this.dropDownInputKeyToggleTreeControl(e.keyCode - 38);
break;
case 13:
if (_this.options.isMultiple)
_this.multiItemClick(_this._elemHoveredItem);
else
_this.singleItemClick(_this._elemHoveredItem);
e.preventDefault();
break;
default:
if (_this.options.isMultiple)
e.preventDefault();
}
});
// ON FOCUS OUT CLOSE DROPDOWN
$(document).on('mouseup.' + _this.comboTreeId, function (e){
if (!_this._elemWrapper.is(e.target) && _this._elemWrapper.has(e.target).length === 0 && _this._elemDropDownContainer.is(':visible'))
_this.closeDropDownMenu();
});
};
// EVENTS HERE
// ****************************
// DropDown Menu Open/Close
ComboTree.prototype.toggleDropDown = function () {
this._elemDropDownContainer.slideToggle(50);
this._elemInput.focus();
};
ComboTree.prototype.closeDropDownMenu = function () {
this._elemDropDownContainer.slideUp(50);
};
// Selection Tree Open/Close
ComboTree.prototype.toggleSelectionTree = function (item, direction) {
var subMenu = $(item).children('ul')[0];
if (direction === undefined){
if ($(subMenu).is(':visible'))
$(item).children('span.comboTreeParentPlus').html("+");
else
$(item).children('span.comboTreeParentPlus').html("&minus;");
$(subMenu).slideToggle(50);
}
else if (direction == 1 && !$(subMenu).is(':visible')){
$(item).children('span.comboTreeParentPlus').html("&minus;");
$(subMenu).slideDown(50);
}
else if (direction == -1){
if ($(subMenu).is(':visible')){
$(item).children('span.comboTreeParentPlus').html("+");
$(subMenu).slideUp(50);
}
else {
this.dropDownMenuHoverToParentItem(item);
}
}
};
// SELECTION FUNCTIONS
// *****************************
ComboTree.prototype.singleItemClick = function (ctItem) {
this._selectedItem = {
id: $(ctItem).attr("data-id"),
title: $(ctItem).text()
};
this.refreshInputVal();
this.closeDropDownMenu();
};
ComboTree.prototype.multiItemClick = function (ctItem) {
this._selectedItem = {
id: $(ctItem).attr("data-id"),
title: $(ctItem).text()
};
var index = this.isItemInArray(this._selectedItem, this._selectedItems);
if (index){
this._selectedItems.splice(parseInt(index), 1);
$(ctItem).find("input").prop('checked', false);
}
else {
this._selectedItems.push(this._selectedItem);
$(ctItem).find("input").prop('checked', true);
}
this.refreshInputVal();
};
ComboTree.prototype.isItemInArray = function (item, arr) {
for (var i=0; i<arr.length; i++)
if (item.id == arr[i].id && item.title == arr[i].title)
return i + "";
return false;
}
ComboTree.prototype.refreshInputVal = function () {
var tmpTitle = "";
if (this.options.isMultiple) {
for (var i=0; i<this._selectedItems.length; i++){
tmpTitle += this._selectedItems[i].title;
if (i<this._selectedItems.length-1)
tmpTitle += ", ";
}
}
else {
tmpTitle = this._selectedItem.title;
}
this._elemInput.val(tmpTitle);
}
ComboTree.prototype.dropDownMenuHover = function (itemSpan, withScroll) {
this._elemItems.find('span.comboTreeItemHover').removeClass('comboTreeItemHover');
$(itemSpan).addClass('comboTreeItemHover');
this._elemHoveredItem = $(itemSpan);
if (withScroll)
this.dropDownScrollToHoveredItem(this._elemHoveredItem);
}
ComboTree.prototype.dropDownScrollToHoveredItem = function (itemSpan) {
var curScroll = this._elemDropDownContainer.scrollTop();
this._elemDropDownContainer.scrollTop(curScroll + $(itemSpan).parent().position().top - 80);
}
ComboTree.prototype.dropDownMenuHoverToParentItem = function (item) {
var parentSpanItem = $($(item).parents('li.ComboTreeItemParent')[0]).children("span.comboTreeItemTitle");
if (parentSpanItem.length)
this.dropDownMenuHover(parentSpanItem, true);
else
this.dropDownMenuHover(this._elemItemsTitle[0], true);
}
ComboTree.prototype.dropDownInputKeyToggleTreeControl = function (direction) {
var item = this._elemHoveredItem;
if ($(item).parent('li').hasClass('ComboTreeItemParent'))
this.toggleSelectionTree($(item).parent('li'), direction);
else if (direction == -1)
this.dropDownMenuHoverToParentItem(item);
}
ComboTree.prototype.dropDownInputKeyControl = function (step) {
if (!this._elemDropDownContainer.is(":visible"))
this.toggleDropDown();
var list = this._elemItems.find("span.comboTreeItemTitle:visible");
i = this._elemHoveredItem?list.index(this._elemHoveredItem) + step:0;
i = (list.length + i) % list.length;
this.dropDownMenuHover(list[i], true);
},
ComboTree.prototype.filterDropDownMenu = function () {
var searchText = '';
if (!this.options.isMultiple)
searchText = this._elemInput.val();
else
searchText = $("#" + this.comboTreeId + "MultiFilter").val();
if (searchText != ""){
this._elemItemsTitle.hide();
this._elemItemsTitle.siblings("span.comboTreeParentPlus").hide();
list = this._elemItems.find("span:icontains('" + searchText + "')").each(function (i, elem) {
$(this).show();
$(this).siblings("span.comboTreeParentPlus").show();
});
}
else{
this._elemItemsTitle.show();
this._elemItemsTitle.siblings("span.comboTreeParentPlus").show();
}
}
// Retuns Array (multiple), Integer (single), or False (No choice)
ComboTree.prototype.getSelectedItemsId = function () {
if (this.options.isMultiple && this._selectedItems.length>0){
var tmpArr = [];
for (i=0; i<this._selectedItems.length; i++)
tmpArr.push(this._selectedItems[i].id);
return tmpArr;
}
else if (!this.options.isMultiple && this._selectedItem.hasOwnProperty('id')){
return this._selectedItem.id;
}
return false;
}
// Retuns Array (multiple), Integer (single), or False (No choice)
ComboTree.prototype.getSelectedItemsTitle = function () {
if (this.options.isMultiple && this._selectedItems.length>0){
var tmpArr = [];
for (i=0; i<this._selectedItems.length; i++)
tmpArr.push(this._selectedItems[i].title);
return tmpArr;
}
else if (!this.options.isMultiple && this._selectedItem.hasOwnProperty('id')){
return this._selectedItem.title;
}
return false;
}
ComboTree.prototype.unbind = function () {
this._elemArrowBtn.off('click');
this._elemInput.off('click');
this._elemItems.off('click');
this._elemItemsTitle.off('click');
this._elemItemsTitle.off("mousemove");
this._elemInput.off('keyup');
this._elemInput.off('keydown');
this._elemInput.off('mouseup.' + this.comboTreeId);
$(document).off('mouseup.' + this.comboTreeId);
}
ComboTree.prototype.destroy = function () {
this.unbind();
this._elemWrapper.before(this._elemInput);
this._elemWrapper.remove();
this._elemInput.removeData('plugin_' + comboTreePlugin);
}
$.fn[comboTreePlugin] = function (options) {
var ctArr = [];
this.each(function () {
if (!$.data(this, 'plugin_' + comboTreePlugin)) {
$.data(this, 'plugin_' + comboTreePlugin, new ComboTree( this, options));
ctArr.push($(this).data()['plugin_' + comboTreePlugin]);
}
});
if (this.length == 1)
return ctArr[0];
else
return ctArr;
}
})( jQuery, window, document );

View File

@ -0,0 +1,432 @@
.daterangepicker {
position: absolute;
color: inherit;
background-color: #fff;
border-radius: 4px;
border: 1px solid #ddd;
width: 278px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 9999999;
display: none;
font-family: arial;
font-size: 15px;
line-height: 1em;
}
.btn-default {
background-color: #fff;
border: 1px solid #828080;
border-radius: 3px;
cursor: pointer;
}
.btn-primary {
background-color: #3d90ff;
border: 1px solid #3d90ff;
border-radius: 3px;
color: #fff;
cursor: pointer;
font-size: 14px;
}
.btn-primary:hover{
background-color: #357ebd;
}
.daterangepicker:before, .daterangepicker:after {
position: absolute;
display: inline-block;
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
.daterangepicker:before {
top: -7px;
border-right: 7px solid transparent;
border-left: 7px solid transparent;
border-bottom: 7px solid #ccc;
}
.daterangepicker:after {
top: -6px;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-left: 6px solid transparent;
}
.daterangepicker.opensleft:before {
right: 9px;
}
.daterangepicker.opensleft:after {
right: 10px;
}
.daterangepicker.openscenter:before {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
.daterangepicker.openscenter:after {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
.daterangepicker.opensright:before {
left: 9px;
}
.daterangepicker.opensright:after {
left: 10px;
}
.daterangepicker.drop-up {
margin-top: -7px;
}
.daterangepicker.drop-up:before {
top: initial;
bottom: -7px;
border-bottom: initial;
border-top: 7px solid #ccc;
}
.daterangepicker.drop-up:after {
top: initial;
bottom: -6px;
border-bottom: initial;
border-top: 6px solid #fff;
}
.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
float: none;
}
.daterangepicker.single .drp-selected {
display: none;
}
.daterangepicker.show-calendar .drp-calendar {
display: block;
}
.daterangepicker.show-calendar .drp-buttons {
display: block;
}
.daterangepicker.auto-apply .drp-buttons {
display: none;
}
.daterangepicker .drp-calendar {
display: none;
max-width: 270px;
}
.daterangepicker .drp-calendar.left {
padding: 8px 0 8px 8px;
}
.daterangepicker .drp-calendar.right {
padding: 8px;
}
.daterangepicker .drp-calendar.single .calendar-table {
border: none;
}
.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
color: #fff;
border: solid #3d90ff;
border-width: 0 2px 2px 0;
border-radius: 0;
display: inline-block;
padding: 3px;
}
.daterangepicker .calendar-table .next span {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.daterangepicker .calendar-table .prev span {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
white-space: nowrap;
text-align: center;
vertical-align: middle;
min-width: 32px;
width: 32px;
height: 24px;
line-height: 24px;
font-size: 12px;
border-radius: 4px;
border: 1px solid transparent;
white-space: nowrap;
cursor: pointer;
}
.daterangepicker .calendar-table {
border: 1px solid #fff;
border-radius: 4px;
background-color: #fff;
}
.daterangepicker .calendar-table table {
width: 100%;
margin: 0;
border-spacing: 0;
border-collapse: collapse;
}
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #eee;
border-color: transparent;
color: inherit;
}
.daterangepicker td.week, .daterangepicker th.week {
font-size: 80%;
color: #ccc;
}
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #fff;
border-color: transparent;
color: #999;
}
.daterangepicker td.in-range {
background-color: rgba(89, 120, 249, 0.1);
border-color: transparent;
color: #323234;
border-radius: 0;
}
.daterangepicker td.start-date {
border-radius: 4px 0 0 4px;
}
.daterangepicker td.end-date {
border-radius: 0 4px 4px 0;
}
.daterangepicker td.start-date.end-date {
border-radius: 4px;
}
.daterangepicker td.active, .daterangepicker td.active:hover {
background-color: rgba(89, 120, 249, 1);
border-color: transparent;
color: #fff;
}
.daterangepicker th.month {
width: auto;
}
.daterangepicker td.disabled, .daterangepicker option.disabled {
color: #999;
cursor: not-allowed;
text-decoration: line-through;
}
.daterangepicker select.monthselect, .daterangepicker select.yearselect {
font-size: 12px;
padding: 1px;
height: auto;
margin: 0;
cursor: default;
}
.daterangepicker select.monthselect {
margin-right: 2%;
width: 56%;
}
.daterangepicker select.yearselect {
width: 40%;
}
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
width: 50px;
margin: 0 auto;
background: #eee;
border: 1px solid #eee;
padding: 2px;
outline: 0;
font-size: 12px;
}
.daterangepicker .calendar-time {
text-align: center;
margin: 4px auto 0 auto;
line-height: 30px;
position: relative;
}
.daterangepicker .calendar-time select.disabled {
color: #ccc;
cursor: not-allowed;
}
.daterangepicker .drp-buttons {
clear: both;
text-align: right;
padding: 8px;
border-top: 1px solid #ddd;
display: none;
line-height: 12px;
vertical-align: middle;
}
.daterangepicker .drp-selected {
display: inline-block;
font-size: 12px;
padding-right: 8px;
}
.daterangepicker .drp-buttons .btn {
margin-left: 8px;
font-size: 14px;
/* font-weight: bold; */
padding: 0px 16px;
height: 32px;
line-height: 30px;
}
.daterangepicker.show-ranges.single.rtl .drp-calendar.left {
border-right: 1px solid #ddd;
}
.daterangepicker.show-ranges.single.ltr .drp-calendar.left {
border-left: 1px solid #ddd;
}
.daterangepicker.show-ranges.rtl .drp-calendar.right {
border-right: 1px solid #ddd;
}
.daterangepicker.show-ranges.ltr .drp-calendar.left {
border-left: 1px solid #ddd;
}
.daterangepicker .ranges {
float: none;
text-align: left;
margin: 0;
}
.daterangepicker.show-calendar .ranges {
margin-top: 8px;
}
.daterangepicker .ranges ul {
list-style: none;
margin: 0 auto;
padding: 0;
width: 100%;
height: 220px;
overflow-y: scroll;
}
.daterangepicker .ranges li {
font-size: 12px;
padding: 8px 12px;
cursor: pointer;
}
.daterangepicker .ranges li:hover {
background-color: #eee;
}
.daterangepicker .ranges li.active {
background-color: rgba(89, 120, 249, 0.5);
color: #323234;
}
/* Larger Screen Styling */
@media (min-width: 564px) {
.daterangepicker {
width: auto;
}
.daterangepicker .ranges ul {
width: 140px;
}
.daterangepicker.single .ranges ul {
width: 100%;
}
.daterangepicker.single .drp-calendar.left {
clear: none;
}
.daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {
float: left;
}
.daterangepicker {
direction: ltr;
text-align: left;
}
.daterangepicker .drp-calendar.left {
clear: left;
margin-right: 0;
}
.daterangepicker .drp-calendar.left .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.daterangepicker .drp-calendar.right {
margin-left: 0;
}
.daterangepicker .drp-calendar.right .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.daterangepicker .drp-calendar.left .calendar-table {
padding-right: 8px;
}
.daterangepicker .ranges, .daterangepicker .drp-calendar {
float: left;
}
}
@media (min-width: 730px) {
.daterangepicker .ranges {
width: auto;
}
.daterangepicker .ranges {
float: left;
}
.daterangepicker.rtl .ranges {
float: right;
}
.daterangepicker .drp-calendar.left {
clear: none !important;
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/** layui-v2.5.7 MIT License */
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

278
web/layui__/css/style.css Normal file
View File

@ -0,0 +1,278 @@
.layui-project { position:absolute; top: 0; left: 80px;}
.layui-nav-bar { width: 0px !important; height: 0px !important; }
.fontcolor { color: #42546d !important;}
.layui-left-dd img { width: 20px; margin-right: 8px; }
.layui-left-dd:hover { background-color: #f6f8fa; }
.layui-left-dd a:hover { color: #3d90ff !important; }
.souduo { padding: 0 15px; height: 35px; line-height: 35px !important; cursor:pointer;}
.souduo:hover { background-color: #3f4979; color: rgba(255,255,255,1); }
.qvjiantou span { display: none; }
.sousuo-box { width: 254px; margin: 0px 8px; padding: 15px 0px; display: flex; justify-content: space-between; align-items: center; }
.sousuo { display: flex; align-items: center;}
.sousuo img { width: 16px; height: 16px; margin-right: 8px;}
.sousuo input { border: 0px; width: 144px; height: 30px; line-height: 30px; }
.kbgl { width: 18px; cursor:pointer;}
.chuangjian { width: 24px; cursor: pointer; height: 24px; text-align: center; line-height: 24px; color: #ffffff; background-color: #3d90ff; font-size: 18px; margin-left: 8px; }
.chuangjian:hover { background-color: #4fa1ff; }
.tab-box { background-color: #ffffff; padding: 15px 0; display: flex; justify-content: space-between; align-items: center; }
.tab-tit { font-size: 18px; color: #202d3f; height: 30px; line-height: 30px; margin-left: 16px; }
.tab-right-box { display: flex; justify-content: space-around; align-items: center; }
.img-box img{ width: 16px; }
.img-box { width: 24px; height: 24px; text-align: center; line-height: 24px; margin-right: 16px; cursor:pointer;}
.img-box:hover { background-color: #f1f8ff; }
.baobiao img{ width: 16px; }
.baobiao { width: 24px; height: 24px; background-color: #3d90ff; text-align: center; line-height: 24px; margin-right: 16px; cursor:pointer;}
.layui-card:hover { box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); }
.row-top { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px 10px;}
.row-tit { display: flex; align-items: center; max-width: calc(100% - 100px)}
.row-tit p { font-size: 16px; font-weight: 500; color: #202d3f; white-space: nowrap; }
.row-tit p a { color: #202d3f; }
.row-tit p a:hover { color: #4fa1ff; }
.tishi { width: 24px; height: 24px; line-height: 24px; text-align: center; margin-left: 6px; transition: all .3s; cursor: pointer; border-radius: 2px; }
.tishi:hover { background-color: #f0f2f5; }
.action-box { display: flex; margin-left: 6px; }
.condition-box { padding: 0 24px; display: flex; justify-content: space-between; align-items: center;}
.time-cond { display: flex; align-items: center; font-size: 12px; line-height: 24px; color: #67729d;}
.time-cond span { min-width: 20px; height: 24px; line-height: 24px; margin-right: 8px; cursor: pointer }
.time-cond div { width: 1px; height: 8px; background-color: #f0f0f0; margin-right: 8px; }
.chart { cursor: pointer; }
.chart span { font-size: 12px; color: #67729d; margin-left: 4px; }
.dqtime { padding: 0 24px; color: #67729d; font-size: 12px; margin-top: 12px; }
.sanjiao { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 3px solid #00bf74; margin: 0 8px; }
.proportion-data { display: flex; align-items: center; font-size: 12px; color: #42546d; }
.proportion-data span {color: #00bf74;}
.data-box { display: flex; justify-content: space-between; align-items: center; margin-top: 5px;}
.data-num { margin-left: 24px; font-size: 40px;color: #202d3f; }
.data-num span { font-size: 12px; color: #42546d; margin-left: 4px; }
.proportion { margin-left: 16px; }
.thesum-box { font-size: 12px; color: #202d3f; }
.thesum-box span { font-size: 20px; color: #202d3f; margin-left: 8px; margin-right: 4px; }
.thesum { margin-right: 24px; }
.echarts-box { padding: 0 24px; margin-top: 10px; height: 204px; }
.layui-card:last-child { padding-bottom: 12px; }
.echarts { width: 100%; height: 204px; }
.control { display: none; }
.table-box { padding: 0 24px; margin-top: 10px; height: 283px; }
.layui-table-body { height: 242px; overflow: auto; }
/* 搜索 */
.mask_box { display: none; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); position: fixed; top: 0; z-index: 99999; }
.search_pop { display: none; max-width: 800px; z-index: 9999999; border-radius: 2px; width: 90%; position: absolute; margin: 0 auto; top: 150px; left: 0; right: 0; background-color: #ffffff;}
.search_top { padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; }
.search_left { display: flex; align-items: center; justify-content: flex-start; }
.zhanghu_box { display:inline-block; min-width: 40px; color: #67729d; height: 28px; padding: 0 6px; font-size: 13px; line-height: 30px; white-space: nowrap; vertical-align: top; background-color: #f0f2f5; border: 1px solid #f0f2f5; border-radius: 2px; cursor: pointer; transition: all .3s; }
.zhanghu_box:hover { background-color:#ffffff; border-color: #4fa1ff; }
.zhanghu_box img { position: relative; top: -2px; }
.judge_box { margin-left: 4px; padding: 0 6px; color: #67729d; height: 28px; line-height: 30px; border:1px solid #f0f2f5; background-color: #f0f2f5; border-radius: 2px; cursor: pointer; }
.judge_box:hover { background-color:#ffffff; border-color: #4fa1ff; }
.search_txt { margin-left: 4px; padding: 0 4px; max-width: 120px; border-radius: 2px; background-color: #f0f2f5; height: 28px; color: #67729d; font-size: 13px; line-height: 30px; border: 1px solid #f0f2f5; }
.search_txt:hover { border: 1px solid #4fa1ff; }
.searcg_but { background-color:#3d90ff; border-color: #3d90ff; height: 32px; padding: 0 16px; font-weight: 400; font-size: 14px; line-height: 30px; text-shadow: none; text-align:center; cursor: pointer; border-radius: 4px; color: #ffffff;}
.search_data { color: #42546d; padding: 8px 32px 0 32px; border-top: 1px solid #d9d9d9; max-height: 460px; overflow-y: auto; }
.search_data_con { cursor: pointer; border-bottom:1px solid #ebebeb; display:flex; align-items: center; justify-content: space-between; height: 40px;}
.search_data_con:hover { background-color: #f7f9fc; }
.search_data_con:hover span { color: #3d90ff; }
.search_data_con img { position: relative; top: -2px; }
.more_data { margin-top: -1px; display: flex; align-items: center; justify-content: center; height: 50px; color: #3d90ff; font-size: 16px; border-top: 1px solid #d9d9d9; cursor: pointer; }
.judge_box_con { display: none; width: 150px; border-radius: 4px; color: #67729d; position: absolute; top: 45px; left: 92px; background-color: #ffffff;}
.judge_box_con div{ padding: 6px 6px; margin: 4px 6px 0 6px; cursor: pointer; }
.judge_box_con div:hover { background-color: #f0f2f5; }
.zhuanghu_xila { z-index: 9999999; width: 480px; height: 420px; position: fixed; border-radius: 2px; background-color: #ffffff; box-shadow: 0px 0px 20px #888888; }
.zhuanghu_ss img { width: 14px; height: 14px; }
.zhuanghu_ss { padding: 16px 16px 0 24px; display: flex; justify-content: space-between; align-items: center; }
.zhuanghu_ss input { width: 392px; color: #000; border: 0px; height: 30px; }
input::-webkit-input-placeholder{ color:#a7b5c3;}
.zhuang_tab_box { display: flex; justify-content: space-between; height: 32px; margin-top: 4px; padding: 0 16px; border-bottom: 1px solid #f0f0f0; }
.zhuang_tab { display: flex; align-items: center; }
.zhuang_tab span { color: #67729d; position: relative; margin-right: 16px; padding: 0 4px; font-size: 12px; line-height: 30px; cursor: pointer; }
.xian { width: 16px; height: 2px; background-color: #3d90ff; margin: 0 auto; }
.zhuang_conetnt { height: calc(100% - 100px); margin-top: 12px; padding: 0 8px; overflow-x: hidden; overflow-y: auto; }
.zhuang_conetnt_tit { position: sticky; top: 0; padding-left: 16px; line-height: 20px; background-color: #ffffff; }
.ta-pso-lines { display: flex; flex-wrap: wrap; width: 100%; padding: 8px 0 4px; }
.ta-pso-line { width: 100%; color: #202d3f; padding-left: 16px; margin-bottom: 4px; overflow: hidden; font-size: 13px; line-height: 28px; text-overflow: ellipsis; cursor: pointer; }
.ta-pso-line:hover { background-color: #f6f8fa; }
.zhezhao_bg { display: none; background-color: rgba(0, 0, 0, 0); width: 100%; height: 100%; position: fixed; top: 0; z-index: 99999; }
.newskanban_box { display: none; background-color: #ffffff; z-index: 99999; position: fixed; left: 238px; top: 103px; border-radius: 2px; }
.tant-dropdown { max-height: 280px; padding: 4px; overflow-y: auto; box-shadow: 0px 0px 20px #888888;margin:0; text-align: left; list-style-type: none; outline: none; }
.tant-dropdown li { padding: 4px 8px; color: #42546d; font-size: 13px; line-height: 22px; cursor: pointer; }
.tant-dropdown img { position: relative; top: -2px; }
.tant-dropdown span { margin-left: 6px; }
.tant-xian { width: 100%; height: 1px; background-color: #f0f0f0; margin: 4px 0; }
.tant-dropdown li:hover { background-color: #f6f8fa; }
.ant-drawer-content-wrapper {display: none; width: 0px; height: 100%; background-color: #ffffff; position: fixed; z-index: 9999; top: 0; color: #000; }
.zhanwei { height: 60px; }
.time-box { margin-left: 4px; padding: 0 8px; cursor: pointer; display: none; }
.time-box img{ width: 14px; height: 14px; position: relative; top: -1px; }
.time-box input { border: 0px; color: #42546d; font-size: 13px; cursor: pointer; margin-left: 3px;}
.qingkomg { display: none; }
.mykanban img{ width: 20px; }
.mykanban span { display: none; }
.second { text-indent: 1.6em; }
.second3 { text-indent: 3.2em; }
.category img { display: none; width: 16px; position: absolute; right: 20px; top: 11px; z-index: 999; }
.category2 img { width: 16px; position: absolute; right: 20px; top: 11px; z-index: 999; }
.classa img{ display: block; }
.classa { background-color: #f6f8fa !important; color: #3d90ff !important; }
/* .level img { display: none; width: 16px; position: absolute; right: 20px; top: 11px; } */
.onlevel img{ display: block; }
.wenjian { display: block !important; width: 20px !important; height: 20px !important; position: relative !important; right: 0px !important; top: 10px !important; z-index: 999; }
/* 导航操作弹窗 */
.TabOperation_box { display: none; background-color: #ffffff; font-size: 14px; position: fixed; z-index: 99999; box-shadow: 0px 0px 20px #888888; }
.TabOperation_box ul { max-height: 280px; padding: 4px; }
.TabOperation_box ul li { color: #42546d; padding: 4px 8px; min-width: 60px; clear: both; margin: 0; font-weight: 400; line-height: 22px; white-space:nowrap; cursor: pointer; }
.TabOperation_box ul li img { width: 16px; margin-right: 10px; }
.TabOperation_box ul li:hover { background-color: #f6f8fa; }
.layui-left-dd a:hover > img{ display: block; }
.kanbanwenjianimg { width: 16px; position: absolute; right: 20px; top: 11px; z-index: 999; }
.kanbanwenjian:hover > .kanbanwenjianimg { display: block; }
.xiangmukongjian:hover > img{ display: block; }
/* 修改看板名称 */
.modifyname-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.modifyname-box { width: 396px; height: 174px; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; background-color: #ffffff; border-radius: 2px; }
.modifyname-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.modifyname-top img { cursor: pointer; }
.modifyname-txt-box { height: 32px; padding: 10px 28px; }
.modifyname-txt { width: calc(100% - 16px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.modifyname-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 25px 28px 0 28px; }
.modifyname-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.modifyname-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.modifyname-qd { cursor: pointer; background-color: #1890ff; color: #ffffff; }
/* 移动看板 */
.yidong-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.yidong-box { width: 396px; height: 242px; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; background-color: #ffffff; border-radius: 2px; }
.yidong-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.yidong-top img { cursor: pointer; }
.yidong-txt-box { height: 32px; padding: 10px 28px; }
.yidong-txt { width: calc(100% - 16px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.yidong-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 25px 28px 0 28px; }
.yidong-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.yidong-qx {cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.yidong-qd {cursor: pointer; background-color: #1890ff; color: #ffffff; }
.yidong-tab-box { padding: 0 24px; display: flex; align-items: center; justify-content: flex-start; height: 48px; }
.yidong-tab { display: flex; border: 1px solid #d9d9d9; }
.yidong-tab div { cursor: pointer; font-size: 12px; text-align: center; width: 70px; height: 28px; line-height: 28px;}
.tabdata { background-color: #40a9ff; color: #ffffff; }
.comboTreeWrapper{position: relative;text-align: left !important;}
.comboTreeInputWrapper{position: relative;}
.comboTreeArrowBtn {position: absolute;right: 1px;bottom: 1px;top: 1px;box-sizing: border-box;border: none;border-left: 1px solid #c7c7c7;border-radius: 0 3px 3px 0;}
.comboTreeDropDownContainer {display: none;background: #fff;border: 1px solid #aaa;max-height: 250px;overflow-y: auto;position: absolute;width: 100%;box-sizing: border-box;z-index: 999;}
.comboTreeDropDownContainer ul{padding: 0px;margin: 0;}
.comboTreeDropDownContainer li{list-style-type: none;padding-left: 15px;cursor: pointer;}
.comboTreeDropDownContainer li:hover{background-color: #ddd;}
.comboTreeDropDownContainer li:hover ul{background-color: #fff;}
.comboTreeDropDownContainer li span.comboTreeItemTitle.comboTreeItemHover{background-color: #418EFF;color: #fff;}
span.comboTreeItemTitle{display: block;padding: 2px 4px;}
.comboTreeDropDownContainer label{cursor: pointer;width: 100%;display: block;}
.comboTreeDropDownContainer .comboTreeItemTitle input {position: relative;top: 2px;margin: 0px 4px 0px 0px;}
.comboTreeParentPlus{position: relative;left: -12px;top: 4px;width: 4px;float: left;}
.comboTreeInputBox {padding: 7px 5px;border-radius: 3px;border: 1px solid #d9d9d9;width: 100%;box-sizing: border-box;padding-right: 24px;}
.comboTreeArrowBtnImg{font-size: 10px;}
.multiplesFilter{width: 100%;padding: 5px;box-sizing: border-box;border-top: none;border-left: none;border-right: none;border-bottom: 1px solid #999;}
.justAnotherInputBox2{ display: none;}
/* 复制看板 */
/* 移动看板 */
.copy-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.copy-box { width: 396px; height: 314px; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; background-color: #ffffff; border-radius: 2px; }
.copy-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.copy-top img { cursor: pointer; }
.copy-txt-box { height: 32px; padding: 10px 28px 10px 114px; }
.copy-txt { width: calc(100% - 16px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.copy-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 25px 28px 0 28px; }
.copy-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.copy-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.copy-qd { cursor: pointer; background-color: #1890ff; color: #ffffff; }
.copy-tab-box { padding: 0 28px; display: flex; align-items: center; justify-content: flex-start; height: 48px; }
.copy-title { font-size: 13px; color: #607595; width: 70px; text-align: right; padding-right: 16px; }
.copy-tab { display: flex; border: 1px solid #d9d9d9; }
.copy-tab div { cursor: pointer; font-size: 12px; text-align: center; width: 70px; height: 28px; line-height: 28px;}
.copy-name-box { height: 32px; padding: 10px 28px; display: flex; align-items: center; justify-content: flex-start; }
.copyname-txt { width: calc(100% - 86px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.copy-tishi { margin-left: 114px; width: 205px; text-align: center; color: #607595; padding: 2px; font-size: 12px; background-color: #f1f8ff; }
/* 删除看板 */
.del-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.del-box { border-radius: 2px; width: 396px; height: 180px; background-color: #fff; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; }
.del-xinxi { padding: 36px 26px 0; }
.del-tit { font-size: 16px; margin-bottom: 8px; color: #42546d; font-weight: 500; }
.del-tit img { width: 22px; margin-right: 10px;}
.del-tishi { margin-bottom: 24px; padding-left: 32px; color: #607595; font-size: 13px; }
.del-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 46px 28px 0 28px; }
.del-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.del-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.del-qd { cursor: pointer; background-color: #ff5d5d; color: #ffffff; }
/* 控件设置 */
.kongjian-bg { display: block; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.kongjian-box { width: 396px; height: 500px; background-color: #fff; position: absolute; margin: auto; top: 0; left: 0; right: 0; bottom: 0;border-radius: 2px; }
.kongjian-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.kongjian-mc-box { margin-top: 10px; display: flex; justify-content: space-between; align-content:center; padding: 0 24px; }
.kongjian-mc-box span { width: 100px; line-height: 34px; padding-right: 24px; color: #42546d; }
.kongjian-mc-box input { width: 260px; height: 32px; padding: 0 8px; color: #42546d; font-size: 14px; line-height: 30px; border: 1px solid #f0f0f0; border-radius: 2px; }
.kongjian-tianjia { color: #3d90ff; line-height: 34px; padding: 0 8px; cursor: pointer; }
.kongjian-renyuan-box { margin-top: 6px; height: 260px; padding: 8px 8px 8px 16px; overflow-y: scroll; border-top: 1px solid #f0f0f0; }
.kongjian-but-box { border-top: 1px solid #f0f0f0; display: flex; justify-content: space-between; align-items: center; padding: 0 24px; }
.kongjian-cz a{ color: #666 !important; }
.kongjian-cz span { display: none; }
.kongjian-cz { padding: 0 !important; margin-top: 7px;}
.kongjian-cz li {line-height: 32px !important;}
.kongjian-but { display: flex; margin-top: 7px; }
.kongjian-but div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.kongjian-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.kongjian-qd { cursor: pointer; background-color: #1890ff; color: #ffffff; }
.chuangjiankongjian-box { padding: 16px 14px; background: linear-gradient(270deg,rgba(61,144,255,.04),rgba(61,144,255,.1)); }
.chuangjiankongjian-tit { font-size: 16px; color: #202d3f; font-weight: 500; }
.chuangjiankongjian-tit2 { margin-top: 4px; color: #67729d; font-weight: 400; font-size: 12px; }
/* 新建看板 */
.new-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.new-box { width: 396px; height: 275px; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; background-color: #ffffff; border-radius: 2px; }
.new-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.new-top img { cursor: pointer; }
.new-txt-box { height: 32px; padding: 10px 28px 10px 114px; }
.new-txt { width: calc(100% - 16px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.new-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 25px 28px 0 28px; }
.new-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.new-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.new-qd { cursor: pointer; background-color: #1890ff; color: #ffffff; }
.new-tab-box { padding: 0 28px; display: flex; align-items: center; justify-content: flex-start; height: 48px; }
.new-title { font-size: 13px; color: #607595; width: 70px; text-align: right; padding-right: 16px; }
.new-tab { display: flex; border: 1px solid #d9d9d9; }
.new-tab div { cursor: pointer; font-size: 12px; text-align: center; width: 70px; height: 28px; line-height: 28px;}
.new-name-box { height: 32px; padding: 10px 28px; display: flex; align-items: center; justify-content: flex-start; }
.newname-txt { width: calc(100% - 86px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
/* 新建文件夹 */
.newwenjian-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.newwenjian-box { width: 396px; height: 275px; position: absolute; margin: auto; left: 0; right: 0; top: 0; bottom: 0; background-color: #ffffff; border-radius: 2px; }
.newwenjian-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.newwenjian-top img { cursor: pointer; }
.newwenjian-txt-box { height: 32px; padding: 10px 28px 10px 114px; }
.newwenjian-txt { width: calc(100% - 16px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }
.newwenjian-but-box { display: flex; justify-content: flex-end; align-items: center; margin: 25px 28px 0 28px; }
.newwenjian-but-box div { width: 62px; height: 32px; text-align: center; line-height: 32px; font-size: 14px; font-weight: 400; border-radius: 2px; }
.newwenjian-qx { cursor: pointer; border: 1px solid #d9d9d9; color: #42546d; margin-right: 16px; }
.newwenjian-qd { cursor: pointer; background-color: #1890ff; color: #ffffff; }
.newwenjian-tab-box { padding: 0 28px; display: flex; align-items: center; justify-content: flex-start; height: 48px; }
.newwenjian-title { font-size: 13px; color: #607595; width: 70px; text-align: right; padding-right: 16px; }
.newwenjian-tab { display: flex; border: 1px solid #d9d9d9; }
.newwenjian-tab div { cursor: pointer; font-size: 12px; text-align: center; width: 70px; height: 28px; line-height: 28px;}
.newwenjian-name-box { height: 32px; padding: 10px 28px; display: flex; align-items: center; justify-content: flex-start; }
.newwenjianname-txt { width: calc(100% - 86px); height: 32px; line-height: 32px; padding: 0 8px; color: #42546d; border-radius: 2px; border: 1px solid #f0f0f0; }

1490
web/layui__/daterangepicker.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

144
web/layui__/doT.js Normal file
View File

@ -0,0 +1,144 @@
// doT.js
// 2011-2014, Laura Doktorova, https://github.com/olado/doT
// Licensed under the MIT license.
(function () {
"use strict";
var doT = {
name: "doT",
version: "1.1.1",
templateSettings: {
evaluate: /\{\{([\s\S]+?(\}?)+)\}\}/g,
interpolate: /\{\{=([\s\S]+?)\}\}/g,
encode: /\{\{!([\s\S]+?)\}\}/g,
use: /\{\{#([\s\S]+?)\}\}/g,
useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g,
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,
defineParams:/^\s*([\w$]+):([\s\S]+)/,
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,
varname: "it",
strip: true,
append: true,
selfcontained: false,
doNotSkipEncoded: false
},
template: undefined, //fn, compile template
compile: undefined, //fn, for express
log: true
}, _globals;
doT.encodeHTMLSource = function(doNotSkipEncoded) {
var encodeHTMLRules = { "&": "&#38;", "<": "&#60;", ">": "&#62;", '"': "&#34;", "'": "&#39;", "/": "&#47;" },
matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g;
return function(code) {
return code ? code.toString().replace(matchHTML, function(m) {return encodeHTMLRules[m] || m;}) : "";
};
};
_globals = (function(){ return this || (0,eval)("this"); }());
/* istanbul ignore else */
if (typeof module !== "undefined" && module.exports) {
module.exports = doT;
} else if (typeof define === "function" && define.amd) {
define(function(){return doT;});
} else {
_globals.doT = doT;
}
var startend = {
append: { start: "'+(", end: ")+'", startencode: "'+encodeHTML(" },
split: { start: "';out+=(", end: ");out+='", startencode: "';out+=encodeHTML(" }
}, skip = /$^/;
function resolveDefs(c, block, def) {
return ((typeof block === "string") ? block : block.toString())
.replace(c.define || skip, function(m, code, assign, value) {
if (code.indexOf("def.") === 0) {
code = code.substring(4);
}
if (!(code in def)) {
if (assign === ":") {
if (c.defineParams) value.replace(c.defineParams, function(m, param, v) {
def[code] = {arg: param, text: v};
});
if (!(code in def)) def[code]= value;
} else {
new Function("def", "def['"+code+"']=" + value)(def);
}
}
return "";
})
.replace(c.use || skip, function(m, code) {
if (c.useParams) code = code.replace(c.useParams, function(m, s, d, param) {
if (def[d] && def[d].arg && param) {
var rw = (d+":"+param).replace(/'|\\/g, "_");
def.__exp = def.__exp || {};
def.__exp[rw] = def[d].text.replace(new RegExp("(^|[^\\w$])" + def[d].arg + "([^\\w$])", "g"), "$1" + param + "$2");
return s + "def.__exp['"+rw+"']";
}
});
var v = new Function("def", "return " + code)(def);
return v ? resolveDefs(c, v, def) : v;
});
}
function unescape(code) {
return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " ");
}
doT.template = function(tmpl, c, def) {
c = c || doT.templateSettings;
var cse = c.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv,
str = (c.use || c.define) ? resolveDefs(c, tmpl, def || {}) : tmpl;
str = ("var out='" + (c.strip ? str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ")
.replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""): str)
.replace(/'|\\/g, "\\$&")
.replace(c.interpolate || skip, function(m, code) {
return cse.start + unescape(code) + cse.end;
})
.replace(c.encode || skip, function(m, code) {
needhtmlencode = true;
return cse.startencode + unescape(code) + cse.end;
})
.replace(c.conditional || skip, function(m, elsecase, code) {
return elsecase ?
(code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='") :
(code ? "';if(" + unescape(code) + "){out+='" : "';}out+='");
})
.replace(c.iterate || skip, function(m, iterate, vname, iname) {
if (!iterate) return "';} } out+='";
sid+=1; indv=iname || "i"+sid; iterate=unescape(iterate);
return "';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+vname+","+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"<l"+sid+"){"
+vname+"=arr"+sid+"["+indv+"+=1];out+='";
})
.replace(c.evaluate || skip, function(m, code) {
return "';" + unescape(code) + "out+='";
})
+ "';return out;")
.replace(/\n/g, "\\n").replace(/\t/g, '\\t').replace(/\r/g, "\\r")
.replace(/(\s|;|\}|^|\{)out\+='';/g, '$1').replace(/\+''/g, "");
//.replace(/(\s|;|\}|^|\{)out\+=''\+/g,'$1out+=');
if (needhtmlencode) {
if (!c.selfcontained && _globals && !_globals._encodeHTML) _globals._encodeHTML = doT.encodeHTMLSource(c.doNotSkipEncoded);
str = "var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : ("
+ doT.encodeHTMLSource.toString() + "(" + (c.doNotSkipEncoded || '') + "));"
+ str;
}
try {
return new Function(c.varname, str);
} catch (e) {
/* istanbul ignore else */
if (typeof console !== "undefined") console.log("Could not create a template function: " + str);
throw e;
}
};
doT.compile = function(tmpl, def) {
return doT.template(tmpl, null, def);
};
}());

24
web/layui__/echarts.min.js vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
web/layui__/icontains.js Normal file
View File

@ -0,0 +1 @@
$.expr[':'].icontains = function (obj, index, meta, stack) { return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0; };

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

BIN
web/layui__/images/cha.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

BIN
web/layui__/images/del.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Some files were not shown because too many files have changed in this diff Show More