添加sql语句查看,api语句查看,事件管理界面列表,个人设置

This commit is contained in:
罗松柏 2021-06-03 19:13:43 +08:00
parent 10257cc3f3
commit c6e1439cb8
31 changed files with 2083 additions and 637 deletions

View File

@ -5,11 +5,11 @@
<title>LeguX</title>
<link rel="stylesheet" href="./layui/css/layui.css"><!-- layui样式文件 -->
<link rel="stylesheet" href="./static/css/style.css"><!-- 界面样式 -->
<link rel="stylesheet" href="./static/css/analysis.css" >
<link rel="stylesheet" href="./static/css/projectadmin.css" >
<!-- <link rel="stylesheet" href="./static/css/analysis.css" >
<link rel="stylesheet" href="./static/css/projectadmin.css" > -->
<link rel="stylesheet" href="./static/css/event.css" >
<link rel="stylesheet" href="./static/css/daterangepicker.css"><!-- 时间选择控件样式 -->
<link rel="stylesheet" href="./static/img/iconfont/iconfont.css">
<!-- <link rel="stylesheet" href="./static/img/iconfont/iconfont.css"> -->
<script src="./src/jquery.min.js"></script>
<script src="./src/echarts.min.js"></script><!-- 图标控件 -->
<script src="./src/eventemitter.js"></script>
@ -22,7 +22,7 @@
<script src="./src/comboTreePlugin.js" type="text/javascript"></script><!-- 多级下拉框选项 -->
<!-- <script src="./src/doT.js"></script> -->
<!-- <script src="./src/puble.js"></script> -->
<script src="./src/x.min.js"></script>
<!-- <script src="./src/x.min.js"></script> -->
</head>
<body>
@ -32,7 +32,12 @@
</div>
</script>
<script>
var v= (new Date()).getTime();
document.write('<link rel="stylesheet" type="text/css" href="./static/css/analysis.css?v='+v+'"/>');
document.write('<link rel="stylesheet" type="text/css" href="./static/css/projectadmin.css?v='+v+'"/>');
document.write('<link rel="stylesheet" type="text/css" href="./static/img/iconfont/iconfont.css?v='+v+'"/>');
document.write("<script type='text/javascript' src='./src/x.min.js?v=" + v + "'><\/script>");
</script>
</body>
</html>

View File

@ -50,8 +50,8 @@
{{# layui.each(d, function(index, item){ }}
<div class="addexistuser-con-user-list-box">
<div class="addexistuser-con-user-list-info-box">
<div class="addexistuser-userName">{{item.userName}}</div>
<div class="addexistuser-loginName">{{item.loginName}}</div>
<div class="addexistuser-userName">{{item.nickname}}</div>
<div class="addexistuser-loginName">{{item.name}}</div>
</div>
<img src="./static/img/jia3.png" data-index="{{index}}">
</div>
@ -62,8 +62,8 @@
{{# layui.each(d, function(index, item){ }}
<div class="addexistuser-table-con-box">
<div>{{item.loginName}}</div>
<div>{{item.userName}}</div>
<div>{{item.name}}</div>
<div>{{item.nickname}}</div>
<div class="addexistuser-table-tit-w addexistuser-role"> <span data-index="{{index}}">{{item.projectroletit}}</span> </div>
<div class="addexistuser-table-tit-w addexistuser-attr"> <span data-index="{{index}}">{{item.datarightstit}}</span> </div>
<div class="addexistuser-table-tit-cz"> <img src="./static/img/cha1.png" data-index="{{index}}"/> </div>

View File

@ -13,7 +13,7 @@
<div class="analysis-navigation-bar-right-jisuan">
<span>近似计算</span>
<div class="layui-form" title="开启后,将近似计算触发用户数,人均次数,人均值和去重数,极大优化性能减少计算时间,结果偏差控制在千分之四内">
<div class="layui-form-item modify-layui-form-item">
<div class="layui-form-item modify-layui-form-item" style="margin-bottom: 0px !important;">
<input type="checkbox" name="close" lay-skin="switch" lay-text="" class="sqsz">
</div>
</div>
@ -170,9 +170,9 @@
<div class="analtsis-chart-switch-box">
<div class="analtsis-chart-switch" title="趋势图"> <i class="iconfont" style="font-size: 18px; ">&#xe600;</i> </div>
<div class="analtsis-chart-switch select-chart" title="堆积图"> <i class="iconfont" style="font-size: 18px; ">&#xe61f;</i> </div>
<div class="analtsis-chart-switch" title="累计图"> <i class="iconfont" style="font-size: 18px; ">&#xe711;</i> </div>
<!-- <div class="analtsis-chart-switch" title="累计图"> <i class="iconfont" style="font-size: 18px; ">&#xe711;</i> </div> -->
<div class="analtsis-chart-switch" title="分布图"> <i class="iconfont" style="font-size: 18px; ">&#xe60b;</i> </div>
<div class="analtsis-chart-switch" title="饼状分布"> <i class="iconfont" style="font-size: 18px;">&#xe684;</i> </div>
<!-- <div class="analtsis-chart-switch" title="饼状分布"> <i class="iconfont" style="font-size: 18px;">&#xe684;</i> </div> -->
</div>
</div>
@ -180,8 +180,20 @@
<!-- 统计图 -->
<div class="analysis-echarts" id="analysis-echarts"></div>
<div class="table-div-box">
<table class="table-fenxi-box">
<thead>
<tr class="table-fenxi-th">
</tr>
</thead>
<tbody>
<tr class="table-fenxi-td">
</tr>
</tbody>
</table>
</div>
</div>
@ -192,6 +204,19 @@
</div>
<script id="table-fenxi-th-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<th>{{item}}</th>
{{# }); }}
</script>
<script id="table-fenxi-td-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<td>{{item.title}}</td>
{{# }); }}
</script>
<script id="analysis-con-left-screen-list-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
@ -298,7 +323,7 @@
<div class="analysis-ta-property-range analysis-section"> <img src="./static/img/shezhi2.png"> </div>
{{# } }} -->
{{# if(item.data_type === "date"){ }}
{{# if(item.data_type === "datetime"){ }}
<div class="analysis-ta-property-range analysis-granularity" data-index="{{index}}" data-type="{{item.data_type}}"> <img src="./static/img/shezhi2.png"> </div>
{{# } }}
{{# if(item.data_type === "array"){ }}

View File

@ -25,7 +25,7 @@
<a href="javascript:;">行为分析</a>
<dl class="layui-nav-child">
<dd><a class="ajax-content" href="analysis" data-id="conetnt">事件分析</a></dd>
<dd><a href="javascript:void(0);">留存分析</a></dd>
<dd><a class="ajax-content" href="retained" data-id="conetnt">留存分析</a></dd>
<dd><a href="javascript:void(0);">漏斗分析</a></dd>
<dd><a href="javascript:void(0);">分布分析</a></dd>
<dd><a href="javascript:void(0);">路径分析</a></dd>
@ -42,7 +42,7 @@
<li class="layui-nav-item">
<a href="javascript:;">数据管理</a>
<dl class="layui-nav-child">
<dd><a href="javascript:void(0);">事件管理</a></dd>
<dd><a class="ajax-content" href="eventmanagement" data-id="conetnt">事件管理</a></dd>
<dd><a class="ajax-content" href="eventattradmin" data-id="conetnt">事件属性管理</a></dd>
<dd><a class="ajax-content" href="userattradmin" data-id="conetnt">用户属性管理</a></dd>
<dd><a href="javascript:void(0);">预警管理</a></dd>
@ -56,7 +56,7 @@
<li class="layui-nav-item">
<a href="javascript:;">设置</a>
<dl class="layui-nav-child">
<dd><a href="javascript:void(0);">个人设置</a></dd>
<dd><a class="ajax-content" href="personalsettings" data-id="conetnt">个人设置</a></dd>
<dd><a class="ajax-content" href="projectinfo" data-id="conetnt">项目管理</a></dd>
<dd><a href="javascript:void(0);">系统管理</a></dd>
<dd><a href="javascript:void(0);">退出登录</a></dd>

View File

@ -0,0 +1,38 @@
<!-- 事件管理 -->
<div class="eventattradmin-bg-box">
<div class="eventattradmin-box">
<div class="eventattradmin-top-box">
<div class="eventattradmin-left___y490Q">事件管理<i class="layui-icon" title="在该页面进行事件及事件属性的管理。包括设置事件的显示名,显示状态等;设置事件属性的显示名,显示状态,计数单位,上传维度表等功能">&#xe60b;</i> </div>
<div class="eventattradmin-right___1TIt8">
<div class="eventattradmin-search___23TMG">
<i class="layui-icon">&#xe615;</i>
<input type="text" placeholder="请输入搜索" />
<img src="./static/img/cha1.png">
</div>
<div class="eventattradmin-display___21tQp">
<img src="./static/img/peizhi2.png">
<span>显示名配置</span>
</div>
<div class="eventattradmin-actions___141YT">
<i class="layui-icon">&#xe624;</i>
<span>虚拟事件</span>
</div>
</div>
</div>
<div class="eventattradmin-table-box">
<table class="layui-hide" id="eventmanagement-table" lay-filter="eventmanagementtest"></table>
</div>
</div>
</div>
<script type="text/html" id="eventmanagementDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
</script>

19
web/pages/grouped.html Normal file
View File

@ -0,0 +1,19 @@
<script id="analysis-con-left-screen-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="analysis-action-row">
<div class="analysis-action-left">
<div class="analysis-num bgcolor">{{index}}</div>
<div class="analysis-ant-dropdown-trigger">
<img src="./static/img/shaix2.png"/>
<span>SDK类型</span>
</div>
</div>
<div class="analysis-ta-property-range analysis-granularity"> <img src="./static/img/shezhi2.png"> </div>
<div class="analysis-ta-property-range analysis-section"> <img src="./static/img/shezhi2.png"> </div>
<div class="analysis-action-right"> <img src="./static/img/cha1.png"/> </div>
</div>
{{# }); }}
</script>

View File

@ -0,0 +1,78 @@
<!-- 个人设置 -->
<div class="personalsettings-box">
<div class="personalsettings-bg-box">
</div>
</div>
<script id="personalsettings-bg-box-dot" type="text/html">
<div class="personalsettings-info-box">
<div class="personalsettings-info-title">基本信息</div>
<div class="personalsettings-main___dQldf">
<div class="personalsettings-row___24xjF">
<p>显示名</p>
<div class="personalsettings-value___vc6g4 personalsettings-mr-name">
{{d.nickname}}
<span class="personalsettings-action___2mv4G personalsettings-name">修改</span>
</div>
<div class="personalsettings-value___vc6g4 personalsettings-updata-name">
<input type="text" name="" value="{{d.nickname}}" class="personalsettings-name-txt">
<img class="personalsettings-action___2mv4G personalsettings-name-qx" src="./static/img/duogou.png">
<img class="personalsettings-action___2mv4G personalsettings-name-qd" src="./static/img/cha1.png">
</div>
</div>
<div class="personalsettings-row___24xjF">
<p>TA账号</p>
<div class="personalsettings-value___vc6g4">
{{d.name}}
</div>
</div>
</div>
</div>
<div class="personalsettings-info-box">
<div class="personalsettings-info-title">账号安全</div>
<div class="personalsettings-main___dQldf">
<div class="personalsettings-row___24xjF">
<p>手机号</p>
<div class="personalsettings-value___vc6g4 personalsettings-mr-tel">
{{# if(d.tel === ""){ }}
暂未绑定手机号
{{# } else { }}
{{d.tel}}
{{# } }}
<span class="personalsettings-action___2mv4G personalsettings-tel">绑定</span>
</div>
<div class="personalsettings-value___vc6g4 personalsettings-binding-tel">
<input type="text" value="{{d.tel}}" name="" placeholder="请填写手机号" class="personalsettings-name-txt">
<img class="personalsettings-action___2mv4G personalsettings-tel-qx" src="./static/img/duogou.png">
<img class="personalsettings-action___2mv4G personalsettings-tel-qd" src="./static/img/cha1.png">
</div>
</div>
<!-- <div class="personalsettings-row___24xjF">
<p>邮箱</p>
<div class="personalsettings-value___vc6g4 ">
暂未绑定邮箱
<span class="personalsettings-action___2mv4G">绑定</span>
</div>
</div> -->
<div class="personalsettings-row___24xjF">
<p>密码</p>
<div class="personalsettings-value___vc6g4">
<input type="password" name="" value="123465789">
<span class="personalsettings-action___2mv4G personalsettings-updata-password">修改</span>
</div>
</div>
</div>
</div>
</script>

View File

@ -0,0 +1,46 @@
<!-- 事件管理操作 -->
<div class="personalsettingsedit-box">
<div class="eventattradminedit-bg-box">
<form class="layui-form" action="" lay-filter="personalsettingseditexample">
<div class="layui-form-item">
<label class="layui-form-label">显示名</label>
<div class="layui-input-block">
<input type="text" name="show_name" lay-verify="name" autocomplete="off" placeholder="请输入显示名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input type="text" name="desc" lay-verify="unit" autocomplete="off" placeholder="请输入备注" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<select name="is_show" lay-filter="aihao">
<option value=""></option>
<option value="0">隐藏</option>
<option value="1">显示</option>
</select>
</div>
</div>
</div>
</form>
</div>
<div class="eventattradminedit-but-box">
<div class="personalsettingsedit-qx">取 消</div>
<div class="personalsettingsedit-qd">确 定</div>
</div>
</div>

110
web/pages/retained.html Normal file
View File

@ -0,0 +1,110 @@
<!-- 留存分析 -->
<div class="analysis-zhanwei">
</div>
<div class="analysis-navigation-bar-box">
<div class="analysis-navigation-bar">
<div class="analysis-navigation-bar-left">
<span>留存分析</span><img src="./static/img/capytishi.png" title="分析某段时间内,某个事件或事件属性的整体趋势情况"/>
</div>
<div class="analysis-navigation-bar-right">
<div class="analysis-navigation-bar-right-jisuan">
<span>TA用户ID</span>
</div>
<div class="analysis-navigation-bar-right-img" title="最后更新时间2021-04-29 14:44:39">
<img src="./static/img/gengxin.png">
</div>
<div class="analysis-navigation-bar-right-img sqlquery" title="查看条件代码">
<i class="iconfont" style="font-size: 18px; color: #67729d;">&#xe727;</i>
</div>
<div class="analysis-navigation-bar-right-img" title="以页面格式下载全量数据">
<img src="./static/img/xiazai.png">
</div>
<div class="analysis-navigation-bar-right-img analysis-navigation-bar-right-img-baobiao" title="报表">
<img src="./static/img/baobiao2.png">
</div>
</div>
</div>
<div class="analysis-bg">
<!-- 左侧条件筛选区域 -->
<div class="analysis-con-left">
<!-- 伸缩按钮 -->
<div class="analysis-con-left-shrink"></div>
<div class="root___2a4tb">
<div class="block___2n0We">
<div class="analysis-con-left-title">初始事件</div>
<div class="analysis-con-left-screen-box" id="shushi">
</div>
<div class="analysis-foot___P797w">
<span class="analysis-footadd___2D4YB">
<img src="./static/img/fenzu.png">
添加分组项
</span>
</div>
</div>
</div>
<div class="analysis-but-box">
<div class="analysis-savereport">保存报表</div>
<div class="analysis-calculation">计 算</div>
</div>
</div>
<!-- 右边图表显示区域 -->
<div class="analysis-con-right">
<div class="analtsis-con-box">
<div class="analtsis-con-right-box">
<div class="analtsis-con-right-top-title">
玩法参与情况
</div>
<div class="analtsis-condition-box">
<div class="analtsis-time-box">
<div class="analtsis-condition" > <input id="analtsis-condition-date" readonly="readonly"></input> </div>
<div class="analtsis-condition analtsis-timeParticleSize">按天</div>
</div>
<div class="analtsis-condition-right-box">
<div class="analtsis-condition">指标</div>
<div class="analtsis-condition">分组</div>
<div class="analtsis-chart-switch-box">
<div class="analtsis-chart-switch" title="趋势图"> <i class="iconfont" style="font-size: 18px; ">&#xe600;</i> </div>
<div class="analtsis-chart-switch select-chart" title="堆积图"> <i class="iconfont" style="font-size: 18px; ">&#xe61f;</i> </div>
<!-- <div class="analtsis-chart-switch" title="累计图"> <i class="iconfont" style="font-size: 18px; ">&#xe711;</i> </div> -->
<div class="analtsis-chart-switch" title="分布图"> <i class="iconfont" style="font-size: 18px; ">&#xe60b;</i> </div>
<!-- <div class="analtsis-chart-switch" title="饼状分布"> <i class="iconfont" style="font-size: 18px;">&#xe684;</i> </div> -->
</div>
</div>
</div>
<!-- 统计图 -->
<div class="analysis-echarts" id="analysis-echarts"></div>
<div class="table-div-box">
<table class="table-fenxi-box">
<thead>
<tr class="table-fenxi-th">
</tr>
</thead>
<tbody>
<tr class="table-fenxi-td">
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<!-- 修改密码 -->
<div class="updatapassword-box">
<div class="updatapassword-top-box">
<div>修改密码</div>
<img src="./static/img/cha.png" />
</div>
<div class="updatapassword-form">
<form class="layui-form" action="" lay-filter="updatapasswordexample">
<!-- <div class="layui-form-item">
<label class="layui-form-label">原密码</label>
<div class="layui-input-block">
<input type="password" name="oldpassword" lay-verify="pass" placeholder="请输入原密码" autocomplete="off" class="layui-input">
</div>
</div> -->
<div class="layui-form-item">
<label class="layui-form-label">新密码</label>
<div class="layui-input-block">
<input type="password" name="newpassword" lay-verify="pass" placeholder="请输入新密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">确认密码</label>
<div class="layui-input-block">
<input type="password" name="reppassword" lay-verify="pass" placeholder="再次确认密码" autocomplete="off" class="layui-input">
</div>
</div>
</form>
</div>
<div class="updatapassword-but-box">
<div class="updatapassword-qx">取 消</div>
<div class="updatapassword-qd">确 定</div>
</div>
</div>

1144
web/src/x.min.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
return res;
}
function setHashParms(k,v){
function setHashParms(k,v,type){
//设置一个hash值
var hash = [];
var kv = getHashParms();
@ -60,9 +60,9 @@
$(document).keydown(function (event) {
if (event.keyCode == 116) {
console.log('刷新')
return false;
event.preventDefault(); //阻止默认刷新
console.log('刷新');
return false;
}
});

View File

@ -122,8 +122,8 @@ var X = window.X || {
};
(function(){
var ipurl = "http://119.29.176.224:7889/api/v1/"
var ipurl = "http://10.0.0.77:7889/api/v1/"
// var ipurl = "http://119.29.176.224:7889/api/v1/"
//设置或读取登录缓存需要保存到localStorage防止刷新时候登录数据丢失
X.loginCache = function(data){
@ -182,11 +182,20 @@ var X = window.X || {
}
},
error:function(error){
console.log(error)
layer.msg('服务器错误');
// console.log('服务器错误');
layer.close(index);
}
});
}
X.template = function(url,id){
$.get('pages/'+ url + '.html',function(content){
$('#'+id).html(content);
X.pageLogic[url] && X.pageLogic[url].init && X.pageLogic[url].init();
});
};
//弹窗
X.open = function(parms){
if(parms.url){
@ -205,8 +214,6 @@ var X = window.X || {
}
};
//渲染表格无分页无操作
X.tabledata = function(id,url,data){
var loginCache = X.loginCache();
@ -228,16 +235,22 @@ var X = window.X || {
var loginCache = X.loginCache();
var token = (loginCache? loginCache.token:"");
token = "Bearer "+token;
layui.table.render({
headers: {
Authorization: token
}
,elem: id
,url: ipurl+url+"?game="+X.DATA.game+arr
,cellMinWidth: 80 //全局定义常规单元格的最小宽度layui 2.2.1 新增
,cols: data
,height: 'full-20'
});
var url
if(arr){
url = ipurl+url+"?game="+X.DATA.game+arr;
}else {
url = ipurl+url+"?game="+X.DATA.game;
}
layui.table.render({
headers: {
Authorization: token
}
,elem: id
,url: url
,cellMinWidth: 80 //全局定义常规单元格的最小宽度layui 2.2.1 新增
,cols: data
,height: 'full-20'
});
};
//渲染模板,模板id数据位置id
@ -315,6 +328,44 @@ var X = window.X || {
})
}
// 分组项取交集
X.groupintersection=function(c , a , callback){
var dataArr=[];
var arr=[];
for(let i in c){
for(let j in a){
if(c[i]['id'] == a[j]['id']){
for(let z in c[i]['category']){
for(let q in a[j]['category']){
if(c[i]['category'][z]['title'] == a[j]['category'][q]['title']){
arr.push(c[i]['category'][z]);
}
}
}
if(arr.length > 0){
var data = {
title: c[i]['title'],
id:c[i]['id'],
category:arr
};
dataArr.push(data);
}
}
}
}
callback && callback(dataArr);
}
// 日期选择器
X.daterender = function(id,callback){
@ -380,6 +431,31 @@ var X = window.X || {
,range: true
});
}
// 分组项
X.grouped=function(data,id){
console.log(data)
var html
for(let i in data){
html = html + `
<div class="analysis-action-row">
<div class="analysis-action-left">
<div class="analysis-num bgcolor">` + i+1 + `</div>
<div class="analysis-ant-dropdown-trigger">
<img src="./static/img/shaix2.png"/>
<span>` + data[i]['column_name'] + `</span>
</div>
</div>
<div class="analysis-ta-property-range analysis-granularity"> <img src="./static/img/shezhi2.png"> </div>
<div class="analysis-ta-property-range analysis-section"> <img src="./static/img/shezhi2.png"> </div>
<div class="analysis-action-right"> <img src="./static/img/cha1.png"/> </div>
</div>
`
}
$(id).html(html);
}
// function ScreenClick(id){
// $("#zhuanghu_xila").hide();

View File

@ -66,17 +66,22 @@
]
}
X.laytpldata("#addexistuser-con-user-box-dot",data.userlist,".addexistuser-con-user-box");
X.api("user/all_account","get",{},function(d){
console.log(d)
X.laytpldata("#addexistuser-con-user-box-dot",d,".addexistuser-con-user-box");
})
$('.addexistuser-con-ss-box input').bind('input propertychange', function() {
var txt = $(this).val();
var userdata = data["userlist"];
var arr = [];
for(let i in userdata){
if(userdata[i]["userName"].indexOf(txt) >= 0 ){
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}else {
if(userdata[i]["loginName"].indexOf(txt) >= 0 ){
if(userdata[i]["name"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}
}
@ -106,10 +111,10 @@
var userdata = data["userlist"];
var arr = [];
for(let i in userdata){
if(userdata[i]["userName"].indexOf(txt) >= 0 ){
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}else {
if(userdata[i]["loginName"].indexOf(txt) >= 0 ){
if(userdata[i]["name"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}
}
@ -165,10 +170,10 @@
var userdata = data["userlist"];
var arr = [];
for(let i in userdata){
if(userdata[i]["userName"].indexOf(txt) >= 0 ){
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}else {
if(userdata[i]["loginName"].indexOf(txt) >= 0 ){
if(userdata[i]["name"].indexOf(txt) >= 0 ){
arr.push(userdata[i]);
}
}

View File

@ -13,12 +13,14 @@
screentypearr.push(drr); //每一个筛选事件按添加次数依次写入
var filtersymbols=[];//筛选符号
filtersymbols.push(drr);
var groupitemeventsdata=[]//分组项里的事件
var defaultgroupdata //默认添加分组项里的事件
var data = {
"events":[],
"eventView":{
"startTime":"2021-05-01 00:00:00",
"startTime":"",
"timeParticleSize":"P1D",
"endTime":"2021-05-19 23:59:59",
"endTime":"",
"graphShape":"L0",
"recentDay":"1-30",
"groupBy":[],
@ -29,27 +31,92 @@
"filters":[],//全局筛选
"relation":1,
"zone_time":'8'//时区
},
"cachedata":{
type2data:[],
type3data:[],
screentypearr:[],
filtersymbols:[],
groupitemeventsdata:[],
defaultgroupdata:[],
}
}
var retdata,props
// 日期选择器
$("#analtsis-condition-date").daterangepicker({
'locale': {
"format": 'YYYY-MM-DD',
"separator": " - ",
"applyLabel": "应用",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
},
ranges: {
'今日': [moment(), moment()],
'昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'最近7日': [moment().subtract(7, 'days'), moment().subtract(1, 'days')],
'最近30日': [moment().subtract(30, 'days'), moment().subtract(1, 'days')],
'上周': [moment().subtract(1, 'week').startOf('week')+86400000, moment().subtract(1, 'week').endOf('week')+86400000],
'本周': [moment().startOf('week')+86400000, moment()+86400000],
'本月': [moment().startOf('month'), moment()],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
]
},
"alwaysShowCalendars": true,
"startDate": moment().subtract(29, 'days'),
"endDate": new Date(),
"opens": "right"
}, function (start, end, label) {
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
data['eventView']['startTime'] = startTime;
data['eventView']['endTime'] = endTime;
calculationdata();
});
var time = $("#analtsis-condition-date").val();
var timearr = time.split(" ");
console.log(time);
console.log(timearr);
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
X.api("data_auth/my_event","get",{},function(d){
dataArr = d.analysis;
groupeddata = d.group_by;
var arr = {
"event_name":dataArr[0]['category'][0]['event_name'],
"event_attr":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["title"],
"event_attr_id":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["id"],
"analysisname":'',
"analysis":dataArr[0]['category'][0]['event_attr'][0]['category'][0]['analysis'],
"renameindicator":"", //重命名指标
"filters":[],//过滤项
"condrelation":'and',
}
data.events.push(arr);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
type2data[0]= dataArr[0]['category'][0]['event_attr'][0]["category"];
type3data[0]= dataArr[0]['category'][0]['event_attr'][0]["category"][0]["category"];
dataArr = d;
X.api("data_auth/load_prop_quotas","post",{event_name:dataArr[0]['category'][0]['event_name']},function(d){
retdata = d.staid_quots.concat(d.props);
props = d.props;
var defaultindicator = {
"event_name":dataArr[0]['category'][0]['event_name'],
"event_attr":"总次数",
"event_attr_id":"*",
"analysisname":'',
"analysis":'total_count',
"renameindicator":"", //重命名指标
"filters":[],//过滤项
"condrelation":'and',
}
data.events.push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
type2data[0]= retdata;
type3data[0]= [];
screentypearr[0]=d.props;
X.api("data_auth/load_filter_props","post",{event_name:dataArr[0]['category'][0]['event_name']},function(val){
defaultgroupdata = val;
groupitemeventsdata.push(val);
})
})
// groupeddata = d.group_by;
})
@ -83,84 +150,37 @@
//已存报表
$(".analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao").click(function(){
X.parametersopen({},'savedbaobiao','rt',function(d){
console.log(d);
if(d){
data = d.query;
type2data=[];
type3data=[];
screentypearr = [];
filtersymbols=[];
var events = d.query.events;
type2data = data.cachedata.type2data;
type3data = data.cachedata.type3data;
screentypearr = data.cachedata.screentypearr;
filtersymbols = data.cachedata.filtersymbols;
if(d.query.eventView.filters.length > 0){
$(".analysis-overall").show();
}else {
$(".analysis-overall").hide();
}
X.laytpldata("#analysis-con-left-screen-list-dot",d.query.events,".analysis-con-left-screen-list-box");
X.laytpldata("#analysis-gpmain___3YGfw-dot",d.query.eventView.groupBy,".analysis-gpmain___3YGfw");
X.laytpldata("#analysis-overall-situation-list-box-dot",d.query['eventView']['filters'],".analysis-overall-situation-list-box");
analysisdown();
calculationdata();
// $(".analtsis-timeParticleSize").html(d['query']['eventView'][])
X.api('data_auth/my_event','get',{},function(val){
for(let i in events){
for(let z in val.deserialization.event_attr){
if(events[i]['event_name'] == z){
type2data.push(val.deserialization.event_attr[z]);
for(let j in val.deserialization.event_attr[z]){
if(events[i]['event_attr'] == val.deserialization.event_attr[z][j]['title']){
type3data.push(val.deserialization.event_attr[z][j]['category']);
}
}
}
}
}
for(let i in events){
for(let z in val.deserialization.event_filter){
if(events[i]['event_name'] == z ){
screentypearr.push(val.deserialization.event_filter[z]);
}
}
}
for(let i in events){
if(events[i]['filters'].length > 0){
filtersymbols[i]=[];
for(let z in events[i]['filters']){
for(let j in val.operator){
if(events[i]['filters'][z]['data_type'] == j){
filtersymbols[i].push(val.operator[j])
}
}
}
}
}
for(let i in d.query.eventView.filters){
filtsftvdata
var type = d.query.eventView.filters[i]['data_type']
filtsftvdata.push(val.filter[type]);
}
if(d.query.eventView.filters.length > 0){
$(".analysis-overall").show();
}else {
$(".analysis-overall").hide();
}
X.laytpldata("#analysis-con-left-screen-list-dot",d.query.events,".analysis-con-left-screen-list-box");
X.laytpldata("#analysis-gpmain___3YGfw-dot",d.query.eventView.groupBy,".analysis-gpmain___3YGfw");
X.laytpldata("#analysis-overall-situation-list-box-dot",d.query['eventView']['filters'],".analysis-overall-situation-list-box");
analysisdown();
calculationdata();
})
}
})
})
// sql语句显示
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
// console.log(1111)
// X.api('ck/event_model_sql','post',data,function(d){
var obj = $(this);
var offset = obj.offset();
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
})
// })
})
// 切换为指标公式
@ -219,16 +239,24 @@
// 设置一级事件
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function() {
// $(document).on('click','.ant-dropdown-trigger',function(){
var obj = $(this);
var offset = obj.offset();
var index = obj.attr('data-index');
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){
var htmlstring = val.name;
obj.html(htmlstring);
data['events'][index]['event_name'] = val.name
type2data[index]=val.event_attr[0].category;
screentypearr[index] = val.event_filter;
data['events'][index]['event_name'] = val.name;
X.api("data_auth/load_prop_quotas","post",{event_name:val.id},function(d){
var retdata = d.staid_quots.concat(d.props);
type2data[index]=retdata;
screentypearr[index] = d.props;
})
X.api("data_auth/load_filter_props","post",{event_name:val.id},function(d){
groupitemeventsdata[index] = d;
})
})
})
//设置一级事件中第二个参数
@ -281,12 +309,14 @@
var index = obj.attr("data-index");
var indexs = obj.attr("data-indexs");
X.querycriteriapop(screentypearr[index],'category',offset.left,offset.top+obj.height(),function(val){
console.log(val);
var htmlstring = val.title;
obj.html(htmlstring);
filtersymbols[index][indexs] = val.category;
data['events'][index]['filters'][indexs]['column_name'] = htmlstring;
data['events'][index]['filters'][indexs]['column_id'] = val.id;
data['events'][index]['filters'][indexs]['data_type'] = val.type;
data['events'][index]['filters'][indexs]['table_type'] = val.table_type;
})
})
@ -309,25 +339,32 @@
$(document).on('click','.analysis-shaix',function(){
var obj = $(this);
var index = obj.attr("data-index");
var arr = {
"column_name":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['title'],//事件中文显示
"column_id":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['id'],//事件id
"comparator_name":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['category'][0]['title'],//选择符号中文显示
"comparator_id":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['category'][0]['id'],//符号id
"data_type":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['data_type'],
"ftv":'',//条件
"strftv":''//字符串显示条件
} //筛选数据
data['events'][index]['filters'].push(arr);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
var drr=[];
filtersymbols.push(drr);
console.log(filtersymbols)
screentypearr[index] = dataArr[0]['category'][0]["event_filter"];
filtersymbols[index][filtersymbols[index].length ] = dataArr[0]['category'][0]["event_filter"][0]["category"][0]["category"];
addscreen(index);
})
// 添加筛选项
function addscreen(index){
X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["event_name"]},function(d){
console.log(d);
var arr = {
"column_name":d[0]['category'][0]['title'],//事件中文显示
"column_id":d[0]['category'][0]['id'],//事件id
"comparator_name":d[0]['category'][0]['category'][0]['title'],//选择符号中文显示
"comparator_id":d[0]['category'][0]['category'][0]['id'],//符号id
"data_type":d[0]['category'][0]['data_type'],
"ftv":'',//条件
"strftv":'',//字符串显示条件
"table_type": d[0]['id']
} //筛选数据
data['events'][index]['filters'].push(arr);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
var drr=[];
filtersymbols.push(drr);
screentypearr[index] = d;
filtersymbols[index][filtersymbols[index].length ] = d[0]['category'][0]["category"];
})
}
//监听重命名指标
$(document).on('blur','.analysis-con-left-screen-list-left-zhibiaoname input',function(){
var index = $(this).attr("data-index");
@ -376,20 +413,22 @@
// 添加指标
function addindex(){
var arr = {
var defaultindicator = {
"event_name":dataArr[0]['category'][0]['event_name'],
"event_attr":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["title"],
"event_attr_id":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["id"],
"event_attr":"总次数",
"event_attr_id":"*",
"analysisname":'',
"analysis":dataArr[0]['category'][0]['event_attr'][0]['category'][0]['analysis'],
"analysis":'total_count',
"renameindicator":"", //重命名指标
"filters":[],//过滤项
"condrelation":'and',
}
data['events'].push(arr);
data['events'].push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
var index = data.events.length - 1;
type2data[index]= dataArr[0]['category'][0]['event_attr'][0]["category"];
type3data[index]= dataArr[0]['category'][0]['event_attr'][0]["category"][0]["category"];
type2data[index]= retdata;
type3data[index]= [];
$(".analysis-del").show() //显示删除按钮
var drr = [];
screentypearr.push(drr);
@ -398,7 +437,8 @@
}else {
$(".analysis-overall").hide();
}
screentypearr[index]=props;
groupitemeventsdata.push(defaultgroupdata);
}
//添加按钮
@ -450,27 +490,32 @@
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
var index = data['eventView']['groupBy'].length;
var screentypedata = filteringdata();
console.log(screentypedata);
var drr = {
"column_name":groupeddata[0]['category'][index]['title'],//事件中文显示
"column_id":groupeddata[0]['category'][index]['id'],//事件id
'data_type':groupeddata[0]['category'][index]['data_type'],//类型
"column_name":screentypedata[0]['category'][index]['title'],//事件中文显示
"column_id":screentypedata[0]['category'][index]['id'],//事件id
'data_type':screentypedata[0]['category'][index]['data_type'],//类型
'table_type': screentypedata[0]['id'],
"ftv":'',//条件
"section":''//区间
}
data.eventView.groupBy.push(drr);
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
})
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
var obj = $(this);
var offset = obj.offset();
var index = obj.attr("data-index");
X.querycriteriapop(groupeddata,'category',offset.left,offset.top+obj.height(),function(val){
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
var htmlstring = val.title;
obj.html(htmlstring);
data.eventView.groupBy[index]['column_name'] = val.title;
data.eventView.groupBy[index]['column_id'] = val.id;
data.eventView.groupBy[index]['data_type'] = val.type;
data.eventView.groupBy[index]['table_type'] = val.table_type;
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
})
})
@ -523,7 +568,7 @@
url: 'groupeditemspop',
extData : sectionid,
callback : function(val){
// console.log(val);
}
})
@ -539,30 +584,46 @@
})
$(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
$(this).addClass('select-chart');
})
// 过滤数据
function filteringdata(){
var screentypedata;
if(groupitemeventsdata.length>1){
for(var i =0; i < groupitemeventsdata.length - 1; i++){
if(i == 0){
X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){
screentypedata = d;
});
}else {
X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){
screentypedata = d;
})
}
}
}else {
screentypedata = groupitemeventsdata[0];
}
return screentypedata;
}
// 全局筛选
var filtsftvdata=[];
$(document).on('click','.analysis-overall-situation-add',function(){
var screentypedata = filteringdata();
var drr={
"column_name":groupeddata[0]['category'][0]['title'],//事件中文显示
"column_id":groupeddata[0]['category'][0]['id'],//事件id
'data_type':groupeddata[0]['category'][0]['data_type'],//类型
"column_name":screentypedata[0]['category'][0]['title'],//事件中文显示
"column_id":screentypedata[0]['category'][0]['id'],//事件id
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
'comparator_name':'等于',//默认等于
"comparator_id":'==',//符号id
"ftv":[],//条件
"strftv":'',//显示条件
"section":[-1,1]//区间
"section":[-1,1],//区间
"table_type":screentypedata[0]['id']
};
data['eventView']['filters'].push(drr);//上传全局数据
filtsftvdata.push(groupeddata[0]['category'][0]['category'])
filtsftvdata.push(screentypedata[0]['category'][0]['category'])
$(".analysis-overall-situation-left-box").show();
@ -610,13 +671,14 @@
var obj = $(this);
var offset = obj.offset();
var index = obj.attr("data-index");
X.querycriteriapop(groupeddata,'category',offset.left,offset.top+obj.height(),function(val){
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
obj.html(val.title);
data['eventView']['filters'][index]['column_name'] = val.title;
data['eventView']['filters'][index]['column_id'] = val.id;
data['eventView']['filters'][index]['data_type'] = val.type;
data['eventView']['filters'][index]['comparator_name'] = '等于';
data['eventView']['filters'][index]['comparator_id'] = '==';
data['eventView']['filters'][index]['table_type'] = val.table_type;
filtsftvdata[index]=val.category;
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filters'],".analysis-overall-situation-list-box");
analysisdown();
@ -644,44 +706,6 @@
data['eventView']['filters'][index]['section'][1] = val;
}
})
// 日期选择器
$("#analtsis-condition-date").daterangepicker({
'locale': {
"format": 'YYYY-MM-DD',
"separator": " - ",
"applyLabel": "应用",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
},
ranges: {
'今日': [moment(), moment()],
'昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'最近7日': [moment().subtract(7, 'days'), moment().subtract(1, 'days')],
'最近30日': [moment().subtract(30, 'days'), moment().subtract(1, 'days')],
'上周': [moment().subtract(1, 'week').startOf('week')+86400000, moment().subtract(1, 'week').endOf('week')+86400000],
'本周': [moment().startOf('week')+86400000, moment()+86400000],
'本月': [moment().startOf('month'), moment()],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
]
},
"alwaysShowCalendars": true,
"startDate": moment().subtract(29, 'days'),
"endDate": new Date(),
"opens": "right"
}, function (start, end, label) {
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
data['eventView']['startTime'] = startTime;
data['eventView']['endTime'] = endTime;
calculationdata();
});
// 时间粒度
var timeParticleSizearr = [
@ -706,87 +730,275 @@
// 计算
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
console.log(data);
calculationdata();
})
function calculationdata(){
console.log(data)
X.api("ck/event_model","post",data,function(d){
console.log(d);
var xAxisData=[];
for(let i in d){
for(let z in d[i]['groups']){
var pj = d[i]['event_name']+d[i]['groups'][z][0]+d[i]['groups'][z][1];
xAxisData.push(pj);
}
}
var seriesData=[];
for(let i in d){
for(let z in d[i]['values']){
var arr = {
name: '',
type: 'line',
stack: '总量',
areaStyle: {},
emphasis: {
focus: 'series'
},
data: d[i]['values'][z]
}
seriesData.push(arr);
}
}
if(xAxisData.length > 0){
for(let i in seriesData){
seriesData[i]['name'] = xAxisData[i];
}
}
var myChart = echarts.init(document.getElementById('analysis-echarts'));
var option = {
title: {
text: ''
},
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
data: xAxisData
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '2%',
right: '2%',
bottom: '2%',
top: '10%',
containLabel: true
},
xAxis: [
{
type: 'category',
boundaryGap: false,
data: d[0]['date_range']
}
],
yAxis: [
{
type: 'value'
}
],
series: seriesData
};
myChart.setOption(option);
var querydata;//查询数据
$(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){
if(querydata){
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
$(this).addClass('select-chart');
if($(this).attr('title') == '趋势图'){trendchart(querydata)}
else if($(this).attr('title') == '堆积图'){stackingdiagram(querydata);}
else if($(this).attr('title') == '累计图'){}
else if($(this).attr('title') == '分布图'){distributionmap(querydata)}
else if($(this).attr('title') == '饼状分布'){}
}else{
layer.msg('请先计算数据,在切换图表');
}
})
//堆积图
function stackingdiagram(d){
var xAxisData=[];
for(let i in d){
for(let z in d[i]['groups']){
var pj = d[i]['event_name']+d[i]['groups'][z][0]+d[i]['groups'][z][1];
xAxisData.push(pj);
}
}
var seriesData=[];
for(let i in d){
for(let z in d[i]['values']){
var arr = {
name: '',
type: 'line',
stack: '总量',
areaStyle: {},
emphasis: {
focus: 'series'
},
data: d[i]['values'][z]
}
seriesData.push(arr);
}
}
if(xAxisData.length > 0){
for(let i in seriesData){
seriesData[i]['name'] = xAxisData[i];
}
}
var myChart = echarts.init(document.getElementById('analysis-echarts'));
var option = {
title: {
text: ''
},
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
type:'scroll',
data: xAxisData
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '2%',
right: '2%',
bottom: '2%',
top: '10%',
containLabel: true
},
xAxis: [
{
type: 'category',
boundaryGap: false,
data: d[0]['date_range']
}
],
yAxis: [
{
type: 'value'
}
],
series: seriesData
};
myChart.setOption(option,true);
}
//趋势图
function trendchart(d){
var xAxisData=[];
for(let i in d){
for(let z in d[i]['groups']){
var pj = d[i]['event_name']+d[i]['groups'][z][0]+d[i]['groups'][z][1];
xAxisData.push(pj);
}
}
var seriesData=[];
for(let i in d){
for(let z in d[i]['values']){
var arr = {
name: '',
type: 'line',
stack: '总量',
data: d[i]['values'][z]
}
seriesData.push(arr);
}
}
if(xAxisData.length > 0){
for(let i in seriesData){
seriesData[i]['name'] = xAxisData[i];
}
}
var myChart = echarts.init(document.getElementById('analysis-echarts'));
var option = {
title: {
text: ''
},
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
type:'scroll',
data: xAxisData
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '2%',
right: '2%',
bottom: '2%',
top: '10%',
containLabel: true
},
xAxis: [
{
type: 'category',
boundaryGap: false,
data: d[0]['date_range']
}
],
yAxis: [
{
type: 'value'
}
],
series: seriesData
};
myChart.setOption(option,true);
}
//分布图
function distributionmap(d){
var xAxisData=[];
for(let i in d){
for(let z in d[i]['groups']){
var pj = d[i]['event_name']+d[i]['groups'][z][0]+d[i]['groups'][z][1];
xAxisData.push(pj);
}
}
var seriesData=[];
for(let i in d){
for(let z in d[i]['values']){
var arr = {
name: '',
type: 'bar',
data: d[i]['values'][z]
}
seriesData.push(arr);
}
}
if(xAxisData.length > 0){
for(let i in seriesData){
seriesData[i]['name'] = xAxisData[i];
}
}
var myChart = echarts.init(document.getElementById('analysis-echarts'));
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
legend: {
data: xAxisData
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
mark: {show: true},
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
restore: {show: true},
saveAsImage: {show: true}
}
},
xAxis: [
{
type: 'category',
axisTick: {show: false},
data: d[0]['date_range']
}
],
yAxis: [
{
type: 'value'
}
],
series: seriesData
};
myChart.setOption(option,true);
}
//表格
function tabledata(d){
console.log(d);
var titledata=d[0]['date_range'];
titledata.unshift('指标','阶段总和')
// X.laytpldata("#table-fenxi-th-dot",titledata,".table-fenxi-th");
// X.laytpldata("#table-fenxi-td-dot", ,".table-fenxi-td");
}
function calculationdata(){
data['cachedata']['type2data'] = type2data;
data['cachedata']['type3data'] = type3data;
data['cachedata']['screentypearr'] = screentypearr;
data['cachedata']['filtersymbols'] = filtersymbols;
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
data['cachedata']['defaultgroupdata'] = defaultgroupdata;
var dataArr = {
eventView: data.eventView,
events: data.events
}
X.api("ck/event_model","post",dataArr,function(d){
querydata = d;
if(d[0].values.length > 0 ){
stackingdiagram(d);
tabledata(d);
}else {
$("#analysis-echarts").empty();
layer.msg("无数据");
}
})
}
// 保存报表

View File

@ -48,11 +48,11 @@
$('.zhuanghu_ss #zhuanghu_txt').val('');
X.laytpldata("#zhuang-conetnt-dot",data,'.zhuang_conetnt ');
})
var index = 0;
$(".zhuang_tab_box .zhuang_tab span").click(function(){
$(".zhuang_tab_box .zhuang_tab span div").removeClass('zhuanghu_xila_xian');
$(this).find('div').addClass('zhuanghu_xila_xian');
var index = $(this).attr("data-index");
index = $(this).attr("data-index");
if(index != 0){
var dataArr = [];
dataArr.push(data[index])
@ -64,14 +64,14 @@
//单击属性
$(document).on("click",".zhuang_conetnt .ta-pso-line",function(){
var index = $(this).attr("data-index");
// var index = $(this).attr("data-index");
var indexs = $(this).attr("data-indexs");
console.log(data[index]['category'])
var valdata = {
'title':$(this).attr('data-title'),
'id':$(this).attr('data-id'),
'type':$(this).attr('data-type'),
'category': data[index]['category'][indexs]['category']
'category': data[index]['category'][indexs]['category'],
'table_type':data[index]['id']
}
me.callback && me.callback(valdata);

View File

@ -5,7 +5,10 @@
this.parms = parms;
this.callback = parms.callback;
var data = parms.extData;
var dataArr = {
eventView:data.eventView,
events:data.events
}
X.api('ck/event_model_sql','post',data,function(d){
console.log(d);
$(".conditionquery-sqldata").html(d[0]['sql']);
@ -23,7 +26,6 @@
}else {
selectText('conditionquery-apidata');
}
document.execCommand('copy');
layer.msg('复制成功');

View File

@ -10,18 +10,6 @@
layui.element.init();
// X.tabledata('#test','http://10.0.0.7:6789/',[[
// {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}
// ,{field:'experience', title: '积分', sort: true}
// ,{field:'score', title: '评分', sort: true}
// ,{field:'classify', title: '职业'}
// ,{field:'wealth', width:137, title: '财富', sort: true}
// ]]);
// 项目列表
// http://10.0.0.7:6789/
X.api("project/","get",{},function(d){

View File

@ -16,7 +16,7 @@
},
eventattradminlist : function(){
X.laytabledata("#eventattradmin-table","data_mana/list",[[
X.laytabledata("#eventattradmin-table","data_mana/attr_list",[[
{field:'name', title: '属性名', sort: true}
,{field:'show_name', title: '显示名'}
,{field:'data_type', title: '数据类型', sort: true,templet:function(d){
@ -30,6 +30,8 @@
return '浮点型'
}else if(d.data_type == "datetime"){
return '时间'
}else if(d.data_type == "array"){
return '数组'
}
}}
,{field:'city', title: '单位'}

View File

@ -0,0 +1,38 @@
(function(){
X.pageLogic['eventmanagement'] = {
init : function(){
var me = this;
me.eventmanagementlist();
layui.table.on('tool(eventmanagementtest)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){
X.parametersopen(data,"personalsettingsedit",'auto',function(){
me.eventmanagementlist();
})
}
})
},
eventmanagementlist : function(){
X.laytabledata("#eventmanagement-table","data_mana/event_list",[[
{field:'name', title: '事件名', sort: true}
,{field:'show_name', title: '显示名'}
,{field:'desc', title: '备注'}
,{field:'is_show', title: '显示状态', minWidth: 100,templet:function(d){
if(d.is_show){
return '显示'
}else {
return '<span style="color: #acbad0">隐藏</span>'
}
}}
,{field:'event_count', title: '昨日事件量', sort: true}
,{fixed: 'right', title:'操作', toolbar: '#eventmanagementDemo', width:80}
]]);
}
};
})();

View File

@ -0,0 +1,12 @@
(function(){
X.pageLogic['grouped'] = {
init : function(){
var data = [
{}
]
X.laytpldata("#analysis-con-left-screen-box-dot",data,"#shushi");
}
};
})();

View File

@ -0,0 +1,60 @@
(function(){
X.pageLogic['personalsettings'] = {
init : function(){
X.laytpldata("#personalsettings-bg-box-dot",X.DATA.userinfo,".personalsettings-bg-box");
$(document).off('click','.personalsettings-name').on('click','.personalsettings-name',function(){
$(".personalsettings-mr-name").hide();
$(".personalsettings-updata-name").show();
})
$(document).off('click','.personalsettings-name-qd').on('click','.personalsettings-name-qd',function(){
$(".personalsettings-mr-name").show();
$(".personalsettings-updata-name").hide();
})
$(document).off('click','.personalsettings-name-qx').on('click','.personalsettings-name-qx',function(){
var tit = $(".personalsettings-name-txt").val();
X.api("user/edit_profile","post",{},function(){
})
$(".personalsettings-mr-name").show();
$(".personalsettings-updata-name").hide();
})
$(document).off('click','.personalsettings-tel').on('click','.personalsettings-tel',function(){
$(".personalsettings-mr-tel").hide();
$(".personalsettings-binding-tel").show();
})
$(document).off('click','.personalsettings-tel-qd').on('click','.personalsettings-tel-qd',function(){
$(".personalsettings-mr-tel").show();
$(".personalsettings-binding-tel").hide();
})
$(document).off('click','.personalsettings-tel-qx').on('click','.personalsettings-tel-qx',function(){
$(".personalsettings-mr-tel").show();
$(".personalsettings-binding-tel").hide();
})
$(document).off('click','.personalsettings-updata-password').on('click','.personalsettings-updata-password',function(){
X.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
skin: 'yourclass',
url: 'updatapassword'
})
})
}
};
})();

View File

@ -0,0 +1,32 @@
(function(){
X.pageLogic['personalsettingsedit'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback; //选择后执行的回调
var data = parms.extData;//获取到上层弹窗传的数据
layui.form.render();
if(data){
layui.form.val('personalsettingseditexample', {
"show_name": data.show_name // "name": "value"
,"desc": data.desc
,"is_show":(data.is_show)? 1 : 0
});
}
$(document).off('click','.personalsettingsedit-qd').on('click','.personalsettingsedit-qd',function(){
var arr = layui.form.val('personalsettingseditexample');
arr['event_name'] = data.name;
X.api("data_mana/event_edit","post",arr,function(d){
layer.msg("修改成功");
me.callback && me.callback(d);
layer.closeAll();
})
})
$(document).off('click','.personalsettingsedit-qx').on('click','.personalsettingsedit-qx',function(){
layer.closeAll();
})
}
};
})();

View File

@ -0,0 +1,74 @@
(function(){
X.pageLogic['retained'] = {
init : function(){
// X.gourl("grouped","shushi");
X.template("grouped","shushi");
var data ={
"events": [
{
"event_name": "create_role",
"event_attr": "总次数",
"event_attr_id": "*",
"analysisname": "",
"analysis": "total_count",
"renameindicator": "",
"filters": [],
"condrelation": "and"
}
],
"eventView": {
"startTime": "2021-05-01 00:00:00",
"timeParticleSize": "P1D",
"endTime": "2021-05-19 23:59:59",
"graphShape": "L0",
"recentDay": "1-30",
"groupBy": [
{
"column_name": "#account_id",
"column_id": "#account_id",
"data_type": "string",
"table_type": "event",
"ftv": "",
"section": ""
},
{
"column_name": "#app_id",
"column_id": "#app_id",
"data_type": "string",
"table_type": "event",
"ftv": "",
"section": ""
}
],
"uiCommonConfig": {
"tableSorts": [],
"chartSort": "num-desc"
},
"filters": [],
"relation": 1,
"zone_time": "8"
},
}
X.grouped(data['eventView']['groupBy'],"#shushi")
$(document).off('click','.analysis-calculation').on("click",'.analysis-calculation',function(){
console.log(211);
})
$(document).off('click','.analysis-action-right').on('click','.analysis-action-right',function() {
console.log(111);
})
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function() {
var data= [
{},{}
]
X.laytpldata("#analysis-con-left-screen-box-dot",data,"#shushi");
})
}
};
})();

View File

@ -14,7 +14,6 @@
function reportdata(){
X.api("report/read_report",'post',{project_id:X.DATA.projectid},function(d){
data = d;
console.log(data);
X.laytpldata("#saved-list-box-dot",d,".saved-list-box");
})
}
@ -37,7 +36,6 @@
// 下拉框
$(".saved-select-type").change(function(){
console.log($(this).val());
var screendata=[];//筛选后的数据
for(let i in data){
if($(this).val() == 0){

View File

@ -6,41 +6,32 @@
this.callback = parms.callback;
var data = parms.extData;
// var data = [
// {"typename":"收藏","detailsdata":[
// {"name":"用户登录","id":"1","isshoucang":"1"},
// {"name":"用户注册","id":"2","isshoucang":"1"},
// ]},
// {"typename":"基础事件","detailsdata":[
// {"name":"用户登录","id":"1","isshoucang":"1"},
// {"name":"用户注册","id":"2","isshoucang":"1"},
// {"name":"付费事件","id":"3","isshoucang":"0"}
// ]}
// ]
X.laytpldata("#judge-box-dot",data,".setgrouping-box .setgrouping-content-box");
// 搜索
$('.setgrouping-sousuo-txt-box input').bind('input propertychange', function() {
var value = $(this).val();
console.log(data);
if(value != ""){
$(".setgrouping-sousuo-txt-box img").show();
var filteringdata = [];
for(let i in data){
var detailsdata = [];
for(let j in data[i]["detailsdata"]){
if(data[i]["detailsdata"][j]['name'].indexOf(value) != -1){
detailsdata.push(data[i]["detailsdata"][j]);
for(let j in data[i]["category"]){
if(data[i]["category"][j]['event_name'].indexOf(value) != -1){
detailsdata.push(data[i]["category"][j]);
}
}
if(detailsdata.length >0){
var arr = {
"title": data[i]['title'],
"detailsdata": detailsdata
"id":data[i]['id'],
"category": detailsdata
};
filteringdata.push(arr);
}
}
console.log(filteringdata);
X.laytpldata("#judge-box-dot",filteringdata,".setgrouping-box .setgrouping-content-box");
}else {
$(".setgrouping-sousuo-txt-box img").hide();

View File

@ -0,0 +1,27 @@
(function(){
X.pageLogic['updatapassword'] = {
init : function(){
$(document).on("click",'.updatapassword-top-box',function(){
layer.closeAll();
})
$(document).on("click",".updatapassword-qx",function(){
layer.closeAll();
})
$(document).on("click",".updatapassword-qd",function(){
var data = layui.form.val('updatapasswordexample');
if(data.newpassword != data.reppassword){
layer.msg('两次密码不一致');
return;
}
X.api('user/reset_my_password',"post",{password:data.newpassword},function(d){
layer.closeAll();
layer.msg('修改成功');
})
})
}
};
})();

View File

@ -16,7 +16,7 @@
},
userattradminlist : function(){
X.laytabledata("#userattradmin-table","data_mana/list",[[
X.laytabledata("#userattradmin-table","data_mana/attr_list",[[
{field:'name', title: '属性名', sort: true}
,{field:'show_name', title: '显示名'}
,{field:'data_type', title: '数据类型', sort: true,templet:function(d){
@ -30,6 +30,8 @@
return '浮点型'
}else if(d.data_type == "datetime"){
return '时间'
}else if(d.data_type == "array"){
return '数组'
}
}}
,{field:'city', title: '单位'}

View File

@ -240,4 +240,13 @@
.conditionquery-but-box { display: flex; justify-content: space-between; align-items: center; margin-top: -10px; }
.conditionquery-copy { cursor: pointer; color: #fff; background-color: #3d90ff; border-radius: 2px; padding: 0 16px; font-weight: 400; font-size: 14px; height: 32px; line-height: 32px; }
.conditionquery-but-box span{ background-color: #eaecf8; color: #3d90ff; padding: 0 8px; cursor: pointer; display: inline-block; }
.conditionquery-but-box span{ background-color: #eaecf8; color: #3d90ff; padding: 0 8px; cursor: pointer; display: inline-block; }
.table-div-box { width: 100%; overflow: auto; }
.table-fenxi-box { width: 100%; }
.table-fenxi-box th { min-width: 100px; max-width: 200px; padding: 16px; }
.table-fenxi-box tr { text-align: center; }
.table-fenxi-box tr td{ padding: 16px; }

View File

@ -18,5 +18,8 @@
.eventattradminedit-but-box div { cursor: pointer; margin-left: 10px; height: 32px; padding: 0 16px; font-weight: 400; font-size: 14px; line-height: 30px; border-radius: 2px; }
.eventattradminedit-qx { color: #42546d; border: 1px solid #f0f0f0; }
.eventattradminedit-qd { color: #fff; background-color: #3d90ff; }
.personalsettingsedit-qx { color: #42546d; border: 1px solid #f0f0f0; }
.personalsettingsedit-qd { color: #fff; background-color: #3d90ff; }
.personalsettingsedit-box { width: 450px; height: 300px; }

View File

@ -315,3 +315,33 @@
.addrole-but-box div { cursor: pointer; margin-left: 10px; height: 32px; padding: 0 16px; font-weight: 400; font-size: 14px; line-height: 30px; border-radius: 2px; }
.addrole-qx { color: #42546d; border: 1px solid #f0f0f0; }
.addrole-qd { color: #fff; background-color: #3d90ff; }
/* 个人信息 */
.personalsettings-box{ width: 100%; height: 100%; background-color: #fff; overflow: hidden; position: fixed; top: 60px; }
.personalsettings-bg-box { width: 640px; margin: 0 auto; padding: 60px 0; }
.personalsettings-info-box { display: flex; width: 100%; }
.personalsettings-main___dQldf { width: calc(100% - 150px); margin-bottom: 24px; border-bottom: 1px solid #f0f0f0; }
.personalsettings-info-title { width: 140px; margin-right: 10px; color: #202d3f; font-weight: 500; font-size: 16px; line-height: 24px; }
.personalsettings-row___24xjF p{ color: #67729d; font-size: 12px; line-height: 24px; }
.personalsettings-value___vc6g4 { height: 32px; margin-bottom: 32px; color: #42546d; font-size: 14px; line-height: 32px; }
.personalsettings-action___2mv4G { float: right; color: #3d90ff; cursor: pointer; }
.personalsettings-value___vc6g4 input { border: 0px; color:#42546d; font-size: 13px; }
.personalsettings-name-qx { margin-left: 16px; }
.personalsettings-name-txt { border: 1px solid #f0f0f0 !important; height: 32px; padding: 0 8px; font-size: 14px; line-height: 30px; border-radius: 2px; }
.personalsettings-updata-name { display: none; }
.personalsettings-value___vc6g4 img { margin-top: 9px; }
.personalsettings-tel-qx { margin-left: 16px; }
.personalsettings-binding-tel { display: none; }
/* 修改密码 */
.updatapassword-box { width: 520px; height: 265px; background-color: #fff; border-radius: 2px; }
.updatapassword-top-box { padding: 16px 24px; border-bottom: 1px solid #f0f0f0; display: flex; justify-content: space-between; align-items: center; }
.updatapassword-top-box div { color: rgba(0,0,0,0.85); font-weight: 500; font-size: 16px; line-height: 22px; word-wrap: break-word; }
.updatapassword-top-box img { cursor: pointer; }
.updatapassword-form { margin-top: 24px; padding-right: 24px; }
.updatapassword-but-box { display: flex; justify-content: flex-end; align-items: center; padding: 0 24px; margin-top: 45px; }
.updatapassword-but-box div { padding: 0 16px; height: 32px; font-weight: 400; font-size: 14px; line-height: 30px; cursor: pointer; border-radius: 2px; margin-left: 10px; }
.updatapassword-qx { color: #42546d; border: 1px solid #f0f0f0; }
.updatapassword-qd { background-color: #3d90ff; color: #fff; }